Key features:
- Supports VGA, HDMI, DVI and LCD displays
- Supports sound over HDMI, onboard DAC or PWM when available in hardware
- Provides an immersive full screen experience, with a very fast boot time and no operating system
- Simultaneous USB keyboard and joystick support (using a powered USB hub)
- Can be fully controlled from a ZX81 style 40 key keyboard
- 1980s style 9-pin Atari joysticks can be connected to some board types
- The small form factor makes the board easy to mount in period or reproduction cases
- Emulates pseudo and Hi-res graphics
- Emulates ZX81 and ZX80 (with either 4K or 8K ROM) hardware
- Emulates ZonX, Quicksilva an d TV (sync) sound
- Emulates user defined graphics, including CHR$128 and QS User Defined Graphics
- Emulates the Chroma 80 and Chroma 81 interfaces to allow a colour display. Also supports the enhanced TV sound provided by Chroma
- Emulation runs at accurate speed of a 3.25MHz ZX81
- Optionally emulates real-time ZX81/80 program load and save with realistic sound and graphics
- Emulates European and US configuration (i.e. emulates 50Hz and 60Hz ZX81)
- Supports larger ZX81 generated displays of over 320 by 240 pixels (40 character width and 30 character height)
- Load .p, .81, .o, .80 and .p81 files from micro SD Card. Save .p and .o files
- Can display at 640x480 or 720x576 (for an authentic display on a UK TV)
- 720x576 can be configured to run at a frame rate to match the "real" ZX81 (~50.65 Hz).
- An interlaced mode can be selected to display interlaced images with minimal flicker
- Supports loading and saving of memory blocks using ZXpand like syntax
- Set-up of emulator (computer type, RAM, Hi-Res graphics, sound, joystick control etc) configurable on a per program basis, using config files
- Optionally displays graphic of keyboard (taken from sz81). Can type in code with keyboard visible
- Can be extended for other board types. Code support included for a custom VGA RGB 332 board similar to that supported by MCUME and for a RGB 222 board with CSYNC similar to PICOZX
Full source code, documentation, list of tested applications and release binaries can be found at: https://github.com/ikjordan/picozx81
It was a fun exercise that definitely helped me understand the inner workings of the ZX81 in more detail. Hopefully this may prove useful to someone! I’d value any feedback.