{
  "count": 1,
  "generated_at": "2026-10-20T02:57:31Z",
  "items": [
    {
      "id": "xroar",
      "profile": {
        "core_version": "1.12.1",
        "cores": [
          "xroar"
        ],
        "display_name": "Dragon / CoCo / MC-10 (XRoar)",
        "emulator": "XRoar",
        "files": [
          {
            "aliases": [
              "dragon32",
              "d32rom",
              "Dragon Data Ltd - Dragon 32 - IC17"
            ],
            "crc32": "e3879310",
            "description": "Dragon 32 BASIC ROM",
            "name": "d32.rom",
            "note": "Combined 16K ROM. Loaded into a single 16384-byte rombank slot.",
            "required": true,
            "size": 16384,
            "source_ref": "src/xroar.c:649 (romlist d32), src/dragon/dragon32.c:40 (default @dragon32), src/dragon/dragon32.c:107,110-116,131-132 (load + CRC)",
            "system": "dragon32",
            "validation": [
              "crc32"
            ]
          },
          {
            "aliases": [
              "d64rom1",
              "dragrom",
              "Dragon Data Ltd - Dragon 64 - IC17",
              "Dragon Data Ltd - TANO IC18",
              "Eurohard S.A. - Dragon 200 IC18"
            ],
            "crc32": "84f68bf9",
            "description": "Dragon 64 32K mode BASIC ROM",
            "name": "d64_1.rom",
            "note": "IC17 ROM. Required for the machine to start.",
            "required": true,
            "size": 16384,
            "source_ref": "src/xroar.c:647 (romlist d64_1), src/xroar.c:653 (romlist dragon64), src/dragon/dragon64.c:151-157,169-171 (load + CRC)",
            "system": "dragon64",
            "validation": [
              "crc32"
            ]
          },
          {
            "aliases": [
              "d64rom2",
              "Dragon Data Ltd - Dragon 64 - IC18",
              "Dragon Data Ltd - TANO IC17",
              "Eurohard S.A. - Dragon 200 IC17"
            ],
            "crc32": "17893a42",
            "description": "Dragon 64 64K mode BASIC ROM",
            "name": "d64_2.rom",
            "note": "IC18 ROM. 64K mode alternate BASIC. Machine starts without it (32K mode only).",
            "required": false,
            "size": 16384,
            "source_ref": "src/xroar.c:648 (romlist d64_2), src/xroar.c:654 (romlist dragon64_alt), src/dragon/dragon64.c:160-166,174-176 (load + CRC)",
            "system": "dragon64",
            "validation": [
              "crc32"
            ]
          },
          {
            "aliases": [
              "d200e_rom1",
              "ic18_v1.4e.ic34"
            ],
            "crc32": "95af0a0a",
            "description": "Dragon 200-E BASIC IC18 (Spanish)",
            "name": "d200e_1.rom",
            "note": "Required for Dragon 200-E. Falls back to d64_1 then generic dragon if not found.",
            "region": [
              "spain"
            ],
            "required": true,
            "size": 16384,
            "source_ref": "src/xroar.c:650 (romlist d200e_1), src/xroar.c:656 (romlist dragon200e), src/xroar.c:741 (crclist)",
            "system": "dragon64",
            "validation": [
              "crc32"
            ]
          },
          {
            "aliases": [
              "d200e_rom2",
              "ic17_v1.4e.ic37"
            ],
            "crc32": "48b985df",
            "description": "Dragon 200-E BASIC IC17 (Spanish)",
            "name": "d200e_2.rom",
            "note": "64K mode alternate. Falls back to d64_2 if not found.",
            "region": [
              "spain"
            ],
            "required": false,
            "size": 16384,
            "source_ref": "src/xroar.c:651 (romlist d200e_2), src/xroar.c:657 (romlist dragon200e_alt), src/rom.c:91 (0x48b985df = Dragon 200-E 64K BASIC)",
            "system": "dragon64"
          },
          {
            "aliases": [
              "rom26.ic1"
            ],
            "crc32": "565724bc",
            "description": "Dragon 200-E external character generator ROM",
            "name": "d200e_26.rom",
            "note": "Spanish character set. Loaded into a 4096-byte rombank. Machine works without it (uses standard charset).",
            "region": [
              "spain"
            ],
            "required": false,
            "size": 4096,
            "source_ref": "src/xroar.c:658 (romlist dragon200e_charset), src/dragon/dragon.c:430-447 (ext_charset load), src/rom.c:92 (0x565724bc = Dragon 200-E Character Set)",
            "system": "dragon64"
          },
          {
            "aliases": [
              "alpha_bt_10",
              "Dragon Data Ltd - Dragon Alpha Boot v1.0 150584"
            ],
            "crc32": "c3dab585",
            "description": "Dragon Professional (Alpha) boot ROM v1.0",
            "name": "alpha-boot-v1.0.rom",
            "note": "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.",
            "required": true,
            "size": 8192,
            "source_ref": "src/xroar.c:660 (romlist dragonpro_boot), src/xroar.c:747 (crclist), src/dragon/dragonpro.c:246 (BOOT bank 8192), src/dragon/dragonpro.c:251-254 (load), src/dragon/dragonpro.c:269 (0xc3dab585 = Dragon Pro BOOT 1.0)",
            "system": "dragon64",
            "validation": [
              "crc32"
            ]
          },
          {
            "aliases": [
              "alpha_bt_04"
            ],
            "crc32": "d6172b56",
            "description": "Dragon Professional (Alpha) boot ROM v0.4",
            "name": "alpha-boot-v0.4.rom",
            "note": "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.",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:660 (romlist dragonpro_boot), src/xroar.c:747 (crclist), src/dragon/dragonpro.c:246 (BOOT bank 8192), src/rom.c:93 (0xd6172b56 = Dragon Professional Boot 0.4)",
            "system": "dragon64",
            "validation": [
              "crc32"
            ]
          },
          {
            "aliases": [
              "alpha_ba",
              "Dragon Data Ltd - Dragon Alpga Basic"
            ],
            "crc32": "84f68bf9",
            "description": "Dragon Professional (Alpha) BASIC ROM",
            "name": "alpha-basic.rom",
            "note": "Loaded as altbas_rom into the 32K BASIC bank. Falls back to d64_1 if not found.",
            "required": true,
            "size": 16384,
            "source_ref": "src/xroar.c:661 (romlist dragonpro_basic), src/xroar.c:748 (crclist = @d64_1), src/dragon/dragonpro.c:247 (ROM0 bank 16384), src/dragon/dragonpro.c:260-263 (load), src/dragon/dragonpro.c:274 (0x84f68bf9 = Dragon 64 32K mode BASIC)",
            "system": "dragon64",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "d8f4d15e",
            "description": "Tandy CoCo Colour BASIC 1.3",
            "name": "bas13.rom",
            "note": "Default Colour BASIC. First tried in the @coco romlist. 8K ROM loaded into slot 1 of a 2-slot rombank.",
            "required": true,
            "size": 8192,
            "source_ref": "src/xroar.c:663 (romlist coco), src/xroar.c:753 (crclist bas13), src/dragon/coco.c:154-160,166-168 (load + CRC)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "aliases": [
              "Color Basic v1.2 (1982)(Tandy)"
            ],
            "crc32": "54368805",
            "description": "Tandy CoCo Colour BASIC 1.2",
            "name": "bas12.rom",
            "note": "Alternative to bas13. Second in fallback order.",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:663 (romlist coco), src/xroar.c:752 (crclist bas12)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "6270955a",
            "description": "Tandy CoCo Colour BASIC 1.1",
            "name": "bas11.rom",
            "note": "Used by CoCo 1E. Third in fallback order.",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:663 (romlist coco), src/xroar.c:751 (crclist bas11)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "00b50aaa",
            "description": "Tandy CoCo Colour BASIC 1.0",
            "name": "bas10.rom",
            "note": "Earliest version. Used by original CoCo 1. Last in fallback order.",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:663 (romlist coco), src/xroar.c:750 (crclist bas10)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "a82a6254",
            "description": "Tandy CoCo Extended Colour BASIC 1.1",
            "name": "extbas11.rom",
            "note": "Default Extended BASIC. 8K ROM loaded into slot 0 of a 2-slot rombank.",
            "required": true,
            "size": 8192,
            "source_ref": "src/xroar.c:664 (romlist coco_ext), src/xroar.c:758 (crclist extbas11), src/dragon/coco.c:145-151,170-171 (load + CRC)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "e031d076",
            "description": "Tandy CoCo Extended Colour BASIC 1.0",
            "name": "extbas10.rom",
            "note": "Earlier version. Second in fallback order.",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:664 (romlist coco_ext), src/xroar.c:757 (crclist extbas10)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "b4c88d6c",
            "description": "CoCo 3 Super Extended Colour BASIC (NTSC)",
            "name": "coco3.rom",
            "note": "32K combined ROM. Single required ROM for CoCo 3 NTSC.",
            "required": true,
            "size": 32768,
            "source_ref": "src/xroar.c:694 (romlist coco3), src/xroar.c:768 (crclist coco3), src/coco3.c:258-260,535-549 (load + CRC)",
            "system": "coco3",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "ff050d80",
            "description": "CoCo 3 Super Extended Colour BASIC (PAL)",
            "name": "coco3p.rom",
            "note": "PAL variant of the CoCo 3 ROM. Required for PAL CoCo 3 machines.",
            "required": true,
            "size": 32768,
            "source_ref": "src/xroar.c:695 (romlist coco3p), src/xroar.c:510,519 (machine config), src/xroar.c:768 (crclist coco3), src/coco3.c:535-549, src/rom.c:119 (0xff050d80 = Super Extended Colour BASIC PAL)",
            "system": "coco3",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "11fda97e",
            "description": "Tandy MC-10 Microcolour BASIC",
            "name": "mc10.rom",
            "note": "Single required ROM for MC-10.",
            "required": true,
            "size": 8192,
            "source_ref": "src/xroar.c:701 (romlist mc10), src/xroar.c:773 (crclist mc10), src/mc10.c:169-171,423-434 (load + CRC)",
            "system": "mc10",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "f876abe9",
            "description": "Matra & Hachette Alice Microcolour BASIC",
            "name": "alice.rom",
            "note": "French Alice variant. Required for Alice machine. MC-10 compatible.",
            "region": [
              "france"
            ],
            "required": true,
            "size": 8192,
            "source_ref": "src/xroar.c:703 (romlist alice), src/xroar.c:775 (crclist alice), src/mc10.c:169-171",
            "system": "mc10",
            "validation": [
              "crc32"
            ]
          },
          {
            "aliases": [
              "adv070_u24"
            ],
            "crc32": "1cce231e",
            "description": "Tandy Deluxe CoCo Advanced BASIC (bank 0)",
            "name": "deluxe.rom",
            "note": "Primary ROM for the Deluxe CoCo prototype. Loaded as extbas_rom.",
            "required": true,
            "source_ref": "src/xroar.c:679 (romlist deluxecoco), src/xroar.c:763 (crclist), src/dragon/deluxecoco.c:213-216 (load)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "description": "Tandy Deluxe CoCo ROM bank 1",
            "name": "adv071_u24.rom",
            "required": false,
            "source_ref": "src/xroar.c:681 (romlist deluxecoco1), src/dragon/deluxecoco.c:223-226 (load)",
            "system": "coco"
          },
          {
            "description": "Tandy Deluxe CoCo ROM bank 2",
            "name": "adv072_u24.rom",
            "required": false,
            "source_ref": "src/xroar.c:682 (romlist deluxecoco2), src/dragon/deluxecoco.c:230-233 (load)",
            "system": "coco"
          },
          {
            "aliases": [
              "adv073_u24"
            ],
            "description": "Tandy Deluxe CoCo ROM bank 3",
            "name": "adv073-2_u24.rom",
            "required": false,
            "source_ref": "src/xroar.c:683 (romlist deluxecoco3), src/dragon/deluxecoco.c:237-240 (load)",
            "system": "coco"
          },
          {
            "aliases": [
              "mx1600bas_zephyr"
            ],
            "crc32": "d918156e",
            "description": "Dynacom MX-1600 Colour BASIC",
            "name": "mx1600bas.rom",
            "note": "Required for MX-1600. Zephyr-patched variant (CRC32 d11b1c96) is an alias.",
            "required": true,
            "source_ref": "src/xroar.c:685 (romlist mx1600), src/xroar.c:754 (crclist mx1600)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "322a3d58",
            "description": "Dynacom MX-1600 Extended Colour BASIC",
            "name": "mx1600extbas.rom",
            "required": true,
            "source_ref": "src/xroar.c:686 (romlist mx1600ext), src/xroar.c:759 (crclist mx1600ext)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "0b2903d4",
            "description": "Prologica CP-400 Colour BASIC",
            "name": "cp400bas.rom",
            "required": true,
            "source_ref": "src/xroar.c:688 (romlist cp400), src/xroar.c:755 (crclist cp400)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "114accbc",
            "description": "Prologica CP-400 Extended Colour BASIC",
            "name": "cp400ext.rom",
            "required": true,
            "source_ref": "src/xroar.c:689 (romlist cp400ext), src/xroar.c:760 (crclist cp400ext)",
            "system": "coco",
            "validation": [
              "crc32"
            ]
          },
          {
            "crc32": "0b9c5415",
            "description": "Tandy RS-DOS 1.1 (CoCo floppy disk controller)",
            "name": "disk11.rom",
            "note": "Primary CoCo disk controller ROM. disk10.rom (RS-DOS 1.0) is an earlier version used as fallback.",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:714 (romlist rsdos), src/rsdos.c:176 (default @rsdos), src/rom.c:150 (0x0b9c5415 = Disk Extended Colour BASIC 1.1)",
            "system": "coco"
          },
          {
            "description": "RS-DOS with Becker port (DriveWire)",
            "name": "hdbdw3bck.rom",
            "note": "For CoCo with Becker port hardware. Enables DriveWire connectivity.",
            "required": false,
            "source_ref": "src/xroar.c:724 (romlist rsdos_becker), src/xroar.c:578-580 (cart becker)",
            "system": "coco"
          },
          {
            "description": "DragonDOS 1.2a (Dragon floppy disk controller)",
            "name": "ddos12a.rom",
            "note": "Latest DragonDOS version. Fallback chain tries DOSPlus -> SuperDOS -> DragonDOS -> Cumana. Older versions: ddos12, ddos40, ddos15, ddos10.",
            "required": false,
            "source_ref": "src/xroar.c:708 (romlist dragondos), src/dragondos.c:173 (default @dragondos_compat)",
            "system": "dragon64"
          },
          {
            "crc32": "7c6dfca8",
            "description": "DOSPlus 4.9b (Dragon compatible DOS)",
            "name": "dplus49b.rom",
            "note": "First tried in DragonDOS-compatible cartridge. Enhanced Dragon DOS. Older version: dplus48 (alias: dosplus-4.8, DOSPLUS).",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:709 (romlist dosplus), src/rom.c:138 (0x7c6dfca8 = DOSplus 4.9B)",
            "system": "dragon64"
          },
          {
            "aliases": [
              "PNP - SuperDOS E6"
            ],
            "crc32": "8c1d6c45",
            "description": "SuperDOS E6 (Dragon compatible DOS)",
            "name": "sdose6.rom",
            "note": "Latest SuperDOS. Older versions: sdose5, sdose4.",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:710 (romlist superdos), src/rom.c:141 (0x8c1d6c45 = SuperDOS E6)",
            "system": "dragon64"
          },
          {
            "aliases": [
              "CDOS20",
              "CumanaDOSv2.0"
            ],
            "description": "Cumana DOS 2.0 (Dragon compatible DOS)",
            "name": "cdos20.rom",
            "required": false,
            "source_ref": "src/xroar.c:711 (romlist cumana)",
            "system": "dragon64"
          },
          {
            "aliases": [
              "Premier Micros - DeltaDOS"
            ],
            "crc32": "307fb37c",
            "description": "Delta System 2 (Premier Microsystems disk controller)",
            "name": "delta2.rom",
            "note": "Latest Delta version. Older versions: delta1a, delta19, delta, deltados.",
            "required": false,
            "size": 8192,
            "source_ref": "src/xroar.c:717 (romlist delta), src/deltados.c:160 (default @delta), src/rom.c:146 (0x307fb37c = Delta System 2.0)",
            "system": "dragon64"
          },
          {
            "description": "Prologica CP-450 DOS cartridge",
            "name": "cp450dsk.rom",
            "note": "Falls back to RS-DOS if not found.",
            "required": false,
            "source_ref": "src/xroar.c:715 (romlist cp450)",
            "system": "coco"
          },
          {
            "crc32": "15fb39af",
            "description": "Orchestra-90 CC sound cartridge ROM",
            "name": "orch90.rom",
            "note": "Sound synthesis cartridge. Loaded directly (no romlist fallback).",
            "required": false,
            "size": 8192,
            "source_ref": "src/orch90.c:122 (default rom = orch90), src/rom.c:313 (0x15fb39af = Orchestra-90/CC)",
            "system": "coco"
          },
          {
            "aliases": [
              "MCX_Basic_21"
            ],
            "description": "MCX128 memory expansion BASIC ROM",
            "name": "mcx128.rom",
            "note": "128K memory expansion for MC-10. Adds enhanced BASIC.",
            "required": false,
            "source_ref": "src/xroar.c:730 (romlist mcx128), src/mcx128.c:208 (default @mcx128)",
            "system": "mc10"
          },
          {
            "aliases": [
              "MCX_Basic_21_AZERTY"
            ],
            "description": "MCX128 memory expansion BASIC ROM (AZERTY)",
            "name": "mcx128a.rom",
            "note": "AZERTY keyboard variant for Alice. Same MCX128 hardware.",
            "required": false,
            "source_ref": "src/xroar.c:731 (romlist mcx128_azerty), src/xroar.c:638-639 (cart mcx128a)",
            "system": "mc10"
          },
          {
            "description": "YADOS (Glenside IDE interface ROM)",
            "name": "yados.rom",
            "note": "IDE hard disk interface. Fallback: hdblba.rom (alternative IDE ROM).",
            "required": false,
            "source_ref": "src/xroar.c:696 (romlist glenside_ide), src/idecart.c:208 (default @glenside_ide)",
            "system": "coco"
          },
          {
            "description": "SDBDOS (MOOH memory cartridge ROM)",
            "name": "sdbdos.rom",
            "note": "SD card boot DOS for MOOH cartridge. Loaded directly.",
            "required": false,
            "source_ref": "src/mooh.c:259 (default rom = sdbdos)",
            "system": "dragon64"
          },
          {
            "description": "Ikon Ultra Drive Dragonfly ROM 2.3",
            "name": "dragonfly-2.3.rom",
            "note": "Experimental, compiled only with WANT_EXPERIMENTAL. Ikon Ultra Drive storage interface. First candidate of the ikon romlist. No crclist entry names it.",
            "required": false,
            "source_ref": "src/xroar.c:721 (romlist ikon), src/ikon.c:151 (default @ikon), src/ikon.c:26 (WANT_EXPERIMENTAL)",
            "system": "dragon64"
          },
          {
            "description": "Ikon Ultra Drive Dragonfly ROM 1.3",
            "name": "dragonfly-1.3.rom",
            "note": "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.",
            "required": false,
            "source_ref": "src/xroar.c:721 (romlist ikon), src/ikon.c:151 (default @ikon), src/romlist.c:46-48 (extensions tried)",
            "system": "dragon64"
          }
        ],
        "notes": "XRoar by Ciaran Anscomb emulates Dragon 32/64, Tandy CoCo 1/2/3,\nMC-10, Alice, and clones (MX-1600, CP-400, Dragon 200-E, Deluxe CoCo).\nROM files are searched in a configurable rompath directory with automatic\nextension appending (.rom, .ROM, .dgn, .DGN). Batocera sets rompath to\n/userdata/bios/xroar/.\n\nThe romlist mechanism defines fallback filenames per ROM slot. Each machine\ntype has a default romlist that tries filenames in priority order. CRC32 is\ncomputed for loaded ROMs and matched against known-good values for breakpoint\nand feature detection, but mismatches do not prevent loading. A\nROM metadata table (src/rom.c) maps CRC32 and size to a description, the\ndebugger symbol table and, for a file inserted as a cartridge, the cartridge\ntype. It names images, it does not accept or reject them.\n\nMachine selection: Batocera maps system names to default machines via\nxroarGenerator.py (mc10 -> mc10, dragon64 -> dragon64, others -> coco2bus).\n",
        "profiled_date": "2026-10-20",
        "source": "https://www.6809.org.uk/git/xroar.git",
        "systems": [
          "dragon32",
          "dragon64",
          "coco",
          "coco3",
          "mc10"
        ],
        "type": "standalone",
        "upstream": "https://www.6809.org.uk/xroar/",
        "version_source": {
          "pattern": "version\\s*<strong>([0-9.]+)</strong>, released",
          "url": "https://www.6809.org.uk/xroar/"
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
