Amstrad CPC 6128 for MiSTer
Switch branches/tags
Nothing to show
Clone or download
Latest commit 50d7848 Aug 24, 2018
Failed to load latest commit information.
releases Release 20180824. Aug 24, 2018
sys HQ2x: fix the warning. Aug 2, 2018
t80 T80: some fixes and updates. Aug 24, 2018
.gitignore Initial commit. Jul 1, 2018
Amstrad-lite.qsf Support for tape loading (*.CDT) Aug 9, 2018
Amstrad-lite.srf sdram: optimization for better synthesis. Jul 24, 2018
Amstrad.qpf Initial commit. Jul 1, 2018
Amstrad.qsf Support for tape loading (*.CDT) Aug 9, 2018
Amstrad.srf Minor fixes. Jul 31, 2018 Adjust tape timings. Aug 24, 2018 GA: filter-out false VSYNCs. Aug 10, 2018
Amstrad_MMU.v MMU: remove duplicated condition Jul 17, 2018
Amstrad_Q13.qpf Add Q13 lite project. Jul 24, 2018
Amstrad_Q13.qsf Support for tape loading (*.CDT) Aug 9, 2018
Amstrad_Q13.srf Add Q13 lite project. Jul 24, 2018
Amstrad_motherboard.v Support for tape loading (*.CDT) Aug 9, 2018 Update ReadMe. Aug 10, 2018
UM6845R.v CRTC: separate 2 concatenated VSYNCs. Aug 10, 2018 Replace YM2149 module. Jul 28, 2018
clean.bat Initial commit. Jul 1, 2018 Add ASIC palette. Aug 3, 2018 Support for tape loading (*.CDT) Aug 9, 2018 Support for tape loading (*.CDT) Aug 9, 2018
i8255.v New and simple i8255 module. Jul 24, 2018
kempston_mouse.v Update Kempston mouse. Aug 3, 2018
multiplay_mouse.v Update multiplay and symbiface mice. Aug 4, 2018
sdram.v Code optimization. Jul 26, 2018
symbiface_mouse.v Update multiplay and symbiface mice. Aug 4, 2018 Adjust tape timings. Aug 24, 2018 u765: fast mode, improved partial sector handling, revert overrun tim… Aug 5, 2018

Amstrad CPC 6128 for MiST and MiSTer

This core has been started as a port of CoreAmstrad by Renaud Hélias but every module has been either rewritten or replaced so, now it can be treated as a completely new core.


  • Precise CPU timings including proper contention model.
  • Precise CRTC model supporting many tricks of Types 1 and 0.
  • 2 disk drives
  • Disk write support.
  • Close to real disk drive emulation with support of some protections.
  • Selectable CPC 6128/664 mode with separate ROM sets.
  • Multiface 2.
  • Several monochrome modes and 2 types of palette (GA/ASIC).
  • Selectable expansion ROM loading.
  • Joystick support with up to 3 buttons (2 on MiST)
  • Kempston, SYMBiFACE II and Multiplay mice.
  • HQ2x and Scanlines FX for scandoubler.
  • Tape input through UART header (MiST)
  • Support *.CDT tape files (MiSTer)
  • Tape output through speaker.


place RBF and amstrad.rom into root of SD card. Or on MiSTer you can rename ROM to boot.rom and put it into Amstrad folder.

Disk support

Put some *.DSK files into Amstrad folder and mount it from OSD menu. important Basic commands:

  • cat - list the files on mounted disk.
  • run" - load and start the program. ex: run"disc
  • |a, |b - switch between drives

Boot ROM

Boot ROM has following structure:

OS6128 + BASIC1.1 + AMSDOS + MF2 + OS664 + BASIC664 + AMSDOS + MF2

Every part is 16KB. You can create your own ROM if you have a special preference.

Expansion ROM

Expansion ROM should have file extension .eXX, where XX is hex number 00-FF of ROM page to load. Every page is 16KB. It's possible to load larger ROM. In this case every 16KB block will be loaded in subsequent pages.

Special extensions:

  • eZZ - LowROM(OS)
  • eZ0 - LowROM(OS) + Page 0(Basic) + subsequent pages depending on size.


You can load several expansions. With every load the system will reboot. System ROM also can be replaced the same way. To restore original ROM you have to reload the core (Alt-F12).

MiSTer specific

You can define boot extensions to automatically load at start of core. Use following name rules:

  • boot.eXX - load to both 664 and 6128 configs
  • boot0.eXX - load to 6128 config
  • boot1.eXX - load to 664 config

whehe XX is 00-FF, ZZ, Z0.

CDT tape files (MiSTer)

CDT supported in very basic form for retro feeling and for some very specific apps. There is no way to rewind or fast forward the file. USER LED will lit if there is a tape in the memory and still have data to play and blink while playback.

Control keys:

  • Alt+F1 - mute/unmute the tape sound
  • Alt+F2 - force playback
  • Alt+F3 - force pause
  • Alt+F2+F3 - unload the tape (turn off the LED)

CDT playback respects the tape motor state, so using F2/F3 is not required during playback.


CPC664 model has only 64KB RAM - use this model for programs not compatible with 128KB RAM.

CPC6128 model has 64KB+512KB RAM. Upper 448KB are visible in special OS ROM or application aware of 512KB expansion.

Multiface 2

  • Multiface 2 can be activated with F11.
  • USER LED shows if the MF2 ROM/RAM is active.
  • Returning from the MF2 menu via (r)eturn makes the device invisible.
  • Visibility can be restored via machine reset (original MF 2+).
  • For loading a saved game, MF2 must be visible.
  • ROM version is 8D.