All Projects → asiekierka → reconstruction-of-super-zzt

asiekierka / reconstruction-of-super-zzt

Licence: other
The Reconstruction of Super ZZT

Programming Languages

pascal
1382 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to reconstruction-of-super-zzt

Nineties
💾 Colors for World Wide Web pioneers
Stars: ✭ 16 (-33.33%)
Mutual labels:  dos, turbo-pascal
retrogardens
16bit retro programming in DosBox with Borland C++ 3.1, Turbo Pascal 7 and TASM
Stars: ✭ 49 (+104.17%)
Mutual labels:  dos, turbo-pascal
dd86
No longer maintained. See URL.
Stars: ✭ 36 (+50%)
Mutual labels:  dos
Safari-Crash
Small HTML DoS exploit kit aimed at mobile browsers that allows rapid deployment and testing
Stars: ✭ 32 (+33.33%)
Mutual labels:  dos
dflat20
D-Flat Windowing System (SAA/CUA Interface) Version 20
Stars: ✭ 42 (+75%)
Mutual labels:  dos
NTPDoser
NTP Doser is a NTP Amplification DoS/DDoS attack tool for penttesting
Stars: ✭ 96 (+300%)
Mutual labels:  dos
masm-tasm
run and debug TASM/MASM code in VSCode via JSDos, DOSBox and msdos-player
Stars: ✭ 115 (+379.17%)
Mutual labels:  dos
basicdos
A new 8086-based reimagining of PC DOS and BASIC
Stars: ✭ 72 (+200%)
Mutual labels:  dos
dos-game
A Dockerfile for running Docker based DosBox games streamed to a browser client.
Stars: ✭ 49 (+104.17%)
Mutual labels:  dos
FutureDOS
A futuristic DOS
Stars: ✭ 46 (+91.67%)
Mutual labels:  dos
mt32-pi-control
MT32-PI.EXE/MT32-PI.TTP/mt32-pi-ctl is a control program for the mt32-pi MIDI synthesizer available for DOS PCs, Atari ST and Amiga computers as well as modern systems running Linux and Windows.
Stars: ✭ 22 (-8.33%)
Mutual labels:  dos
third
Third, a small Forth compiler for 8086 DOS
Stars: ✭ 67 (+179.17%)
Mutual labels:  dos
Small-C
Small-C Compiler, Assembler, Linker, and Library for 16-bit MS-DOS. Includes "YLink", an object file linker for MS-DOS executables.
Stars: ✭ 35 (+45.83%)
Mutual labels:  dos
awesome-ddos-tools
Collection of several DDos tools.
Stars: ✭ 75 (+212.5%)
Mutual labels:  dos
dethrace
Reverse engineering the 1997 game "Carmageddon"
Stars: ✭ 271 (+1029.17%)
Mutual labels:  dos
csol
A small collection of solitaire/patience games (Klondike, FreeCell, Spider, Yukon, etc.) to play in the terminal
Stars: ✭ 25 (+4.17%)
Mutual labels:  dos
doslinux
Run Linux programs on DOS
Stars: ✭ 1,272 (+5200%)
Mutual labels:  dos
dos.zig
Create DOS programs with Zig
Stars: ✭ 48 (+100%)
Mutual labels:  dos
DIV
Reconstrucción y posible fork de DIV Games Studio 2.0
Stars: ✭ 41 (+70.83%)
Mutual labels:  dos
Batch-File-examples
🐚 Various batch files (descriptions are in the read me file)
Stars: ✭ 37 (+54.17%)
Mutual labels:  dos

The Reconstruction of Super ZZT

The Reconstruction of Super ZZT is a reverse-engineered recreation of the source code to the last official release of Super ZZT, Super ZZT 2.0.

Frequently Asked Questions

What is Super ZZT?

Super ZZT is a sequel to ZZT, an adventure game created by Tim Sweeney. It was released in October 1991, providing new built-in elements and a large, scrolling playfield.

You can learn more about ZZT and its modern-day community from the README of the Reconstruction of ZZT.

How can I create Super ZZT worlds of my own?

Unlike ZZT, Super ZZT's built-in editor needs to be activated by using the "/E" command-line switch. After doing so, you can press "E" just like in ZZT.

Please note that the popular third-party tool, KevEdit, does not support Super ZZT worlds. Other editors exist which do, like ZAP and ZEdit2.

What is part of this open-source release?

This release's binary distribution includes the Super ZZT engine executable, SUPERZ.EXE.

The source code includes the source format for SUPERZ.EXE, as well as relevant tools.

Is this open-source release byte-accurate, like the previous one?

Short answer: Sort of.

Long answer: Almost all of the code is byte-accurate. However, Super ZZT utilizes TheDraw's Crunched Screen Image decompression routine for its ANSI art graphical displays. As I did not manage to find clear licensing terms for said routine, UNCRLIB.PAS contains a clean implementation of it. This ensures that the binary produced by this repository is MIT-licensed, even if a non-consequential part of it differs. However, it is possible to replace UNCRLIB.PAS with the original implementation and get a .EXE byte-accurate to Super ZZT 2.0.

Why did the source code have to be reconstructed?

This is because the original source code to Super ZZT was lost a long time ago alongside ZZT's.

I'm a ZZTer from back in the day and I have some backups from that period. Are they still useful?

Yes! There are many ZZT and Super ZZT worlds, utilities, and other documents which have not yet been preserved. If you'd like to share them and see them be adequately catalogued and preserved, please contact me at (kontakt at asie dot pl) - or get in touch with the Museum of ZZT community.

Directory structure

  • BIN - output directory for EXE and TPU files,
  • DIST - output directory for the binary distribution,
  • SCREENS - 80x25 .BIN screen video data for graphical screens used in Super ZZT,
  • SRC - the reconstructed Super ZZT source code,
    • SUPERZ.PAS - main source file,
  • TOOLS - tools used when building:
    • BIN2PAS.PAS - BIN2PAS, a tool for converting binary files into Pascal units,
    • CSIPACK.PAS - CSIPACK, a tool for compressing and decompressing Crunched Screen Images,
    • LZEXE.EXE - LZEXE, a .EXE compression tool by Fabrice Bellard,
  • BUILD.BAT - source code build script,
  • LICENSE.TXT - licensing terms for the source code release.

License

The Reconstruction of Super ZZT is licensed under the terms of the MIT license as described in LICENSE.TXT, with the exception of certain files included with this release:

  • TOOLS/LZEXE.DOC, TOOLS/LZEXE.EXE:
    LZEXE.EXE v0.91    (c) 1989 Fabrice BELLARD

    Ce programme fait parti du domaine public (FREEWARE),  donc vous pouvez
  l'utiliser, le copier et le distribuer sans problème. Et vous pouvez même
  en faire un usage commercial, c'est à dire compacter des fichiers EXE que
  vous allez vendre. Mais la vente de LZEXE.EXE est interdite.

Compiling

Requirements

  • DOS-compatible environment (f.e. DOSBox),
  • Turbo Pascal 5.5 (if you don't have it, it's officially available for free via Embarcadero's Antique Software website).

Instructions

  1. Ensure that TPC.EXE from Turbo Pascal is available on your PATH (f.e. SET PATH=C:\TP;%PATH%).
  2. From the source code directory, run BUILD.BAT.
  3. The DIST directory will contain files comprising the release as outlined in the FAQ.

Compilation FAQ

What are all the "unk"-prefixed variables?

These are variables which are not used at all anywhere in the source code, but are assumed to exist in the stack or data segments, affecting relevant variable offsets and stack checks. They are required for byte-level equivalence, but you are free to remove them and get a functionally equivalent version of the engine - with the exception of some structures, like TStat, which are serialized to disk.

Greetings

As always, I'd like to thank everyone who has spent the last few years contributing to the rebirth of the small ZZT community.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].