The idea for this design was born at the end of januari (2023). I wanted to build a 6502 processor from TTL components. One of the objectives was, to use a minimal amount of ICs. Therefore, some 6502 registers were placed in the system RAM (outside the normal 64K region). These were the X, Y and S registers.
Having registers in RAM meant that adding extra registers would cost almost no extra hardware. And the microcode would be in Flash ROMs, that are quite large nowadays, and could easily hold microcode for a second instruction set. That led to the plan to support a second instruction set, the Z80 with all of its registers and instructions.
Other things that were there from the beginning, were sound capabilities and VGA video support (640 x 400, 16 colors).
The design took a few months, mainly to minimize the amount of components. It was then verified with a Javascript simulator, and again verified with Logisim. A pcb was designed, and I got the first pcb in march 2024. It worked !
It ran several BASICs for the 6502 and Z80. The video system was designed to also support the ZX Spectrum video, and at the end of june, I had two Spectrum games working.
Then, around august, I discovered the SymbOS operating system. That was the perfect operating system for my computer ! But it needed two big hardware changes. The video system, that had a different color for each character in 640x400 mode, was changed to have 16 different colors for each pixel in that mode. And it needed a bankswitching system suitable for SymbOS, to access the memory in 16kB chunks. PCBs with these changes were ready in november 2024. There was a recent hardware change to expand the 512kB memory to a full megabyte.
The designer of SymbOS, Prodatron, was very helpful in getting SymbOS to run on Isetta. Most of the work was the Blitter, a microcoded system to quickly write to rectangular areas on the screen. It took almost a year to have SymbOS fully running on Isetta. The project can now be considered finished.
What are the specifications ?CPU:
- Runs Z80 and 6502 code
- Speed 12.5 MHz (80 nS cycle time)
- Memory 1024 kByte RAM (with bankswitching)
- Programmable/upgradeable microcode (3 flash chips)
- 42 integrated TTL circuits. No microprocessor or FPGA.
I/O:
- Video VGA 320 x 200 (64 colors), or 640 x 400 (16 colors)
- Keyboard and mouse (both PS/2)
- Sound generator (AY-3-8910 compatible)
- Real time clock
- Microcoded video processor, sound processor, I/O processor
- 9 Integrated TTL circuits for the I/O
Storage:
- Micro-SD card (removeable)
Connectivity:
- WiFi on-board (future)
- Bluetooth BLE (future)
- LoRaWan (future)
Applications:
- SymbOS operating system
- Runs CP/M (as SymbOS application)
- Runs ZX Spectrum games
- Runs several BASICs (Apple I, Altair, TRS80)
Other:
- pcb 152 x 127.5 (6 x 5 inch), 4 layers.
- powered by 5V USB
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 (resistors, capacitors are all 0805 types)
There is a KIT available to build your own Isetta !
You will receive the Isetta PCB, and a programmer PCB to test the Isetta hardware and program the microcode (Raspberry Pi needed). You also receive the latest schematics, build instructions and a full partlist, that you can upload to Mouser to order all needed components (approx 80 Euro).
A suitable housing is available (Hammond RM2055M).
SYMBOS OPERATING SYSTEMIsetta can run the SymbOS operating system.
On april 3rd, 2025 it ran the first SymbOS applications. SymbOS is a pre-emptive, multitasking operating system with graphical user interface, comparable to Windows 95. SymbOs stores its applications and data on Isetta's micro-SD card. Many applications take less than a few seconds to load. It uses bankswitching to address more than 64kB, and can run many applications at the same time. It supports several languages (English, Spanish, German, Dutch, Turkish, Japanese). With more languages coming.
SymbOS (Wikipedia) is available (for free) for seven different Z80-based platforms. There are more than 70 applications, also free, and the newest SymbOS 4.0 even has a spreadsheet ! For making your own programs, there is a development system similar to visual-basic (called Quigs), a C compiler, and you can program in Z80 assembler.
SymbOS was fully programmed in Z80 assembly language. To me, this looks like the most complex Z80 program ever made !
Many thanks to Prodatron, the developer of SymbOS. Porting SymbOS to Isetta was only possible with his dedicated assistance.
ISETTA SYSTEM DIAGRAMHere comes the system diagram of the CPU. Most arrows and buses represent 8 wires, that means that the information flows through the processor in units of 8 bits (a Byte).
I might as well start with explaining some of the parts.
- PCH/PCL (Program counter high byte and low byte)
- A (Accumulator register)
- T (Temporary register)
- DPH/DPL (Data pointer high byte and low byte)
- IR (Instruction register)
- CGH Constant generator, generates only 0 (mainly for zpage addressing)
- CGL Constant generator for small integer values
- MBANK Bank selection system
- ALU Arithmetic logic unit (Wikipedia) (described in project log 2)
In the first project log you find how the information flows through the processor.
The control section will use microcode to run the whole show. The microcode has 16 pages, 1 page is needed for the 6502 and 5 will be needed for the Z80, and the software can switch between 6502 and Z80. The microcode has room for a few more instruction sets. In this log the 24-bit microcode instructions are described with all details.
After this diagram was made, the design was simplified, see project log 13.
MORE INFORMATIONMore information can be found on the Hackaday Isetta page.


Comments