BREAKING NEWS
The Isetta computer can now 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. On Isetta it still has several small bugs, but these are solvable. SymbOs stores its applications and data on Isetta's micro-SD card. Many applications take only a second to load.
SPECIFICATIONS
CPU:
- Runs Z80 and 6502 code
- Speed 12.5 MHz (80 nS cycle time)
- Memory 512 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 (soon)
- real time clock
- microcoded video processor, sound processor, I/O processor
- 9 integrated TTL circuits for the I/O
Storage:
- 32 Mbyte on-board
- micro-SD card (removeable)
Connectivity:
- File transfer to/from Raspberry Pi
- WiFi on-board (future)
Applications:
- SymbOs operating system
- Runs ZX Spectrum games
- Runs several BASICs (Apple I, Altair, TRS80)
Other:
- pcb 119 x 150 mm (4.7 x 5.9 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
SELLING KITS
Now, there is a KIT available, to build your own Isetta ! The first kit was successfully built by Vadim.
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 ?
IDEA
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, the ZX Spectrum and the MSX computers, 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.
SYMBOS OPERATING SYSTEM
Isetta can run the SymbOs operating system (april 2025).
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.
On Youtube there are many demonstration videos. You can also try it yourself, with this online simulation of an MSX Z80 computer: SymbOs online (In the demo, you see two mouse pointers. Click the middle mouse button to have only the SymbOs mouse, click again to have your PC mouse back).
SymbOs was fully programmed in Z80 assembly language. To me, this looks like the most complex Z80 program ever made !
Many Z80-based home computers needed one or more expansion modules to run SymbOs (For extending the memory, interfacing a mouse, connecting an SD card or other mass storage device, and expanding the screen resolution or color depth). Isetta has this all onboard, it does not need expansions to run SymbOs.
SymbOs uses bankswitching to address more than 64kB. It can run many applications at the same time, in practice limited by the 512kB RAM of Isetta (of which 128kB is used as screen buffer).
Many thanks to Prodatron, the developer of SymbOs. Porting SymbOs to Isetta was only possible with his dedicated assistance.
CAN IT DO MORE ?
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.
ISETTA SYSTEM DIAGRAM

COMPUTER I/O LAYOUT

On the previous (first) PCB version, there was no mouse input.
CPU TECHNICAL DESCRIPTION
Here 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)
You will miss the 6502 registers S (stack pointer) and the index registers X and Y. And you will miss the long list of registers that are inside a Z80 CPU. All those registers are in memory. A special memory section (outside the normal 64K range) is used for the registers.
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.
[ edit: the design was simplified, see project log 13 ]
CPU LAYOUT

On the previous (first) PCB version, there was no bankswitching.
PERFORMANCE
The clock frequency of the processor will be at least 6.25 MHz (1/4 of the VGA video clock frequency).
In october 2023 I did some timing calculations and found that the processor could, after a few changes and using faster parts, reach 12.5 MHz clock speed. The first prototype will tell if my calculations are correct. [edit: Yes, it worked ! ]
For the 6502, the cpu will run many instructions in about the same number of clock cycles as a real 6502, but some instructions will take more cycles. But since the clock frequency is higher, it will run programs faster than the original 2 MHz 6502.
The video output is directly generated by the CPU, so this will use a lot of CPU power. (As an option, a stand-alone video system could be used).
There will be some restrictions, decimal mode might not be implemented.
PERFORMANCE FOR Z80 MODE
Many Z80 instructions take much less cycles on Isetta than on the real Z80. These are mostly quite simple instructions, but they are used a lot. Examples are:

Note the speed of the LDIR instruction (cycles per transferred byte), accomplished by unrolling byte-copy loops in sections of eight bytes (in the microcode).
When the above instructions are used (equally, but without LDIR), the amount of cycles decreases a factor 2.2 ! That means the effective speed would be 2.2 x 12.5 = 27.5 MHz ! Instructions involving (IX+d) or (IY+d) also take about half the amount of cycles compared to Z80. The improvement is mainly caused by the fact that Isetta can access memory in a single cycle, where the Z80 needs three cycles for most memory accesses.
But not all instructions show such an improvement. Most instructions that involve shifts, stack or 8-bit arithmetic and logic take about the same amount of cycles as the Zilog.
And there are a few that are dramatically slower than on the Z80: EX AF,AF' and EX DE,HL take almost 3 times as many cycles (but EXX takes 4 cycles, same as on Z80). Exact specifications of the number of clock cycles for each instruction can be found in the file section.
So, programs will run faster than on an original 4 MHz Z80.
Information about the Z80 instructions can be found in the Z80 CPU User Manual and on the Z80info page. The officially undocumented operations on the halves of IX and IY are also supported.
The parity flag, and decimal adjust are not supported.
PROJECT LOGS
3. Requirements for the control section
7. Javascript emulator runs Apple 1 BASIC
8. Another interesting BASIC to test the 8080 instructions
9. Update
11. Video system
12. Colors
13. Less parts and higher speed
14. Re-started PCB design in SMD
16. PCB finished, Logisim simulator and programmer
18. The real hardware runs Apple 1 BASIC !
19. Moving Z80 binaries to Isetta and run them
20. File system and command shell
21. Who is afraid of Red, Green and Blue ?
22. Trying to get a ZX spectrum game running
23. Two Spectrum games working
24. Hardware changes and bankswitching
25. On the cover of the hack a day
27. Fixing the LDIR instruction
28. Changed bankswitching system
29. Second PCB version ordered
31. Announcing kits on the last day of 2024 !