BMCoCo-Pi 0.1.0rc3 · Windows setup, Linux console and model downloads.
System ROMs: names and exact locations
BMCoCo-Pi does not include system ROMs. Supply ROM images you are entitled to use. A filename alone does not establish the correct version: the installer must check both byte length and SHA-256 before modifying a card.
The current installation layout requires all 12 files below, including compatibility and expansion ROMs. The purpose column explains which guest uses a ROM; it does not make that file optional. Check the actual release notes for any later changes to these requirements.
Required names and SD paths
Paths are relative to the root of the prepared SD card. They are identical for Windows and Linux and for every Pi model; the emulated machine determines the ROM, not the Raspberry Pi model.
| Purpose | Exact SD-relative filename | Size in bytes |
|---|---|---|
| CoCo1 Color BASIC 1.0 | bmcoco/roms/coco1/bas10.rom |
8192 |
| CoCo1 Extended BASIC 1.0 | bmcoco/roms/coco1/extbas10.rom |
8192 |
| CoCo2 Color BASIC 1.3 | bmcoco/roms/coco2/bas13.rom |
8192 |
| CoCo2 Extended BASIC 1.1 | bmcoco/roms/coco2/extbas11.rom |
8192 |
| CoCo3 system ROM | bmcoco/roms/coco3/coco3.rom |
32768 |
| MC-10 system ROM | bmcoco/roms/mc10/mc10.rom |
8192 |
| RS-DOS / Disk BASIC 1.1 | bmcoco/roms/dos/disk11.rom |
8192 |
| Disk BASIC 1.0 compatibility | bmcoco/roms/dos/disk10.rom |
8192 |
| Becker HDB-DOS variant | bmcoco/roms/dos/hdbdw3bck.rom |
8192 |
| CoCo2 HDB-DOS variant | bmcoco/roms/dos/hdbdw3cc2.rom |
8192 |
| CoCo3 HDB-DOS variant | bmcoco/roms/dos/hdbdw3bc3.rom |
8192 |
| MCX128 cartridge firmware | bmcoco/roms/mc10/mcx128.rom |
16384 |
Preparing a ROM folder on your PC
Make a separate folder called My-BMCoCo-ROMs on your PC. The current
setup application accepts either a flat folder containing these exact 12
filenames or the complete bmcoco/roms/... hierarchy beneath the selected folder.
It validates their sizes and hashes before card access, then copies independent
files to their documented SD destinations. Keep the source ROM folder on the
PC, separate from the destination card.
On Windows, enable File name extensions in File Explorer so that
bas13.rom.rom, bas13.rom.txt or a ZIP renamed to .rom is not mistaken for
bas13.rom. On Linux, keep the spelling and lower-case names exactly as listed.
Do not assume renaming a different ROM version will make it valid. Extract
an archive first; do not select the ZIP itself as a ROM image.
If manually inspecting a prepared card, Windows may show a location such as
E:\bmcoco\roms\coco2\bas13.rom. On Linux, open the mounted card named
BMCOCO in Files and navigate to bmcoco/roms/coco2/bas13.rom. E: is only
an example: never use a remembered drive letter or device path to erase media.
Do not put system ROMs beside the kernel at the card root or under carts/.
SHA-256 reference
The reference values are listed in the table below. The utility reports missing/wrong-size/wrong-checksum errors itself; users should not need command-line checksum tools.
| Filename | Expected SHA-256 |
|---|---|
| bas10.rom | 384183abb962aa298c38a4de7f86b6712feddf6ba4c85b49e05e3c76318335dc |
| extbas10.rom | ccd347508f177cb3eeb2e17fd60d3cccb64312d069c5084771467cfbbc04a27c |
| bas13.rom | 5375b1caef9df815b781d9cd6df81ecdaddd2642b06a01adac521e40f1329751 |
| extbas11.rom | a18f270d3495d82b9f515de049f46253a623a2d9b1bb226c9ad338508344c5ee |
| coco3.rom | ad358430568250eb8330a37f85361d9ce67e5ae6d5a28c17b31802cd3953a5d2 |
| mc10.rom | 6fb9edf040a30f92d53dfe91461fca74e4c026d074fec5345878633adce18616 |
| disk11.rom | 1c40c5a74e72edaeecc2511fee1aab347eae2c3d5fc6778cb622e3df14d63157 |
| disk10.rom | 8c86c83720043525029797dd3defd0fd285651549a373117304cc470e8e61f91 |
| hdbdw3bck.rom | ae0c32bf1c4c7eda9682acaaf1cf693ff890305263b69dda18150d779d043b19 |
| hdbdw3cc2.rom | 426572a14cb057f06ef757164ec5ba1563dcf600ff826902d12ab8792fab673a |
| hdbdw3bc3.rom | a7342acfd01d466a7d4fe701dd8912dc1951a54395a5042d0b9446451aa905e7 |
| mcx128.rom | 2f442cd17fe90769c4edf77f3c7a323e30281339d84f45a0c5b6acaf3f6a2958 |
These checksums describe accepted content, not permission to redistribute it. Do not upload ROM files to a GitHub issue or commit them to a repository.
System ROMs versus optional software
Ordinary CoCo cartridge ROMs belong in bmcoco/carts/coco/; disks in
bmcoco/disks/coco/; raw cassette images in bmcoco/cassettes/coco/ or
bmcoco/cassettes/mc10/. A .rom extension alone does not identify a system
ROM. MCX128 selected by its built-in name uses the system location listed above.
MOOH has separate owner-supplied sdboot firmware and a compatible virtual SD
image. Prepared engineering presets expect bmcoco/carts/coco/mooh-sdboot.rom
and bmcoco/images/mooh/virtual-sd.img. They are not part of the 12-system-
ROM manifest and are not included in this repository. See media.
Guide edition: November 2, 2026.