Skip to content
/ sz80em Public

A Z80 emulator implementation in F#. (A literate program.)

License

Notifications You must be signed in to change notification settings

rvprg/sz80em

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Releases

No releases published

Packages