Skip to content

ZQuest Classic

ZQuest Classic emulates Zelda Classic.

About this profile
Detail Value
Type standalone
Classification Game engine
Source https://github.com/ZQuestClassic/ZQuestClassic
Version 2.55.17
Revision ZQuestClassic/ZQuestClassic@4ef771c64666
Profiled 2026-10-20
Profile YAML, JSON
Cores zquestclassic
Systems Zelda Classic
Technical notes

ZQuest Classic, the continuation of Zelda Classic: a quest player (zplayer), an editor (zeditor) and a ZScript compiler. Quests are .qst files. RetroBat installs the upstream 2.55.17-windows-x64.zip unchanged (its zquestclassic.7z holds the same zplayer.exe and data files byte for byte) and launches zplayer.exe with -standalone and the quest, the working directory set to the install folder. The profile is pinned to the 2.55.17 tag.

Every engine file is opened by a path relative to the working directory. At startup the player reads the module file named in zc.cfg, the GUI palette, the fonts datafile, sfx.dat, the cursor and the seven built-in MIDI tunes, and stops with a fatal error when any of them is missing. The title graphics come from modules/classic/title_gfx.dat. The module file also names classic_zelda.dat, classic_zquest.dat and a base NSF. The player opens none of them: classic_zquest.dat is the editor's datafile (src/zq/zquest.cpp:25820), and the release ships no classic_zelda.dat.

Settings are read from base_config/zc.cfg, then overridden by zc.cfg (src/zconfig.cpp:12-74). Both are user configuration. modules/classic/default.qst and classic_zquest.dat serve the editor (src/qst.cpp:1104-1117, src/zq/zquest.cpp:3255-3323). The quests under quests/ and tilesets/ are content.

Hashes are those of the files in 2.55.17-windows-x64.zip. The text files there have CRLF line endings.

0 files: 0 required, 0 optional. 16 more files come with the app.

By kind: 16 game data.

File Hash
zquestclassic/sfx.dat MD5 3d99a4f1bcde
zquestclassic/modules/classic/classic_fonts.dat MD5 4748dc89481f
zquestclassic/modules/classic.zmod MD5 adf6be948ae4
zquestclassic/modules/classic/title_gfx.dat MD5 6cef0bd51519
zquestclassic/assets/cursor.bmp MD5 ff2c577a0c82
zquestclassic/assets/gui_pal.bmp MD5 6b1e7abab5e6
zquestclassic/assets/dungeon.mid MD5 a42eb4b1baf0
zquestclassic/assets/ending.mid MD5 c006fef045ca
zquestclassic/assets/gameover.mid MD5 065f0448f3cc
zquestclassic/assets/level9.mid MD5 91d08c55cbdc
zquestclassic/assets/overworld.mid MD5 c1fc74de30e6
zquestclassic/assets/title.mid MD5 bdf775e13441
zquestclassic/assets/triforce.mid MD5 13d52761144e
zquestclassic/assets/190_tiles.qst MD5 e6a7e7cb51ff
zquestclassic/music/zelda.nsf MD5 27e1c5887042
zquestclassic/gamecontrollerdb.txt MD5 0436bf6e822b
16 files

sfx.dat comes with the app game data

Sound effect datafile, signature "SFX.Dat" of version 0x0211

  • Path: zquestclassic/sfx.dat
  • System: Zelda Classic
  • Size: 1.2 MB
  • SHA1: 9dc80df9fc244efa5f68d8aafa2b2c44abb8d2dd
  • MD5: 3d99a4f1bcde6b2dbff07fedf019dad8
  • Source: src/zc/zelda.cpp:4604-4614
  • Loaded from the working directory. The engine stops when it cannot be read, when its first entry does not carry the expected signature, or when the Z35 entry is not a sample. The module file names no other sound datafile: sfx.dat is hardcoded (src/zc/zc_module.cpp:136-137).

classic_fonts.dat comes with the app game data

Packed font datafile, signature "Fonts.Dat" of version 0x0253

  • Path: zquestclassic/modules/classic/classic_fonts.dat
  • System: Zelda Classic
  • Size: 100.4 KB
  • SHA1: c6ef009c8c4fdac0da650dd6e92814eac4e7f957
  • MD5: 4748dc89481f22bba22fb441aad563f7
  • Source: src/zc/zelda.cpp:4583-4597
  • Read with the datafile password. The engine stops when the file is missing, when it does not hold FONTSDAT_CNT entries or when the signature differs.

classic.zmod comes with the app game data

Classic module definition: datafile names, NSF tracks, name entry tiles, enemy and item tables

  • Path: zquestclassic/modules/classic.zmod
  • System: Zelda Classic
  • Path taken from current_module under [ZCMODULE] in zc.cfg, modules/classic.zmod by default. A missing module stops the engine.

title_gfx.dat comes with the app game data

Quest-format file holding the title screen tiles and color sets

  • Path: zquestclassic/modules/classic/title_gfx.dat
  • System: Zelda Classic
  • Loaded as a quest with every section but tiles and csets skipped, before the title screen and after the ending. The load result is not checked.

cursor.bmp comes with the app game data

Mouse cursor bitmap

  • Path: zquestclassic/assets/cursor.bmp
  • System: Zelda Classic
  • Size: 1.3 KB
  • SHA1: c7c325a4367c4d1fd620208c06f74d5aa3b77c0d
  • MD5: ff2c577a0c82e0fdfad2a60147e2bd2e
  • Source: src/zc/zc_sys.cpp:484-489
  • A missing file stops the engine with "Missing required file".

gui_pal.bmp comes with the app game data

Bitmap whose palette becomes the GUI palette

  • Path: zquestclassic/assets/gui_pal.bmp
  • System: Zelda Classic
  • Size: 1.3 KB
  • SHA1: 15eed11eb58424bf30e0611ef8d569e353cf1d2d
  • MD5: 6b1e7abab5e64cd308cddd872c9fc92d
  • Source: src/zc/zelda.cpp:2073-2077
  • A missing file stops the engine with "Missing required file".

dungeon.mid comes with the app game data

Built-in dungeon MIDI tune

  • Path: zquestclassic/assets/dungeon.mid
  • System: Zelda Classic
  • Size: 2.4 KB
  • SHA1: 3491fbaeea804845a892c5767316eb62ff655780
  • MD5: a42eb4b1baf0264669af2eacaf4fdfa5
  • Source: src/zc/zc_sys.cpp:7231-7243
  • The seven built-in tunes are loaded at sound init and a missing one stops the engine.

ending.mid comes with the app game data

Built-in ending MIDI tune

  • Path: zquestclassic/assets/ending.mid
  • System: Zelda Classic
  • Size: 11.8 KB
  • SHA1: 58c35d0171d7eb887dfc29795e019087bf8d62ff
  • MD5: c006fef045caa68eac7199e7e142dd50
  • Source: src/zc/zc_sys.cpp:7231-7243
  • The seven built-in tunes are loaded at sound init and a missing one stops the engine.

gameover.mid comes with the app game data

Built-in gameover MIDI tune

  • Path: zquestclassic/assets/gameover.mid
  • System: Zelda Classic
  • The seven built-in tunes are loaded at sound init and a missing one stops the engine.

level9.mid comes with the app game data

Built-in level9 MIDI tune

  • Path: zquestclassic/assets/level9.mid
  • System: Zelda Classic
  • Size: 3.3 KB
  • SHA1: 0896077d1f5684b56728c03d893b56497e27cbb9
  • MD5: 91d08c55cbdcfaf9e5d495ff731fb643
  • Source: src/zc/zc_sys.cpp:7231-7243
  • The seven built-in tunes are loaded at sound init and a missing one stops the engine.

overworld.mid comes with the app game data

Built-in overworld MIDI tune

  • Path: zquestclassic/assets/overworld.mid
  • System: Zelda Classic
  • Size: 8.2 KB
  • SHA1: 3b33a9daf54d343fabcece898525f81675d372df
  • MD5: c1fc74de30e66e25851814570b2a454f
  • Source: src/zc/zc_sys.cpp:7231-7243
  • The seven built-in tunes are loaded at sound init and a missing one stops the engine.

title.mid comes with the app game data

Built-in title MIDI tune

  • Path: zquestclassic/assets/title.mid
  • System: Zelda Classic
  • Size: 8.4 KB
  • SHA1: 2f1112a93064b5ff594f20632be5d8f6d98697d7
  • MD5: bdf775e13441cb9313e3dd92d8affdda
  • Source: src/zc/zc_sys.cpp:7231-7243
  • The seven built-in tunes are loaded at sound init and a missing one stops the engine.

triforce.mid comes with the app game data

Built-in triforce MIDI tune

  • Path: zquestclassic/assets/triforce.mid
  • System: Zelda Classic
  • The seven built-in tunes are loaded at sound init and a missing one stops the engine.

190_tiles.qst comes with the app game data

Tile sheet given to old quests whose header declares no tile section

  • Path: zquestclassic/assets/190_tiles.qst
  • System: Zelda Classic
  • Read only for such quests. A failure is logged and the quest keeps empty tiles.

zelda.nsf comes with the app game data

NSF used for the ending and triforce music

  • Path: zquestclassic/music/zelda.nsf
  • System: Zelda Classic
  • Searched next to the executable, next to the quest, then in their music folders. When it is not found the built-in MIDI plays.

gamecontrollerdb.txt comes with the app game data

SDL game controller mapping database

  • Path: zquestclassic/gamecontrollerdb.txt
  • System: Zelda Classic
  • Size: 596.5 KB
  • SHA1: 90008fe0f95ef5bf891ceb81a743738f2fbaf526
  • MD5: 0436bf6e822b020a4925e0f66cfd28e3
  • Source: src/zc/zelda.cpp:4458-4462
  • Read from the working directory before the joystick is installed, only when present.
.