os8088 v1.0.20260902
You can now write a program on the machine itself. Weave runs an application written the way a web page is written -- markup, script and formulas -- and Loom is the editor that builds one, both on a 4.77 MHz 8088. The other new programs are a spreadsheet, a charting program and a first-person tank game. An IBM EGA graphics card is now driven at 640x350 instead of being treated as a VGA, which put the bottom third of the desktop off the monitor.
There is a page about each of the four: Weave and Loom, Sheet and Chart, Tank Attack and EGA.
Write a program on the machine (#128)
Weave runs an application written the way a web page is written: markup describes the window, a small JavaScript-like language holds the code that runs when a button is pressed, and cells can hold formulas. Loom is the editor. Type the files on the machine, press Ctrl-P, and Loom turns them into one file you double-click to run.
Loom and the compiler that runs on a modern computer produce identical files, byte for byte. Three examples come with it: a form, a spreadsheet, and a game of Pong with a computer opponent that runs at 17.7 frames a second on a 1981 IBM PC.
A spreadsheet and a charting program (#117)
Sheet is a workbook of four worksheets, each 256 columns by 16,384 rows. It has 25 functions, cell formats, notes, sorting and a five-command macro language. It reads and writes SYLK, DIF and BIFF, the spreadsheet file formats of the period, so a file can go to Excel and come back. Chart draws the seven chart types Excel 2.1 had and saves the picture as a BMP.
Cells hold decimals: 1/3 is 0.3333333333 and SQRT(2) is 1.41421. The 8088 has no floating-point hardware, so that arithmetic is done in software; if an 8087 arithmetic coprocessor is fitted, Sheet finds it at start-up and uses it instead.
Tank Attack (#121)
A first-person tank duel drawn in wireframe. Drive across a plain, dodge cubes and pyramids, and shoot enemy tanks that turn toward you and shoot back. It follows the 1983 MS-DOS port of Atari's 1980 arcade game.
About a hundred lines are drawn a frame and the screen is never cleared, because clearing it costs a whole frame on an 8088. Each frame erases only the rows the frame before it drew into. Forty measured frames on both black-and-white cards contained no uneven frame.
EGA cards get their own screen (#138)
An EGA is the IBM graphics card that came between CGA and VGA. os8088 treated every EGA as a VGA and drew a 640x480 desktop. An EGA monitor shows the top 350 lines of that, so the bottom third was off the screen, part of the dock with it. The kernel now recognises an EGA and drives it at 640x350 in 16 colours, and the colour desktop theme works there. Tested on an IBM 5160 with an IBM EGA card in it.
Drawing on VGA is faster (#116)
Characters draw about three times faster than before. Paint puts the os8088 logo on screen in 170 milliseconds where it used to take 7 seconds. The music tracker holds its playback rate with the full-screen display open on a 12 MHz 286, which it could not do before.
The machine works less when it is idle (#116)
While the system was waiting for something to happen, about 30% of its processor time went on checks that almost never found anything: whether the clock in the corner had ticked, whether a held key should beep, whether a file dialog had closed. That is now about 2%.
The start-up screen (#121)
It draws its full window and progress bar on every graphics card rather than only on VGA, and it names each stage of the start-up instead of only the drivers. The animation is driven by a timer, so it moves at one speed whatever the disk is doing. Drawing the caption and percentage as an image rather than a character at a time took 5.9 seconds off a boot from floppy.
Paint (#121)
A stroke is drawn in runs rather than one dab at a time, and the canvas catches up when you let go of the button. Undo now steps back a whole stroke. The canvas can be resized, and closing a picture with unsaved changes asks first.
Worth knowing
The machine needs 196KB of memory to start, where it used to say 128KB. Once it is at the desktop the whole system still fits in 128KB -- the two are different questions and used to be answered by one number.
Weave and Loom are not on the software disk. There is no room for them there. They have a disk of their own: weave.img at 1.44MB, weave720.img at 720KB and weave360.img at 360KB. They are also on apps-all.img and on the live USB image and CD. Sheet, Chart and Tank Attack are on the software disk with everything else.
The download
One file: os8088-v1.0.20260902.zip, 5.7MB, holding all 24 disk images.
Most people need two of them: os8088.img in drive A and apps.img in drive B. For a real IBM PC/XT or 86Box, take os8088-360.img and apps360.img instead.
If your machine has no floppy drive, os8088-usb.img and os8088.iso are in there too. The first is a hard-disk image to write raw to a USB stick; the second is the same system on a CD. Either boots a legacy-BIOS PC or an emulator straight to the desktop with every program on drive C and about 30MB free.
The zip's own checksum:
sha256 7686dc7a2d760a03df5a30535cef88d6a4afb81bc4fda48527cea94c58307a68
A checksum for each image is in SHA256SUMS inside the zip, and on the download page. README.txt inside says which files you need and how to start them.
The build is deterministic: anyone who builds this version from source gets these same bytes.