{
  "count": 1,
  "generated_at": "2026-10-20T02:57:31Z",
  "items": [
    {
      "id": "dosbox",
      "profile": {
        "core_classification": "community_fork",
        "core_version": "SVN",
        "cores": [
          "dosbox"
        ],
        "display_name": "DOS (DOSBox)",
        "emulator": "DOSBox",
        "files": [
          {
            "description": "MT-32 Control v1.04",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_CONTROL.ROM",
            "required": false,
            "sha1": "5a5cb5a77d7d55ee69657c2f870416daed52dea7",
            "size": 65536,
            "source_ref": "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:58",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "MT-32 Control v1.05",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_CONTROL.ROM",
            "required": false,
            "sha1": "e17a3a6d265bf1fa150312061134293d2b58288c",
            "size": 65536,
            "source_ref": "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:61",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "MT-32 Control v1.06",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_CONTROL.ROM",
            "required": false,
            "sha1": "a553481f4e2794c10cfe597fef154eef0d8257de",
            "size": 65536,
            "source_ref": "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:64",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "MT-32 Control v1.07",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_CONTROL.ROM",
            "required": false,
            "sha1": "b083518fffb7f66b03c23b7eb4f868e62dc5a987",
            "size": 65536,
            "source_ref": "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:67",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "MT-32 Control BlueRidge",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_CONTROL.ROM",
            "required": false,
            "sha1": "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92",
            "size": 65536,
            "source_ref": "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:70",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "MT-32 Control v2.04",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_CONTROL.ROM",
            "required": false,
            "sha1": "2c16432b6c73dd2a3947cba950a0f4c19d6180eb",
            "size": 131072,
            "source_ref": "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:72",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "MT-32 Control v2.06",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_CONTROL.ROM",
            "required": false,
            "sha1": "2869cf4c235d671668cfcb62415e2ce8323ad4ed",
            "size": 131072,
            "source_ref": "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:73",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "MT-32 Control v2.07",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_CONTROL.ROM",
            "required": false,
            "sha1": "47b52adefedaec475c925e54340e37673c11707c",
            "size": 131072,
            "source_ref": "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:74",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "CM-32L/LAPC-I Control v1.00",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "CM32L_CONTROL.ROM",
            "required": false,
            "sha1": "73683d585cd6948cc19547942ca0e14a0319456d",
            "size": 65536,
            "source_ref": "src/gui/midi_mt32.cpp:53, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:75",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "CM-32L/LAPC-I Control v1.02",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "CM32L_CONTROL.ROM",
            "required": false,
            "sha1": "a439fbb390da38cada95a7cbb1d6ca199cd66ef8",
            "size": 65536,
            "source_ref": "src/gui/midi_mt32.cpp:53, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:76",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "CM-32LN/CM-500/LAPC-N Control v1.00",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "CM32L_CONTROL.ROM",
            "required": false,
            "sha1": "dc1c5b1b90a4646d00f7daf3679733c7badc7077",
            "size": 65536,
            "source_ref": "src/gui/midi_mt32.cpp:53, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:77",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "MT-32 PCM ROM",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "MT32_PCM.ROM",
            "required": false,
            "sha1": "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252",
            "size": 524288,
            "source_ref": "src/gui/midi_mt32.cpp:66, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:81",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "description": "CM-32L/CM-64/LAPC-I PCM ROM",
            "hle_fallback": true,
            "mode": "libretro",
            "name": "CM32L_PCM.ROM",
            "required": false,
            "sha1": "289cc298ad532b702461bfc738009d9ebe8025ea",
            "size": 1048576,
            "source_ref": "src/gui/midi_mt32.cpp:64, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:85",
            "validation": [
              "sha1",
              "size"
            ]
          },
          {
            "aliases": [
              "rom1.bin"
            ],
            "description": "SC-55 family program ROM 1",
            "mode": "libretro",
            "name": "ROM1.BIN",
            "note": "Byte 67 selects the emulated model.",
            "path": "SC-55/ROM1.BIN",
            "required": false,
            "size": 32768,
            "source_ref": "src/gui/midi_sc55.h:98, src/gui/midi_sc55.h:113-115",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "rom2.bin",
              "ROM2_ST.BIN",
              "rom2_st.bin"
            ],
            "description": "SC-55 family program ROM 2",
            "mode": "libretro",
            "name": "ROM2.BIN",
            "note": "The driver does not open without ROM1 and ROM2. ROM2_ST fills the same slot when ROM2 did not.",
            "path": "SC-55/ROM2.BIN",
            "required": false,
            "size": [
              262144,
              524288
            ],
            "source_ref": "src/gui/midi_sc55.h:46, src/gui/midi_sc55.h:120, src/gui/midi_sc55.h:135",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "rom_sm.bin"
            ],
            "description": "SC-55mkII/SC-55st sub-MCU ROM",
            "mode": "libretro",
            "name": "ROM_SM.BIN",
            "path": "SC-55/ROM_SM.BIN",
            "required": false,
            "size": 4096,
            "source_ref": "src/gui/midi_sc55.h:47, src/gui/midi_sc55.h:120, src/gui/midi_sc55.h:155",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "waverom1.bin"
            ],
            "description": "SC-55 family wave ROM 1",
            "mode": "libretro",
            "name": "WAVEROM1.BIN",
            "path": "SC-55/WAVEROM1.BIN",
            "required": false,
            "size": [
              1048576,
              2097152
            ],
            "source_ref": "src/gui/midi_sc55.h:48-50, src/gui/midi_sc55.h:120",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "waverom2.bin"
            ],
            "description": "SC-55 family wave ROM 2",
            "mode": "libretro",
            "name": "WAVEROM2.BIN",
            "path": "SC-55/WAVEROM2.BIN",
            "required": false,
            "size": [
              1048576,
              2097152
            ],
            "source_ref": "src/gui/midi_sc55.h:48-50, src/gui/midi_sc55.h:120",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "waverom3.bin",
              "sc55_waverom3.bin"
            ],
            "description": "SC-55/SC-155/CM-300 wave ROM 3",
            "mode": "libretro",
            "name": "WAVEROM3.BIN",
            "note": "Next to ROM1.BIN the name is fixed. In SC-55.zip any 1 MiB or 2 MiB member fills the wave slot of the last 1, 2 or 3 in its name, so sc55_waverom3.bin is taken as wave ROM 3. The size test of an SC-55mkII ROM1 does not cover it.",
            "path": "SC-55/WAVEROM3.BIN",
            "required": false,
            "size": 1048576,
            "source_ref": "src/gui/midi_sc55.h:48-50, src/gui/midi_sc55.h:120, src/gui/midi_sc55.h:155, src/gui/midi_sc55.h:160",
            "validation": [
              "size"
            ]
          },
          {
            "description": "BASS library (Linux)",
            "mode": "libretro",
            "name": "libbass.so",
            "required": false,
            "source_ref": "libretro/src/midi_bassmidi.cpp:238, libretro/src/midi_bassmidi.cpp:246"
          },
          {
            "description": "BASSMIDI library (Linux)",
            "mode": "libretro",
            "name": "libbassmidi.so",
            "required": false,
            "source_ref": "libretro/src/midi_bassmidi.cpp:239, libretro/src/midi_bassmidi.cpp:254"
          },
          {
            "description": "BASS library (Windows)",
            "mode": "libretro",
            "name": "bass.dll",
            "required": false,
            "source_ref": "libretro/src/midi_bassmidi.cpp:232, libretro/src/midi_bassmidi.cpp:246"
          },
          {
            "description": "BASSMIDI library (Windows)",
            "mode": "libretro",
            "name": "bassmidi.dll",
            "required": false,
            "source_ref": "libretro/src/midi_bassmidi.cpp:233, libretro/src/midi_bassmidi.cpp:254"
          },
          {
            "description": "BASS library (macOS)",
            "mode": "libretro",
            "name": "libbass.dylib",
            "required": false,
            "source_ref": "libretro/src/midi_bassmidi.cpp:235, libretro/src/midi_bassmidi.cpp:246"
          },
          {
            "description": "BASSMIDI library (macOS)",
            "mode": "libretro",
            "name": "libbassmidi.dylib",
            "required": false,
            "source_ref": "libretro/src/midi_bassmidi.cpp:236, libretro/src/midi_bassmidi.cpp:254"
          }
        ],
        "notes": "Rebuilt on the dosbox-core tree (DOSBox SVN r4494) with ZIP content and the\nNuked-SC55 driver. No BIOS. Every file below belongs to a MIDI driver picked\nby the core option, and the default driver is \"none\".\nref: libretro/src/libretro_core_options.cpp:1684-1702\nA driver that fails to open is replaced by the first handler that opens.\nref: src/gui/midi.cpp:241-243\nmt32: mt32.romdir is the system directory. The type option (default cm32l)\npicks CM32L_CONTROL.ROM + CM32L_PCM.ROM or MT32_CONTROL.ROM + MT32_PCM.ROM.\nref: libretro/src/libretro.cpp:720, src/gui/midi_mt32.cpp:51-68\nMUNT identifies each file by size and SHA1 against its full-ROM list, so\nany full control ROM is accepted under either control name and split\nhalf-ROMs are refused. The PCM ROM must be the size the control ROM expects.\nref: libretro/deps/munt/mt32emu/src/ROMInfo.cpp:171-179\nref: libretro/deps/munt/mt32emu/src/c_interface/c_interface.cpp:425\nref: libretro/deps/munt/mt32emu/src/Synth.cpp:599\nsc55: the driver is given SC-55.zip from the system directory when that\nfile exists, the system directory otherwise.\nref: libretro/src/libretro.cpp:903-913\nIn a directory it looks for SC-55/ROM1.BIN, SC-55/rom1.bin, ROM1.BIN then\nrom1.bin, and opens ROM2, ROM2_ST, ROM_SM and WAVEROM1-3 next to it with the\nsame capitalization and extension. In a ZIP the members are assigned by\nsize, wave ROMs by the last 1, 2 or 3 in their name. No hash is checked.\nref: src/gui/midi_sc55.h:43-52, src/gui/midi_sc55.h:98-133\nByte 67 of ROM1 selects the model and the sizes the other ROMs must have:\nSC-55mkII/SC-55st need ROM_SM, a 2 MiB WAVEROM1 and a 1 MiB WAVEROM2.\nSC-55/SC-155 and CM-300/SCC-1 need a 256 KiB ROM2 and three 1 MiB wave\nROMs. JV-880 needs a 256 KiB ROM2 and two 2 MiB wave ROMs. SCB-55 needs a\n2 MiB WAVEROM1.\nref: src/gui/midi_sc55.h:151-175\nfluidsynth and bassmidi: the soundfont option lists the files found in\nsoundfonts/ under the system directory (.sf2 for both, .sfz for BASSMIDI,\n.sf3/.dls/.gig for FluidSynth). No file name is fixed.\nref: libretro/src/libretro.cpp:1673-1689\nbassmidi also loads the BASS and BASSMIDI libraries from the system\ndirectory.\nref: libretro/src/midi_bassmidi.cpp:230-258\nKeyboard layouts and codepages are compiled in.\nref: src/dos/dos_keyboard_layout_data.h, src/dos/dos_codepages.h\nDOSBox.conf in the save directory is read as the configuration when the\ncontent is not a .conf file.\nref: libretro/src/libretro.cpp:1777-1782\n",
        "profiled_date": "2026-10-04",
        "source": "https://github.com/libretro/dosbox-libretro",
        "source_commit": "a563bb5e9753f207d74e9d8c417d793b784fa4be",
        "systems": [
          "dos"
        ],
        "type": "libretro",
        "upstream": "https://sourceforge.net/projects/dosbox/"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
