512K Memory Module Main Page

Project Photo Once I had the graphics system working, it quickly became apparent that doing image processing in the 64K of RAM available on my CP/M systems was impractical. Sure, you can do some stuff using on-the-fly Input File>Process>Output File techniques, but sometimes you just need to have the whole picture in memory.

I had a whole big pile of surplus 8Kx8 static RAM chips laying around, but I really didn't want to spend all my days wire wrapping bank after bank of 28 pin memory chips together. Then I remembered a magazine article from years ago where a guy added more RAM to his HeathKit H89 computer by "piggy-backing" another RAM chip on top of the existing ones. Since all but 1 pin of the chips needed to be in parallel, this seemed like the answer. So, just for fun, I took 16 of my surplus RAMs and stacked them up. Sure it looked silly, but it sure saved what would be days of wire wrapping and tons of board real estate.

I sketched out what it would take to interface a bunch of RAM to my D-Bus interface. Instead of just using latches to hold the RAM address, I used loadable counters. That way, I could read or write continuous streams of data, while the counters auto-incremented the address for me. After working out all the chip select & decoding circuits, I built the whole thing up using my Augat pins in perfboard construction technique.

I bent the chip select pin of each RAM chip out to about 90 degrees and then soldered up four stacks of 16 chips each. Then I ran a wire from each chip select to a 16-pin header, which plugged into the board right next to the stack. That way, I figured that if one of the RAM chips went bad, I could just unplug the header and the chip stack and throw the whole thing in the trash. Easier than unsoldering a chip in the middle, and I had plenty of RAM chips to make another stack. By the way, if you're wondering why one of the stacks in the picture is taller than the rest, those were a different brand of ICs, with a slightly thicker body.

I had sized the board to eventually hold 1 Meg of RAM. In fact, as you can see in one of the photos, I even started pressing in the Augat pins. As it turned out, 512K was enough for my purposes. A full blown 256 color image from the graphics system was 256K, so I had room for two pictures, or a "before and after" of one. Not bad for a lousy little CP/M system.

Board Front View Board Rear View

Main Page Introduction D-Bus Interface EPROM Programmer MicroAngelo Clone 16x Z80 MultiProcessor
512K RAM Module Logic Analyzer Closed Caption Decoder Drill Table Controller Piano Roll Scanner