Recenze - Navigátor
SIMM to Commodore 64
This is a copy, the original article can be found here:
After upgrading memory in my 386 from 5MB to 8MB four 256kB SIMMs left me. I started searching
for a project that would interface SIMM to C64/128 somehow but I didn't found anything like that.
Having some spare time I simply removed memory chips from one of my C64 computers and interfaced
a 256kB SIMM instead. Suprisingly - it works.
It is nothing special. You simply must desolder memory chips from your C64 and wire SIMM to the contacts that will be available. I used 21 wires to connect these signals:
GND, VCC, /CAS, /RAS, /WE, A0-A7, D0-D7.
one to one to their counterparts on the C64 board. On the SIMM I also connected A8 line to GND because I don't want to mess with it right now. Pinouts are below. Note that e.g. D1 from RAM does not have to be connected to D1 on SIMM. It is only required that D0-D7 from board are connected to D0-D7 on SIMM, order is not important. The same is for address lines, but except A8 on SIMM.
Here are pictures of the test C64, they are not very descriptive but give the evidence and general impression. Click to enlarge.
There are two problems to be solved: memory refresh and using whole memory space. It seems for me that memory refresh is not an issue in case of 256kB SIMM because from Marko Makela's document about expanding C128 memory to 256/512/1024kB I know that 256kb DRAMs don't need A8 for refresh. More advanced techiques (like CAS-before-RAS refresh) would be required for larger SIMMs. The second issue - actually using this memory needs a smart design that will allow to use the extra RAM in the standard way of C64/128 - as memory banks with some space shared among the banks. I think that the best way would be not to invent something new, but to be compatible with +60k expansion and +256k by Soci/Singular. I don't have any ideas right know how it can be done, but I think I will make something :)
According to mail archives of cbm-hackers list and some discussion with Nick Coplin it seems that doing simple interface for full 256kB SIMMs is not possible. External memory refresh generator is required due to fact that SIMMs need 9 bit counter and VIC can provide only 8 bits (which is quite nice because C64/128 chips need only 7 bit counter). SIMMs with larger capacity will require even more bits for counter.
4464 (or similar) 64kx4 DRAM. Your C64 has two of them.
+----------+ /OE |1 +--+ 18| GND D0 |2 17| D3 D1 |3 16| /CAS /WE |4 15| D2 /RAS |5 4464 14| A0 A6 |6 13| A1 A5 |7 12| A2 A4 |8 11| A3 VCC |9 10| A7 +----------+
4164 64kx1 DRAM. Your C64 has eight of them.
+--------+ NC | 1 \/ 16| GND D | 2 15| /CAS /WE | 3 14| Q /RAS | 4 13| A6 A0 | 5 12| A3 A2 | 6 11| A4 A1 | 7 10| A5 VCC | 8 9| A7 +--------+
(At the computer)
30 PIN SIMM at the computer.
Note: SIMM above is a 4MBx9.
TOP 10 HRY