TauCPU is a custom 16-bit virtual CPU and instruction set architecture designed for experimenting with low-level systems programming, emulation, and assembly language development.
It includes a full CPU emulator and a custom instruction set. Programs can be written using a separate assembler (TASM), which is maintained in a different repository.
- 16-bit CPU architecture
- Register-based instruction set
- Arithmetic and logic operations
- Memory load/store system
- Port-mapped I/O
- Conditional branching and jumps
- Custom assembler (TASM)
- Word size: 16-bit
- Supports registers, memory access, and immediate values
- Includes CPU flags: ZF, NF, CF, VF
- Supports port-mapped I/O devices
See ISA reference for full ISA reference.
The emulator supports port-mapped devices, including:
- Terminal output
- Debugging output
- Future display devices
- Future input hardware (keyboard, timers)
See I/O ports for a full list of I/O ports.
src/ - CPU emulator docs/ - Documentation
Custom assembler for TauCPU:
This is a personal project, but suggestions and improvements are welcome.
For questions or feedback, feel free to reach me at: vukmitic81@gmail.com