The former company Rex Datentechnik was a manufacturer of many hardware in the 80s. Especially for the Commodore 64 there was a rich offer of the most different expansions. One of these cards was the Rex 9628, a board for the expansion port of the C64. The card could hold two EPROMs from 8 to 64KByte. That alone was not special, there were already at that time a countless number of the most different manufacturers.
The practical thing about this card was that it could hold up to 8 kernel ROMs, up to 4 each in a 27C256 EPROM, and two of them could be plugged onto the board. For this the case of the C64 did not have to be opened. So it was possible to use another kernel externally without any intervention. There were many different kernels available in the 80’s, for example SpeedDOS and JiffyDOS.
There were already copies of this card in the 80s, which always differed slightly from each other. And it was not possible for me to get pictures of the front and back of a single copy. The picture above is from one of these replicas.
Of course, a picture of an assembled board is only suitable to a limited extent to capture all traces. But fortunately I found a picture of an unpopulated board on the internet, exactly from the version shown above.
But that was only one side of the proverbial coin, because without the backside it would be much more effort to create a new layout. But also here I was lucky, because a user of a forum owned such a board still, and sent me a picture of the back.
If you look closely, you will see that this version differs slightly in the distribution of the components. So simply superimposing these two versions and drawing them, unfortunately, did not work. Especially since a 1:1 replica is not possible. From the looks of it, the back seems to be an original Rex product, while the front is a replica from the latter years. And without a clean front of an original card, unfortunately, no 1:1 replica is possible.
But what was possible now is to create a new layout. To make it a little easier for me, I have nevertheless, as far as it was possible, put the two boards images on top of each other, and created an adapted “replica”. OK, it wasn’t a replica in the real sense anymore, because two boards were mixed here. But it still came closest to the old version.
And so I created the first version of a new board.
Of course, I could already create corresponding Gerber files from this. But since now anyway no 1:1 replica was possible, I wanted to create a new version. Deriving the schematic was now no longer a problem, just a bit like a chase. But this was also done quickly and so the schematic was quickly available.
And from this I then created a circuit board. A first 3D view already looked very promising.
The resulting Gerber files I gave to my board supplier JLCPCB. Now it was a matter of waiting a good 3 weeks until the eagerly awaited circuit boards were finally delivered by mail.
As always JLCPCB had delivered a usual good quality. The boards are flawless and can be assembled next.
There are not many components, and actually there is nothing special to consider. Only IC5 must be soldered directly, because it sits inside the socket of St.1, where later one of the EPROM will find its place. For this you have to cut out the middle part of the socket. The best way to do this is with a sharp cutter knife. Trying to do this with a side cutter often ends up breaking the socket and making it unusable.
The assembly goes again from small to large. First the capacitors, then IC5 (74LS00). After that the sockets come to the row. Then the push button and finally the two DIP switches. Afterwards the single ICs can be put into the sockets.
Now the board is assembled, at least one EPROM is missing, which should be equipped with the desired kernel.
The following EPROMS can be used:
- 27C64 = 64 Kilobit = 8 Kilobyte = 1 Kernel
- 27C128 = 128 Kilobit = 16 Kilobyte = 2 Kernel
- 27C256 = 256 Kilobit = 32 Kilobyte = 4 Kernel
Instead of an EPROM, an EEPROM can also be used (28Cxxx series). This has the advantage that it does not require a UV lamp for erasing and can be erased directly with an EPROM programming device.
A Kernal has the size of 8Kilobyte, which corresponds to 8192 bytes in the file system. Assuming that the EPROM is written on a PC with a corresponding “EPROM writer”, like the popular TL866A, then the file has the correct size.
But sometimes you can find kernel files on the Internet that are 8194 bytes in size. Then the load address is contained in the first additional two bytes. This is needed if you want to write such a file with an Erpommer on a C64. If you have only one such file, then you can simply cut off the first two bytes with a HEX editor, so that you have again a file with the size 8192 bytes.
If you use a 27C64 EPROM, you can write this file directly into the EPROM. But if you want to have 2 or more kernels in one EPROM, then you have to combine the single files to one file.
For example, the two kernel files “kernel1.bin” and “kernel2.bin” are now to be combined into a common file “eprom.bin”.
Under Windows you do this in the command prompt as follows:
copy /b kernel1.bin + kernel2.bin eprom.bin
and for Linux in the shell:
cat kernel1.bin kernel2.bin > eprom.bin
This can also be done in this way with 4 kernels. The file must be 16.384 bytes large at the end with 2 Kernal, with 4 Kernel accordingly 32768. If another byte size should come out, then something went wrong and the procedure should be repeated. If the value is correct, the file can be written into an appropriate E(E)PROM and then plugged onto the board in socket St.1 or St.2.
Update (2021-03-30) / Download
On my GitHub account are all the files needed to rebuild this card. The card has also been updated a bit in the meantime, because among other things the button is a bit hard to get: https://github.com/DL2DW/REX_9628_Extern_Kernel_8