Features/Z80: Difference between revisions

From QEMU
(Current status of the Z80 fork)
 
Line 10: Line 10:
== Detailed Summary ==
== Detailed Summary ==


The Z80 was an 8-bit microprocessor produced by Zilog, which was used in a wide variety of machines from the late 1970s to early 1990s.
The Z80 is an 8-bit microprocessor produced by Zilog, which was used in a wide variety of computers from the late 1970s to early 1990s.


== Status ==
== Status ==

Revision as of 20:30, 29 December 2010

Summary

Add emulation of the Zilog Z80.

Owner

  • Name: Stuart Brady
  • Email: sdb@zubnet.me.uk

Detailed Summary

The Z80 is an 8-bit microprocessor produced by Zilog, which was used in a wide variety of computers from the late 1970s to early 1990s.

Status

Supports basic emulation of the ZX Spectrum (48K and 128K models), and the MSX1. Also provides incomplete emulation of the SAM Coupé. The ZX Spectrum emulation supports loading of snapshots using 'libspectrum', through the use of the '-kernel' argument.

This project would likely also contribute WD177x floppy disk emulation (for both the ZX Spectrum +D interface and the SAM Coupé machine), which would be useful for emulation of other machines (such as the Atari ST family and the Acorn Archimedes and Risc PC families).

There is no support for live migration of the Z80 target.

TODO

  • Allow execution from RAM that may also be used for video output
  • CP/M support — either user or system emulation
  • Paging in of ROMs via trapped program counter (for +D, etc.)
  • Merge +D emulation (already written, except for page-in mechanism)
  • Flags optimisation
  • 16-bit/8-bit register handling optimisation
  • Optional disabling of support for undocumented flags and/or instructions
  • Add 8080 mode
  • Remote debugging support for GDB
  • Investigate adding NEC V20 support (for PC-98 emulation)

Code

The code is currently kept in a separate git repository:

Note that opinion is somewhat divided as to whether this is something that should be merged back into the mainline QEMU source, but any contributions to the fork will be gladly accepted.