coco-pi.net

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 builder recognizes either a flat folder containing these exact 12 filenames, or the complete bmcoco/roms/... hierarchy beneath the selected folder. The planned wizard will validate this selection before erasure and copy independent files to their documented SD destinations; source files must remain untouched.

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 should display 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.