The first working(-ish) homemade MMU
Back in early march, I dug out my old Apple IIe computer from my parents's garage. That was a fantastic find and I wanted to play again all those games from my childhood. Unfortunately, the computer did not power on. While searching on the internet, I was sidetracked while reading on the MMU and IOU and their lack of replacements. And then I foolishly though that attempting to re-create the MMU and the IOU with a FPGA would be a good idea. Surely, it can't be that hard...
I was surprised at first that this hasn't been done already but, as I read and struggled with the old schematics, I understood. They're incomplete, sometimes inaccurate and absolutely obscure, hostile and ingrate to those who weren't involved in the IIe's development. A fool's errand, and anyone except the most obsessed by the IIe would see this as a waste of time.
So after two months spending most of my free time on this, here is, to the best of my knowledge, the first homemade MMU:
The homemade MMU displays the booting screen with the beep. I can drop into Applesoft, but it can't load a disk; sometimes it loads a few sectors and hangs, other times it drops into the monitor. I think it's either a timing problem or the fact that the outputs of the homemade MMU are 3.3v and it's not high enough. I used a Lattice MachXO3D FPGA and the +5v inputs of the MMU are converted to 3.3v through 3x 74LVC245, and the 3.3v outputs of the FPGA is direclty fed to the Apple IIe motherboard.
My code is based mostly on the logic schematics, but often I had to confirm the behavior with the ASIC schematic and the books I could find. Sometimes I even had to hook the oscilloscope and confirm with an actual MMU. Anyways, I will upload my code on github, but before I'd like to make sure the problem I have is not a problem with the code.
- frozen signal's blog
- Log in or register to post comments
Sounds like a fun project!
Sounds like a fun project! You still have space on your breadboard: you could add a 5V powered 74LS245 to boost the MMU outputs before feeding them to the mainboard... ;-)
Sooner or later someone had to start work on a MMU/IOU replacement. In any case, that's going to be a good start!
Very exciting! Here's a link
Very exciting! Here's a link to frozen signal 's earlier MMU discussion, for those finding this post from the front page.