diff --git a/bios/BBK/A4980/BBKEmu/A4980/8.BIN b/bios/BBK/A4980/BBKEmu/A4980/8.BIN new file mode 100644 index 00000000..f8c5efe7 Binary files /dev/null and b/bios/BBK/A4980/BBKEmu/A4980/8.BIN differ diff --git a/bios/BBK/A4980/BBKEmu/A4980/E.BIN b/bios/BBK/A4980/BBKEmu/A4980/E.BIN new file mode 100644 index 00000000..00ec4737 Binary files /dev/null and b/bios/BBK/A4980/BBKEmu/A4980/E.BIN differ diff --git a/bios/BBK/A4988/BBKEmu/A4988/8.BIN b/bios/BBK/A4988/BBKEmu/A4988/8.BIN new file mode 100644 index 00000000..6f0492b4 Binary files /dev/null and b/bios/BBK/A4988/BBKEmu/A4988/8.BIN differ diff --git a/bios/BBK/A4988/BBKEmu/A4988/E.BIN b/bios/BBK/A4988/BBKEmu/A4988/E.BIN new file mode 100644 index 00000000..53a1d9bf Binary files /dev/null and b/bios/BBK/A4988/BBKEmu/A4988/E.BIN differ diff --git a/bios/Fujitsu/FM Towns/mrom.m36 b/bios/Fujitsu/FM Towns/mrom.m36 new file mode 100644 index 00000000..44a6bc89 Binary files /dev/null and b/bios/Fujitsu/FM Towns/mrom.m36 differ diff --git a/bios/Fujitsu/FM Towns/mrom.m37 b/bios/Fujitsu/FM Towns/mrom.m37 new file mode 100644 index 00000000..03e8bd53 Binary files /dev/null and b/bios/Fujitsu/FM Towns/mrom.m37 differ diff --git a/bios/NEC/PC-98/bios9821.rom b/bios/NEC/PC-98/bios9821.rom index 2c3741fd..f2723451 100644 Binary files a/bios/NEC/PC-98/bios9821.rom and b/bios/NEC/PC-98/bios9821.rom differ diff --git a/bios/Other/cxbx-reloaded/EmuMediaBoard/Chihiro/chihiro_xbox_bios.bin b/bios/Other/cxbx-reloaded/EmuMediaBoard/Chihiro/chihiro_xbox_bios.bin new file mode 100644 index 00000000..e4973bbe Binary files /dev/null and b/bios/Other/cxbx-reloaded/EmuMediaBoard/Chihiro/chihiro_xbox_bios.bin differ diff --git a/bios/Other/cxbx-reloaded/EmuMediaBoard/Chihiro/ic10_g24lc64 b/bios/Other/cxbx-reloaded/EmuMediaBoard/Chihiro/ic10_g24lc64 new file mode 100644 index 00000000..3f5def9b Binary files /dev/null and b/bios/Other/cxbx-reloaded/EmuMediaBoard/Chihiro/ic10_g24lc64 differ diff --git a/bios/Other/msx-emu/Machines/MSXturboR/.variants/config.ini.0b7a99c3 b/bios/Other/msx-emu/Machines/MSXturboR/.variants/config.ini.0b7a99c3 new file mode 100644 index 00000000..5c9a0a63 --- /dev/null +++ b/bios/Other/msx-emu/Machines/MSXturboR/.variants/config.ini.0b7a99c3 @@ -0,0 +1,46 @@ +[Video] +version=V9958 +vram size=128kB + +[CMOS] +Enable CMOS=1 +Battery Backed=1 + +[Subslotted Slots] +slot 0=1 +slot 1=0 +slot 2=1 +slot 3=1 + +[External Slots] +slot A=1 0 +slot B=2 0 + + +[FDC] +Count=2 +[CPU] +Z80 Frequency=3579545Hz +R800 Frequency=7159090Hz +[Board] +type=MSX-T9769C +[Slots] +0 0 0 0 24 "Machines/Shared Roms/KANJI.rom" "" +0 0 0 0 58 "" "" +0 0 0 0 33 "" "" +0 0 0 0 59 "" "" +0 0 0 0 60 "" "" +0 0 0 0 80 "" "" +0 0 0 0 84 "" "" +0 0 0 0 90 "" "" +0 0 0 0 79 "Machines/Shared Roms/MOONSOUND.rom" "" +0 0 0 0 88 "" "" +0 0 0 4 141 "Machines/Shared Roms/MSXTR.ROM" "" +0 2 2 2 78 "Machines/Shared Roms/MSXTRMUS.ROM" "" +0 3 2 2 42 "Machines/Shared Roms/MSXTROPT.ROM" "" +2 2 2 2 43 "" "" +3 0 0 64 22 "" "" +3 1 0 2 141 "Machines/Shared Roms/MSXTREXT.ROM" "" +3 1 2 4 141 "Machines/Shared Roms/MSXKANJI.rom" "" +3 2 2 4 143 "Machines/Shared Roms/MSXDOS23.ROM" "" +3 3 2 2 42 "Machines/Shared Roms/XBASIC2.rom" "" diff --git a/bios/Other/msx-emu/Machines/MSXturboR/config.ini b/bios/Other/msx-emu/Machines/MSXturboR/config.ini index 5c9a0a63..2ddb68b2 100644 --- a/bios/Other/msx-emu/Machines/MSXturboR/config.ini +++ b/bios/Other/msx-emu/Machines/MSXturboR/config.ini @@ -35,12 +35,12 @@ type=MSX-T9769C 0 0 0 0 90 "" "" 0 0 0 0 79 "Machines/Shared Roms/MOONSOUND.rom" "" 0 0 0 0 88 "" "" -0 0 0 4 141 "Machines/Shared Roms/MSXTR.ROM" "" -0 2 2 2 78 "Machines/Shared Roms/MSXTRMUS.ROM" "" -0 3 2 2 42 "Machines/Shared Roms/MSXTROPT.ROM" "" +0 0 0 4 141 "Machines/Shared Roms/MSXTR.rom" "" +0 2 2 2 78 "Machines/Shared Roms/MSXTRMUS.rom" "" +0 3 2 2 42 "Machines/Shared Roms/MSXTROPT.rom" "" 2 2 2 2 43 "" "" 3 0 0 64 22 "" "" -3 1 0 2 141 "Machines/Shared Roms/MSXTREXT.ROM" "" +3 1 0 2 141 "Machines/Shared Roms/MSXTREXT.rom" "" 3 1 2 4 141 "Machines/Shared Roms/MSXKANJI.rom" "" -3 2 2 4 143 "Machines/Shared Roms/MSXDOS23.ROM" "" +3 2 2 4 143 "Machines/Shared Roms/MSXDOS23.rom" "" 3 3 2 2 42 "Machines/Shared Roms/XBASIC2.rom" "" diff --git a/bios/RCA/Studio II/openstudio2.bin b/bios/RCA/Studio II/openstudio2.bin new file mode 100644 index 00000000..256ed893 Binary files /dev/null and b/bios/RCA/Studio II/openstudio2.bin differ diff --git a/bios/VideoBrain/Family Computer/boot.rom b/bios/VideoBrain/Family Computer/boot.rom new file mode 100644 index 00000000..e35d6038 Binary files /dev/null and b/bios/VideoBrain/Family Computer/boot.rom differ diff --git a/emulators/dosbox-staging.yml b/emulators/dosbox-staging.yml index 760d91ae..77e0b923 100644 --- a/emulators/dosbox-staging.yml +++ b/emulators/dosbox-staging.yml @@ -599,6 +599,30 @@ files: RIFF INFO name and get their own reverb, chorus and filter presets source_ref: "src/midi/fluidsynth.cpp:672-689, src/midi/fluidsynth.cpp:816-883, src/midi/fluidsynth.cpp:1227-1242" + - name: "GeneralUser-GS.sf2" + path: "soundfonts/GeneralUser-GS.sf2" + description: "GeneralUser GS SoundFont by S. Christian Collins" + required: false + aliases: ["GeneralUser_GS.sf2"] + note: > + opened only when the soundfont setting names it, with or without the + .sf2 extension; MIXER /LISTMIDI lists every .sf2 file found in the + SoundFont directories. A file whose stem or RIFF INFO name contains + GeneralUser is identified as GeneralUser GS, whatever the rest of the + name, and gets its own chorus and reverb parameters in auto mode + source_ref: "src/midi/fluidsynth.cpp:194-230, src/midi/fluidsynth.cpp:842-848, src/midi/fluidsynth.cpp:430-434, src/midi/fluidsynth.cpp:573-577, src/midi/fluidsynth.cpp:1133-1158" + + - name: "FluidR3_GM.sf2" + path: "soundfonts/FluidR3_GM.sf2" + description: "Fluid R3 GM SoundFont by Frank Wen" + required: false + note: > + opened only when the soundfont setting names it, with or without the + .sf2 extension. A file whose RIFF INFO name contains Fluid R3, or whose + stem contains FluidR3, Fluid_R3 or Fluid-R3, is identified as Fluid R3: + auto mode then turns the chorus off and keeps the default reverb + source_ref: "src/midi/fluidsynth.cpp:194-230, src/midi/fluidsynth.cpp:863-868, src/midi/fluidsynth.cpp:443-446, src/midi/fluidsynth.cpp:567-571, src/midi/fluidsynth.cpp:1133-1158" + # -- PCjr system ROM -- - name: "system.rom" diff --git a/emulators/dosbox-x.yml b/emulators/dosbox-x.yml index cd22c6e6..0259af63 100644 --- a/emulators/dosbox-x.yml +++ b/emulators/dosbox-x.yml @@ -265,16 +265,36 @@ files: # -- FluidSynth SoundFont -- - name: "default.sf2" - description: "General MIDI SoundFont" + description: "SoundFont the operating system installs as FluidSynth default" required: false - aliases: - - "FluidR3_GM.sf2" - - "GeneralUser_GS.sf2" unsourceable: "probed at fixed operating system paths, where the system's own SoundFont sits; a same-named file of another program must not stand in" note: > - any SF2 or SF3 file loads; fluid.soundfont names it and + first probe when fluid.soundfont is empty: + /usr/share/soundfonts/default.sf2, or C:\soundfonts\default.sf2 on + Windows. Any SF2 or SF3 file loads; fluid.soundfont names it and fluid_synth_sfload is the only check - source_ref: "src/gui/midi_synth.h:346-384, src/gui/midi_synth.h:462-473, src/dosbox.cpp:3746" + source_ref: "src/gui/midi_synth.h:346-352, src/gui/midi_synth.h:366-368, src/gui/midi_synth.h:381-384, src/gui/midi_synth.h:462-473, src/dosbox.cpp:3746-3747" + + - name: "FluidR3_GM.sf2" + description: "Fluid R3 GM SoundFont by Frank Wen" + required: false + note: > + second probe when fluid.soundfont is empty: + /usr/share/sounds/sf2/FluidR3_GM.sf2, or C:\DOSBox-X\FluidR3_GM.sf2 on + Windows. Elsewhere the file loads when fluid.soundfont gives its path. + The synth device probes the same paths + source_ref: "src/gui/midi_synth.h:353-355, src/gui/midi_synth.h:370-372, src/gui/midi_synth.h:176-178, src/gui/midi_synth.h:193-195" + + - name: "GeneralUser_GS.sf2" + description: "GeneralUser GS SoundFont by S. Christian Collins" + required: false + note: > + third probe when fluid.soundfont is empty: + /usr/share/sounds/sf2/GeneralUser_GS.sf2, or + C:\DOSBox-X\GeneralUser_GS.sf2 on Windows. Elsewhere the file loads + when fluid.soundfont gives its path; the setting's help text names this + file as its example. The synth device probes the same paths + source_ref: "src/gui/midi_synth.h:356-358, src/gui/midi_synth.h:373-375, src/gui/midi_synth.h:179-181, src/gui/midi_synth.h:196-198, src/dosbox.cpp:3747" # -- PC-98 character generator -- diff --git a/emulators/nekop2.yml b/emulators/nekop2.yml index a390872c..9fda5673 100644 --- a/emulators/nekop2.yml +++ b/emulators/nekop2.yml @@ -20,12 +20,8 @@ systems: [pc-98] # Font data falls back to built-in 8x8 tables. Sound ROM falls back # to a 9-byte stub. IDE/SCSI/SASI all have built-in stubs. # -# This is NOT the same core as np2kai. Different repo, different -# feature set (no fmgen, no IDE/PCI/GPIB ROM loading, no itf.rom). -# BIOS path is np2/, not np2kai/. -# -# .info declares firmware_count=0, which is misleading — the core -# loads multiple BIOS/font/sound files but all have built-in fallbacks. +# .info declares firmware_count=0; the core loads several BIOS, font and +# sound files, each with a built-in fallback. files: # -- Main BIOS ROM -- @@ -44,17 +40,27 @@ files: is used, as when the file is absent. source_ref: "bios/bios.c:232-237, common/strres.c:53" - # -- PC-9821 extension BIOS -- - # Loaded in bios/bios.c:262-266 via getbiospath(). 8 KB (0x2000) - # at 0xd8000. Only compiled when SUPPORT_PC9821 is defined - # (libretro/compiler.h:169). + # -- PC-9821 IDE BIOS, the ROM at D8000h -- + # Opened in bios/bios.c:263-264 via getbiospath(). The first 0x2000 + # bytes are read to 0xd8000 (bios/bios.c:266), then the word at 0xd8009 + # is cleared (bios/bios.c:269); the comment above that line reads + # "crush the IDE BIOS". Only compiled when SUPPORT_PC9821 is defined + # (libretro/compiler.h:169). GETBIOS writes BIOS9821.ROM on a PC-9821 + # from segment D800h, length 0x2000 (np2tool/GETBIOS.ASM:96-106). - name: "bios9821.rom" path: "np2/bios9821.rom" + description: "PC-9821 IDE BIOS, the 8 KB ROM at D8000h-D9FFFh" + min_size: 8192 + validation: [size] required: false note: > - PC-9821 extension BIOS ROM (8 KB). For PC-9821 mode support. - Mapped at 0xd8000. - source_ref: "bios/bios.c:262-266, libretro/compiler.h:169" + Dump of D8000h-D9FFFh from a PC-9821, 8192 bytes as GETBIOS writes + it. The first 0x2000 bytes are read to 0xd8000 and the word at + 0xd8009 is then zeroed, which leaves the ROM mapped with its IDE + BIOS disabled. A file shorter than 0x2000 bytes fails the read test + and the word is left alone; nothing past 0x2000 is read. No other + file name is tried. + source_ref: "bios/bios.c:262-272, np2tool/GETBIOS.ASM:96-106, libretro/compiler.h:169" # -- Font file -- # Set in libretro.c:862 as "/np2/font.bmp". @@ -91,7 +97,7 @@ files: # -- YM2608 OPNA rhythm samples -- # Loaded by rhythm_load() in sound/rhythmc.c:60-71 via getbiospath(). - # No fmgen engine in this core — only lowercase filenames are used. + # The core has no fmgen engine; only lowercase filenames are used. - name: "2608_bd.wav" path: "np2/2608_bd.wav" required: false diff --git a/emulators/np2kai.yml b/emulators/np2kai.yml index f9c72765..f996af92 100644 --- a/emulators/np2kai.yml +++ b/emulators/np2kai.yml @@ -131,19 +131,24 @@ files: source_ref: "sound/rhythmc.c:16, sound/fmgen/fmgen_opna.cpp:1435-1445" # -- IDE BIOS ROM -- - # Loaded by ideio.c:1913-1931. Tried in order: ide.rom, d8000.rom, - # bank3.bin, bios9821.rom. Only loaded when np2cfg.idebios is enabled - # and a real main BIOS ROM is present. Falls back to simulated IDE BIOS. + # Loaded by ideio_reset (cbus/ideio.c:1944-1981). Tried in order: + # ide.rom, d8000.rom, bank3.bin, bios9821.rom. Only opened when + # np2cfg.idebios and np2cfg.usebios are both set and IDEBADDR is not + # zero (cbus/ideio.c:1928-1930). The bios9821.rom read in bios/bios.c is + # commented out (bios/bios.c:473-482). - name: "ide.rom" path: "np2kai/ide.rom" - size: 8192 + min_size: 8192 + validation: [size] required: false hle_fallback: true aliases: ["d8000.rom", "bank3.bin", "bios9821.rom"] note: > - IDE controller BIOS ROM (8 KB). For IDE HDD boot support. - Without this, a simulated IDE BIOS is used. - source_ref: "cbus/ideio.c:1975-2003" + IDE BIOS of a PC-9821, the ROM a real machine maps at D8000h. The + first 0x2000 bytes of the first name found are read to + idebaddr << 12 and nothing past them; a shorter file is dropped. + Without a loaded ROM the emulated IDE BIOS is used. + source_ref: "cbus/ideio.c:1928-1930, cbus/ideio.c:1944-1981" # -- SCSI BIOS ROM -- # Loaded by scsiio.c:219. 16 KB (0x4000). Falls back to scsibios[] stub. diff --git a/scripts/dedup.py b/scripts/dedup.py index e109c9d7..f0ac9c65 100644 --- a/scripts/dedup.py +++ b/scripts/dedup.py @@ -47,6 +47,9 @@ NODEDUP_DIRS = { # byte for byte to the base set. Folding them into the clone map would # key gts1.zip twice, once for MAME's set and once for PinMAME's. "PinMAME", + # BBK dictionary ROMs are addressed by model directory, and the OS ROM + # the A4988 folder needs is the one the gam4980 core is given. + "BBK", }