{"id":16766360,"url":"https://github.com/joyrex2001/dsk2rom","last_synced_at":"2025-07-07T00:06:46.879Z","repository":{"id":147690594,"uuid":"96145409","full_name":"joyrex2001/dsk2rom","owner":"joyrex2001","description":"This is an adjusted MSX diskrom that loads sectors from rom instead of a disk. It can be used to convert .dsk images to .rom images.","archived":false,"fork":false,"pushed_at":"2024-02-23T15:53:45.000Z","size":84,"stargazers_count":27,"open_issues_count":3,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T01:41:26.560Z","etag":null,"topics":["dsk","msx"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joyrex2001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-03T19:48:38.000Z","updated_at":"2024-04-06T18:31:16.000Z","dependencies_parsed_at":"2024-10-28T11:40:36.027Z","dependency_job_id":null,"html_url":"https://github.com/joyrex2001/dsk2rom","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/joyrex2001/dsk2rom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fdsk2rom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fdsk2rom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fdsk2rom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fdsk2rom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joyrex2001","download_url":"https://codeload.github.com/joyrex2001/dsk2rom/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fdsk2rom/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263991445,"owners_count":23540665,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dsk","msx"],"created_at":"2024-10-13T06:06:08.072Z","updated_at":"2025-07-07T00:06:46.863Z","avatar_url":"https://github.com/joyrex2001.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DSK2ROM v0.80\r\nCopyright 2007 Vincent van Dam\r\n\r\nHome pages:\r\n\r\n * http://home.kabelfoon.nl/~vincentd/\r\n * https://github.com/joyrex2001/dsk2rom\r\n\r\nThis is an adjusted MSX diskrom that loads sectors from rom instead of a disk.\r\nIt can be used to convert .dsk images to .rom images. The converted .rom images\r\nwill act as a read only drive. If another diskinterface is present, it will be\r\nomitted (thus not usuable).\r\n\r\nConverting .dsk images can be done by either using the dsk2rom tool, or by\r\nconcatenating the custom a .dsk file to the custom diskrom. The dsk2rom tool\r\ndoesn't run on MSX, but adds a few interesting new features (like compression\r\nand switching of mapper type).\r\n\r\nTo convert .dsk images to .rom images without the dsk2rom tool; use the\r\nfollowing commands:\r\n\r\n * MSXDOS 2:         `concat /b dsk2rom.rom+\u003cdskfile\u003e \u003cromfile\u003e`\r\n * Windows/MS-DOS:   `copy /b dsk2rom.rom+\u003cdskfile\u003e \u003cromfile\u003e`\r\n * Unix:             `cat dsk2rom.rom \u003cdskfile\u003e \u003e \u003cromfile\u003e`\r\n\r\nThe mapper that is used is for the converted rom without using the dsk2rom tool\r\nitself is 'KonamiSCC'.\r\n\r\nIf the dsk2rom tool is used for conversion, a few more options will become\r\navailable. The dsk2rom tool is a command-line tool with a few options. The\r\navailable options will be displayed when the tool is started with no arguments\r\nat all.\r\n\r\nExamples converting .dsk image to .rom images using the dsk2rom tool;\r\n\r\n * `dsk2rom -f6c 2 alesteg.dsk alesteg.rom`\r\n * `dsk2rom -sfc 2 feedback.dsk feedback.rom`\r\n\r\nThe most interesting option is compression (-c), it should be followed by a\r\nnumber which defines which compression should be used. Compression level 0\r\nmeans no compression at all, and has the highest performance in loading. The\r\nresulting rom image will be the same as creating one without the tool. Level 1\r\ncompression will only index sectors, which means all redundant sectors will be\r\nremoved. Level 2 compression adds the 'pletter' compression scheme upon the\r\nsectors and will result in smaller rom files, but also in a slightly lower\r\nperformance when loading the rom image.\r\n\r\nBy default the resulting .rom images will use the Konami SCC mapper, this can\r\nbe changed to the ASCII8 mapper. Some (bigger) flash cartridges use the ASCII8\r\nmapper, the dsk2rom tool can patch the kernel to use the ASCII8 mapper addresses\r\ninstead by adding the -a option when converting. Note that it is not wise to\r\nlet the flash software patch the .rom image for you, because most of the .rom\r\nimage is actually a data part, the flash software could wrongly patch this\r\ndata, corrupting the image.\r\n\r\nEspecially the SCC mapper can conflict with aggressive memory search methods.\r\nTo shield against this you can use the -s option (safe mode), which will\r\nalways result in a rom which will either be 512K or 1024K. The rom will then\r\nbe less vulnerable against memory searches.\r\n\r\nOther options include; -5 and -6 to either switch to 50hz/pal or 60hz/ntsc\r\nduring boot of the rom. The ability to force the msx1 palette using -p, as well\r\nas to allow booting of other diskroms to with -d.\r\n\r\nThe other options available are -v for verbose information while creating the\r\nrom, and the -f option to create rom images in standard sizes (2^sizes).\r\n\r\nThis should be enough info to start converting .dsk images to .rom images.\r\nGood luck!\r\n\r\n### Reverse to .dsk support\r\n\r\nA -r option has been added to allow to create back a dsk image from a rom created\r\nusing dsk2rom tool. All compression modes are supported and roms with safe mode are\r\nalso supported.\r\n\r\nexample of creating a .dsk image from a .rom created with dsk2rom tool\r\n\r\n * `dsk2rom -r alesteg.rom alesteg.dsk`\r\n\r\n### Acknowledgements and thanks\r\n\r\nDSK2ROM by Vincent van Dam. The kernel was based on the disassembled diskroms\r\nby Arjen Zeilemaker. The pletter compression used in the kernel and tooling is\r\nmade by Sjoerd Mastijn, which was based on Bitbuster by Arjan Bakker. A thank\r\nyou to Arturo Ragozini for suggesting to use pletter compression. A lot of\r\nthanks go to Ramones for his testing and diskrom kernel hacking, and not to\r\nforget his GETDPB implementation included in the kernel. Another thank you to\r\nSylver Bruneau for contributing the decoding of dsk2rom roms backs to dsks.\r\nThanks to Sylvain Glaize who wrote the c implementation of pletter decompression\r\nallowing to revert pletter compressed roms : https://gitea.zaclys.com/Mokona/Unpletter .\r\n\r\n### Version history\r\n\r\n#### 0.80 (2007/06/18)\r\n* added safe mode to support dsk images with aggressive memory searching\r\n* added setting 50/60hz during boot\r\n* added setting msx1 palette during boot\r\n* added non-exclusive boot mode\r\n\r\n#### 0.70 (2007/05/27)\r\n* added dsk2rom tooling for pc\r\n* compression support\r\n* improved mapper support (default scc, switchable via the dsk2rom tooling)\r\n* removed last part of interrupt handler\r\n* disabled h.hstke\r\n* improved getdpb\r\n\r\n#### 0.65 (2007/05/22)\r\n* fixed loading into page 1\r\n* removed custom interrupt handler\r\n* another hack added to make sure it's always the only diskrom\r\n\r\n#### 0.60 (2007/05/22)\r\n* fixed loading into page 1\r\n* support for ascii8 mapper\r\n\r\n#### 0.50 (2007/05/19)\r\n* first public release\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyrex2001%2Fdsk2rom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoyrex2001%2Fdsk2rom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyrex2001%2Fdsk2rom/lists"}