Close

Memory Musings

A project log for The PCW Project

Doing things with an Amstrad PCW

james-otsJames Ots 10/11/2017 at 13:241 Comment

The Amstrad PCW comes with either 256 or 512 Kb of memory installed. And it's easy to upgrade — you just have to add extra RAM chips and flip some DIP switches (unless you have a really early machine, where you have to do some soldering).

But you were also able to buy an external RAM pack (or 'RamPac' as it was branded), which you could just plug in and go. How did the PCW know that there was extra RAM available? I haven't been able to work this out. Does it perhaps try writing to different RAM banks and seeing if it can read the same values back, at startup? I will have to test this theory.

I looked at the motherboard schematic for clues, and found it difficult to even find the DIP switches. Eventually I found them, and they're in quite a surprising place — they are connected to the CS and A0 lines between the printer controller chip and the gate array. The DIP switches change whether the lines are pulled high or low. I guess that when the PCW is operating normally then it drives these lines, and the pull-up/down resistors are ignored, and when it wants to know the switch values it floats the lines and reads their values. It's an interesting way of using a pin for two different things.

Discussions

Ed S wrote 10/12/2017 at 11:32 point

an interesting finding!

  Are you sure? yes | no