User Tools

Site Tools


ZZT 4.1 (Unofficial)

ZZT 4.1 is a hex edit of ZZT 3.2 created by WiL for widespread use. Unfortunately, the publicly available version of ZZT 4.1 is an unfinished build:

4.1 is almost certainly bad. The version of zzt 4.1 that was uploaded was from the wrong folder, wrong exe. An oversight I realized too late.

This version of the executable was released on May 12th, 2012.


While there is nothing stopping this ZZT hex edit from running on pre-80386 machines - including Zeta - at face value, it has been compressed with UPX without enabling the –8086 flag; as such, to run it on an 8086/80186/80286-class machine or Zeta, it must be decompressed first with upx -d.


The final release in the ZZT 4.x series

Released during the Glorious Trainwrecks' Glorious Weekend of ZZT Blitzkrieg-o-thon 5/11/2012.

* ZZT's 20k board limit has been increased to 65k.
* ZZT's bottom-row placement bug has been fixed.
* ZZT is now 39k.
* untitled.zzt, temp.brd, and saved.sav will no longer be the default. Now by default you must put in a name of your own. This means no more angst over accidentally saving over your last board, saved game, or ZZT project.
* 255 objects per board, 255 boards per zzt world.
* Removed most in-game messages and sound effects. Kept the item pick-up messages and the invisible wall sound and message.
* The game no longer crashes if your cursor accidentally wanders off the board when using f4 in the editor. (If you continue typing off into oblivion, though, it will still crash)


Examining the actual changes made seems to confirm WiL's words - most of the documented changes are not present in the binary.


  • The IoTmpBuf allocation calls have been patched to allocate a size of 0xFF80 (65408) rather than 0x4E20 (20000) bytes (offset 0x2387, 0x23E8).
  • The flag name SECRET is replaced with REMOVE (offset 0x9651).
  • The Y < 25 requirement from OopExecute's #PUT handling is replaced with Y < 26, fixing the #PUT bottom row bug (offset 0xC9E1).
  • The yellow border tile definition is replaced with a white-on-black Empty (offset 0x175FE).


Description Location Original string Modified string
Configuration screen, second line (shareware) 0x1C44 Shareware version 3.2' New! ZZT Version 4.1
Configuration screen, second line (registered) 0x1C7A Version  3.2 Version  4.1
Copyright notice 0x1CA9 Created by Tim Sweeney By Tim Sweeney and WiL
Copyright notice 0x1D42 Copyright (c) 1991 Epic MegaGames, Press ... to abort' Public Domain since 1997.  ZZT 4.0 released in 2004,       ... to quit '
Shutdown notice (registered) 0x217F  Registered version -- Thank you for playing ZZT. ZZT 4.0


Description Location Original string Modified string
Default save filename 0x2173 SAVED Empty (length set to 0)
Default exported board filename 0x2179 TEMP Empty (length set to 0)
Water hit message 0x5F45 Your way is blocked by water. Empty (length set to 0)
Editor board name prompt 0x7AC0 Room's Title:, Board Name: (length edited)
Editor - empty board name 0x80CA Untitled Empty (length set to 0)
Sidebar - default world name 0x109C1 Untitled Empty (length set to 0)


Description Location Original Modified Comment
Water step sound 0x5F40 #64#1#80#1 Empty (length set to 0)
Cheat console sound 0x10635 #39#4 Empty (length set to 0)
release/zzt41.txt · Last modified: 2021/02/28 23:36 by asie