Amstrad CPC / Plus expansion devices

This page will list various CPC expansion devices that MAME emulates, and how to use them, plus the status of the device's emulation.

Amdrum

Requires:

  • Amdrum software on cassette (software list name: amdrum, amdrumak (Afro Kit), amdrumek (Electro Kit), amdrumlk (Latin Kit))

Usage example:

mame cpc6128 -exp amdrum -cass amdrum:cass1

To run the software: With the Amdrum cassette image mounted, type |tape, then Enter (664/6128/Plus only, the 464 starts in tape mode if there is no disk drive), and then hold Ctrl and press the small enter key (or just type run" and press Enter). Press any key to start loading, and don't forget to start the tape (switch to partial keyboard mode (ScrollLock), and press F2, then switch back to full keyboard mode). Wait while the software loads (press fast-forward to speed this up - in partial keyboard mode, hold Insert (Win32) or PageDown (SDL)).

Once loaded, you will be looking at the load/save screen.

Amdrum load.png

First, you need to load the instrument data, so mount the second side of the Amdrum cassette (use MAME's File Manager to mount it from either the software list, or directly point to the tape image). Press 5, and then 9 (siginfies loading a whole kit), type AMKIT, press Enter, and start the tape again. After some time, the instruments will be loaded. Stop the tape (Shift-F2 in partial keyboard mode) once loading is complete, as the tape motor starts when playing back samples. Press R to go to the main menu, and now you can create drum sounds all you want.

If you want to load the demonstration songs, then after loading the instrument kit, from the Load/Save screen, press 3, then 99, and press Enter. Start the tape, and wait some more (doesn't take long). After loading is finished, you'll see 9 songs listed on the left side of the screen.

Amdrum songs.png

Stop the tape, and press R to return to the main menu.

Amdrum edit.png

At the main menu, you can choose a song by pressing C and then typing the number of the song to select followed by Enter. Then press D to play the song. Press Space to stop the song when done.

Amstrad / Pace RS-232C Serial Port

Provides RS-232C serial communications between the CPC and other serial devices or computers. The Amstrad model of this device is hardware compatible with the Pace device, only difference is the software included on ROM.

Other OS support:

  • CP/M 2.2
  • CP/M Plus

Commandline usage examples:

mame cpc6128 -exp rs232 -exp:rs232:rs232 null_modem -bitb localhost:5000 (Pace)
mame cpc6128 -exp amsrs232 -exp:rs232:rs232 null_modem -bitb localhost:5000 (Amstrad)

If the device is enabled, then on boot, you'll see either COMMSTAR (c)1986 Honeysoft Ltd. (Pace) or Amstrad RS232C Serial Interface (v1).

Various devices can be attached to a serial port, including a serial terminal, serial printer, and others. The most useful one, however, is the Null Modem (as used in the example commandline above), which allows a connection between two instances of MAME via a socket.

Known Issues:

  • Communication via a socket does not work if hardware flow control is enabled. This is a limitation of simply sending the data through a socket, but it allows for other applications, not just MAME, to communicate with the emulated system.

Amstrad SSA-1 Speech Synthesiser

A speech synthesiser based around the SP0256, with software available on cassette. Similar, but not compatible with, the DK'Tronics Speech Synthesiser.

Commandline usage example:

mame cpc6128 -exp ssa1 -cass ssa1synt:cass1

Known issues:

  • Some software will not correctly detect the SSA-1, as in current SP0256 emulation, the LRQ and SBY lines change at the same time. Detection works by checking that one line is active only, and then both. A couple of games, such as Tubaruba, do not bother detecting the SSA-1, meaning that they will provide speech in MAME. This does not affect the DK'Tronics synthesiser as it doesn't use the SBY line.

Brunword Elite MK4

Command-line usage example:

mame cpc6128 -exp brunword4

Brunword Elite MK4 is a word processor, with the software contained on ROM, within the expansion device.

To run, at the Ready prompt, type |brunword and press Enter. You will now be looking at Brunword's main menu, listing various commands to use.

Brunword menu.png

There are various "mem-files" already loaded, so you can look at some examples, including a tutorial to help you get started using the application. Press G on the main menu to load a mem-file - TUTOR1 is a good place to start.

Brunword edit.png

Digiblaster

DIY device that produces digital sound sent via the printer port.

Commandline usage example:

mame cpc6128 -centronics digiblst

DK'Tronics Speech Synthesiser

A speech synthesiser based around the SP0256-AL2, similar, but not compatible with, the Amstrad SSA-1.

Commandline usage example:

mame cpc6128 -exp dkspeech

Software is included on ROM, so is ready to use with the device connected. If working, you'll see SPEECH ROM 1.1 displayed on boot.

How to get it to say something in BASIC:

  • (464) Type a$="something":|say,@a$ and press Enter
  • (664/6128) Type |say,"something" and press Enter

Other commands:

  • PRINT "`something`" - same as |SAY
  • |SPEAK - displays RSX commands, and says "DK'Tronics Speech Synthesiser"
  • |SPON and |SPOF - turn read buffer interrupts on or off
  • |SPED,n - set text speed, n is between 0 and 15
  • |FLUS - clear speech and text buffers
  • |FEED,n,n,n... - feed data (up to 30 values between 5 and 63) directly to the speech buffer
  • |OUTM,n
    • n=1 - Redirect PRINT command output to the text-to-speech converter
    • n=2 - Redirect PRINT output and all text to the text-to-speech converter
    • n=3 - As above, but still display text on screen.
  • |LEFT,v - report available memory in buffer (v is a variable).

Dobbertin HD20

The HD20 is a 20MB fixed hard disk drive. It uses a Seagate ST11M controller (PC/XT interface), and has varying brands of HDs, but is always 20MB (615 clyinders, 4 heads, 17 sectors). Includes XD-DOS on ROM.

Requires:

  • HD interface software on floppy disk, which includes drivers for CP/M 2.2 and CP/M Plus. Only required to low-level format (partition) the HD initially. Includes documentation (in German).

Other OS support:

  • FutureOS

Commandline usage example:

mame cpc6128 -exp hd20 -hard <path to hard disk image (CHD)>

For more information on setting up and formatting the HD20, read here.

Dobbertin Smartwatch

The Smartwatch adds an RTC and software commands on ROM.

Other OS support:

  • CP/M Plus (via patches)
  • FutureOS

Commandline usage example:

mame cpc6128 -exp smartwatch

|help will the ROMs on the system, and you can list the available commands using |help,n where n is the ROM slot for TIME ROM+.

Known issues:

  • Day is wrong.
  • Changing the date and time doesn't work. (Not implemented in DS1315 RTC core)

HM Transtape

The Transtape is a hacking device, similar to the Multiface II, allowing you to save or load software at any point, or to enter pokes (ie: cheat ;)). By default, the red button is mapped to F1, and the black button is mapped to F2. The red button is used to interrupt software and then save or load the state. Using the device is currently a bit unclear, the only manual available is in Spanish.

Commandline usage example:

mame cpc6128 -exp transtape

Known issues:

  • Doesn't return to the running software once either button has been pressed, ending up in the software locking up, requiring a reset (F3). Menus do appear after pressing the red button, however.

PlayCity

Adds 2 YMZ294 PSGs, for 6 extra channels of sound. Also provides a controllable source of IRQs and NMIs.

Commandline usage example:

mame cpc6128 -exp playcity

Known issues:

  • IRQs do not work correctly. The current Z80CTC core requires a daisy chain setup to acknowledge IRQs properly, which cannot be used with a slot device. NMIs work fine, however.

Programmers Development System

Device that connects the CPC to a PC running development software, allowing code to be downloaded to the CPC and be remotely debugged.

Requires:

  • Software to communicate with and send data to or receive data from a PC running the PDS development software.

Commandline usage example:

mame cpc6128 -exp pds

Known issues:

  • Communication between MAME instances using this hardware is not implemented as yet. Probably needs more than just a socket to communicate.

Romantic Robot Multiface II

Hacking tool designed for transferring software to tape or disk.

Commandline usage example:

mame cpc6128 -exp multiface2

If the Multiface II menu is not appearing for you when pressing the stop button (F6, by default), then check MAME's Machine Configuration menu, and make sure that the Multiface II is switched on.

Mf2 menu.png

Known issues:

  • Can only be stopped once. Requires the ability to do something when the CPU PC hits a certain point, the MAME core does not allow for this at this stage.

ROM Box

Generic device containing sockets to place software sold on ROM (such as Protext and Maxam 1½).

Note that by default, the 464 will only load ROMs in the first 7 slots, the 664/6128/Plus only loads the first 15 ROMs.

Commandline usage example:

mame cpc6128 -exp rom -rom1 <path to ROM image (BIN, ZIP, 7Z)> -rom2 ...

Symbiface II

Multifunction device adding RTC, PS/2 mouse, an IDE HD interface, 512kB RAM and 512kB of rewritable ROM.

OS support:

  • FutureOS
  • SymbOS

Commandline usage example:

mame cpc6128 -exp sf2 -hard <path to hard disk image (CHD)> -ramsize 576k

Known issues:

  • PS/2 mouse support is not perfect. It does not like quick, swift movements.
  • Rewriteable ROMs are not supported as yet.
  • Extra RAM is not implemented, but you can add -ramsize 576k to the commandline to use the equivalent feature.