Skip to content

ACE-DL - RetroBIOS

Type standalone
Classification Community forks
Source https://roudoudou.com/ACE-DL/
Upstream http://ace.cpcscene.net
Version 2026-06-03
Profiled 2026-08-08
Cores ace-dl, acedl
Systems amstrad-cpc
Technical notes

SDL port of ACE, the Amstrad CPC/Plus emulator written by Philippe Rimauro (OffseT) for MorphOS. ACE-DL is built by Edouard Bergé (Roudoudou) from the MorphOS sources and released for Windows, macOS, Linux and Raspberry Pi; a third port targets Haiku. All three are closed source, the original author keeps the sources private, so the entries below were established on the official 2026-06-03 Linux x86-64 build: path constants read from the binary, file opens traced with strace, and required/optional decided by removing each file and observing the result.

Machines are CPC 464, 664 and 6128 plus the Plus range, which boots from a cartridge and covers the GX-4000. An operating system is one 32 KB file holding the 16 KB firmware ROM followed by the 16 KB BASIC ROM; the AMSDOS disc ROM is a separate 16 KB file mapped in slot 7. The upstream MorphOS release keeps the three ROMs apart under System/ and composes them at startup, ACE-DL ships them pre-joined under private/firmware/ with one file per machine and language. The pairs are exact:

OS464_UK.rom Firmware v1 + BASIC 1.00 OS464_FR.rom Firmware f1 + French BASIC 1.0 (md5 824f5213…) OS664_UK.rom Firmware v2 + BASIC 1.10 OS6128_UK.rom Firmware v3 + BASIC 1.20 OS6128_FR.rom Firmware f3 + BASIC 1.23 OS6128_S.rom Firmware s3 + BASIC 1.21 OS6128_DK.rom Firmware d3 + BASIC 1.20 XMEM_FW_3_15_UK.rom XMEM 3.15 firmware + BASIC 1.20 XMEM_FW_3_15_FR.rom XMEM 3.15 firmware + BASIC 1.23

Firmware versions run 1 to 4 for the 464, 664, 6128 and Plus, and the letter is the country: v English, f French, s Spanish, d Danish. The BASIC revision attached to a version 3 firmware follows the country, 1.23 for France, 1.21 for Spain, 1.20 elsewhere, which is what the pairs above show. The XMEM files replace the firmware half with the X-MEM expansion firmware and keep the stock BASIC.

The nine operating systems are the entries of the Machine configuration selector. OS6128_UK.rom is the built-in default and is opened at every startup even when the config OS= key names another file. Command line -fuk, -ffr, -fsp and -fdk switch to the UK, French, Spanish and Danish 6128 files. A machine needs at least 32 KB in the file: truncated to 16384 bytes the emulator prints "Error initializing ROMs!" and dies, padded to 40000 bytes it boots, so the check is a lower bound rather than an exact length. The AMSDOS ROM is checked for presence only, an 8 KB stub boots.

Plus machines boot from a cartridge and no cartridge filename is compiled into the binary, the three Amstrad_?4.cpr files are the system cartridges the author ships in the same directory, which is also the default browse root of the cartridge requester. The loader walks the RIFF chunk list and reports "Cartridge Load Error (Header)" on a bad header and "truncated file!" when a cb00..cb07 bank is short, each bank being 16 KB for 128 KB total.

Plugins pull three more ROMs. Multiface II reads multiface2.rom, the Hacker plugin reads hackit400uk.rom in its UK flavour and hacker481fr.rom in its French one, and Play2CPC reads the YM2608 ADPCM rhythm ROM, warning with "ym2608_adpcm_rom.bin not found!" and running without it. The Windows package omits that ROM, the Linux and Raspberry Pi packages carry it.

Expansion ROMs are user business: config keys ROM0 to ROM255 hold whatever the user picks through the requester rooted at media/rom/, and the release seeds that directory with third-party ROMs (ParaDOS, Protext, Maxam, Utopia, uniDOS, SymbOS, FutureOS, Orgams, Discology and others). Disc, tape, snapshot, Dandanator and X-MASS images are user content the same way, and the Nova plugin regenerates its 32 KB private/Nova/nova.nvram when the file is absent. Outside emulation the binary loads its own payload: seventeen QOI images, fatal with "Error loading QOI file please reinstall"; seventeen WAV drive and monitor samples, each merely reported as not found; and the private/messages catalog holding the French, English and Spanish translations. private/sounds/hitachi_long_seek.wav ships with every package but appears in no path constant and is never opened.

17 files | 2 required, 15 optional | 17 in repo, 0 missing

OS6128_UK.rom required in repo uk

  • Path: private/firmware/OS6128_UK.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: 5977adbad3f7...
  • MD5: b96280dc6c95...
  • Validation: size
  • Source: AceDL 2026-06-03: private/firmware/OS6128_UK.rom, default machine, opened at every startup
  • CPC 6128 English. Firmware v3 followed by BASIC 1.20. Absence stops startup with "Error initializing ROMs!".

OS6128_FR.rom optional in repo france

  • Path: private/firmware/OS6128_FR.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: 200d59076dfe...
  • MD5: 5ee871d5600e...
  • Validation: size
  • Source: AceDL 2026-06-03: Machine configuration entry OS6128_FR.rom, command line -ffr
  • CPC 6128 French. Firmware f3 followed by BASIC 1.23.

OS6128_S.rom optional in repo spain

  • Path: private/firmware/OS6128_S.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: 1acd01c2c034...
  • MD5: 024674037101...
  • Validation: size
  • Source: AceDL 2026-06-03: Machine configuration entry OS6128_S.rom, command line -fsp
  • CPC 6128 Spanish. Firmware s3 followed by BASIC 1.21.

OS6128_DK.rom optional in repo denmark

  • Path: private/firmware/OS6128_DK.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: a9e7ee635573...
  • MD5: ca1635fd992e...
  • Validation: size
  • Source: AceDL 2026-06-03: Machine configuration entry OS6128_DK.rom, command line -fdk
  • CPC 6128 Danish. Firmware d3 followed by BASIC 1.20.

OS464_UK.rom optional in repo uk

  • Path: private/firmware/OS464_UK.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: 56d39c463da6...
  • MD5: a993f85b88ac...
  • Validation: size
  • Source: AceDL 2026-06-03: Machine configuration entry OS464_UK.rom
  • CPC 464 English. Firmware v1 followed by BASIC 1.00.

OS464_FR.rom optional in repo france

  • Path: private/firmware/OS464_FR.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: c68d84f37ab9...
  • MD5: a588b7c9e1c1...
  • Validation: size
  • Source: AceDL 2026-06-03: Machine configuration entry OS464_FR.rom
  • CPC 464 French. Firmware f1 followed by a French BASIC 1.0 that the upstream MorphOS release does not carry.

OS664_UK.rom optional in repo uk

  • Path: private/firmware/OS664_UK.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: 073a7665527b...
  • MD5: 5a384a2310f4...
  • Validation: size
  • Source: AceDL 2026-06-03: Machine configuration entry OS664_UK.rom
  • CPC 664 English. Firmware v2 followed by BASIC 1.10.

XMEM_FW_3_15_UK.rom optional in repo uk

  • Path: private/firmware/XMEM_FW_3_15_UK.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: c7d7e5116665...
  • MD5: 85accc17e98c...
  • Validation: size
  • Source: AceDL 2026-06-03: Machine configuration entry XMEM_FW_3_15_UK.rom
  • X-MEM firmware 3.15 English, followed by BASIC 1.20.

XMEM_FW_3_15_FR.rom optional in repo france

  • Path: private/firmware/XMEM_FW_3_15_FR.rom
  • System: amstrad-cpc
  • Size: min 32.0 KB
  • SHA1: faa49a3aeb1d...
  • MD5: 046fa182f757...
  • Validation: size
  • Source: AceDL 2026-06-03: Machine configuration entry XMEM_FW_3_15_FR.rom
  • X-MEM firmware 3.15 French, followed by BASIC 1.23.

Amsdos.rom required in repo

  • Path: private/amsdos/Amsdos.rom
  • System: amstrad-cpc
  • Size: 16.0 KB
  • SHA1: 39102c8e9cb5...
  • MD5: 25629dfe870d...
  • Source: AceDL 2026-06-03: private/amsdos/Amsdos.rom, opened at every startup
  • AMSDOS disc ROM. Absence prints "Error loading AMSDOS ROM" then "Error initializing ROMs!" and stops startup. Length is not checked.

Amstrad_v4.cpr optional in repo

  • Path: private/firmware/Amstrad_v4.cpr
  • System: amstrad-cpc
  • Size: 128.1 KB
  • SHA1: 405e341437fa...
  • MD5: 39b565e64817...
  • Source: AceDL 2026-06-03: private/firmware, cartridge requester root, CPR loader
  • 464plus/6128plus/GX-4000 system cartridge, English, firmware version 4.

Amstrad_f4.cpr optional in repo france

  • Path: private/firmware/Amstrad_f4.cpr
  • System: amstrad-cpc
  • Size: 128.1 KB
  • SHA1: e5aa80c501cf...
  • MD5: e7159fd67402...
  • Source: AceDL 2026-06-03: private/firmware, cartridge requester root, CPR loader
  • 464plus/6128plus/GX-4000 system cartridge, French, firmware version 4.

Amstrad_s4.cpr optional in repo spain

  • Path: private/firmware/Amstrad_s4.cpr
  • System: amstrad-cpc
  • Size: 128.1 KB
  • SHA1: 05fb14df24b2...
  • MD5: 6eeed3fdd4ab...
  • Source: AceDL 2026-06-03: private/firmware, cartridge requester root, CPR loader
  • 464plus/6128plus/GX-4000 system cartridge, Spanish, firmware version 4.

multiface2.rom optional in repo

  • Path: private/multiface2/multiface2.rom
  • System: amstrad-cpc
  • Size: 8.0 KB
  • SHA1: 1431ec628d38...
  • MD5: 4c9f014e91d4...
  • Source: AceDL 2026-06-03: private/multiface2/multiface2.rom, read when PLUGIN_MULTIFACE2=1
  • Romantic Robot Multiface Two ROM. The plugin loads without it.

hackit400uk.rom optional in repo uk

  • Path: private/hacker/hackit400uk.rom
  • System: amstrad-cpc
  • Size: 16.0 KB
  • SHA1: 56306e7234bc...
  • MD5: 9a293eaaebca...
  • Source: AceDL 2026-06-03: private/hacker/hackit400uk.rom, read when PLUGIN_HACKER=1
  • HackIt 4.00 by Siren Software, English, UK flavour of the Hacker plugin.

hacker481fr.rom optional in repo france

  • Path: private/hacker/hacker481fr.rom
  • System: amstrad-cpc
  • Size: 16.0 KB
  • SHA1: 0c15d6753cf0...
  • MD5: dfdd9924295f...
  • Source: AceDL 2026-06-03: private/hacker/hacker481fr.rom, read when PLUGIN_HACKER=1 and PLUGIN_HACKERFR=1
  • Le Hackeur 4.81, the French edition of the same Siren Software ROM, French flavour of the Hacker plugin.

ym2608_adpcm_rom.bin optional in repo

  • Path: private/sounds/ym2608_adpcm_rom.bin
  • System: amstrad-cpc
  • Size: 8.0 KB
  • SHA1: 50b6c3e288ea...
  • MD5: 8740932cda05...
  • Source: AceDL 2026-06-03: private/sounds/ym2608_adpcm_rom.bin, read when PLUGIN_PLAY2CPC=1
  • YM2608 internal ADPCM rhythm ROM used by the Play2CPC cartridge sound. Missing file prints "Warning: ym2608_adpcm_rom.bin not found!" and the plugin keeps running. Shipped in the Linux and Raspberry Pi packages, absent from the Windows package.

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