For a project I'm working on, I need to write some disks to test on my Amstrad CPC 6128.

I've got some 3″ blank disks, and all my Amstrad computers (CPC and PCW) have 3″ disks, as well as my Spectrum +3. I don't own a PC with floppy controller, and I wouldn't want to spend money in hardware like Catweasel, Kryoflux, HxC or Gotek. I'd like to use what I already own, if possible.

I wonder if there is a way to transfer a DSK image file to a blank 3″ disk (and viceversa) using my existing hardware:

  • Amstrad CPC 6128 with no expansion devices. Plain computer
  • Amstrad PCW 8256 with serial port back module
  • ZX Spectrum +3 with disk drive and ZXMMC (SD card usable with +3e ROMs)
  • PC with Windows 7 x64, and no floppy controller
  • Spare 3″ drives
  • Arduino Uno board, and STM32 Nucleo board
  • Various FPGA boards
  • 1
    If you have a COM port on your PC, it may be easiest to use a null modem cable to transfer your data from your PC to the CPC6128, and then use that to create the floppy. Commented Nov 16, 2016 at 8:43
  • 2
    @Wilson And what program do I use on the CPC side to write what is being received.... and how do I connect a serial port on the CPC? Commented Nov 16, 2016 at 9:46

4 Answers 4


I used the dsk2cdt2disc tool to convert a .dsk image to a .cdt tape file. I can then play this tape file via an app (or convert it to audio data) and use a standard Amstrad tape cable to play the audio out to the 6128.

I place a blank or erasable disk in the 6128, and then type:


Then I start the tape audio playing, which will load a boot program on the Amstrad. The boot program will read the encoded disk sectors from the audio input and write them directly to the disk. dsk2cdt2dsk is found at https://github.com/pelrun/dsk2cdt2disc

An even better, but slightly more expensive, solution is to use a device such as the USIFAC II. This allows you to load disk images and files on a USB stick and either load them or write them to physical disk.

  • Welcome to Retrocomputing. Did you mean to make this post Community Wiki?
    – wizzwizz4
    Commented Jun 16, 2017 at 19:08
  • Yes, this is a useful reference for other CPC users. Commented Nov 4, 2018 at 20:28
  • 2
    That's not really what Community Wiki is for. It's fine if you want to keep it as community wiki, but if you change your mind feel free to flag.
    – wizzwizz4
    Commented Nov 5, 2018 at 17:57

I've written various programs that may help, if the DSK files don't make use of copy protection.

If you can get files onto the +3 via the ZXMMC, you can use DU54 at http://www.seasip.info/Cpm/software/amstrad.html to write unprotected disk images to disk (or vice versa). It may be easier to unpack DU54.PMA within a CP/M emulator and just transfer the +3 version to the +3.

If you can't, the TAPTOOLS at http://www.seasip.info/ZX/unix.html include DSK2TAP, which converts an unprotected DSK file into a Spectrum tape image. You can then convert that to a real tape and play it into the +3 to recreate the DSK.

  • The DU54 utility may help. About TAPTOOLS, I'm not sure, because my goal is to do a sector-to-sector copy from a DSK image to a real disk, for an Amstrad computer. Does DU54 support extended DSK format? Most Amstrad disk images are stored that way, even if the disk itself isn't copy protected. Commented Nov 17, 2016 at 11:49
  • 3
    DSK2TAP does do a sector-by-sector transfer -- it converts a disk image into a TAP file that, when run on the Spectrum, formats a floppy and writes that disk image to it. I don't remember if DU54 supports the extended disk image format, but if it doesn't you could use LibDsk on the PC to convert the DSK file from extended to non-extended format.
    – john_e
    Commented Nov 17, 2016 at 13:39

(sorry, this is not really an answer, but I cannot post comments yet)

Given the constraints you have, it seems difficult. I do not know about the Spectrum side of it, but I did use a homemade parallel cable back in the days:


This being said, you would still need a parallel port on your PC, a DOS/FreeDOS boot disk, PCPara.exe on this disk and CPCPARA.BAS on your CPC. You can type the CPCPARA.BAS listing like in the old days :-)

See http://benchmarko.de/cpcemu/cpcdoc/chapter/cpcdoc5_e.html#TRANS_PARALLEL

And the tools at http://benchmarko.de/download/index_e.html

I doubt this still works nowadays, those programs are almost 20 years old!

Today I would rather use HxC or plug a 3.5" drive to the CPC. You would still need an USB 3.5" drive, a "normal" 3.5" floppy drive and another homemade cable :-)


I transfer files to my +3e using DIVMMC (which uses a card with +3e partitions, obviously):

  1. Bring the MMC image to the PC using DriveImage. Depending on your exact PC, this might not work (on my Mac it doesn't), in this case create a disk image with "dd for windows" or MacOS dd. Apparently, StrowSaw (step2) should be able to directly access the card - In my case, it couldn't (I'm on MacOS using Parallels)
  2. Use StrowSaw to access the drive image (or card directly, in case that works for you) and copy all your valuable stuff to the +3e partitions.
  3. Use DriveImage or dd to transfer the image back to the card
  4. Use the card in the +3e - Whatever your files are good for, CP/M or +3eDOS, copy them directly to disk.

In case you want to transfer disk images to the +3e, use dsk2tap first to convert the disk images to tap files first, then transfer as above. Those can then be easily written to disk.

All the programs listed above should be found by a simple Google search for their name.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .