Skip to content

Releases: nchiker/2068-Leap

2068-Leap v2.1.0-emu.1

Choose a tag to compare

@github-actions github-actions released this 28 Oct 03:38

2068-Leap V2 Enhanced v2.1.0-emu.1 — Speed and Package Functions Release (emulator-qualified, not hardware-qualified)

Changes from v2.0.2-emu.1 (the back-port of 2068-Leap-C's improvements, docs/V2_LEAPC_BACKPORT_PLAN.md):
much faster BASIC (an empty FOR pass 1,107 -> 827 T-states, a float multiply 55,200 -> 11,500,
scrolling output 14 -> 24 lines a second); a correctly rounded calculator and new SIN/COS/TAN
(within about 2 ulp); package ABI 2.1: package functions, floats (FP_OP), an error service and a
registered error range, the reserved slots trap (ABI 2.0 packages load unchanged; the shipped
packages, images and tapes byte-identical to v2.0.2-emu.1, still load on v2.0.x ROMs); RUNTIME
ERROR n and SYNTAX ERROR n show the code; all printable ASCII has a glyph (Q-26); the power-on
version text; SAVE abort, UDG power-on and paging fixes; clean-room code from Leap-C in place of
stock-ROM-derived code (NOTICE.md).

ROMs: HOME 8c3d6c8108b653114ce4fffcd9695ac9883a8068664bffd21524b7ac1d167df0
EXROM e46e2065ee863f0569c3e47cdc975af0081b4e7227b690977eed4fb7d7020f9d
Free: HOME 313, EXROM 111 bytes. Identity CRC $0AEF.
Qualified in ZEsarUX: make test (gate 127, arrays 101, known defects 15, SAVE ALL 13, corpus 667
PASS / 1 XFAIL / 2 N/A, lifecycle 23/23, qvmedge 221, qual-maint 59+27+14+3), doc-examples
327/327, make repro, qcanary --banking (0 violations), qtapetol 23/23, qpoweron, qpkgfn 67/67,
qpkgtape (incl. a v2.0.2-emu.1 ROM), qglyphs. test-legacy waived (owner decision F37).
Hardware: NOT TESTED -- PHYSICAL HARDWARE UNAVAILABLE (docs/V2_HARDWARE_CHECKLIST.md, section 7).
Record: docs/V2_1_RELEASE_STATUS.md. v2.0.2-emu.1 is unchanged.

Download 2068-Leap-V2-v2.1.0-emu.1.zip below: the V2 ROMs (with the EightyOne cartridge), the six packages (with CBEEP), the V2 user manual (Markdown, Word and Word 97) with the emulator guide, and the release documents.

V2 development build (dev-20261027-b30ca0c) — unqualified

Choose a tag to compare

@github-actions github-actions released this 13 Sep 14:46

Unqualified development build of the 2068-Leap V2 development branch v2-development at b30ca0c — a moving target, rebuilt automatically on every push. It has not been through the release qualification and is not a release.

For the qualified ROMs use the latest numbered release (currently v2.1.0-emu.1, emulator-qualified on ZEsarUX, not hardware-qualified). The releases page lists them all.

Download 2068-Leap-latest.zip below (the V2 ROMs, the six packages, the user manual and the documents of this commit; BUILD_INFO.txt inside names the commit).

2068-Leap v2.0.2-emu.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 03:26

2068-Leap V2 Enhanced v2.0.2-emu.1 — Compiler Maintenance Release (emulator-qualified, not hardware-qualified)

Changes from v2.0.1-emu.1: array accesses nested in an array of the other kind compile correctly
(M-4: names$(pick(0)) read the numeric table; names$(pick(0)) = "x" was a SYNTAX error); program
memory +814 bytes (pool 8397 -> 9211, FREE() 8153 -> 8967); HOME ROM reserve 19 -> 275 bytes with
the compiler output proven unchanged otherwise; the V2 release bundle with the EightyOne cartridge
and the Word 97 manual. Package ABI 2.0, packages and tape formats unchanged.

ROMs: HOME 1fe5798f79f31e760780a7c3d1d24657a9aadf12edfa5aef5f82c94040a4f5cc
EXROM e6b507a49cef4d6cdd62ae09f8664f20ee84c7931a42bf67e1cf0862322641a0
Free: HOME 275, EXROM 26 bytes. Identity CRC $F9E9.
Qualified in ZEsarUX: make test (gate 114, arrays 101, known defects 15, SAVE ALL 13, corpus 663
PASS / 2 XFAIL / 2 N/A, lifecycle 23/23, qual-maint 59+27+14+3), differential compile of 2,701
programs. doc-examples and test-legacy not rerun (owner decision).
Hardware: NOT TESTED -- PHYSICAL HARDWARE UNAVAILABLE (docs/V2_HARDWARE_CHECKLIST.md).
Record: docs/V2_COMPILER_MAINT_RELEASE_STATUS.md. v2.0.1-emu.1 is unchanged.

2068-Leap v2.0.1-emu.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 17:52

2068-Leap V2 Enhanced v2.0.1-emu.1 — Sound Maintenance Release. Emulator-qualified (ZEsarUX), not hardware-qualified: nothing in this release has been tried on a physical Timex Sinclair 2068.

Recommended download: 2068-Leap-V2-v2.0.1-emu.1.zip

The complete V2 distribution: the ROMs, all six packages (mode, sprite, printer, shapes, graphics and the new cbeep) as binaries and .tzx tapes, the V2 user manual (Markdown with its pictures, and the Word edition), and the release documents (docs/V2_MAINT_RELEASE_STATUS.md, language reference, defect register, hardware checklist). Check it with sha256sum -c 2068-Leap-V2-v2.0.1-emu.1.zip.sha256; inside, sha256sum -c SHA256SUMS checks the ROMs and packages.

ROM SHA-256
roms/leap_v2_home.bin 3f13ec2cc4ef02c1b9694ccd3d40c02658ff4ddef100e16f50230d3002306f1c
roms/leap_v2_exrom.bin 24b1ebb0b1377aad8e2e6caee443a9c5611cfad2f0eab495311e07df43b22b7e

What changed from v2.0.0-emu.1

  • BEEP seconds, semitones (Sinclair syntax) on the AY sound chip; BREAK stops a long note.
  • SOUND accepts register 0 (0 to 16, as the stock TS2068 BASIC).
  • The startup chime is unchanged.
  • Fixed: PAUSE n could end at once when the frame counter passed 65535 during the pause.
  • New optional cbeep package: CBEEP milliseconds, semitones, border on the original loudspeaker (interrupts off while it sounds; it replaces any other loaded package).

Known limitations and the hardware tests still to run are in docs/V2_MAINT_RELEASE_STATUS.md and docs/V2_HARDWARE_CHECKLIST.md.

The other archive, 2068-Leap-v2.0.1-emu.1.zip, was produced automatically by the older (V1-era) packaging step. Its ROMs are the same as above, but it carries V1-era documents and only four packages; it is kept for reference. Use the V2 archive.

Full Changelog: v2.0.0-emu.1...v2.0.1-emu.1

2068-Leap v2.0.0-emu.1

Choose a tag to compare

@github-actions github-actions released this 11 Oct 23:30

2068-Leap v2.0.0-emu.1 — download 2068-Leap-v2.0.0-emu.1.zip below.

Full Changelog: latest...v2.0.0-emu.1

2068-Leap Release 1 Beta

Pre-release

Choose a tag to compare

@nchiker nchiker released this 01 Sep 10:26

2068-Leap Release 1 Beta

2068-Leap Release 1 Beta is ready for public testing. It is a from-scratch,
open-source ROM environment for the Timex Sinclair 2068 that asks what the
machine might have looked like with a structured BASIC, a persistent
full-screen editor, and software designed around its distinctive hardware.

Highlights

  • A full-screen, word-wrapping program editor with insertion, deletion,
    scrolling, keyword highlighting, per-line error highlighting, and direct
    next/previous-error navigation.
  • Line-number-free BASIC using labels, block and single-line IF, FOR /
    NEXT, EXIT FOR, GOTO, GOSUB, RETurn, CALL, and colon-chained
    statements.
  • Numeric variables and arrays, bounded strings, string arrays, classic
    DEF FN, and a broad set of numeric, string, screen, joystick, and memory
    functions.
  • Pixel graphics, lines, circles, flood fill, High Resolution Graphics color,
    ULAplus palettes, and an eight-slot save-under sprite system with collision
    detection.
  • Beeper and AY-3-8912 sound, prompted numeric/string input, and TS2068-framed
    tape SAVE/LOAD, including SAVE ... LINE autorun.
  • A loadable BASIC-extension system that adds optional statements without
    consuming the final bytes of either ROM bank. Release 1 Beta includes CPLOT,
    BLOCK, FRAME, INVERT, AYREG, and OUT modules.
  • Builds for paired Home ROM/EXROM use, a combined ZEsarUX image, and an
    EightyOne DCK image.

Loadable commands

Only one extension is installed at a time. Use LOAD "name" EXT to install a
module and SAVE "name" EXT to record the currently installed module. NEW
and ordinary program loading unregister it safely.

  • CPLOT cx,cy draws coarse block graphics.
  • BLOCK x0,y0 TO x1,y1 draws a filled rectangle.
  • FRAME x0,y0 TO x1,y1 draws a rectangle outline.
  • INVERT x0,y0 TO x1,y1 XOR-inverts a rectangular area.
  • AYREG register,data writes native AY registers.
  • OUT port,data performs a full-address Z80 port write for expert hardware
    control.

Beta validation

The release gate covers 92 integrated BASIC fixtures, standalone ROM smoke
builds and runtime checks, the production editor, storage and extension tape
paths, calculator behavior, sprite graphics/state, documentation consistency,
RAM aliases, and ROM-size limits. The production images currently leave one
byte free in Home ROM and two bytes free in EXROM, with 15,322 bytes available
to the dynamic BASIC program pool.

Important beta notes

  • Keep backups of programs and recordings made with beta builds; the native
    program format may still change before the final Release 1 build.
  • Programs are native to 2068-Leap's line-number-free representation and are
    not byte-compatible with stock tokenized Sinclair BASIC programs.
  • Physical cassette behavior varies with recorder, medium, cable, and signal
    level. Emulator tests validate the framing and ROM logic but cannot qualify
    every analog setup.
  • OUT and AYREG are deliberately low-level. OUT can change display, sound,
    tape, add-on, or memory-paging hardware depending on the port selected.
  • Cartridge support and a public cartridge ABI are outside this beta's scope.

Download and documentation

Attach the paired Home ROM and EXROM images, the combined ZEsarUX image, the
EightyOne DCK image, the six extension recordings, release notes, and the Word
and Markdown user documentation, including the separate What's New guide, to
the GitHub beta release. The repository
README contains build instructions; the User's Manual contains the complete
implemented statement/function reference and a dedicated extension chapter.

Feedback is especially welcome for real TS2068 hardware, cassette loading,
editor ergonomics, program compatibility between beta builds, and examples
that exercise the graphics, sound, sprite, and extension systems together.

2068 Leap v0.1.0 Private Preview 1

Pre-release

Choose a tag to compare

@nchiker nchiker released this 28 Aug 02:48

2068 Leap private preview

This preview is the first complete, test-gated snapshot of 2068 Leap. It is
intended for invited testing while the GitHub repository remains private.

Highlights

  • Structured, line-number-free BASIC with a full-screen editor.
  • Numeric scalars and arrays, fixed-length strings and string arrays.
  • Timex high-resolution graphics, normal Spectrum graphics, sprites, AY sound,
    and ULAplus palette control with editor-safe mode restoration.
  • Stock TS2068/Sinclair tape framing for SAVE and LOAD, including progress
    reporting and staged validation before replacing the current program.
  • Screen queries through POINT() and ATTR().
  • User manual in Markdown and styled Word formats, plus language, technical,
    memory-map, and programmer references.

Validation baseline

  • 68 integrated BASIC fixtures.
  • Nine standalone smoke ROMs assemble successfully.
  • Automated wrapped-line editor regression passes.
  • Showcase validation reaches its green completion border.
  • Home ROM: 2 bytes free; EXROM: 99 bytes free; dynamic RAM pool: 1857 bytes.

Preview boundaries

This is a redesigned BASIC rather than a byte-compatible replacement for
stock Sinclair BASIC programs. Native program payloads use standard tape
framing but are not stock tokenized BASIC. The repository remains private
while preview feedback and hardware testing continue.