SuperAPI AI Directory

daad-system

General & other

View repository

Updated 10-16 01:34

About this skill

DAAD System Reference

DAAD (Disenador de Aventuras AD) is a multi-platform text adventure authoring system created by Tim Gilberts in 1988 for the Spanish company Aventuras AD. It evolved from The Quill -> PAW -> SWAN -> DAAD. Adventures are written in DSF source files, compiled to DDB binary databases by DRC, and executed by platform-specific interpreters.

Supported platforms: ZX Spectrum, Amstrad CPC, C64, MSX, MSX2, PCW, Atari ST, Amiga, PC (DOS).

Reference Files

Load the appropriate reference based on the task:

DDB Binary Format

File: references/ddb-format.md

  • 34-byte header structure (all fields and offsets)
  • Data section layout (vocabulary, texts, processes, objects, connections)
  • Token-based text compression scheme
  • Character encoding (255 - char), inline escapes, article modification
  • Save file format

Condacts (all 128)

File: references/condacts.md

  • Complete condact table: number, name, args, type (condition/action), description
  • GFX routines table (routines 0-10)
  • BEEP tone table (8 octaves)
  • DOALL mechanism
  • HASAT/HASNAT bit reference (object attributes + system flag bits)
  • AUTO- condact search priorities

Flags and Objects

File: references/flags-and-objects.md

  • All 64 system flags (0-63) with names and meanings
  • Timeout control bitmask (flag 49)
  • Referenced object update (flags 51-59)
  • Object structure (6 bytes: location, weight, container, wearable, extended attrs, noun, adjective)
  • Special location values (252=not_created, 253=worn, 254=carried)
  • Object 0 convention (light source)
  • Complete system messages table (SM0-SM60)

DSF Source Format

File: references/dsf-source-format.md

  • All DSF sections: /CTL, /VOC, /STX, /MTX, /OTX, /LTX, /CON, /OBJ, /PRO, /END
  • Vocabulary rules (word types, truncation, synonyms, noun-as-verb)
  • Object definition format
  • Process entry format and condact sequences
  • Standard process architecture (PRO 0-6 roles)
  • DRC #define symbols and inline messages

DRC Compiler

File: references/drc-compiler.md

  • DRF (front-end) and DRB (back-end) usage
  • All compiler directives (#define, #ifdef, #extern, #include, etc.)
  • Auto-defined symbols per target
  • DRC optimizations vs #classic mode
  • Differences from classic DC (SCE format)
  • Related tools (DRT, EAAD, SC2DAAD, DAADMAKER, etc.)

MALUVA Extensions

File: references/maluva-extensions.md

  • XPICTURE, XSAVE, XLOAD, XMESSAGE/XMES, XBEEP, XPLAY (MML), XPART
  • XSPLITSCR, XUNDONE
  • Error reporting (flag 20)
  • EXTERN equivalents for classic DC compiler

Engine Architecture

File: references/engine-architecture.md

  • Game startup sequence and main loop
  • Process call stack (10 levels max)
  • Parser and logical sentence system (compound sentences, Noun2 resolution)
  • Indirection mechanism (@ prefix)
  • Window system (8 windows, "More..." prompt)
  • ISDONE/ISNDONE mechanism
  • Darkness system (flag 0 + Object 0)
  • Connection tables and MOVE
  • Save/Load and RAMSAVE/RAMLOAD
  • Runtime error codes
  • Historical timeline (1983-2018)

Quick Lookup

Key Constants

  • NULLWORD = 255 (wildcard in process entries)
  • NOT_CREATED = 252, WORN = 253, CARRIED = 254
  • Max process nesting = 10
  • Max objects = 255, max locations = 252
  • Flags: 256 total, 0-63 system, 64-255 user

Most Important Flags

  • Flag 0: darkness
  • Flag 1: objects carried count
  • Flag 33-36: current verb, noun1, adjective1, adverb
  • Flag 37: max carryable objects
  • Flag 38: player location
  • Flag 51: currently referenced object
  • Flag 52: max carryable weight