This is an old revision of the document!
Source and licence
Licence
Ember Reach is Copyright (C) 2026 Michael Slater.
It is free software: you may copy, change and share it under the terms of the GNU General Public License, version 2 or (at your option) any later version (the file COPYING). It comes with NO WARRANTY. If you share the programs, the source must be available too; it is in REACHS04.ZIP.
Building
The source builds with Free Pascal 3.2.2.
make # Linux: bin/reach, bin/ermaint, bin/reachcfg make windows # 64-bit Windows: bin-win/*.exe (needs the win64 cross units) sh dosbuild.sh # DOS: bin-dos/*.exe (needs the i8086 cross compiler) sh mkrelease.sh # all of the above, then the release zips in release/
The units in src/:
| Unit | What it does |
|---|---|
reach.pas | The door: menus and screens (with erview*.pas and erscr.pas) |
ermaint.pas | Maintenance and test commands |
reachcfg.pas | The sysop's set-up program |
erdata.pas | The game's records and REACH.DAT |
ergen.pas | Making a galaxy and joining houses |
erturn.pas | The nightly turn: lane drift, movement, battles, landings, the Hollow, production, research, victory |
erai.pas | The computer houses |
erorders.pas | Orders, with the rules for what is allowed |
ersetup.pas | REACH.CFG, new games, news and the Hall of Fame |
erlock.pas, ersess.pas | The game lock, so doors and maintenance never change the game at the same time |
doorkit.pas | The door kit: drop files, the connection and the console |
The game files are byte-for-byte the same on every system: a 30-day computer game (ermaint sim 6 30 99) gives the same REACH.DAT on Linux, Windows and DOS. On DOS (i8086) Integer is 16 bits, so the code uses LongInt throughout, and never uses two random numbers in one expression.
Credits
- The door's console code (
doorkit.pas) follows the design ofdorkit.jsfrom Synchronet BBS. Its line editor,ConGetStr, is a translation of dorkit.js'sgetstrby Stephen Hurd (Deuce), under the GNU GPL. - Synchronet BBS by Rob Swindell and the Synchronet developers.
- Free Pascal by the Free Pascal team.
