XRoar¶
Technical notes
XRoar by Ciaran Anscomb emulates Dragon 32/64, Tandy CoCo 1/2/3, MC-10, Alice, and clones (MX-1600, CP-400, Dragon 200-E, Deluxe CoCo). ROM files are searched in a configurable rompath directory with automatic extension appending (.rom, .ROM, .dgn, .DGN). Batocera sets rompath to /userdata/bios/xroar/.
The romlist mechanism defines fallback filenames per ROM slot. Each machine type has a default romlist that tries filenames in priority order. CRC32 is computed for loaded ROMs and matched against known-good values for breakpoint and feature detection, but mismatches do not prevent loading. A ROM metadata table (src/rom.c) maps CRC32 and size to a description, the debugger symbol table and, for a file inserted as a cartridge, the cartridge type. It names images, it does not accept or reject them.
Machine selection: Batocera maps system names to default machines via xroarGenerator.py (mc10 -> mc10, dragon64 -> dragon64, others -> coco2bus).
42 files | 16 required, 26 optional | 42 in repo, 0 missing
d32.rom required in repo #
Dragon 32 BASIC ROM
- System: dragon32
- Size: 16.0 KB
- CRC32:
e3879310 - Aliases:
dragon32,d32rom,Dragon Data Ltd - Dragon 32 - IC17 - Validation: crc32
- Source:
src/xroar.c:649,src/dragon/dragon32.c:40,src/dragon/dragon32.c:107,src/dragon/dragon32.c:110-116,src/dragon/dragon32.c:131-132 - Collection copy:
bios/Dragon/Dragon/d32.rom - Platforms: recalbox
dragon/d32.rom, retrobatdragon/d32.rom - Combined 16K ROM. Loaded into a single 16384-byte rombank slot.
d64_1.rom required in repo #
Dragon 64 32K mode BASIC ROM
- System: dragon64
- Size: 16.0 KB
- CRC32:
84f68bf9 - Aliases:
d64rom1,dragrom,Dragon Data Ltd - Dragon 64 - IC17,Dragon Data Ltd - TANO IC18,Eurohard S.A. - Dragon 200 IC18 - Validation: crc32
- Source:
src/xroar.c:647,src/xroar.c:653,src/dragon/dragon64.c:151-157,src/dragon/dragon64.c:169-171 - Collection copy:
bios/Dragon/Dragon/alpha-basic.rom - Platforms: recalbox
dragon/d200rom1.rom,dragon/d64tano.rom, retrodeckbios/d200rom1.rom,bios/d64tano.rom - IC17 ROM. Required for the machine to start.
d64_2.rom optional in repo #
Dragon 64 64K mode BASIC ROM
- System: dragon64
- Size: 16.0 KB
- CRC32:
17893a42 - Aliases:
d64rom2,Dragon Data Ltd - Dragon 64 - IC18,Dragon Data Ltd - TANO IC17,Eurohard S.A. - Dragon 200 IC17 - Validation: crc32
- Source:
src/xroar.c:648,src/xroar.c:654,src/dragon/dragon64.c:160-166,src/dragon/dragon64.c:174-176 - Collection copy:
bios/Dragon/Dragon/d200rom2.rom - Platforms: recalbox
dragon/d200rom2.rom,dragon/d64rom2.rom,dragon/d64tano2.rom, retrobatdragon/d64_2.rom, retrodeckbios/d200rom2.rom,bios/d64tano2.rom - IC18 ROM. 64K mode alternate BASIC. Machine starts without it (32K mode only).
d200e_1.rom required in repo spain #
Dragon 200-E BASIC IC18 (Spanish)
- System: dragon64
- Size: 16.0 KB
- CRC32:
95af0a0a - Aliases:
d200e_rom1,ic18_v1.4e.ic34 - Validation: crc32
- Source:
src/xroar.c:650,src/xroar.c:656,src/xroar.c:741 - Collection copy:
bios/Dragon/Dragon/d200e_1.rom - Required for Dragon 200-E. Falls back to d64_1 then generic dragon if not found.
d200e_2.rom optional in repo spain #
Dragon 200-E BASIC IC17 (Spanish)
- System: dragon64
- Size: 16.0 KB
- CRC32:
48b985df - Aliases:
d200e_rom2,ic17_v1.4e.ic37 - Source:
src/xroar.c:651,src/xroar.c:657,src/rom.c:91 - Collection copy:
bios/Dragon/Dragon/d200e_2.rom - 64K mode alternate. Falls back to d64_2 if not found.
d200e_26.rom optional in repo spain #
Dragon 200-E external character generator ROM
- System: dragon64
- Size: 4.0 KB
- CRC32:
565724bc - Aliases:
rom26.ic1 - Source:
src/xroar.c:658,src/dragon/dragon.c:430-447,src/rom.c:92 - Collection copy:
bios/Dragon/Dragon/d200e_26.rom - Spanish character set. Loaded into a 4096-byte rombank. Machine works without it (uses standard charset).
alpha-boot-v1.0.rom required in repo #
Dragon Professional (Alpha) boot ROM v1.0
- System: dragon64
- Size: 8.0 KB
- CRC32:
c3dab585 - Aliases:
alpha_bt_10,Dragon Data Ltd - Dragon Alpha Boot v1.0 150584 - Validation: crc32
- Source:
src/xroar.c:660,src/xroar.c:747,src/dragon/dragonpro.c:246,src/dragon/dragonpro.c:251-254,src/dragon/dragonpro.c:269 - Collection copy:
bios/Dragon/Dragon/alpha-boot-v1.0.rom - Required for Dragon Professional machine. Loaded as extbas_rom into the BOOT bank. rombank_verify_crc accepts any member of @dragonpro_boot, which also holds 0xd6172b56 for the v0.4 slot.
alpha-boot-v0.4.rom optional in repo #
Dragon Professional (Alpha) boot ROM v0.4
- System: dragon64
- Size: 8.0 KB
- CRC32:
d6172b56 - Aliases:
alpha_bt_04 - Validation: crc32
- Source:
src/xroar.c:660,src/xroar.c:747,src/dragon/dragonpro.c:246,src/rom.c:93 - Collection copy:
bios/Other/xroar/alpha-boot-v0.4.rom - Fourth and fifth candidates of the dragonpro_boot romlist, tried when no v1.0 image is found. The dragonpro_boot crclist carries 0xd6172b56 next to the v1.0 value, and the ROM metadata table names it Dragon Professional Boot 0.4.
alpha-basic.rom required in repo #
Dragon Professional (Alpha) BASIC ROM
- System: dragon64
- Size: 16.0 KB
- CRC32:
84f68bf9 - Aliases:
alpha_ba,Dragon Data Ltd - Dragon Alpga Basic - Validation: crc32
- Source:
src/xroar.c:661,src/xroar.c:748,src/dragon/dragonpro.c:247,src/dragon/dragonpro.c:260-263,src/dragon/dragonpro.c:274 - Collection copy:
bios/Dragon/Dragon/alpha-basic.rom - Platforms: recalbox
dragon/d200rom1.rom,dragon/d64tano.rom, retrodeckbios/d200rom1.rom,bios/d64tano.rom - Loaded as altbas_rom into the 32K BASIC bank. Falls back to d64_1 if not found.
bas13.rom required in repo #
Tandy CoCo Colour BASIC 1.3
- System: coco
- Size: 8.0 KB
- CRC32:
d8f4d15e - Validation: crc32
- Source:
src/xroar.c:663,src/xroar.c:753,src/dragon/coco.c:154-160,src/dragon/coco.c:166-168 - Collection copy:
bios/Tandy/CoCo/bas13.rom - Platforms: recalbox
trs80coco/bas13.rom, retrodeckbios/bas13.rom - Default Colour BASIC. First tried in the @coco romlist. 8K ROM loaded into slot 1 of a 2-slot rombank.
bas12.rom optional in repo #
Tandy CoCo Colour BASIC 1.2
- System: coco
- Size: 8.0 KB
- CRC32:
54368805 - Aliases:
Color Basic v1.2 (1982)(Tandy) - Validation: crc32
- Source:
src/xroar.c:663,src/xroar.c:752 - Collection copy:
bios/Tandy/CoCo/bas12.rom - Platforms: recalbox
trs80coco/bas12.rom, retrodeckbios/bas12.rom - Alternative to bas13. Second in fallback order.
bas11.rom optional in repo #
Tandy CoCo Colour BASIC 1.1
- System: coco
- Size: 8.0 KB
- CRC32:
6270955a - Validation: crc32
- Source:
src/xroar.c:663,src/xroar.c:751 - Collection copy:
bios/Tandy/CoCo/bas11.rom - Platforms: recalbox
trs80coco/bas11.rom, retrodeckbios/bas11.rom - Used by CoCo 1E. Third in fallback order.
bas10.rom optional in repo #
Tandy CoCo Colour BASIC 1.0
- System: coco
- Size: 8.0 KB
- CRC32:
00b50aaa - Validation: crc32
- Source:
src/xroar.c:663,src/xroar.c:750 - Collection copy:
bios/Tandy/CoCo/bas10.rom - Platforms: recalbox
trs80coco/bas10.rom, retrodeckbios/bas10.rom - Earliest version. Used by original CoCo 1. Last in fallback order.
extbas11.rom required in repo #
Tandy CoCo Extended Colour BASIC 1.1
- System: coco
- Size: 8.0 KB
- CRC32:
a82a6254 - Validation: crc32
- Source:
src/xroar.c:664,src/xroar.c:758,src/dragon/coco.c:145-151,src/dragon/coco.c:170-171 - Collection copy:
bios/Tandy/CoCo/extbas11.rom - Platforms: recalbox
trs80coco/extbas11.rom, retrodeckbios/extbas11.rom - Default Extended BASIC. 8K ROM loaded into slot 0 of a 2-slot rombank.
extbas10.rom optional in repo #
Tandy CoCo Extended Colour BASIC 1.0
- System: coco
- Size: 8.0 KB
- CRC32:
e031d076 - Validation: crc32
- Source:
src/xroar.c:664,src/xroar.c:757 - Collection copy:
bios/Tandy/CoCo/extbas10.rom - Platforms: recalbox
trs80coco/extbas10.rom, retrodeckbios/extbas10.rom - Earlier version. Second in fallback order.
coco3.rom required in repo #
CoCo 3 Super Extended Colour BASIC (NTSC)
- System: coco3
- Size: 32.0 KB
- CRC32:
b4c88d6c - Validation: crc32
- Source:
src/xroar.c:694,src/xroar.c:768,src/coco3.c:258-260,src/coco3.c:535-549 - Collection copy:
bios/Tandy/CoCo/coco3.rom - Platforms: misterfpga
COCO3/boot0.rom, recalboxtrs80coco/coco3.rom, retrodeckbios/coco3.rom - 32K combined ROM. Single required ROM for CoCo 3 NTSC.
coco3p.rom required in repo #
CoCo 3 Super Extended Colour BASIC (PAL)
- System: coco3
- Size: 32.0 KB
- CRC32:
ff050d80 - Validation: crc32
- Source:
src/xroar.c:695,src/xroar.c:510,src/xroar.c:519,src/xroar.c:768,src/coco3.c:535-549,src/rom.c:119 - Collection copy:
bios/Tandy/CoCo/coco3p.rom - Platforms: recalbox
trs80coco/coco3p.rom, retrodeckbios/coco3p.rom - PAL variant of the CoCo 3 ROM. Required for PAL CoCo 3 machines.
mc10.rom required in repo #
Tandy MC-10 Microcolour BASIC
- System: mc10
- Size: 8.0 KB
- CRC32:
11fda97e - Validation: crc32
- Source:
src/xroar.c:701,src/xroar.c:773,src/mc10.c:169-171,src/mc10.c:423-434 - Collection copy:
bios/Tandy/CoCo/mc10.rom - Platforms: recalbox
trs80coco/mc10.rom - Single required ROM for MC-10.
alice.rom required in repo france #
Matra & Hachette Alice Microcolour BASIC
- System: mc10
- Size: 8.0 KB
- CRC32:
f876abe9 - Validation: crc32
- Source:
src/xroar.c:703,src/xroar.c:775,src/mc10.c:169-171 - Collection copy:
bios/Tandy/CoCo/alice.rom - Platforms: recalbox
trs80coco/alice4k.rom - French Alice variant. Required for Alice machine. MC-10 compatible.
deluxe.rom required in repo #
Tandy Deluxe CoCo Advanced BASIC (bank 0)
- System: coco
- CRC32:
1cce231e - Aliases:
adv070_u24 - Validation: crc32
- Source:
src/xroar.c:679,src/xroar.c:763,src/dragon/deluxecoco.c:213-216 - Collection copy:
bios/Tandy/CoCo/deluxe.rom - Primary ROM for the Deluxe CoCo prototype. Loaded as extbas_rom.
adv071_u24.rom optional in repo #
Tandy Deluxe CoCo ROM bank 1
- System: coco
- Source:
src/xroar.c:681,src/dragon/deluxecoco.c:223-226 - Collection copy:
bios/Tandy/CoCo/adv071_u24.rom
adv072_u24.rom optional in repo #
Tandy Deluxe CoCo ROM bank 2
- System: coco
- Source:
src/xroar.c:682,src/dragon/deluxecoco.c:230-233 - Collection copy:
bios/Tandy/CoCo/adv072_u24.rom
adv073-2_u24.rom optional in repo #
Tandy Deluxe CoCo ROM bank 3
- System: coco
- Aliases:
adv073_u24 - Source:
src/xroar.c:683,src/dragon/deluxecoco.c:237-240 - Collection copy:
bios/Tandy/CoCo/adv073-2_u24.rom
mx1600bas.rom required in repo #
Dynacom MX-1600 Colour BASIC
- System: coco
- CRC32:
d918156e - Aliases:
mx1600bas_zephyr - Validation: crc32
- Source:
src/xroar.c:685,src/xroar.c:754 - Collection copy:
bios/Tandy/CoCo/mx1600bas.rom - Platforms: recalbox
trs80coco/mx1600bas.rom - Required for MX-1600. Zephyr-patched variant (CRC32 d11b1c96) is an alias.
mx1600extbas.rom required in repo #
Dynacom MX-1600 Extended Colour BASIC
- System: coco
- CRC32:
322a3d58 - Validation: crc32
- Source:
src/xroar.c:686,src/xroar.c:759 - Collection copy:
bios/Tandy/CoCo/mx1600extbas.rom
cp400bas.rom required in repo #
Prologica CP-400 Colour BASIC
- System: coco
- CRC32:
0b2903d4 - Validation: crc32
- Source:
src/xroar.c:688,src/xroar.c:755 - Collection copy:
bios/Tandy/CoCo/cp400bas.rom - Platforms: retrodeck
bios/cp400bas.rom
cp400ext.rom required in repo #
Prologica CP-400 Extended Colour BASIC
- System: coco
- CRC32:
114accbc - Validation: crc32
- Source:
src/xroar.c:689,src/xroar.c:760 - Collection copy:
bios/Tandy/CoCo/cp400ext.rom - Platforms: retrodeck
bios/cp400extbas.rom
disk11.rom optional in repo #
Tandy RS-DOS 1.1 (CoCo floppy disk controller)
- System: coco
- Size: 8.0 KB
- CRC32:
0b9c5415 - Source:
src/xroar.c:714,src/rsdos.c:176,src/rom.c:150 - Collection copy:
bios/Tandy/CoCo/disk11.rom - Platforms: misterfpga
COCO3/boot1.rom, recalboxtrs80coco/disk11.rom, retrodeckbios/disk11.rom,bios/fd502.rom - Primary CoCo disk controller ROM. disk10.rom (RS-DOS 1.0) is an earlier version used as fallback.
hdbdw3bck.rom optional in repo #
RS-DOS with Becker port (DriveWire)
- System: coco
- Source:
src/xroar.c:724,src/xroar.c:578-580 - Collection copy:
bios/Tandy/CoCo/hdbdw3bck.rom - Platforms: recalbox
trs80coco/hdbdw3bck.rom - For CoCo with Becker port hardware. Enables DriveWire connectivity.
ddos12a.rom optional in repo #
DragonDOS 1.2a (Dragon floppy disk controller)
- System: dragon64
- Source:
src/xroar.c:708,src/dragondos.c:173 - Collection copy:
bios/Dragon/Dragon/ddos12a.rom - Platforms: recalbox
dragon/ddos12a.rom, retrodeckbios/ddos12a.rom - Latest DragonDOS version. Fallback chain tries DOSPlus -> SuperDOS -> DragonDOS -> Cumana. Older versions: ddos12, ddos40, ddos15, ddos10.
dplus49b.rom optional in repo #
DOSPlus 4.9b (Dragon compatible DOS)
- System: dragon64
- Size: 8.0 KB
- CRC32:
7c6dfca8 - Source:
src/xroar.c:709,src/rom.c:138 - Collection copy:
bios/Dragon/Dragon/dplus49b.rom - Platforms: recalbox
dragon/dplus49b.rom, retrodeckbios/dplus49b.rom - First tried in DragonDOS-compatible cartridge. Enhanced Dragon DOS. Older version: dplus48 (alias: dosplus-4.8, DOSPLUS).
sdose6.rom optional in repo #
SuperDOS E6 (Dragon compatible DOS)
- System: dragon64
- Size: 8.0 KB
- CRC32:
8c1d6c45 - Aliases:
PNP - SuperDOS E6 - Source:
src/xroar.c:710,src/rom.c:141 - Collection copy:
bios/Dragon/Dragon/sdose6.rom - Platforms: recalbox
dragon/sdose6.rom, retrodeckbios/sdose6.rom - Latest SuperDOS. Older versions: sdose5, sdose4.
cdos20.rom optional in repo #
Cumana DOS 2.0 (Dragon compatible DOS)
- System: dragon64
- Aliases:
CDOS20,CumanaDOSv2.0 - Source:
src/xroar.c:711 - Collection copy:
bios/Dragon/Dragon/cdos20.rom
delta2.rom optional in repo #
Delta System 2 (Premier Microsystems disk controller)
- System: dragon64
- Size: 8.0 KB
- CRC32:
307fb37c - Aliases:
Premier Micros - DeltaDOS - Source:
src/xroar.c:717,src/deltados.c:160,src/rom.c:146 - Collection copy:
bios/Dragon/Dragon/delta2.rom - Platforms: recalbox
dragon/deltados.rom, retrodeckbios/deltados.rom - Latest Delta version. Older versions: delta1a, delta19, delta, deltados.
cp450dsk.rom optional in repo #
Prologica CP-450 DOS cartridge
- System: coco
- Source:
src/xroar.c:715 - Collection copy:
bios/Tandy/CoCo/cp400dsk.rom - Platforms: retrodeck
bios/cp400dsk.rom - Falls back to RS-DOS if not found.
orch90.rom optional in repo #
Orchestra-90 CC sound cartridge ROM
- System: coco
- Size: 8.0 KB
- CRC32:
15fb39af - Source:
src/orch90.c:122,src/rom.c:313 - Collection copy:
bios/Tandy/CoCo/orch90.rom - Platforms: misterfpga
COCO3/boot2.rom - Sound synthesis cartridge. Loaded directly (no romlist fallback).
mcx128.rom optional in repo #
MCX128 memory expansion BASIC ROM
- System: mc10
- Aliases:
MCX_Basic_21 - Source:
src/xroar.c:730,src/mcx128.c:208 - Collection copy:
bios/Tandy/MC-10/mcx128.rom - 128K memory expansion for MC-10. Adds enhanced BASIC.
mcx128a.rom optional in repo #
MCX128 memory expansion BASIC ROM (AZERTY)
- System: mc10
- Aliases:
MCX_Basic_21_AZERTY - Source:
src/xroar.c:731,src/xroar.c:638-639 - Collection copy:
bios/Tandy/MC-10/mcx128a.rom - AZERTY keyboard variant for Alice. Same MCX128 hardware.
yados.rom optional in repo #
YADOS (Glenside IDE interface ROM)
- System: coco
- Source:
src/xroar.c:696,src/idecart.c:208 - Collection copy:
bios/Dragon/Dragon/yados.rom - IDE hard disk interface. Fallback: hdblba.rom (alternative IDE ROM).
sdbdos.rom optional in repo #
SDBDOS (MOOH memory cartridge ROM)
- System: dragon64
- Source:
src/mooh.c:259 - Collection copy:
bios/Dragon/Dragon/sdbdos.rom - SD card boot DOS for MOOH cartridge. Loaded directly.
dragonfly-2.3.rom optional in repo #
Ikon Ultra Drive Dragonfly ROM 2.3
- System: dragon64
- Source:
src/xroar.c:721,src/ikon.c:151,src/ikon.c:26 - Collection copy:
bios/Dragon/Dragon/dragonfly-2.3.rom - Experimental, compiled only with WANT_EXPERIMENTAL. Ikon Ultra Drive storage interface. First candidate of the ikon romlist. No crclist entry names it.
dragonfly-1.3.rom optional in repo #
Ikon Ultra Drive Dragonfly ROM 1.3
- System: dragon64
- Source:
src/xroar.c:721,src/ikon.c:151,src/romlist.c:46-48 - Collection copy:
bios/Dragon/Dragon/dragonfly-1.3.rom - Experimental. Second candidate of the ikon romlist, loaded when dragonfly-2.3 is absent. romlist_find appends the extensions "", .rom, .ROM, .dgn, .DGN in that order. ikon.c loads the bank through cart_rom_init and checks nothing: no crclist entry names this ROM.
Generated on 2026-10-20T03:49:43Z