# Historical Notes — the "Glaze" Developer Drive (sda4)

Alongside this release tree, a dump of a developer's hard drive was recovered
(kept locally as `sda4/`, excluded from this repository by `.gitignore` due to
size and mixed provenance — ~20,000 files, ~403 MB). This document records
what was found on it, because it fills in most of the story around the code
in this repository.

## The machine

The drive is the boot disk of a workstation named **Glaze** belonging to
**Dave**, a Virtual World Entertainment developer (his working directories are
`BTDAVE`, `RPDAVE`, `STDAVE`, `HPDAVE`). File dates show the machine in active
use from mid-1994 to at least September 1999.

- **OS:** Novell DOS 7 (the same OS the pod machines ran), with a boot menu
  selecting Windows NT client networking, Personal NetWare, none, or a
  minimal configuration.
- **Editor:** Brief, with a heavily customized macro setup.
- **Source control:** PVCS tools are installed (`PVCS/`), but no version
  archives are on the drive — the repository lived on a server.
- **Tools:** Deluxe Paint, PKZip, Norton utilities, KA9Q NOS and NCSA
  Telnet for TCP/IP, LightWave and SGI image files in transit through
  `TEMP/` and `CONVERT/` (the art conversion pipeline workspace).

## Pod lab infrastructure (VGL_LABS)

`VGL_LABS/` holds the office pod lab's deployment system ("VGL" = Virtual
Geographic League, VWE's fiction). Pods booted via `BOOTPOD.BAT`, pulled
game builds from the server share **`\\vgl_code\podbay`**, and each developer
had a named update script: Chris, Gabe, Edo, Joanna, Jordan, Milo, Kiwi,
Shroom, Splotch, Bernoulli, and Golden (the golden/release build, default
game BT). The boot configuration documents the pod peripherals: Thrustmaster
controls, a 640x480x16 gauge display, a plasma display on COM2, intercom,
and SVGA-or-NTSC main video output.

Dave's machine could itself boot as a pod — its `AUTOEXEC.BAT` ends by
calling `c:\vgl_labs\thispod\bootpod.bat`.

## Division Ltd. material

The drive contains far more from **Division Ltd.** (the UK VR company that
supplied the main-display graphics hardware and the dVS/DPL libraries) than
the compiled SDK in this repository:

- **`DPL3/` and `DPL3RLS/`** — the DPL library in C source form, and under
  `DPL3/VRENDER/` the **renderer source itself**: C and Intel **i860
  assembly**, with a `PXPL5SUP/` directory (Pixel-Planes 5 support — the
  UNC research architecture Division's pixel-pipeline hardware descended
  from), scan-converter/DMA-engine/texture-engine code, and design notes
  (`DMA.TXT` describes the tile-based frame rendering loop).
- **`VREND/`** — dated renderer drops from October 1995 through June 1996,
  showing Division shipping VWE renderer updates roughly monthly.
- **`DVSTOOLS/`** — the full BGF geometry tool suite (`BGF*.EXE`, `GLOMM`,
  `IMG2VTX`, …).
- **`BIN/PHILS/`** — a Division engineer's personal toolkit that came along
  with the SDK/support drops: i860 cross-tools (`ASMPP5`, `NM860`,
  `RUN860.BAT`, `ISERVER`), Division format converters (PAZ/VIZ/BIZ/SVT/MAZ),
  Pegasus Mail, Division office admin docs, and internal Division email from
  June 1993 (via `division.demon.co.uk`, discussing SIGGRAPH datasheets).
  The `dave@division.com` appearing in that email is a different,
  coincidental Dave.
- **`PROBLEMS/FLICKER/`** — a minimal repro case for a rendering bug, with
  the conclusion: *"The problem disappeared when the same geometry was built
  without smoothing."*

## Cockpit display hardware — the VDB (VWE video splitter board)

Each cockpit drives **seven displays**. The **main** out-the-window view comes
straight off the Division VPX card's VGA output. The other six — **five
monochrome + one color** instrument/secondary displays — are fanned out by a
VWE-designed ISA card, the **VDB (Video Distribution Board)**, also called the
**"LBE4 video splitter board"** in the driver source.

The VDB taps the PC's basic (Cirrus Logic) VGA output off the **feature
connector** via ribbon cable and divides that single 640×480×16 framebuffer to
the six monitors by dividing the pixel clock. The driver
(`CODE/RP/MUNGA_L4/L4SVGA16.ASM` and `L4VB16.CPP`, class `SVGA16`) shows its
ISA register map, credited in a source comment to **"Adam's port decoder
design"** — **Adam G.**, a VWE hardware engineer:

- `0x300 / 0x308 / 0x310` — three palette register groups (VGA-DAC-style:
  write-address / data / pixel-mask / read-address), one per display group so
  the mono and color displays get their own color maps.
- `0x31A` — write enables the splitter's high-color clock divider
  (`VWE_HC_ON`); `0x319` — write disables it (`VWE_HC_OFF`).

The board is **write-only** — the game never reads it; it loads palettes and
flips the clock divider on with a single `out`, then renders the combined
framebuffer normally and the VDB splits it passively in hardware. An emulated
VDB device (I/O 0x300–0x31A) in the DOSBox-X fork records the palette contents
and clock state so this six-display encoding can be decoded later; see
`emulator/` and `emulator/RIO-NOTES.md`.

## The shipped games, in runnable form

`BTLIVE/`, `BTRAVINE/`, `RPLIVE/`, and `RPDAVE/` are complete, runnable game
installs — including the compiled executables this repository lacks:
`NETNUB.EXE`, `BTL4TOOL.EXE`, `BTL4OPT.EXE`, `MECHBLD.EXE`, the 32-bit DOS
runtime (`32RTM`/`DOS4GW`), and HMI audio drivers, alongside all resources.

`BTRAVINE/` is late-era work on the Ravine arena (present in this repo as the
`RAV`/`RAV1` environments), and its build log names the mech roster being
compiled — Avatar, Black Hawk, Loki — confirming that this repo's `BT` vs
`BT3025` content split is a Clan-era vs 3025-era roster split.

## Unreleased projects

The most historically significant material on the drive:

### Star Trek prototype (`STDAVE/`)
A working Division scene (`TREK.SCN`) running on the Tesla renderer: layered
starfield splines, an **Enterprise-D model** (`EPRISED.VGF`), and **Klingon
ship models and textures** (`KLNGN*.VGF`, `KLNG1–6.TGA`). A VWE Star Trek pod
experience that never shipped. These scenes have been restored and can be
viewed in a browser — see [restoration/](restoration/).

### Hull Pressure (`HPDAVE/`, August 1995)
A **submarine game** prototype: sharks, submarines, Atlantis geometry, fish
schools, and sea-movement splines, preserved both loose and in `HPDAVE.ZIP`.

### Renegade Legion (`RL/`)
Models for a pod adaptation of **FASA's Renegade Legion** space-combat
property (a natural companion license to BattleTech): the Cheetah, Penetrator,
Spiculum, and Cingulum ship classes, plus space stations, shield generators,
and cargo/medic/gunboat transports.

### Starship Troopers → DisneyQuest "Invasion!" (`TEMP/STARSH~1.DOC`, January 1997)
A complete design document for a 4-player location-based **Starship Troopers**
attraction, written by **FASA Interactive** for **WDI (Walt Disney
Imagineering)** — "Optics system and IG are as specified by WDI." Players are
colonists driving a 4-legged converted mining crawler (one driver with a
force-feedback yoke, three gunners with force-feedback joysticks, hull
electrification device) into a bug nest to kill the brain bug, escorted by
computer-controlled power-armored troopers. This pitch evolved — with the
licensed bugs replaced by original aliens — into **"Invasion! An
ExtraTERRORestrial Alien Encounter" at DisneyQuest**, which kept the same
driver-plus-three-gunners walker-vehicle design.

### Early Division demos (August 1994)
Batch files at the drive root fly Division demo scenes — `RAPTOR`, `THOR`,
`ROCKY`, `MULES`, an F-15, a jeep-tank — using Division's `FLYK.EXE` scene
flyer. These predate the Tesla games' completion and show the DPL evaluation
period.

## Can the games be rebuilt from this repository?

Short answer: **not as it stands.** Cross-referencing the makefiles against
the surviving sources:

- **BattleTech:** 33 of the 49 objects `BT.MAK`/`BTL4.MAK` build have **no
  source file** in the tree — including the core of the game: `MECH.CPP`
  through `MECH4.CPP`, `MECHSUB`, `MECHDMG`, `DMGTABLE`, `BTPLAYER`, `HUD`,
  `TORSO`, `GYRO`, `MYOMERS`, `SENSOR`, and nearly the whole BT_L4 pod app
  layer. Only the weapons (PPC, Gauss, missiles), teams, missions, and
  console survive.
- **Red Planet:** 22 of 29 objects are missing sources — including `VTV.CPP`
  (the player vehicle), `RPPLAYER`, `WEAPSYS`, all pickups, and the RPL4 app
  layer.
- For every missing module the **header** survives, but not the
  implementation. No compiled `.obj` substitutes exist anywhere (repo or
  drive), and the drive's ZIP archives contain no source.
- Also missing: `make.cfg` (included by every makefile) and the makefiles
  for the MUNGA/MUNGA_L4 libraries themselves — both reconstructable from
  the surviving `OPT.MAK`/`D0`–`D3S.MAK` configuration makefiles.

What **could** plausibly be rebuilt: the **MUNGA engine library** (the RP
tree's copy is complete — 351 files, all sources present, with compiled
objects in `RP/MUNGA/opt/` to verify against), MUNGA_L4, and NetNub. All
third-party dependencies are present as binaries (`LIBDPL.LIB`,
`WATTCPLG.LIB`, SOS libraries, `C0X32.OBJ`). The toolchain (Borland C++ 5.0
+ TASM32) is not included but is obtainable, and builds would run under
DOSBox or a VM. A rebuilt game would still need Division VPX hardware (or a
shim for the `VREND*.BTL` renderer module interface) to display anything.

This release tree appears to be a deliberately partial cut; the full source
lived on the `\\vgl_code` server and in PVCS. The realistic preservation
paths are:

1. **Find more media** — anything from the `vgl_code` server, PVCS archive
   directories, or other developers' drives.
2. **Preserve the compiled builds** — `BTLIVE/`/`RPLIVE/` on the Glaze drive
   are complete installs and need no compilation.
3. **Reimplement the missing modules** against the surviving headers — every
   interface is documented, but this is a rewrite project, not a build.
