os8088 / Programs and Features

Spotlight

A closer look at what's new.

September 2026

Pixelstein 3D
Pixelstein 3D full screen on VGA: a stone corridor with blue banners on the left, wood panelling on the right, the pistol at the bottom, and a yellow status bar reading FLOOR 1, SCORE 0, LIVES 3, HEALTH 100 and AMMO 8.

Pixelstein 3D

A raycaster on a 4.77 MHz PC

A first-person shooter in the style of Wolfenstein 3D, written in 8086 assembly.

Eight floors of a stone castle, with doors, keys, guards and dogs. It plays in a window or full screen, in 256-colour Mode X on VGA, four colours on CGA, or black and white on Hercules.

floors
8
on a 4.77 MHz XT
8.5 fps
textured game
262KB
DOS
The DOS box open on the os8088 desktop, its console showing os8088 DOS Version 3.31 and the result of a DIR command listing APPS, GAMES, MEDIA, README.TXT and SYSTEM.

DOS box

Run MS-DOS programs on os8088

A program that answers the calls a DOS program makes, so DOS software runs on a system that is not DOS.

A .COM or .EXE on any floppy runs from a double-click. It can run in a window with os8088 still loaded, or take the whole machine and 149 KB more memory with it. Twelve of fifteen real DOS programs tested on a 4.77 MHz 8088 run.

reports as
DOS 3.30
OS stays loaded
437 KB
OS shuts down
586 KB
Dock
A CGA screen with the dock hidden and a file window named APPS zoomed to the bottom edge, listing six files.

Dock

Room to work on a 200-line screen

Put the dock on the left or right edge, or hide it to a single line.

A new page in the Control Panel moves the strip of program tiles. On a CGA screen, where the dock used to take 24 of 200 rows, hiding it lets a zoomed file window list six files instead of four.

rows given back on CGA
23 of 200
edges
bottom, left, right
side dock on CGA
7 tiles
Dot Delirium
Dot Delirium filling the screen: a blue maze on black with white dots, Smiles in yellow at the lower left, four ghosts, and the word PAUSED, with the score, high score, level and lives in a column at the left.

Dot Delirium

A maze chase sized to the screen

Guide Smiles through three mazes, eat the dots, and turn out of sight to escape four ghosts.

Written from scratch for os8088. The ghosts patrol until they see you down a straight row or column. The board is 28 by 31 tiles on every display, and the tiles grow to fill the screen it is given.

boards
3
on a 4.77 MHz XT
16 to 18 frames a second
smallest machine
128KB
Clear Skies
The view from an aeroplane on the runway at Paris-Issy: blue sky, green ground, a grey runway running to the horizon, hangars to the left and the Eiffel Tower in the distance, with an instrument panel below.

Clear Skies

A flight simulator that fills its shapes

Take off from Paris-Issy with the Eiffel Tower on the horizon, fly, and land -- on a machine from 1981.

Nine airfields, five aeroplanes, and ground and buildings drawn solid rather than as outlines. A filled shape costs its height instead of its area, because it is drawn by walking its two edges down the screen and filling the row between them. On a 4.77 MHz IBM PC/XT that is between 5.8 and 6.5 frames a second.

aeroplanes
5
places to fly from
9
on a 4.77 MHz XT
5.8 to 6.5 frames a second
Apple II Plus
An os8088 window titled Apple II Plus Emulator showing APPLE ][ and a flashing cursor at the Applesoft prompt, with a status strip along the bottom.

Apple II Plus

An Apple II Plus in an 8086 window

Applesoft BASIC at its prompt, the real Apple ROMs underneath, and a status line that says how slowly it is going.

A 48K Apple II Plus: the 6502, all four screen modes, the keyboard and the one-bit speaker, with Applesoft and the character shapes carried inside the program file. On a 4.77 MHz XT the emulated Apple runs at 0.54 per cent of a real one, and the status line prints that figure every second rather than leaving anyone to guess.

guest
Apple II Plus, 48K
screen
280 x 192
speed on an XT
0.54% of a real Apple
BBS terminal
A bulletin board's screen filling the display: a red double-line box holding a main menu, a shaded gradient and a strip of coloured blocks.

BBS terminal

The terminal learns to draw

Sixteen colours, the block characters bulletin-board art is made of, and eighty columns by twenty-five rows.

The terminal used to print what arrived and throw the escape codes away. It now acts on them, gives the whole screen to the board when you press Ctrl+], and downloads files: the board starts a Zmodem transfer, the terminal reads the name off the wire and asks which disk to put it on.

screen
80 x 25, colour per cell
colours
16 foreground, 8 background
transfers
Zmodem, receiving
PaccMan
The PaccMan attract screen showing CHARACTER / NICKNAME and the four ghosts drawn beside their names in red, pink, cyan and orange.

PaccMan

The arcade Pac-Man, in C

A second Pac-Man that shares nothing with the first: the Namco maze, the four real ghosts, and the arcade's own timings.

The tall 28 by 36 arcade field, the board's own tile and colour tables, the ghost personalities and the attract screen that introduces them one at a time. It was meant to be the faster Pac-Man on an old machine and measured out slower: 2.18 frames a second against the hand-written assembly one's 4.14 on a 4.77 MHz XT. That assembly port has since been retired, so this is the Pac-Man that ships.

field
28 x 36 tiles
written in
2,050 lines of C
on a 4.77 MHz XT
2.18 frames a second
Scribe
Scribe with a document open, a bitmap picture of a chip reading os8088 placed at the top of the page.

Scribe

A word processor that takes pictures

The Word work-alike, forked into a program of its own so that one thing could be added: a picture in a document.

It reads BMP, PCX and PIX files, decodes all three into one sixteen-colour form and puts the picture in the text. A plain save writes RTF, where the picture travels inside the document at the depth it arrived at; saving as a Word .DOC converts it down to one bit, because that is what a 1985 Word file holds.

reads
BMP, PCX, PIX
keeps
16 colours
saves
RTF, or .DOC
Hibernate
The os8088 desktop with a Hibernate window asking whether to save everything in memory to drive C and stop the machine.

Hibernate

Stop the machine, and come back to it

Every byte of memory written to the hard disk, so the next start puts the same windows and the same running programs back.

Pick Hibernate and os8088 copies its whole memory to a file, then stops with a line saying it is safe to switch the power off. Start it again and it offers to put you back where you were, down to what was on the clipboard. What stays in the machine while you are not using it is 259 bytes.

saves
all 640KB of memory
always in the kernel
259 bytes
disk operations
about 80 each way
Loom
Loom editing the Pong project on the os8088 desktop, with a sidebar listing the project's files and the markup for the game in the editor pane.

Weave and Loom

Write a program on the machine

Markup, script and formulas, compiled into one file by an editor running on the 8088 itself.

Describe the window in markup, write the code that runs when a button is pressed, and put formulas in the cells. Loom turns those files into a program you double-click to run -- and produces the identical bytes the compiler on a modern computer would. Three examples come with it, including a game of Pong with a computer opponent.

build it on
a 4.77 MHz 8088
Pong runs at
17.7 frames a second
Pong is
1,008 bytes
Sheet
Sheet running on os8088 with a small budget in it, showing a total of 22.75 and an average of 7.583333333 worked out by formulas.

Sheet and Chart

A spreadsheet, and something to chart it with

Four worksheets, 25 functions, decimals worked out in software, and seven kinds of chart.

Sheet is a workbook with formulas, formats, sorting and a macro language, built to look and behave like Microsoft Excel 2.1. It reads and writes the spreadsheet formats of the period, so a file goes to a modern Excel and back. Chart draws the numbers and saves the picture.

each worksheet
256 x 16,384 cells
functions
25
chart types
7
Tank Attack
Tank Attack in play: a wireframe horizon, a centred gunsight, a radar circle and an obstacle, filling the whole screen.

Tank Attack

A wireframe tank duel

About a hundred lines a frame, on three graphics cards, without ever clearing the screen.

Drive across a plain, dodge cubes and pyramids, and shoot enemy tanks that turn toward you and shoot back. Clearing the screen would cost a whole frame on an 8088, so each frame erases only the rows the last one drew into. Forty measured frames contained no uneven frame.

lines a frame
about 100
graphics cards
3
screen clears
none
Control
The os8088 desktop on an EGA card at 640x350 in the colour theme, with a teal desktop and a Control Panel window open.

EGA

The fourth graphics card

os8088 mistook every EGA for a VGA and drew a screen a third taller than the monitor could show.

An EGA is IBM's 1984 card, between CGA and VGA. The bottom 130 lines of the desktop, part of the dock included, were off the tube. os8088 now recognises an EGA and drives it at 640 by 350 in sixteen colours. Reported by someone running it on a real IBM 5160.

screen
640 x 350
colours
16
new drawing code
none

August 2026

Disk
Drive C open on the os8088 desktop after booting from a USB stick, listing every program folder and 31,024K free.

No floppy drive needed

Boot os8088 from a USB stick or a CD

One 32MB drive C with every program on it, and nothing to install.

os8088 has always shipped as floppy disk images, and hardly anything still has a floppy drive. Write one new file to a USB stick, or burn the other to a CD, and a real PC starts straight into the desktop -- both word processors, the story reader, the CP/M emulator, the Commodore 64 and every game already on drive C, with about 30MB free to save into.

drive C holds
every program
free space
about 30MB
needs
legacy BIOS boot
FTP Server
The os8088 FTP server window, showing a log of the commands it has answered for a client that has just uploaded, downloaded and listed files.

The machine answers

An FTP server on a 1981 IBM PC

Drop a file onto the machine from a laptop, while it is running.

Every earlier network program reached out -- a web browser, a Telnet client. This one answers. Another computer on the same network connects, asks the questions, and gets its answers off this machine's own floppies. On a real IBM 5150 the transfer rate went from 7 KB a second to 30 KB a second over one working session.

clients
one at a time
measured on iron
30 KB/s
encryption
none, by nature
VICE (C64)
An os8088 window containing a Commodore 64 startup screen, ending in READY and a cursor.

First impressions

VICE brings the Commodore 64 to os8088

Commodore BASIC and VIC-II graphics -- with a 386 or faster required.

VICE 3.10 supplies the model of the 6510 processor, screen chip and both timer chips. os8088 puts them behind Commodore's own ROMs in a window. An XT or 286 can start the emulator, but neither runs it at a useful speed. The port was developed with assistance from Claude Code and Codex by OpenAI.

software
VICE 3.10
guest
MOS 6510, 64KB RAM
required host
386 or faster
Browser
The os8088 browser showing the Wikipedia article on the IBM PC XT, its infobox drawn as a bordered table.

A new program

A web browser for the IBM PC XT

os8088 now fetches real web pages and lays them out as text and tables, over an Ethernet card or a parallel cable to a DOS machine standing next to it. The network is not the slow part: drawing a window full of text takes longer than fetching the page.

the browser
13,889 bytes
the stack
ARP to TCP
machine
4.77 MHz 8088
RunCPM
An os8088 window with a CP/M boot banner in it, ending in an A greater-than prompt.

CP/M, in a window

CP/M was the operating system small computers ran before the IBM PC existed, on a processor the PC does not have. os8088 now emulates that processor, so CP/M software runs here: the 1979 command processor at the prompt, Microsoft BASIC, an assembler and an editor, in a window you can drag around like any other.

emulates
a Zilog Z80
written in
4,679 lines of C
machine
4.77 MHz 8088
Written in C
A word processor open on the os8088 desktop showing a welcome document with a bold heading and bold, italic and underlined words in the text.

A new program

A word processor written in C

Everything in os8088 up to now was written in assembly language, one processor instruction at a time. There is now a C compiler for it, which is a far quicker way to write a program. To find out whether it could carry something real, I wrote a second word processor with it -- and it turned out too big for the memory a program gets, so it comes in two pieces.

written in
8,350 lines of C
the program
54,450 bytes
machine
4.77 MHz 8088
Microsoft Word
Microsoft Word open on the os8088 desktop, showing a welcome document with a centred heading, bold and italic text and an indented paragraph.

A new program

Microsoft Word, on an 8086

I have added something I have wanted to see for a while: my own os8088 version of Microsoft Word 1.1a. It has the familiar 1990 menus, uses the same clever tricks to show bold and italics on a plain old PC screen, and saves Word .DOC files. The whole program fits in 47KB.

the program
47,212 bytes
saves
Word .DOC files
machine
4.77 MHz 8088
Two monitors
Two period PC monitors side by side, a green monochrome one and a colour one, both showing parts of the same os8088 desktop.

A new feature

Two monitors, one desktop

A PC of this era could hold a monochrome card and a colour card at once, because their picture memory sat at different addresses. Almost nothing used both together. os8088 now spans one desktop across the pair -- 1,360 pixels wide, on a 4.77 MHz machine -- and a window that lands over the join is drawn on both screens.

monitors
2
one desktop
1,360 x 348
machine
4.77 MHz 8088
Frotz
Mini-Zork I running in a window on the os8088 desktop, with a status line reading West of House and two typed commands in the transcript below it.

A new program

os8088 plays Infocom games now

A Z-machine interpreter in 23,722 bytes of 8086 assembly. The Z-machine is the pretend computer Infocom invented in 1979 so one game could be sold for every machine at once -- which is why a story file from 1982 is still a plain file that still runs. Mini-Zork, Colossal Cave Adventure, Zork: The Undiscovered Underground and Photopia all play, off a floppy of their own.

the interpreter
23,722 bytes
story formats
v1 to v8
games it fetches
15

Everything else