emulator: openMSX type: standalone source: "https://github.com/openMSX/openMSX" upstream: "https://github.com/openMSX/openMSX" profiled_date: "2026-03-26" source_commit: "50d15b6c5eeba7781d55241f8579339141c9dfb4" core_version: "21.0" display_name: "MSX / ColecoVision / Spectravideo (openMSX)" cores: - openmsx systems: - msx - msx1 - msx2 - msx2+ - msxturbor - colecovision - spectravideo notes: | Standalone MSX emulator supporting MSX1 through turboR, ColecoVision, Spectravideo, and Pioneer LaserDisc hardware. Uses XML machine definitions (share/machines/) that describe complete hardware configurations and reference system ROMs by filename and SHA1 hash. ROM resolution via FilePool (src/file/FilePool.cc, FilePoolCore.cc): searches configured directories for files matching SHA1 checksums. Filenames are secondary hints, while SHA1 is the primary lookup key. Files may be gzipped or individually zipped. Each user data directory contributes share/systemroms, scanned recursively (src/file/FilePool.cc:27, FilePoolCore.cc:369-385). RetroBat sets OPENMSX_HOME to bios/openmsx and refuses to start a machine whose ROMs are not in bios/openmsx/share/systemroms. RetroPie links share/systemroms to BIOS/openmsx and Batocera adds bios/openmsx to the pool, both scanned recursively, so openmsx/share/systemroms serves all three. Batocera configgen (openmsxGenerator.py) configures filepool paths (/userdata/bios/Machines position 1, /userdata/bios/openmsx position 2) and selects machines per system type: msx1, msx2 -> Boosted_MSX2_EN (enhanced Philips NMS 8245) msx2+ -> Boosted_MSX2+_JP (enhanced Panasonic FS-A1WSX) msxturbor -> Boosted_MSXturboR_with_IDE (enhanced Panasonic FS-A1GT) colecovision -> ColecoVision_SGM spectravideo -> Spectravideo_SVI-328 laserdisc (.ogv) -> Pioneer_PX-7 C-BIOS (open source MSX BIOS replacement) is shipped with openMSX in Contrib/cbios/ and supports cartridge-only games. Not used by Batocera. 237 machine definitions exist in total. Each machine has its own ROM requirements. The ROMs for Batocera-selected machines are listed here, with the machines whose ROMs RetroBat lists in its systemroms folder. Users selecting other machines via openMSX GUI need additional ROMs. files: # ------------------------------------------------------- # Boosted_MSX2_EN (msx1, msx2) # Based on Philips NMS 8245 with extra hardware # ------------------------------------------------------- - name: NMS8245SystemROM1.08.bin path: "openmsx/share/systemroms/NMS8245SystemROM1.08.bin" sha1: cc57c1dcd7249ea9f8e2547244592e7d97308ed0 required: true size: 65536 description: "NMS 8245 combined system ROM (BIOS+BASIC 0x0000-0x7FFF, Sub ROM 0x8000-0xBFFF, FDC 0xC000-0xFFFF)" validation: [sha1] source_ref: "share/machines/Boosted_MSX2_EN.xml:24,65,111" - name: fmpac.rom path: "openmsx/share/systemroms/fmpac.rom" sha1: fec451b9256570a0e4869355a40329c57f40705f required: true description: "Panasonic SW-M004 FMPAC (FM-PAC) sound cartridge ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2_EN.xml:83" - name: phc-70fd2_basickun.rom path: "openmsx/share/systemroms/phc-70fd2_basickun.rom" sha1: 22b3191d865010264001b9d896186a9818478a6b required: true description: "Sanyo PHC-70FD2 MSX-BASIC Kun compiler ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2_EN.xml:89, share/machines/Boosted_MSX2+_JP.xml:167, share/machines/Boosted_MSXturboR_with_IDE.xml:79" - name: yrw801.rom path: "openmsx/share/systemroms/yrw801.rom" sha1: 32760893ce06dbe3930627755ba065cc3d8ec6ca required: true description: "Yamaha YRW801 MoonSound wavetable ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2_EN.xml:186, share/machines/Boosted_MSX2+_JP.xml:120, share/machines/Boosted_MSXturboR_with_IDE.xml:203" # ------------------------------------------------------- # Boosted_MSX2+_JP (msx2+) # Based on Panasonic FS-A1WSX with extra hardware # ------------------------------------------------------- - name: fs-a1wsx_basic-bios2p.rom path: "openmsx/share/systemroms/fs-a1wsx_basic-bios2p.rom" sha1: f4433752d3bf876bfefb363c749d4d2e08a218b6 required: true description: "FS-A1WSX MSX2+ BIOS and BASIC ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2+_JP.xml:143" - name: fs-a1wsx_fmbasic.rom path: "openmsx/share/systemroms/fs-a1wsx_fmbasic.rom" sha1: aad42ba4289b33d8eed225d42cea930b7fc5c228 required: true description: "FS-A1WSX MSX-MUSIC (OPLL) ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2+_JP.xml:155" - name: fs-a1wsx_msx2psub.rom installed_on: [retropie] path: "openmsx/share/systemroms/fs-a1wsx_msx2psub.rom" sha1: fe0254cbfc11405b79e7c86c7769bd6322b04995 required: true description: "FS-A1WSX MSX2+ Sub ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2+_JP.xml:218" note: "RetroPie unpacks openmsxroms.tar.gz into the installed share/systemroms, which the file pool scans. This ROM is in it as MSX2PEXT.ROM and is found by its SHA1." - name: fs-a1wsx_kanjibasic.rom path: "openmsx/share/systemroms/fs-a1wsx_kanjibasic.rom" sha1: dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06 required: true description: "FS-A1WSX Kanji Driver with BASIC ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2+_JP.xml:225" - name: fs-a1wsx_disk.rom path: "openmsx/share/systemroms/fs-a1wsx_disk.rom" sha1: 7ed7c55e0359737ac5e68d38cb6903f9e5d7c2b6 required: true description: "FS-A1WSX FDC (TC8566AF) disk controller ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2+_JP.xml:237" - name: fs-a1wsx_firmware.rom path: "openmsx/share/systemroms/fs-a1wsx_firmware.rom" sha1: 3330d9b6b76e3c4ccb7cf252496ed15d08b95d3f required: true description: "FS-A1WSX Panasonic firmware ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSX2+_JP.xml:251" - name: fs-a1wsx_kanjifont.rom path: "openmsx/share/systemroms/fs-a1wsx_kanjifont.rom" sha1: 5aff2d9b6efc723bc395b0f96f0adfa83cc54a49 aliases: [fs-a1gt_kanjifont.rom] required: true description: "Kanji font ROM (shared by FS-A1WSX and FS-A1GT machines)" validation: [sha1] source_ref: "share/machines/Boosted_MSX2+_JP.xml:28, share/machines/Boosted_MSXturboR_with_IDE.xml:216" # ------------------------------------------------------- # Boosted_MSXturboR_with_IDE (msxturbor) # Based on Panasonic FS-A1GT with IDE interface # ------------------------------------------------------- - name: fs-a1gt_firmware.rom path: "openmsx/share/systemroms/fs-a1gt_firmware.rom" sha1: - e779c338eb91a7dea3ff75f3fde76b8af22c4a3a - 5fa3aa79aeba2c0441f349e78e9a16d9d64422ea required: true description: "FS-A1GT turboR combined firmware (512KB, contains BIOS, Sub ROM, Kanji, FDC, MSX-MUSIC, Opening ROM)" validation: [sha1] source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:23" - name: ide250.dat path: "openmsx/share/systemroms/ide250.dat" sha1: 93e41c7d479bc90c1d1f6d081af20fd9924b8ada required: true description: "Sunrise IDE 2.50 interface ROM" validation: [sha1] source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:49" - name: ide250.zip path: "openmsx/share/systemroms/ide250.zip" required: false description: "Sunrise IDE 2.50 distribution archive (IDE250.DAT, IDE250.TXT, IDEFLOAD.COM, IDEFLOAD.TXT)" contents: - name: IDE250.DAT size: 65536 crc32: "073edf39" source_ref: "src/file/File.cc:30-31, src/file/ZipFileAdapter.cc:14-41, src/file/FilePoolCore.cc:410-417, share/machines/Boosted_MSXturboR_with_IDE.xml:49" note: "The file pool opens a .zip through ZipFileAdapter, which inflates only the first local entry, and hashes that content. The first entry of this archive is IDE250.DAT, whose SHA1 (93e41c7d479bc90c1d1f6d081af20fd9924b8ada) is the one the machine asks for, so the archive serves as ide250.dat." # ------------------------------------------------------- # ColecoVision_SGM (colecovision) # ColecoVision with built-in Super Game Module # ------------------------------------------------------- - name: COLECO.ROM path: "openmsx/share/systemroms/COLECO.ROM" sha1: 45bedc4cbdeac66c7df59e9e599195c778d86a92 required: true description: "ColecoVision system BIOS ROM" validation: [sha1] source_ref: "share/machines/ColecoVision_SGM.xml:57" # ------------------------------------------------------- # Spectravideo_SVI-328 (spectravideo) # ------------------------------------------------------- - name: svi-3x8_v111.rom path: "openmsx/share/systemroms/svi-3x8_v111.rom" sha1: 10349ce675f6d6d47f0976e39cb7188eba858d89 required: true description: "SVI-328 BASIC v1.11 ROM" validation: [sha1] source_ref: "share/machines/Spectravideo_SVI-328.xml:52" # ------------------------------------------------------- # Pioneer_PX-7 (laserdisc) # MSX1 with LaserDisc controller # ------------------------------------------------------- - name: px-7_basic-bios1.rom path: "openmsx/share/systemroms/px-7_basic-bios1.rom" sha1: 302afb5d8be26c758309ca3df611ae69cced2821 required: true description: "Pioneer PX-7 MSX1 BIOS and BASIC ROM" validation: [sha1] source_ref: "share/machines/Pioneer_PX-7.xml:67" - name: px-7_pbasic.rom path: "openmsx/share/systemroms/px-7_pbasic.rom" sha1: 665d805f96616e1037f1823050657b7849899283 required: true description: "Pioneer PX-7 LaserDisc PBASIC controller ROM" validation: [sha1] source_ref: "share/machines/Pioneer_PX-7.xml:82" # ------------------------------------------------------- # Machines whose ROMs RetroBat lists. Each ROM is found in the # file pool by SHA1: a machine's resolves against the # share/machines directory only (src/config/HardwareConfig.cc:277-280, # src/file/FileContext.cc:152-156), then the values are looked up # in the pool (src/memory/Rom.cc:158-172). A machine whose ROM is not # found does not start (src/memory/Rom.cc:173-184). # ------------------------------------------------------- - name: cf-3300_basic-bios1.rom path: "openmsx/share/systemroms/cf-3300_basic-bios1.rom" sha1: c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c required: false size: 32768 description: "National CF-3300 MSX1 BIOS and BASIC ROM (also used by CF-1200, CF-2700, CF-3000, FS-1300)" validation: [sha1] source_ref: "share/machines/National_CF-3300.xml:51-52" - name: cf-3300_disk.rom path: "openmsx/share/systemroms/cf-3300_disk.rom" sha1: f1525de4e0b60a6687156c2a96f8a8b2044b6c56 required: false size: 16384 description: "National CF-3300 disk controller ROM (also used by Gradiente Expert DD Plus)" validation: [sha1] source_ref: "share/machines/National_CF-3300.xml:75-76" - name: fs-5500_basic-bios2.rom path: "openmsx/share/systemroms/fs-5500_basic-bios2.rom" sha1: 44e0dd215b2a9f0770dd76fb49187c05b083eed9 required: false size: 32768 description: "National FS-5500 MSX2 BIOS and BASIC ROM" validation: [sha1] source_ref: "share/machines/National_FS-5500F2.xml:76-77, share/machines/National_FS-5500F1.xml:78" - name: fs-5500_msx2sub.rom path: "openmsx/share/systemroms/fs-5500_msx2sub.rom" sha1: 4be8371f3b03e70ddaca495958345f3c4f8e2d36 required: false size: 16384 description: "National FS-5500 MSX2 Sub ROM" validation: [sha1] source_ref: "share/machines/National_FS-5500F2.xml:100-101, share/machines/National_FS-5500F1.xml:102" - name: fs-5500_kanjibasic.rom path: "openmsx/share/systemroms/fs-5500_kanjibasic.rom" sha1: 3a9a942ed888dd641cddf8deada1879c454df3c6 required: false size: 32768 description: "National FS-5500 Kanji Driver ROM (also used by FS-4600F and FS-5000F2)" validation: [sha1] source_ref: "share/machines/National_FS-5500F2.xml:107-108, share/machines/National_FS-5500F1.xml:109" - name: fs-5500_kanjifont.rom path: "openmsx/share/systemroms/fs-5500_kanjifont.rom" sha1: 9ed3ab6d893632b9246e91b412cd5db519e7586b required: false size: 131072 description: "National FS-5500 Kanji font ROM (also used by FS-4000, FS-4500 and FS-4700F)" validation: [sha1] source_ref: "share/machines/National_FS-5500F2.xml:20-21, share/machines/National_FS-5500F1.xml:22" - name: fs-5500_superimp.rom path: "openmsx/share/systemroms/fs-5500_superimp.rom" sha1: b677a861b67e8763a11d5dcf52416b42493ade57 required: false size: 32768 description: "National FS-5500 Super Impose ROM" validation: [sha1] source_ref: "share/machines/National_FS-5500F2.xml:117-118, share/machines/National_FS-5500F1.xml:119" - name: nms8245_msx2sub.rom path: "openmsx/share/systemroms/nms8245_msx2sub.rom" sha1: - 5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02 - e7905d16d2ccd57a013c122dc432106cd59ef52c required: false size: 16384 description: "Philips NMS 8245 MSX2 Sub ROM (1.05/1.06 and 1.08 revisions)" validation: [sha1] source_ref: "share/machines/Philips_NMS_8245.xml:108-110" - name: vg8020_basic-bios1.rom path: "openmsx/share/systemroms/vg8020_basic-bios1.rom" sha1: 829c00c3114f25b3dae5157c0a238b52a3ac37db required: false size: 32768 description: "Philips VG 8020 MSX1 BIOS and BASIC ROM (also used by AVT DPC-200, Goldstar FC-200, Toshiba HX-20E, HX-22I, HX-51I)" validation: [sha1] source_ref: "share/machines/Philips_VG_8020.xml:53-54"