Any use of this project is under your own responsibility. You will be responsible of checking the correct construction and functionality of your board. By using this project You will agree that I cannot be held responsible if it will destroy any of your devices, damage your computer, burn down your house or whatever.
This board was tested with a KIM-1 clone designed by Eduardo Casino, plus the MTU motherboard by the same author.
This project is sponsored by PCBWay!
PCBWay specializes in manufacturing high-quality PCBs and makes them affordable to hobbyist and professionals alike.
The range of services they offer include PCB prototyping, assembly, instant quotes for your order, a verification process by a team of experts and an easy to use, hassle-free order process.
I am extremely grateful to them, as they sponsor most of my projects, and allow me to move them forward at a pace I wouldn't be able to sustain otherwise!
The RAMpager is a MTU banked RAM expansion for the KIM-1: the board supports up to 1MB (that's three orders of
magnitude above more than the original 1152 bytes!) of memory and maps it to a 4KB window placed between 2000h and FFFFh. The window can be mapped to different banks
for read and write operations via two control ports.
It supports an optional internal/external backup battery to keep the data in the SRAMs valid across power cycles.
Placement of the memory window is selected via the J2 header. A jumper placed on that header chooses the address range (in 4KB jumps) of the banked memory. Make sure it does not conflict with other expansions.
The control ports placement in the address space is done via the J1 header and the SW1 switch bank.
J1 selects the 4KB space where the control ports will reside (again, between 2000h and FFFFh) and SW1 will provide a fine grained control of 16 addresses blocks within that bank.
Please note that you can overlap the control port address and memory bank address: the control port access will take precedence.
Control ports can be both read and written.
| Port | Effect |
|---|---|
| Base+0 | Read bank: read access to the memory range will go into the bank selected by this port |
| Base+1 | Write bank: write access to the memory range will go into the bank selected by this port |
Both control ports will be set to 00h upon reset. Also note that the two ports will be mirrored 8 times across the 16 addresses space.
The board pictured in the introduction is jumpered to present the memory window in the B000h-BFFFh range, and the control ports in the C000h-C00Fh range.
This board can be used as a solitary expansion on the MTU bus. To work in this configuration, the K7 and /DECEN signals must be correctly triggered when the internal KIM-1 memory decoding needs to be enabled.
Close the JP1 and JP2 jumpers and populate U15.
If you wish to support me in building new hardware and software for old machines, throw a few euros in my direction via Ko-Fi !
You can order the board for this project at PCBWay and support me or download the gerbers and have them printed wherever you like!!!
I you want to contact me about selling this project, you can reach me via email at 0hkzUNDERSCOREprojects6ATposteoDOTnet after properly fixing the email address by removing the digits and replacing the uppercase words with the proper characters.
Contacts via other channels will be ignored, as it means you did not read this document thoroughly.
"Collaborations" will boil down to the following:
- If you wish to produce and share this project at a loss or at cost, go for it. I am only asking for attribution and to let me know via email.
- If you want to do it for profit, let's discuss it. I'll probably settle for a rough 5% of the profit. Importing components is getting more expensive by the day, so this will contribute to me making future projects available for free.
- I will NOT do customer assistance for you or your customers. This is a hobby, not my job.
If this is not OK for you, you're cordially invited to go bother someone else :)
Authorized sellers will be listed in this README. If you find someone selling my boards without being listed here, it means they're stealing other people's work.
The board was designed with KiCad EDA.
| Component | Qty | Type / Value | Notes |
|---|---|---|---|
| BT1 | 1 | MYOUNG BS-07-A1BJ001 or compatible CR2032 battery holder | OPTIONAL: No need to install if you're not planning to use an onboard battery |
| C1-14, C17 | 15 | 100nF/16+V MLCC THT capacitor, 5.0mm spacing | |
| C15 | 1 | 47uF/25+V electrolytic capacitor, 2.50mm spacing | |
| C16 | 1 | 22uF/25+V electrolytic capacitor, 2.50mm spacing | |
| D1-5 | 5 | THT LED, 5.0mm pitch | Suit yourself, but I usually choose a different color for each one. |
| D6, D9 | 2 | BAT86 diode | D9 can be omitted if this board does not need to work standalone on the bus. |
| D7 | 1 | Either a PMEG2010ER (SMD) or 1N5817 THT diode | OPTIONAL: Required only if battery functionality is desired. Use the PMEG diode for a lower leakage current |
| J1, J2 | 2 | 2x14 2.54mm vertical pin header | |
| J3 | 1 | 1x03 2.54m vertical pin header | OPTIONAL: If you don't wish to switch between internal and external battery, you can close the jumper permanently with wire and solder. |
| J4 | 1 | 1x02 2.54mm horizontal pin header | OPTIONAL: If you don't want the option of an external battery, no need to solder this. |
| JP1, JP2 | 2 | 1x02 2.54mm vertical pin header | OPTIONAL: Required only if this board needs to work standalone on the bus. |
| Q1, Q2 | 2 | 2N7000 TO-92 FET | |
| R1, R2 | 2 | 10K 1/4W resistor, 10.16mm pitch | |
| R3-7, R10 | 6 | 1K 1/4W resistor, 10.16mm pitch | |
| R8, R9 | 2 | 100K 1/4W resistor, 10.16mm pitch | |
| RN1-4 | 4 | 3.3K bussed resistor, 9 pin | |
| SW1 | 1 | 16pin (8 switches) DIP switch | |
| U1 | 1 | 74HCT245, DIP20 | |
| U2, U3, U4, U10 | 4 | 74HCT541, DIP20 | |
| U5, U6 | 2 | 74LS145, DIP16 | |
| U7 | 1 | 74HCT688, DIP20 | |
| U8, U9 | 2 | 74HCT573, DIP20 | |
| U11, U12 | 2 | AS6C4008-55, DIP32 | You can omit U11 if you're fine with 512KB only. |
| U13 | 1 | GAL22V10, DIP24 | Tested with an ATF22V10C-10PU. This needs to be programmed with this file |
| U14 | 1 | 74HCT240, DIP20 | |
| U15 | 1 | 74LS133, DIP16 | OPTIONAL: Required only if this board needs to work standalone on the bus. |
Remember to program U15 with the provided JED!
- Evaluate the discharge rate of the CR2032 cell and see if there is something that can be done to reduce it
- KIM-1 reproduction by Eduardo Casino
- Hans Otten's website


