ATARI MUTINEERBBS

Documentation

Build And Packaging Reference

Reference material for Atari Mutineer BBS sysops, door authors, and runtime maintainers.

Build And Packaging Reference

This reference describes host build targets, generated artifacts, ATR contents, and version behavior. Source of truth: Makefile, tools/package_mutineer_atr.py, tools/package_door_game.py, and tools/build_mutineer_basic.py.

Editable Inputs

Generated directories are disposable: source/tokenized/, source/stage/, source/atr/, mms/build/, build/, and results/.

Make Targets

Build targets:

Inspection and validation targets:

Runtime/test targets are documented in Testing And Evidence.

Version Behavior

make mutineer-atr, make mutineer-atr-16mb-manual, and make mutineer-atr-disconnect increment the patch field in VERSION before packaging. tools/package_mutineer_atr.py --no-version-bump packages using the current version without changing VERSION.

make version-minor increments the minor version and resets the patch field. Every make mms-com* target increments the patch field in MMS_VERSION and regenerates mms/src/version.inc before assembly. This keeps the MMS banner version independent from the BBS/ATR VERSION.

Normal ATR Layout

tools/package_mutineer_atr.py creates source/stage/ATARI-MUTINEER/, then uses Franny to insert that tree into an SDX ATR.

Root files:

Directories:

Manual-Start ATR

make mutineer-atr-16mb-manual writes AUTOEXEC.BAT that loads RHND850.COM and MMS.COM, prints a start hint, and does not run the BBS automatically. The default startup file is STARUP, and the on-Atari command is:

BASIC /I <<D1:STARUP

tools/package_mutineer_atr.py --manual-start --startup-name NAME requires a 1-8 character alphanumeric startup name.

Door ATR Packaging

make door-arena-atr runs tools/package_door_game.py ARENA. Door package sources live under source/doorgames/<GAME>/, and output ATRs are written under source/atr/doors/.

Door packages include the game BASIC file, optional overlays/data/text, and an install note. The main BBS only needs a matching D1:>DATA>DOORS.CFG row and a mounted disk/path matching that row.

Clean

make clean removes generated build, results, atrs, screens, source/tokenized, source/stage, source/atr, and Python __pycache__ directories, then recreates the main generated source output directories.