diff --git a/emulators/a7800.yml b/emulators/a7800.yml index 572205629..02afe5270 100644 --- a/emulators/a7800.yml +++ b/emulators/a7800.yml @@ -5,7 +5,7 @@ source: "https://github.com/7800-devtools/a7800" upstream: "https://github.com/mamedev/mame" profiled_date: "2026-08-08" source_commit: "7a2afdc1ea08fc331b16b750d8c1f02d4ef62fc8" -upstream_commit: "61a222977fd29f22ce11fbea3f7c290fd7ced091" +upstream_commit: "9d8a6727a206fc822b8b69d67a51e6fd7dbf4d4b" core_version: "5.2" display_name: "Atari - 7800 (A7800)" cores: @@ -17,46 +17,49 @@ mode: standalone notes: | MAME fork by 7800.8bitdev.org built with the Atari 7800 driver alone. The released binary carries eight machines, all declaring a7800 as parent: NTSC - and PAL at three palette temperatures, plus a developer mode showing DMA - usage per scanline (a7800.cpp:1837-1844). The temperature variants were - renamed after 5.2, from a7800u1/a7800u2/a7800pu1/a7800pu2 to + and PAL at three palette temperatures, plus a developer mode showing DMA usage + per scanline (src/mame/drivers/a7800.cpp:1837-1844). The temperature variants + were renamed after 5.2, from a7800u1/a7800u2/a7800pu1/a7800pu2 to a7800a1/a7800a2/a7800pa1/a7800pa2. ROM definitions are identical in both. - Console BIOS is optional. Every entry carries ROM_OPTIONAL, so absence - yields a warning rather than the fatal "Required files are missing" exit - (romload.cpp:373-379, 488-493). The region is ERASEFF, and machine_reset - reads the reset vector: when 0xfffe and 0xffff both hold 0xff, m_ctrl_reg is - set to 4 and the console starts the cartridge (a7800.cpp:1529-1532). No code - substitutes for the BIOS when it is absent. + Console BIOS is optional. Every entry carries ROM_OPTIONAL, so absence yields + a warning rather than the fatal "Required files are missing" exit + (src/emu/romload.cpp:373-379, 488-493). The region is ERASEFF, and + machine_reset reads the reset vector: when 0xfffe and 0xffff both hold 0xff, + m_ctrl_reg is set to 4 and the console starts the cartridge + (src/mame/drivers/a7800.cpp:1529-1532). No code substitutes for the BIOS when + it is absent. Lookup runs under rompath, which the shipped a7800.ini sets to "bios;roms". - open_rom_file walks the parent chain (romload.cpp:567-572), so all eight - machines fall back to the a7800 set, and the manual documents one merged + open_rom_file walks the parent chain (src/emu/romload.cpp:567-572), so all + eight machines fall back to the a7800 set, and the manual documents one merged archive at bios/a7800.zip. Inside an archive the search tries name with CRC, - then CRC alone, then name (fileio.cpp:692-701), so a ROM whose filename - differs from the driver still resolves. Loose files under rompath/a7800/ - match by name only. Loaded ROMs are checked for exact length and against the - declared CRC32 and SHA1, and a mismatch is a warning (romload.cpp:417-455). + then CRC alone, then name (src/emu/fileio.cpp:692-701), so a ROM whose + filename differs from the driver still resolves. Loose files under + rompath/a7800/ match by name only. Loaded ROMs are checked for exact length + and against the declared CRC32 and SHA1, and a mismatch is a warning + (src/emu/romload.cpp:417-455). The PAL BIOS keeps the filename 7800pal.rom, which mainline MAME has since renamed to c300558-001b.u7 for the same dump. Mainline also marks the 7800 ROMs mandatory. Software list a7800 (hash/a7800.xml), attached by every machine - (a7800.cpp:1577, 1608, 1654, 1684), holds add-on hardware rather than games: - the High Score Cartridge and the XM Expansion Module, both backed by the - same 4KB highscre.bin served as the pass-through cart ROM - (hiscore.cpp:49-52, xm.cpp:177-183). Software list ROMs resolve as - a7800/ then under rompath (romload.cpp:628-650) and carry - no optional flag, so selecting either configuration without the image exits - with EMU_ERR_MISSING_FILES. + (src/mame/drivers/a7800.cpp:1577, 1608, 1654, 1684), holds add-on hardware + rather than games: the High Score Cartridge and the XM Expansion Module, both + backed by the same 4KB highscre.bin served as the pass-through cart ROM + (src/devices/bus/a7800/hiscore.cpp:49-52, + src/devices/bus/a7800/xm.cpp:177-183). Software list ROMs resolve as + a7800/ then under rompath (src/emu/romload.cpp:628-650) and + carry no optional flag, so selecting either configuration without the image + exits with EMU_ERR_MISSING_FILES. The release ships the binary, a7800.ini, the manual, hash/a7800.xml, cfg defaults, bgfx shaders and artwork masks, and no roms, samples, plugins or - language directory. The driver adds no samples device and no external - layout. Crosshair bitmaps fall back to a compiled-in shape - (crsshair.cpp:180-214) and the UI font to compiled-in data - (rendfont.cpp:587-600). + language directory. The driver adds no samples device and no external layout. + Crosshair bitmaps fall back to a compiled-in shape + (src/emu/crsshair.cpp:180-214) and the UI font to compiled-in data + (src/emu/rendfont.cpp:587-600). files: - name: a7800.zip