Close

Boot CP/M from SD Card

A project log for The PCW Project

Doing things with an Amstrad PCW

james-otsJames Ots 10/24/2017 at 17:460 Comments

This feels like quite a milestone in this project. It's pulled together a whole bunch of things I've done previously into one working piece of almost awesomeness.

My PCW finally boots from an SD card. Actually, first it boots from the printer ROM as usual, but then the CPLD makes the EEPROM jump in, which loads J14CPM3.EMS off the SD card into memory and boots it.

At which point CP/M wants to load PROFILE.SUB from drive A:, and as CP/M knows nothing about my SD Card, despite being loaded from it, you still need a disk in the drive. It takes about 3.5 seconds to boot to this point, compared to about 10 seconds when booting from a disk.

If you watch the video, you'll also notice that the screen is filled with rubbish while it's booting. This is because I haven't bothered to initialise it — I should probably initialise it and put a pretty picture or something there while it boots.

A few of the problems I had while getting this to work:

However, it is working now, and I have created a few Z80 libraries (SD, ROM and DUMP) to make it easier to do this stuff.

I now need to patch CP/M to recognise the SD Card as an actual disk drive (or several disk drives). If I was going to keep drive A: around I might have just used FID files, but if there is no drive A: (or if I want to be able to boot quickly without looking at drive A:) then I'm going to have to patch CP/M instead, which should be another interesting challenge.

Discussions