Modern Method Retro Computer Z80/Z180
Welcome to my baby, my dream.
I grew up with the Spectrum. When i was in my teens I was given a hard copy of the spectrum 48K's service manual. I read it cover to cover. by the time i was 16 I understood the digital side of the schematic. From that point, I dreamed of making my own but never had the resources nor all of the knowledge and temerity that i needed.
Now, i'm approaching 40, the UK is on lockdown again, it's time to materialize my dream.
For those that don't want to read, or want to see me do a little drawing feel free to watch my project video.
However, here is an explanation of the design and the whys.
- I grew up with the spectrum, as such the Z80 holds my interest. But a lot of retro processors are tolerant to being ran in a system that isn't micro engineered like modern motherboards. So I want something that can scale from breadboard to home made PCB's or even professional ones.
- Now, we need to have the conversation about efficiency. The Spectrums and other consoles of the 80's and 90's have one massive drawback and that is the issue of 'contended' ram most notably the graphics ram. In order to display something on a screen, the 'graphics processor' has to be constantly reading from the area of ram used for the graphics display. As such the CPU can not read or write to that ram while its being read or worse, can not run at all. So, I want to build a system that doesn't have this limitation.
- Back in the 80's they wanted to build consoles as cheaply as possible to be affordable to the home user. One of the most expensive components was the RAM. To save money they used Dynamic ram. In later spectrums such as the 128K versions this dynamic ram used multiplexed addressing. This multiplexing (RAS and CAS) then meant that more than one CPU cycle was needed to read and write to memory. This therefor drastically slows down program execution and data manipulation. I want to use all static ram and because of advances in ram speed compared to the Z80 CPU i'm designing a system that does not wait for anything.
- I want my system to be adaptable and able to be used with different operating systems / software. Most Z80 systems have ROM and RAM. The operating systems is programmed into the ROM and is then permanent until you take the chip out and replace it with another. I want to use an all (flat) RAM system. This way i can eliminate all of the logic surrounding chip selection and thus the slowdown this creates. However, this does cause an issue as the Z80 will not have a program to execute. To get around this, I will use a microcontroller that will freeze the Z80 and request the first block of the OS Kernel from storage and put it in memory for the Z80. This microcontroller will also be able to be linked to a PC so that new software can be sent over to be executed. I will call this the Supervisor.
- Manufacturers can make there own chips to do various functions. In-fact in the 48K spectrums and above, programmable logic chips such as the ULA's (GAL's & PAL's etc) were used to replace a growing number of individual logic chips. As such I will be using modern Micro controllers such as the PIC18F46K22 to do logic work and to act as hardware controllers. This is where the name “Modern Method” gets added to “Retro Computer”.
- When building a gaming PC, it is very important that graphics functions are kept separate from CPU functions and the same goes for audio and communications (network) otherwise if your CPU tries to do everything then it gets bogged down. So by offloading functions to a controller you just tell it what you want to do and send it the date and it does the rest. This way the Z80 is not tied up calculating what bits to change to what color to make pretty pictures while dodging RAM reads. To do this, i'm going to use a special version of static RAM chips that have two ports called Dual Port Static RAM. These RAM chips have two sets of data, address and control bus's allowing a simultaneous read and write to not just the same memory chip but also the same location without ether side being made to wait.
Youtube video's for tests and developments in chronological order.
|Date||Description & Link|
|24 January 2021|| MMRC (Modern Method Retro Computer) Z80 Test 1
Supervisor bus control
|11 February 2021|| MMRC (Modern Method Retro Computer) Z80 Test 2a and 2b
Supervisor to Z80 RAM read, write and test.