Emulator core geared towards emulating ZZT and Super ZZT.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
asie 41f3c3947e beta19 2ヶ月前
mingw [sdl] fix Windows 10 HiDPI, seed timer properly for RNG 6ヶ月前
res [psp] many fixes 6ヶ月前
src beta19 2ヶ月前
tools [psp] initial port 6ヶ月前
web beta19 2ヶ月前
.gitignore [web] use npm/rollup/babel-based buildsuite, use modern ECMAScript features 5ヶ月前
COPYING first commit 1年前
Makefile [sdl] libpng screenshot support 4ヶ月前
Makefile.psp [psp] initial port 6ヶ月前
NOTICE update license headers 10ヶ月前
README.md beta 17 3ヶ月前
zeta_curses.sh [curses] fix build 5ヶ月前
zeta_sdl.sh [sdl] add audio capture, rework audio logic a bit 2ヶ月前
zeta_sdl_mingw.sh [sdl] add audio capture, rework audio logic a bit 2ヶ月前
zeta_wasm.sh final beta17 commit 3ヶ月前

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 - use ZZT in a terminal (sort of),
  • sdl - primary desktop frontend,
  • 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.