DOS ex Machina
Horizon Computer Systems · Desktop series · 1993

The PC you had in 1993. On the screen you have now.

DOS ex Machina draws a beige-box 486, case and CRT and all, and boots a real DOS inside it. It powers on, degausses, counts its memory, and lands at C:\>. Whatever you put on its C: drive runs behind the same glass.

The machine running its POST: the BIOS banner, a 486DX2 at 66 MHz, the memory count, and the turbo display reading 66 The system configuration screen and the DOS prompt under it, with the machine's greeting FreeDOS EDIT in blue text mode, the tube's blue light spilling onto the bezel Tyrian 2000 in its attract mode, with INSERT COIN on screen SETUP, the machine's configuration screen, on its MACHINE section: processor, memory and processor core CATALOG, the machine's shop, with a list of freeware titles and SkyRoads selected
On the tube

Front panel

Every control on the case works.

Give the mouse back to your desktop with Ctrl+F10 and the case is yours to operate: keys press in, knobs turn, the power switch switches. While the machine has the mouse it has your keyboard too, so your desktop's shortcuts stand down and every key reaches DOS. And every key sounds the way it did: the clack of a mechanical board, a different stroke each time, which SETUP turns down or off.

The front of the machine, with nine numbered markers on its parts

Figure 1Front panel. Drawn at your display's resolution, from geometry and a lighting model: there is no photograph anywhere in it.

  1. The tubeA CRT with its own on-screen display, and a bezel whose dish takes the picture's light.
  2. SpeakersTwo moulded pods. What DOS plays, they play: Sound Blaster, AdLib, the PC speaker, and a Roland if you bring its ROMs.
  3. MOUSE key and lampsHOST or DXM: the lamps say who has the mouse. The key gives it to the machine; Ctrl+F10 takes it back.
  4. OSD keyThe monitor's menu, on the glass: picture, geometry and tube, three pages of it. Shift+F1 does the same.
  5. Brightness and contrastGrab a knob and drag. They turn, and the picture follows.
  6. PowerSwitches off properly: the raster collapses to a line, the line to a dot, the fans spin down, the room goes dark.
  7. Turbo displayThe clock in MHz. Minus and plus step the machine through ten processors; MODE shows frames per second instead.
  8. Floppy driveIt runs, and sounds, when a program loads.
  9. The maker's badgeHorizon Computer Systems never existed. The sticker is a little sun-faded all the same, and half a degree off square.
The tube

Nothing here is a photograph.

The case is solved, not painted: moulding partings, speaker pods, louvres and thirty years of wear come out of signed-distance geometry and a lighting model, at whatever resolution your display has. The picture goes through a real pipeline, the same one for the machine's own POST and for DOS, which is why the handover between them is invisible.

A close crop of the picture, showing scanlines, the aperture-grille mask and bloom around bright shots

The picture, pixel for pixel

Scanlines integrated over each pixel's footprint, an aperture-grille mask locked to the source grid, persistence, and bloom where the beam is hot.

The top-left corner of the tube showing a blue text screen, with blue light on the bezel around it

Light on the plastic

The bezel's dish faces the glass, so it takes the picture's colour. A blue screen makes a blue room. The edge of the glass is antialiased along the barrel's curve.

The maker's badge, the power button with its green lamp, and the seven-segment turbo display reading 66

Parts, not pixels

The turbo display bakes its unlit segments into the case and lights the rest in the shader. The power cap throws a shadow that draws in when you press it.

  1. SignalDOSBox's frame, or the machine's own text screen
  2. PersistencePhosphor that takes a moment to let go
  3. DeflectionBarrel curvature, jitter, sync drift
  4. Beam and maskScanlines and an aperture grille
  5. BloomLight bleeding round what is bright
  6. GlassThe glass's own darkening toward its edges, and its sheen
  7. SpillThe picture's light on the case
Specifications

Ten processors. Pick one.

The turbo display's minus and plus step through them, SETUP lists them by name, and the POST prints whichever you chose. The machine remembers it between runs. A game that paces itself by the clock plays the same on any of them; anything that runs flat out shows the difference.

Processors, and what each asks of the emulator
ProcessorClockCycles / msRelative
486DX33 MHz10,000
486DX40 MHz14,000
486DX250 MHz20,000
486DX266 MHz30,000
486DX475 MHz40,000
Pentium-S100 MHz60,000
Pentium-S133 MHz100,000
Pentium-S166 MHz125,000
Pentium-MMX200 MHz150,000
Pentium-MMX233 MHz175,000
Memory
4, 8, 16, 32 or 64 MB
Video
VGA and SVGA, and a 3dfx Voodoo with 4, 8 or 12 MB
Sound
Sound Blaster 16, AdLib, PC speaker; Roland MT-32 and SC-55 with your own ROMs
Keyboard
Yours. The machine reads your layout and gives DOS the matching one, and makes every key clack like a mechanical board
Drives
C: is a folder on your disk, and the only drive the machine mounts
DOS
DOSBox Pure, built from a fork and carried inside
Runs on
macOS, Windows and Linux; x86_64 and arm64; OpenGL 3.3
Licence
GPL-2.0-or-later. Free software
Software

Comes with no software. On purpose.

  • Bring your own. C: is an ordinary folder. Put DOS programs in it, as folders, the way they sat on a hard disk, and run them from the prompt. Nothing needs porting or patching.
  • Or type CATALOG. A shelf of freeware and shareware that its authors give away. The machine downloads each title from where they put it, checks it against a hash, and installs it. It carries none of it itself.
  • It's a PC. Trackers, editors, demos, compilers. If it ran on a 486 with a VGA card, it has a fair chance here.
CATALOG on the machine's screen: a searchable list of freeware titles, with artwork and details for the selected one

Figure 2CATALOG. Just type to find a title; Enter installs it, or runs it once it is there.

Get it

Free, and yours to take apart.

There is no release to download yet. Until there is, building it is four commands and a few minutes.

RELEASE SOURCE
This display asks GitHub for the newest release. Right now there isn't one.

Build it from source

You need SDL3, a C and a C++ compiler, GNU make, libcurl and zlib.

git clone --recursive https://github.com/pedrocatalao/dos-ex-machina
cmake -S dos-ex-machina -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j8
./build/dxm

The DOSBox core is a submodule and builds with everything else. BUILDING.md has the options, the tests, and what to do where SDL3 is not packaged yet.

Questions

Before you ask.

The User's Guide has the long answers: the C: drive, every control, SETUP, CATALOG, the OSD, MIDI, and the command-line flags.

Is this an emulator?

The emulating is DOSBox Pure's. DOS ex Machina is the machine it runs in: the case, the tube, the drive that spins, the power switch, and the BIOS that hands over to it.

Why not just use DOSBox?

You can, and it's excellent. This is for when you want the computer as well as the program: the wait while it counts its memory, the glow on the desk, the knob you turn.

Will my system warn me about it?

Once releases exist, yes, the first time. The builds are not code-signed yet, so macOS and Windows each ask before running them. The guide shows the way through.

Does it need a fast computer?

It needs a GPU with OpenGL 3.3. Most virtual machines don't offer one. The top processors want DOSBox's dynamic core, which it uses wherever your system allows it.

Who is Horizon Computer Systems?

Nobody. The badge on the case needed a maker, and a 1993 PC without a slightly optimistic brand name would not be a 1993 PC.

There was an older version?

An earlier incarnation ran natively ported games behind a simulated prompt. That code lives on the legacy branch. This one runs the real thing.