Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 1.44 KB

README.md

File metadata and controls

46 lines (36 loc) · 1.44 KB

Z80 emulator in F#

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.

Table Of Contents

    1. About ZX Spectrum
    1. Program layout
    1. Keyboard Input
    1. Display Output
    1. 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
    1. The Machine
    1. Notes
    1. License

Images

Z80 emulator running:

sz80emu

sz80emu