The geoRAM is a 512KB memory expansion for the Commodore 64 and 128 designed by Berkeley Softworks for use with GEOS. While not as fast as the Commodore REU due to its lack of DMA capabilities, it still provides a significant performance boost. GRAM/4D is a 4MB geoRAM compatible cartridge based on a two 4Mx4 DRAM devices.
The geoRAM is a banked system. The registers at $dfff and $dffe select which 256 bytes page is visible in the $de00-$deff range. The $dfff register selects a 16KB block out of the total memory, the register at $dffe selects the actual 256 bytes page within the selected block. Valid values for a standard geoRAM are 0-31 for the block register and 0-63 for the window register. This design extends the block register to the full 8-bit to create a 4MB geoRAM.
The schematics is almost identical to the GRAM/4D-D02. It just uses a different DRAM pinout to support standard 4Mx4 TSSOP chips. U1 is used to implement the block register and U3 implements the window register.
Similarly to the previous version a 16V8 PLD is used to generate the control signals for the two registers and the control signals for the DRAM. The 74LS157 multiplexers (U6-U8) multiplex the address into rows and columns required by the DRAM chips.
Testing
Testing has been performed using the GGLABS memory test, geo/neo RAM memory test and running GEOS.
It is important to note that GEOS 2.0r (which was originally shipped with the geoRAM) required to use any geoRAM style expansion. Also GEOS 2.0r is limited to 2MB expansion.
To take advantage of the full 4MB in the GEOS environment a patched GEOS 2.0r+, GEOS MP3 or Wheels are required.
Disk images of GEOS2.0r+ for both the 1541 and the 1581 can be downloaded at the end of the article.
Attachment | Size |
---|---|
GEOS 64 V2.0r+ patched for 4MB GeoRAM | 377.1 KB |