Archival snapshot of the Virtual World Entertainment Tesla cockpit software, 1994-1996: MUNGA engine and L4 pod layer source (Borland C++ 5.0), BT/RP game code, and game content (models, audio, maps, gauges, Division renderer data). Includes third-party libraries: Division dVS/DPL graphics, HMI SOS audio, WATTCP networking. Files are preserved byte-for-byte (.gitattributes disables all line-ending conversion). README.md documents the layout, target hardware, and toolchain. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
131 lines
6.0 KiB
Markdown
131 lines
6.0 KiB
Markdown
# Tesla Release 4.10 — Tesla:BattleTech & Tesla:Red Planet
|
||
|
||
Source code and game content for **Tesla:BattleTech** and **Tesla:Red Planet**, the
|
||
two games that ran on the **Tesla**-generation simulator cockpits built by
|
||
**Virtual World Entertainment, Inc.** (VWE). Source file headers are dated
|
||
1994–1996; this tree corresponds to release 4.10 of the Tesla software.
|
||
|
||
This repository is an archival snapshot. The tree is preserved byte-for-byte as
|
||
found (see `.gitattributes` — no line-ending conversion is applied).
|
||
|
||
## Target hardware
|
||
|
||
Each Tesla cockpit was driven by a server-class **Pentium Pro** machine running
|
||
**Novell DOS**. Graphics were split across two adapters:
|
||
|
||
- The **main (out-the-window) display** was rendered by one of the first
|
||
pixel-pipeline 3D accelerator cards ever made, driven through **Division Ltd.'s
|
||
dVS/DPL libraries** (`libDPL` — DPL, dsys, dvs, and the VPX headers; Division
|
||
copyright 1995).
|
||
- An **S3 video adapter** drove the other **six cockpit displays** (instrument
|
||
and gauge screens — see the `GAUGE` content directories and the `PCPIC.INC` /
|
||
`L4GAU*` gauge code).
|
||
|
||
Other hardware/OS interfaces:
|
||
|
||
- **Audio:** HMI **SOS** (Sound Operating System) — `sos/` libraries, with
|
||
variants for Borland (`bc4`) and Watcom (`wc`).
|
||
- **Networking:** pods were networked over Ethernet using **WATTCP** (DOS
|
||
TCP/IP, with BOOTP) via VWE's **NetNub** layer.
|
||
- **Input:** joystick/pedal/panel I/O in assembly (`JOYSTICK.ASM`) and the
|
||
`L4CTRL*` control modules.
|
||
|
||
## Toolchain
|
||
|
||
- **Borland C++ 5.0** (`BCC`) with **TASM32** for assembly — see the `.MAK`
|
||
makefiles (original build tree lived at `D:\TESLA_RP\` and `D:\BC5\`).
|
||
- Precompiled-header discipline throughout (`.CSM` headers, `#pragma hdrstop`).
|
||
- `VSSVER.SCC` / `MSSCCPRJ.SCC` files are remnants of the original **Visual
|
||
SourceSafe** source control.
|
||
- File extensions: `.CPP/.HPP` C++ source/headers, `.TCP/.THP` C++ template
|
||
source/headers, `.MAK` Borland makefiles.
|
||
|
||
## Repository layout
|
||
|
||
```
|
||
ARTTOOLS/ (empty placeholder — art tools were not included in this snapshot)
|
||
BORLAND/ (empty placeholder — compiler was not included in this snapshot)
|
||
CODE/ Game and engine source (~200k lines of C++/asm)
|
||
CONTENT/ Game data: models, animations, audio, maps, textures, gauges
|
||
HEADOFF/ Head/camera offset calibration configs for the cockpit displays
|
||
```
|
||
|
||
### CODE/
|
||
|
||
Both games share the same architecture: a portable simulation engine
|
||
(**MUNGA**, VWE's in-house engine) plus a hardware layer (**MUNGA_L4**, the
|
||
"L4" Tesla pod platform layer), with game-specific code and a game-specific
|
||
L4 layer on top.
|
||
|
||
```
|
||
CODE/BT/ Tesla:BattleTech
|
||
BT/ Game logic: mechs, weapons (PPC, Gauss, missiles),
|
||
damage tables, teams, missions, scenario rules
|
||
BT_L4/ BattleTech pod application layer (app modes, arena,
|
||
radar, playback, version)
|
||
MUNGA/ Engine bricks: math (matrices, angles, splines),
|
||
containers, file streams, audio manager, events
|
||
MUNGA_L4/ Pod hardware layer: video renderer manager, keyboard,
|
||
mouse, audio hardware, warehouse (resource loading)
|
||
LIBDPL/ Division Ltd. dVS/DPL graphics library (headers +
|
||
LIBDPL.LIB + VREND*.BTL renderer modules)
|
||
NETNUB/ WATTCP-based pod networking (headers + WATTCPLG.LIB)
|
||
SOS/ HMI Sound Operating System libraries + drivers
|
||
|
||
CODE/RP/ Tesla:Red Planet (same structure)
|
||
RP/ Game logic: VTV (hover racer) power/subsystems,
|
||
pickups (booster, blocker, crusher, thruster)
|
||
RP_L4/ Red Planet pod application layer
|
||
MUNGA/ Engine (fullest copy — 351 files incl. all .CPP)
|
||
MUNGA_L4/ Pod hardware layer (fullest copy, incl. JOYSTICK.ASM)
|
||
libDPL/, NetNub/, sos/ as above
|
||
*/opt/ Compiled Borland C++ 5.0 object files from the
|
||
original build (preserved as found)
|
||
```
|
||
|
||
Note: the BT copies of MUNGA/MUNGA_L4 are partial (69/68 files) while the RP
|
||
copies are complete (351/231 files) — the BT tree appears to hold only the
|
||
files that diverged from the shared engine.
|
||
|
||
### CONTENT/
|
||
|
||
```
|
||
CONTENT/BT/ Tesla:BattleTech content
|
||
CONTENT/BT3025/ Parallel BattleTech content set (3025-era variant;
|
||
mostly identical to BT/ with a different mech roster)
|
||
CONTENT/RP/ Tesla:Red Planet content
|
||
```
|
||
|
||
Per-game content directories:
|
||
|
||
| Dir | Contents |
|
||
|----------|----------|
|
||
| `MODELS` | `.MOD/.SUB/.DMG/.TBL` — vehicle/mech models, subsystems, damage tables |
|
||
| `ANIMS` | `.ANI` — animations (BT only) |
|
||
| `AUDIO` | `.MID` MIDI music, `.SCP` audio scripts, `.BNK/.BLD` banks |
|
||
| `GAUGE` | `.GIM` — gauge images for the six S3-driven cockpit displays |
|
||
| `MAPS` | `.MAP/.ZNE` — arena/terrain maps and zones |
|
||
| `SOLIDS` | `.SLD` — collision solids |
|
||
| `VIDEO` | Division renderer data: `GEO/` geometry, `MAT/` materials, and `TEX/` textures per environment (ARENA, DAY, NIGHT, DESERT, POLAR, CAVERN, …), `.DZM` skins, `.BMF/.BGF` binary geometry, `BUILD/` sources |
|
||
| `SCENES` | Scene definitions (RP only) |
|
||
| `BTCAM` | Camera batch setups (BT only) |
|
||
|
||
`DIVISION.SAV` subdirectories inside `VIDEO/` are backup saves written by
|
||
Division's tools. `MTMCDAI.SYS` (Mitsumi) and `TAISATAP.SYS` are DOS CD-ROM
|
||
device drivers used on the pod machines.
|
||
|
||
### HEADOFF/
|
||
|
||
INI-style calibration files (`.XST/.CAM/.BAK`) defining viewing extents and
|
||
camera offsets ("head offset") for the cockpit's main display, including a
|
||
`[LAB_ONLY]` configuration.
|
||
|
||
## Provenance
|
||
|
||
- Copyright (C) 1994–1996 Virtual World Entertainment, Inc. All rights
|
||
reserved worldwide. Original headers mark the source as proprietary and
|
||
confidential.
|
||
- Third-party components retain their own copyrights: Division Ltd. (dVS/DPL),
|
||
Human Machine Interfaces (SOS), Erick Engelke / University of Waterloo
|
||
(WATTCP).
|