Skip to content

Releases: ikjordan/picozx81

Snapshots

19 Jan 18:43
b69d523
Compare
Choose a tag to compare

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

26 Aug 12:24
c452bd7
Compare
Choose a tag to compare

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

03 Jul 21:09
08b5233
Compare
Choose a tag to compare

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

03 May 20:40
47fcc42
Compare
Choose a tag to compare

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

Full Changelog: v1.0.4...v1.0.5

Chroma Support

01 Apr 11:55
8876e40
Compare
Choose a tag to compare

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

Full Changelog: v1.0.3...v1.0.4

LCD and HDMI audio

12 Nov 18:51
86adc12
Compare
Choose a tag to compare

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

12 Sep 20:00
Compare
Choose a tag to compare

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

30 Aug 20:20
Compare
Choose a tag to compare

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

19 Aug 12:58
Compare
Choose a tag to compare

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