A Z80 emulator implementation in F#. Uses noweb and LaTeX tools. Run make to get F# source code, TeX, ps, pdf, and a binary file. For license see LICENSE file. Please see IMPORTANT for copyright note about ROM file.
Prerequisites:
- noweb
- LaTeX, and LaTeX packages: graphicx, noweb, mflogo, amsmath, textcomp
- F# compiler
Precompiled binaries are available in sz80em.tar.gz.
The PDF file of the book is available here.
The emulator expects ROM file named 48k.rom in current directory. A different file path can be specified as the first argument to the program.
-
- About ZX Spectrum
-
- Program layout
-
- Keyboard Input
-
- Display Output
-
- Microprocessor
- 5.1. Registers set
- 5.2. The Main Class
- 5.3. ROM and RAM Memory
- 5.4. Contended Memory
- 5.5. Contended I/O
- 5.6. Interrupts
- 5.7. Instructions
- 5.8. Instruction Table Initialization
- 5.9. Extended Instructions
- 5.10. Bit Instructions Table
- 5.11. Index Instructions
- 5.12. Index Bit Instructions
- 5.13. Initialization
-
- The Machine
-
- Notes
-
- License
Z80 emulator running: