BBC MICRO · 3D SERVICES ROMALPHA · USE AT YOUR OWN RISK
E3D
An experimental 3D services ROM for the BBC Micro family: camera transforms, projection, depth and viewport clipping, and batched geometry. EGFX draws the results and EAudio provides sound.
E3D provides only generic 3D services: drawing and sprites stay in EGFX, and music and effects stay in EAudio. The long-term goal is complete Doom E1M1 gameplay on a Master with an accelerated coprocessor, using hidden-line level geometry with bitmap actors and items and no projected textures. The API is experimental and still changing.
01 · Status (E3D 0.9)
- Callable ROM services: INIT, STATUS, integer point projection, near/far segment clipping, and a generic yaw camera transform (0.4). Each is tested through the host ROM and on a 6502 Turbo parasite, with EGFX and EAudio calls interleaved.
- Resident batches: the ROM preloads its own NMOS code onto the parasite (0.5). Point batches of up to 32 points (0.6), segment-clip batches of 16 (0.7), viewport-clipped screen-line batches of 16 (0.8) and face-projection batches (0.9) report a result for each item.
- A first native E1M1 slice on Master Turbo: a textureless, keyboard-controlled start sector. Opaque walls, floors and ceilings hide edges behind them, there is collision with wall sliding, and the 6502 client handles camera, clipping, projection and visibility before EGFX draws the surviving edges. It is a first slice, not gameplay.
- Actor work in progress: actor spawn metadata is staged with the level and the first actor has been projected through the native point service. An experimental actor sprite ROM and capture tooling were added on 23 October.
- Offline tools: a WAD audit, a textureless EGEO converter (E1M1: 55,714 bytes of map data become 19,578 bytes), EGSP v3 sprite extraction and a desktop hidden-line reference checked against a ray–triangle oracle.
There is still no public download. Doom data comes only from a lawfully obtained local WAD and is never committed or distributed, so this page shows only original, synthetic captures.
02 · First light

03 · Roadmap
- Full E1M1 navigation. Beyond the start sector, with moving doors hiding geometry correctly.
- Actors and sprites. Bitmap actors clipped by level geometry and drawn in the right order; pre-sized frames compared with bounded scaling.
- Measured budgets. Guest cycles, Tube transfer, ROM and resident RAM on named emulator profiles. Batching faces has so far gained only about 0.4%, so the hidden-line work itself is the target.
- Gameplay acceptance. Collision, doors, switches, enemies, weapons, damage, pickups and exit: the complete E1M1 gate on a Master with an explicitly accelerated coprocessor.