The BOS toolchain, archived
Every version of the classic TA scripting compilers β ggs' BOS Compiler (BOS β BASM β COB), Mafia's BASM assembler, and Mafia's COBASM β with source code and readmes. Hosted here because the originals live behind a bot wall at TAUniverse's Central Consciousness and exist in no web archive.
cc.tauniverse.com (Β© Central Consciousness / TAUniverse). Authors: ggs (BOS compiler) and Mafia (BASM, COBASM). The files below were taken from the original server in October 2026 and cross-checked against the Internet Archive where captures exist. Every file passes unzip -t; hashes are in SHA256SUMS.txt. These are the real period tools β they compile the game's actual bytecode, and we used them to prove our AMPH bytecode reconstruction round-trips.1 Β· ggs' BOS Compiler (BOS β BASM)
The BOS-language compiler: it preprocesses, parses and compiles .bos script source to the stack-based .basm assembly, then hands that to BASM.exe (below) to produce the final .cob the game loads. Delphi, Windows console; runs fine under Wine. The 0.8.2 archive also ships the full Delphi source and the standard include library (EXPTYPE.H, SFXTYPE.H, STDTANK.H, SMOKEUNIT.H, STATECHG.H, β¦) β the authoritative flag/constant registries.
| Version | File | Readme | Notes |
|---|---|---|---|
| 0.8.2 | boscompiler082.zip (175 KB) | readme082.txt | newest β with Delphi source + includes; inline-expander label fix |
| 0.8.1 | binary lost | readme081.txt | readme preserved (comment-stripping in defines fix); the zip is no longer on the origin server |
| 0.8 | boscompiler08.zip (175 KB) | readme08.txt | inline functions, Scriptor compatibility mode, AND/OR/XOR keywords |
| 0.76 | boscompiler076.zip | readme076.txt | basm update |
| 0.75 | boscompiler075.zip | readme075.txt | preprocessor error positions |
| 0.7 | boscompiler07.zip | readme07.txt | hex literals, constant-number codegen fix |
| 0.6 | boscompiler06.zip | readme06.txt | bitwise-and opcode codegen fix |
| 0.5 | boscompiler05.zip | readme05.txt | turn-now / move-now handling fix |
| 0.4b | boscompiler04b.zip | readme04b.txt | 0.4 quickfix |
| 0.4 | boscompiler04.zip | readme04.txt | compiler speed rewrite |
| 0.3 | boscompiler03.zip | readme03.txt | |
| 0.2f | boscompiler02f.zip | readme02f.txt | first public line |
2 Β· Mafia's BASM (BASM β COB)
The assembler that turns the compiler's .basm output into the game's .cob container. Its source archive contains the authoritative opcode registry (basm ops.txt) and the code generator β our reference for the bytecode tables in the AMPH decode article. Every version below is available as binary and source.
| Version | Binary | Source |
|---|---|---|
| 0.8.1.1 | basm0811.zip | basm0811src.zip |
| 0.8.1.0 | basm0810.zip | basm0810src.zip |
| 0.6.2 | basm0620.zip | basm0620src.zip |
| 0.6.1 | basm0610.zip | basm0610src.zip |
| 0.3.3 | basm0303.zip | basm0303src.zip |
3 Β· Mafia's COBASM
A lower-level .bosβ.cob assembler that skips the BASM layer.
| Version | Binary | Source |
|---|---|---|
| 0.3.2.0 | cobasm0320.zip | cobasm0320src.zip |
4 Β· How to run them
On Windows: drop a .bos file onto BOS_to_BASM.exe. On Linux/macOS: wine BOS_to_BASM.exe ARMALT.BOS β all outputs land next to the source (.prebasm = the preprocessor's view, .basm = the intermediate assembly, .cob = the game file; errors in <name>_BASM_errors.txt).
Configuration β an INI next to the exe, section [Settings]:
[Settings] SearchPaths= IncludePaths=includes EnableBASMExtentions=1 AssemblerExeName=BASM.exe AssemblerParams=-l -o0 -t0 CompileAndDoNotAssemble=0 PauseOnException=0 PauseAtEnd=0
Practical notes (verified with 0.8.2 + BASM 0.8.1.1 under Wine): pieces need an explicit piece base, flare1, β¦; declaration; a query out-parameter cannot be named piece (reserved word); the assembler must sit in the same directory as the compiler. The generated code differs from Cavedog-era COBBLER output in style (branch lowering, argument-slot numbering) but is semantically equivalent β see the round-trip comparison.
5 Β· Version history
Condensed from the readmes' own History sections (full text in each readme).
| Version | Changes |
|---|---|
| 0.8.2 | fixed the inline expander's non-unique labels |
| 0.8.1 | comments stripped from defines (fixes the original includes) |
| 0.8 | inlineable functions; Scriptor compatibility mode (default on); AND/OR/XOR logical keywords; fixed codegen for if/while loops |
| 0.76 | basm update, history fixes |
| 0.75 | preprocessor reports line/column/file of errors; named constants instead of global defines |
| 0.7 | hexadecimal literals; constant-number codegen fix |
| 0.6 | basm update; bitwise-and opcode codegen fix; basm keyword β __basm |
| 0.5 | basm update; turn-now/move-now handling fix; preprocessor race fix |
| 0.4 / 0.4b | compiler speed rewrite |
| 0.3 / 0.2f | early public versions (preprocessor output, error reporting, BASM hand-off) |
6 Β· Other Central Consciousness tools
The same server carried the rest of the modding toolbox (and the TA Demo Recorder). Mirrored here too:
| Tool | File | What it is |
|---|---|---|
| Scriptor 0.74 | Scriptor074.zip | the classic BOS scripting editor; ships with real example scripts (zonter.bos, Arasword.bos, Arapries.bos, verharp.bos) |
| 3DO Builder 2.02 | 3doBInstall202.zip | the mesh editor for .3do models |
| GAF Viewer 1.2 | gafviewer12.zip | extracts frames from .gaf archives |
| TA Demo Recorder 1 RC2 | tadr1RC2.zip | records and plays back MP games via a Dplayx.dll wrapper (2006) |
| TA2K Public | TA2KPublic.zip | the OpenGL TA preview project β with C++ source |
| EMG Patch | emgpatch.exe | removes the EMG sound (lag fix) |
| Script packs (BOS include headers β drop into your script's include path) | ||
| FireArcs | FireArcs.zip | FireArcs.h β firing-arc helpers |
| Flak | flak.zip | flak.h β flak/AA behaviour |
| Headmove | headmove.zip | headmove.h β aim-follows-turret helper |
| Multiturrets & multibarrels | multiturrets&multibarrels.zip | multiturrets.h β multi-weapon script framework |
| SpeedUp | SpeedUp.zip | SpeedUp.h β script speed helpers |

Also from that server and archived under Unit, map & total-conversion downloads: ~30 unit mods (several with full .bos source), six maps, and Total Battletech 1.40 (total conversion with a modded EXE).
7 Β· Provenance & integrity
Source of record: cc.tauniverse.com/downloads/boscompiler/ (TAUniverse Central Consciousness), downloaded 2026-10-05. Where the Internet Archive holds captures, the files match. The Internet Archive itself only ever captured a subset (BASM 0.8.1.x, compiler 0.5 & 0.8.2, COBASM 0.3.2.0); the older versions were rescued from the origin server directly. All 23 archives pass unzip -t. Verify with SHA256SUMS.txt β for orientation, the two files used in the round-trip test:
a00034132c33bc2ea9280a03798d0bfbbd7d2af4ddc49b48905cea8b9a1addcc boscompiler05.zip
f76693fa8366a3d3b74318fc35a557c0fe24ae0a1eb4a721a2c4fe53b20e9c83 basm0811.zip
8 Β· Credits
ggs β BOS compiler. Mafia β BASM and COBASM (source released, hence the opcode registry). Cavedog Entertainment β BOS language, the script library headers (EXPTYPE.H, SFXTYPE.H β¦, Β©1997) and the game. TAUniverse / Central Consciousness β distribution, 2003β2005. Not affiliated with Cavedog or its successors; preserved for modders and historians. Related: the AMPH decode article (100% of one unit explained and round-trip-verified with exactly these tools).