Skip to content

A7800 - RetroBIOS

Type standalone
Classification Enhanced forks
Source https://github.com/7800-devtools/a7800
Upstream https://github.com/mamedev/mame
Version 5.2
Profiled 2026-08-08
Cores a7800
Systems atari-7800
Technical 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 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.

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 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).

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.

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).

3 files | 0 required, 3 optional | 3 in repo, 0 missing Categories: 3 BIOS ZIPs

a7800.zip optional in repo bios_zip

  • System: atari-7800
  • Validation: size, crc32, sha1
  • Source: src/mame/drivers/a7800.cpp:1698-1748
  • Merged console BIOS archive documented by the manual at bios/a7800.zip. Serves all eight machines through the parent chain, since the PAL machines are clones of a7800 rather than of a7800p.
  • Contents (3 entries):
    • 7800.u7 -NTSC BIOS, default system BIOS "a7800", mapped at 0x3000 -4.0 KB
    • c300558-001a.u7 -NTSC prototype BIOS with Asteroids, system BIOS "a7800pr" -16.0 KB
    • 7800pal.rom -PAL BIOS with Asteroids, named c300558-001b.u7 in mainline MAME -16.0 KB

hiscore.zip optional in repo bios_zip

  • System: atari-7800
  • Validation: size, crc32, sha1
  • Source: hash/a7800.xml:8-21
  • Software list set for the High Score Cartridge configuration (CX78HSC, slot a78_hsc). Fatal when that configuration is selected and the set is absent.
  • Contents (1 entries):
    • highscre.bin -High Score Cartridge ROM, read through the pass-through cart -4.0 KB

xm.zip optional in repo bios_zip

  • System: atari-7800
  • Validation: size, crc32, sha1
  • Source: hash/a7800.xml:24-38
  • Software list set for the XM Expansion Module configuration (slot a78_xm), which reuses the High Score Cartridge ROM alongside 128KB RAM, POKEY and YM2151. Fatal when that configuration is selected and the set is absent.
  • Contents (1 entries):
    • highscre.bin -High Score Cartridge ROM, gated by XM control register bit 3 -4.0 KB

Generated on 2026-08-23T16:12:06Z