Emulator core geared towards emulating ZZT and Super ZZT.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asie 31d59f7499 [web] add charset/palette loading 8 tuntia sitten
mingw [sdl] fix Windows 10 HiDPI, seed timer properly for RNG 1 kuukausi sitten
res [psp] many fixes 1 kuukausi sitten
src [curses] fix build 11 tuntia sitten
tools [psp] initial port 1 kuukausi sitten
web [web] add charset/palette loading 8 tuntia sitten
.gitignore [web] use npm/rollup/babel-based buildsuite, use modern ECMAScript features 1 viikko sitten
COPYING first commit 10 kuukautta sitten
Makefile [psp] initial port 1 kuukausi sitten
Makefile.psp [psp] initial port 1 kuukausi sitten
NOTICE update license headers 5 kuukautta sitten
README.md first commit 10 kuukautta sitten
zeta_curses.sh [curses] fix build 11 tuntia sitten
zeta_sdl.sh [sdl] add CHR/PAL/PLD loading support 11 tuntia sitten
zeta_sdl_mingw.sh [sdl] add CHR/PAL/PLD loading support 11 tuntia sitten
zeta_wasm.sh [web] add charset/palette loading 8 tuntia sitten

README.md

Zeta

Zeta consists of:

  • an 8086/80186 emulation core, based on lunatic86,
  • an emulation environment geared specifically towards running ZZT and Super ZZT.

Currently, it has the following front-ends:

  • curses - incomplete, designed primarily for testing,
  • web - utilizes the WASM-compiled version of Zeta to allow using Zeta inside a web browser.

Directory structure

  • build/ - contains build output files,
  • src/ - contains the source code to the Zeta emulator, as well as the Curse

Implementing your own front-end

Refer to src/zzt.h. Functions marked USER_FUNCTION are accessible to you to interface with the emulator core, while functions marked IMPLEMENT_FUNCTION should be implemented.

Certain methods can be dummied out:

  • vfs_write - if you don’t need file writing,
  • speaker_on/speaker_off - if you don’t emulate the PC Speaker,
  • vfs_findfirst/vfs_findnext - if you don’t want file lookup to work.

There is, unfortunately, little documentation at this time.

License

The source code release of Zeta generally available under the terms of the GPLv3 license. For different licensing terms, please contact me directly.

The binary copy available here is for usage by the Museum of ZZT. It may not be used by any other entity, however it is used by the Museum with explicit permission.