Home > News & Updates > Arduino News > OLD STYLE 1802 COMPUTER HAS MMU

OLD STYLE 1802 COMPUTER HAS MMU

Summary of OLD STYLE 1802 COMPUTER HAS MMU


Jeff Truck built an MMU board for an RCA 1802 computer that enables bank switching to access 256K of RAM. The MMU snoops executing instructions to generate extra address bits, determines which register is involved in memory accesses, and maintains per-register memory page tables—covering explicit and implicit register use, DMA, and instruction fetches. An onboard Arduino can remotely control the CPU bus but does not provide memory or replace support chips. The design required a small patch for the RCA call/return technique and includes 3D-printed parts.

Parts used in the RCA 1802 MMU Project:

  • RCA 1802 CPU
  • MMU board (custom PCB)
  • 256K RAM
  • Arduino (onboard for CPU bus control)
  • 3D-printed parts (for chassis/mounting)
  • Support wiring and connectors
  • Miscellaneous discrete support chips (original CPU support chips retained)

When you think of an MMU — a memory management unit — you probably think of a modern 32-bit computer. But [Jeff Truck] has a surprise. His new RCA 1802 computer has bank switching, allowing the plucky little processor to address 256K of RAM. This isn’t just the usual bank-switching design, either.

The machine has several unique features. For example, an Arduino onboard can control the CPU so that you can remotely control the bus. It does not, apparently, stand in for any of the microprocessor support chips. It also doesn’t add additional memory or control its access.

The 256K of memory is under the control of the MMU board. This board generates two extra address bits by snooping the executing instruction and figures out what register is involved in any memory access. Memory in the MMU stores a table that lets you set different memory pages for each register. This works even if the register is not explicit and also for the machine’s DMA and instruction fetch cycles. If you know about the RCA “standard call and return technique,” which also needed a little patching for the MMU. [Jeff] covers that at the end of the video below.

This is a very simple version of a modern MMU and is an impressive trick for a 50-something-year-old CPU. We were surprised to hear — no offense to [Jeff] — that the design worked the first time. Impressive! There’s also some 3D printing and other tips to pick up along the way. But we were super impressed with the MMU. You might never have to do this yourself (although you could), but you can still marvel that it can be done at all.

We have a soft spot for the 1802s, real or emulated. The original ELF was great, but 256K is a lot better than the original 256 bytes!

Source: OLD STYLE 1802 COMPUTER HAS MMU

Quick Solutions to Questions related to the RCA 1802 MMU Project:

  • What does the MMU add to the RCA 1802?
    It provides bank switching to allow the 1802 to address 256K of RAM.
  • How does the MMU generate extra address bits?
    By snooping the executing instruction to determine the register involved in memory accesses and generating two extra address bits.
  • Can the MMU set different memory pages per register?
    Yes, memory in the MMU stores a table that lets you set different memory pages for each register.
  • Does the Arduino add memory or replace support chips?
    No, the Arduino controls the CPU bus remotely but does not add memory or replace microprocessor support chips.
  • Does the MMU handle implicit register uses, DMA, and instruction fetches?
    Yes, the MMU works even if the register is not explicit and also covers DMA and instruction fetch cycles.
  • Was any software or technique patched for the MMU?
    Yes, the RCA standard call and return technique needed a little patching for the MMU.
  • Did the design work on the first try?
    According to the article, the design worked the first time.
  • Are there mechanical or fabrication elements in the build?
    Yes, the project includes some 3D printing and other tips for construction.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top