The idea for this design was born at the end of januari (2023).
While many homebuilt CPU's have their own, unique instruction set, I decided that for this project the CPU would use an existing instruction set. Also, I wanted to build the CPU from parts of the TTL family. That are integrated circuits, that can perform elementary logic functions. They were first used in the 60's of the previous age. I use a modern version of these circuits, that use less power.
So which instruction set to use ? The CPU inside your laptop or cellphone is much, much too complex to build. But it is possible to use an older CPU from the time when microprocessors just became available. There were two processors that can be regarded as the Beetle and the Deux Cheveaux of the beginning of the homecomputer age.
Those processors are the MOS Technology 6502 and the Zilog Z80.
The 6502 is famous because it was the heart of the Apple 1, the Apple ] [, the Commodore 64, the Nintendo NES and many others. The Z80 is well known because it was used in the TRS-80 and the ZX Spectrum, and it was widely used to run the CP/M Operating system, see also this Z80 introduction video.
So now, I had to decide whether to use the instruction set of the 6502 or that of the Z80. But then I thought... why not build a CPU that can do both ?
I did spend a few months searching for a good design that would give good performance while not using too many parts. I think the basic design is stable now (end of march 2023). I can now start with the details of the design.
BUILD A COMPUTER
A CPU is a nice thing, but on it's own it does nothing. It needs memory, power, and input and output devices. So I planned to build a full computer. Here are the specifications:
Specifications:
- runs 6502 programs
- runs Z80 / 8080 programs
- processor speed 12.5 MHz (80nS cycle time)
- 512 kByte RAM ( 8 bit wide )
- 24 bits wide microcode in 3 flash chips
- programmable (upgradable) microcode
- On-board SSD file system 32 Mbyte
- video VGA 320 x 200 pixels, 64 colors for each pixel
- video VGA 640 x 400 pixels, 16 colors for each pixel
- PS/2 keyboard connection
- PS/2 mouse connection (for next pcb version)
- Serial connection for file transfer (to Raspberri Pi)
- Connection for ESP-01S WiFi card
- Connection for SPI device (micro SD card)
- real-time clock synchronized by WiFi
- sound generator
- blinkenlights (4)
- general purpose I/O
- pcb 119 x 150 mm (4.7 x 5.9 inch), 4 layers.
- powered by 5 volt USB input (250 mA)
Components:
- RAM memory chip
- Three Flash memory chips
- SPI Flash memory chip for mass storage
- 46 TTL logic chips (38 CPU, 8 Video and I/O)
Principles for the design:
- No microprocessor, microcontroller, SOC, FPGA, CPLD, GAL, PAL or 74181
- All components have good availability at the big distributors
- Low number of components
- No fine-pitch devices that are difficult to solder
WHAT CAN IT DO ?
At the moment (aug 2024) it can:
- Run ZX Spectrum games, see Two Spectrum games running
- Run Steve Wozniak's Apple 1 BASIC
- Run Altair 8080 BASIC
Several more applications are planned. Having a nice operating system is one of them.
ISETTA SYSTEM DIAGRAM
CLAIM
There are many homebuilt CPU's on the internet. But I never saw a homebuilt CPU with a Z80 instruction set (FPGA designs or emulations don't count). Therefore,
I claim that this is the very first homebuilt CPU that can execute Z80 instructions (August 2024). Until proven otherwise.
DISCUSSION
For questions or tips/remarks you can use the discussion section at the end of the main page. Or you can join the discussion at the RetrocomputingForum / Isetta. BTW, where do you come from ?
COMPUTER I/O LAYOUT
This...
Read more »
Dr Matt Regan on YouTube has an entire series on microcoded TTL computers, and has done 6205 emulation, culminating in an Apple II clone) as well as the Z80, culminating in both Sinclair ZX80+ and Spectrum clones.
https://youtube.com/@drmattregan?si=3HBWGR9niP8KzCvZ