Releases: ikjordan/picozx81
Snapshots
Full emulation of ZX81 and ZX80 with 1kB to 56kB RAM
Sound, pseudo HiRes, ARX, WRX, UDG, CHR$128, M1NOT
50Hz and 50.6Hz 576p; 60Hz 480p
Chroma 80 and Chroma 81 colour
No O/S, sub second boot time, full screen
HDMI, VGA and LCD
Sound over HDMI or audio socket
Configure for European or US emulated TV
Frame and interlace synchronisation
Support for ZX81 (standard + Big Bang ROMs) and ZX80 (4K and 8K ROMs)
Tested against large set of software (see Readme)
Joystick and ZX80/81 USB keyboard support
9 pin joystick support
Full screen configuration menus using ZX81 and ZX80 fonts
Pre-built uf2 for 9 commercial boards and 2 MCU types
Example configuration to copy to micro SD Card
Supports RP2040 and RP2350
Adds the following features over previous release:
Save and load snapshots
Save the emulator state to SD Card at any point . On reloading a snapshot the emulator will continue from exactly where the snapshot was saved. No need to restart from the beginning after you die in a game! Also save a snapshot to avoid re-running lengthy set-up times in programs. A snapshot saved on one machine can be loaded on another, even with a different sound or display set-up. Full details are given in the Readme
Change resolution on program load
It is now possible to specify the display resolution for a program. If the current resolution is different then the emulator restarts in the correct resolution before the program is loaded
Support for Raspberry PI Pico SDK 2.1.0
This release was built with SDK 2.1. Issues in SDK 2.1 resulted in the develop branch being used, plus the TinyUSB submodule from SDK 2.0
Olimex 9 Pin Joystick Support
It is now possible to add a 9 pin joystick adapter to the Olimex RP2040-PICO-PC board, via the UEXT1 connector
Corrections and Improvements
Fixed an issue that prevented files being loaded from the root directory
Improved handling of the current directory path
Improved reproducibility of automatic builds
Improved handling of resolution change
Cursor speed reduced in F2 menu
Added extra build warning checks
What's Changed
Full Changelog: v2.0.0...V2.0.1
RP2350 support
Full emulation of ZX81 and ZX80 with 1kB to 56kB RAM
Sound, pseudo HiRes, ARX, WRX, UDG, CHR$128, M1NOT
50Hz and 50.6Hz 576p; 60Hz 480p
Chroma 80 and Chroma 81 colour
No O/S, sub second boot time, full screen
HDMI, VGA and LCD
Sound over HDMI or audio socket
Configure for European or US emulated TV
Frame and interlace synchronisation
Support for ZX81 (standard + Big Bang ROMs) and ZX80 (4K and 8K ROMs)
Tested against large set of software (see Readme)
Joystick and ZX80/81 USB keyboard support
Full screen configuration menus using ZX81 and ZX80 fonts
Pre-built uf2 for 9 commercial boards and 2 MCU types
Example configuration to copy to micro SD Card
Supports RP2040 and RP2350
Adds the following features over previous release:
Support for Raspberry PI Pico SDK 2.0.0
Updates to support new SDK and PicoDVI
Support for RP2350
Now generates separate builds for RP2040 and RP2350
Renamed pre-built uf2 files so MCU type can be identified
Further Code and memory optimisations
Further optimisations to cover high CPU corner cases with RP2040
RP2350 has significantly lower CPU usage compared to RP2040
Corrections
Attribution of SplinterGU SInvaders image
Parameter for configuring over voltage
What's Changed
Full Changelog: v1.0.6...v2.0.0
Release adding TV Sync Sound, Accurate ZX80, load and Save effects
Full emulation of ZX81 and ZX80 with 1kB to 56kB RAM
Sound, pseudo HiRes, ARX, WRX, UDG, CHR$128, M1NOT
50Hz and 50.6Hz 576p; 60Hz 480p
Chroma 80 and Chroma 81 colour
No O/S, sub second boot time, full screen
HDMI, VGA and LCD
Sound over HDMI or audio socket
Configure for European or US emulated TV
Frame and interlace synchronisation
Support for ZX81 (standard + Big Bang ROMs) and ZX80 (4K and 8K ROMs)
Tested against large set of software (see Readme)
Joystick and ZX80/81 USB keyboard support
Full screen configuration menus using ZX81 and ZX80 fonts
Pre-built uf2 for 9 commercial boards
Example configuration to copy to micro SD Card
Adds the following features over previous release:
TV sound emulation
Select between sync sounds as generated by TV or by Chroma card
- Chroma sound generates vsync sound when the display is not synchronised
- Sync sound genarates sound on VSYNC (ZX81) or HSYNC and VSYNC (ZX80)
- Can now play 1-bit music such the beatles.p, or the programs created by kmurta
More accurate ZX80 hardware emulation
Can now select:
- ZX80 hardware with 4K and 8K ROM
- ZX81 hardware with Sinclair and BigBang ROMs
- Both the ZX81 and ZX80 versions of Metropolis now run correctly
- The ZX80 hardware emulation is based on the model used in the latest versions of the EightyOne emulator
Code and memory optimisations
Now 15 to 20% faster so:
- Full speed chroma emulation
- Full speed sound emulation
Optional Load and Save graphics and sound
Relive the 1980s with Load and Save effects at cassette speed!
- Generated through the IN and OUT commands executed during Load and Save. These generate the characteristic display and triggers sound pulses to be played through the speakers. The save sounds generated for both the 4K and 8K ROMs have been recorded as wav files and then successfully loaded into the EightyOne emulator
- When loading, picozx81 will read a p file and generate values which the ROM reads through IN statements. On the ZX81 and ZX80 with 8K ROM this causes sync pulses which generate sound and visual effects. Note: A program cannot be loaded directly from a wav file
- Load and Save sound generation will work regardless of which sound mode is selected in the emulator
No longer patches the ROM to detect load and save
- This removes the risk of inaccurate emulation of pseudo hi-res displays
Run-time selectable LCD and VGA displays (for PICOZX with LCD)
- The PICOZX + LCD code generates LCD output by default. To enable VGA output either hold down the the Fire button at start-up, or enable VGA in the config file
What's Changed
Full Changelog: v1.0.5...v1.0.6
Waveshare PiZero and ZXPICO boards. 9 Pin joysticks
Release adding Waveshare RP2040-PiZero and PICOZX boards. Supports 9 Pin joysticks
Full emulation of ZX81 and ZX80 with 1kB to 56kB RAM
Sound, pseudo HiRes, ARX, WRX, UDG, CHR$128, M1NOT
50Hz and 50.6Hz 576p; 60Hz 480p
Chroma 80 and Chroma 81 colour
No O/S, sub second boot time, full screen
HDMI, VGA and LCD
Sound over HDMI or audio socket
Configure for European or US emulated TV
Frame and interlace synchronisation
Optional ZX81 Big Bang ROM
Tested against large set of software (see Readme)
Joystick and ZX80/81 USB keyboard support
Full screen configuration menus using ZX81 and ZX80 fonts
Pre-built uf2 for 9 commercial boards
Example configuration to copy to micro SD Card
Additions over previous release
4 new targets for 3 new board types:
- Waveshare RP2040-PiZero
- PICOZX with mechanical keyboard by Bobricius (VGA and runtime selectable VGA or LCD builds)
- PICOZX motherboard for use in original case with original keyboard
9 pin Atari / Sinclair joysticks are now supported on some boards, in addition to the existing USB joysticks support
Bug fixes / Improvements
More resilient LCD display generation
Lower HDMI memory usage
Added ARX examples
What's Changed
- Support Waveshare PiZero by @ikjordan in #29
- Joystick by @ikjordan in #30
- Picozx by @ikjordan in #31
- Picozxreal by @ikjordan in #33
Full Changelog: v1.0.4...v1.0.5
Chroma Support
Release with Chroma 80 and Chroma 81 emulation. Supports more LCD and board types
Full emulation of ZX81 and ZX80 with 1kB to 56kB RAM
Sound, pseudo HiRes, WRX, UDG, CHR$128, M1NOT
50Hz and 50.6Hz 576p; 60Hz 480p
Chroma 80 and Chroma 81 colour
No O/S, sub second boot time, full screen
HDMI, VGA and LCD
Sound over HDMI or audio socket
Configure for European or US emulated TV
Frame and interlace synchronisation
Optional ZX81 Big Bang ROM
Tested against large set of software (see Readme)
Joystick and ZX80/81 USB keyboard support
Full screen configuration menus using ZX81 and ZX80 fonts
Pre-built uf2 for 6 commercial boards
Example configuration to copy to micro SD Card
Additions over previous release
General support for ILI9341 and ST7789 320x240 LCDs on the Cytron Maker Pi Pico board
VGA RGB222 with CSYNC on the Cytron Maker Pi Pico board
Colour display emulating Chroma 81 and Chroma 80
Read support for the .p81 file format
Chroma and ARX Examples
Updated Readme with more images and description
What's Changed
- Maker VGA and LCD targets by @ikjordan in #25
- Chroma by @ikjordan in #26
- Colour hdmi by @ikjordan in #27
- New picodvi by @ikjordan in #28
Full Changelog: v1.0.3...v1.0.4
LCD and HDMI audio
Release with LCD and HDMI audio support
Full emulation of ZX81 and ZX80 with 1kB to 56kB RAM
Sound, pseudo HiRes, WRX, UDG, CHAR$128, M1NOT
50Hz and 50.6Hz 576p; 60Hz 480p
No O/S, sub second boot time, full screen
HDMI VGA and LCD
Sound over HDMI or audio socket
Configure for European or US emulated TV
Frame and interlace synchronisation
Optional ZX81 Big Bang ROM
Tested against large set of software (see Readme)
Joystick and ZX80/81 USB keyboard support
Full screen configuration menus using ZX81 and ZX80 fonts
Pre-built uf2 for 5 commercial boards
Example configuration to copy to micro SD Card
Additions over previous release
Support for LCD screen. Initially targeting Waveshare Pico-ResTouch-LCD-2.8
Improved handling of SD Card not present
Updated Readme with more examples
HDMI Audio source code merged onto main branch
Improved ZX80 Support
Release with improved ZX80 support
Full emulation of ZX81 and ZX80 with 1kB to 56kB RAM
Sound, pseudo HiRes, WRX, UDG, CHAR$128, M1NOT
50Hz and 50.6Hz 576p; 60Hz 480p
No O/S, sub second boot time, full screen
HDMI and VGA
Sound over HDMI or audio socket
Configure for European or US emulated TV
Frame and interlace synchronisation
Optional ZX81 Big Bang ROM
Tested against large set of software (see Readme)
Joystick and ZX80/81 USB keyboard support
Full screen configuration menus using ZX81 and ZX80 fonts
Pre-built uf2 for 4 commercial boards
Example configuration to copy to micro SD Card
Additions over previous release
Optionally configure ZX80 Save file name using REM statement
Optionally enter ZX80 Save file name using menu
Use ZX80 font in menus when emulating a ZX80
Bug fixes, including:
- Issue with ACB stereo when channel C not used
- Display of long file names in menus
- Centring text in menus
Updated Readme
Optional HDMI sound
HDMI Sound Release
Full emulation of ZX81 and ZX80 with 1kB to 56kB RAM
Sound, pseudo HiRes, WRX, UDG, CHAR$128, M1NOT
50Hz and 50.6Hz 576p; 60Hz 480p
No O/S, sub second boot time, full screen
HDMI and VGA
Sound over HDMI or audio socket
Configure for European or US emulated TV
Frame and interlace synchronisation
Optional ZX81 Big Bang ROM
Tested against large set of software (see Readme)
Joystick and ZX81 USB keyboard support
Pre-built uf2 for 4 commercial boards, plus custom board
Example configuration to copy to micro SD Card
Additions over previous release
Sound over HDMI or audio socket
Additional uf2 builds to support HDMI audio
Configurable menu margins to support TVs with large overscan
Improved keyboard debounce for menus controlled by ZX81 USB Keyboard
Bug fixes
Updated Readme
Initial Release
Initial Release
- Full emulation of ZX81 and ZX80 with 1 to 56kB RAM
- Sound, pseudo HiRes, WRX, UDG, CHAR$128, M1NOT
- 50Hz and 50.6Hz 576p; 60Hz 480p
- No O/S, sub second boot time, full screen
- HDMI and VGA
- Configure for European or US emulated TV
- frame and interlace synchronisation
- Optional ZX81 Big Bang ROM
- Tested against large set of software (see Readme)
- Joystick and ZX81 USB keyboard support
- Pre-built uf2 for 4 commercial boards, plus custom board
- Example configuration to copy to micro SD Card