On real hardware

Every other picture on this site is a screendump taken out of an emulator. These are photographs, of real machines, in somebody's actual house. os8088 was written for the IBM PC/XT and tested in QEMU and 86Box, which is not the same thing as knowing it works -- an emulator implements the hardware you thought about. A room full of 1981 metal implements the hardware that shipped.

All seven photographs on this page were taken by Elendilon, who wrote the 360K disk images onto real floppies and booted them on three different machines over two days -- then filed a careful, generous list of everything that went wrong in issue #35. The photographs, the hardware, the patience and the bug reports are all theirs. Thank you.

An IBM 5150, in Hercules

The original 1981 IBM Personal Computer -- an 8088 at 4.77MHz, the machine os8088 is named after and aimed at. Booted from a Tandon 360K drive off a floppy written from the published disk image, onto a green IBM 5151 through a Hercules GB101 card.

The machine
An IBM 5150 Personal Computer with its Model F keyboard in front and an IBM 5151 monochrome monitor sitting on top of the case. The green phosphor screen shows the os8088 desktop: a menu bar, several overlapping windows and a dock along the bottom.
A graphical desktop on a 1981 IBM PC. Not a mockup and not an emulator window: a 5150 with the original 63W power supply, its Model F keyboard, and a 5151 monochrome display carrying overlapping windows, pull-down menus and a dock. The kernel came off a 360K floppy in the Tandon drive on the left of the front bezel. There is a 20MB Seagate ST-225 in this machine and os8088 cannot see it -- there is no hard disk support -- so everything here was read from the floppy.
Note Pad, listing the machine it is running on
A green phosphor monitor filling the frame. The os8088 desktop carries a Bounce window, a Note Pad typed with the machine's card list, an About os8088 box reading Hercules 720x348, a Clock at 00:11:45, a Task Manager reading CPU 3% and RAM 150K of 640K, a Minesweeper board and a Disk window listing MINES.O88, HELLO.O88, NOTEPAD.O88 and RECORDER.O88.
The inventory was typed into the OS being inventoried. OS8088 Running on a 5150!, and then the slots: Hercules GB101, IBM CGA, a SixPakPlus, the MFM controller and the floppy card -- typed into Note Pad, which is a 1,373-byte package that was itself loaded off the floppy this machine booted from. Behind it the About box reads Hercules - 720x348, which is not a string constant either; it is the display mode the kernel probed for and chose at boot. Six programs are resident at once on a 4.77MHz 8088, and the Task Manager puts the machine at 3%. (The card list says ST-506 in slot 4; its author corrected that to a Seagate ST11M shortly after posting.)
The dark monitor is the point
A desk holding an IBM 5150 with a lit green IBM 5151 monitor on top of it showing the os8088 desktop, and beside it a Packard Bell case with an IBM 5153 color monitor on top whose screen is completely dark. A cassette recorder, a printer and other machines fill the rest of the bench.
Two display cards, one of them ignored on purpose. This 5150 has both a Hercules card and a CGA card in it, with a monitor on each: the green 5151 on the left is running the desktop, and the IBM 5153 on the right is dark. That is the documented behavior -- when a machine offers more than one adapter, os8088 prefers Hercules over CGA, because 720x348 is more than three times the pixels of CGA's 640x200. Nobody chose this at boot; the probe did.

It is not slower than the emulator. The photographer's own summary: "Surprisingly there is no noticeable performance difference in Hercules as compared to the VGA mode (with VGA running in an emulator)." That is the answer to the question this project cannot answer by itself -- whether the drawing code is fast enough on the metal it was written for, or only fast enough on a modern CPU pretending to be that metal.

A Toshiba T1100 Plus, in CGA

A 1986 luggable with a 7.16MHz 8086 and a blue supertwist LCD, running the CGA driver at 640x200. The 360K images were written onto 720K floppies to get them in.

Toshiba T1100 Plus
An open Toshiba T1100 Plus laptop on a white bench with a beige Microsoft mouse beside it. Its wide blue LCD shows the os8088 desktop with a Disk window, a Minesweeper board, a Clock and a Note Pad.
A graphical multitasking OS on a laptop from 1986. The mouse next to it is doing real work: os8088 drives a Microsoft serial mouse on COM1 at 1200 baud, decoding three bytes per report in an interrupt handler that also draws the cursor, and that is the same code path on every machine on this page. At 7.16MHz this is the fastest of the three, and the reporter noticed: "the difference in performance is immediately apparent."
640x200, and a real clock
The Toshiba's blue LCD filling the frame. The menu bar reads Mines and Game on the left and Aug 01 2026 3:45 AM on the right. A Disk window lists MINES.O88, HELLO.O88, NOTEPAD.O88, RECORDER.O88 and PIANO.O88 with NOTEPAD highlighted; a Minesweeper board sits in the middle; a Clock reads 00:04:03; and a Note Pad reads OS8088 on a Toshiba T1100Plus, CGA Graphics.
Squat windows, and the only machine here that knew the date. CGA gives the desktop 640x200 instead of 640x480, so everything keeps its width and loses more than half its height -- the same windows, the same 8x8 ROM font, packed into a strip. The menu bar reads Aug 01 2026 3:45 AM, and that is the wall clock: the T1100 Plus is the one machine of the three whose real-time clock os8088 managed to read. It could not write back to it, so the setting did not survive a reboot. This board is also where the task bar bug was found -- a CGA Minesweeper window is tall enough to overlap the dock, and clicks in the overlap go to the dock instead of the game, so it cannot be finished.

A 286, in VGA

The first round of testing, on a Packard Bell Victory 286 and under PCEM, with a VGA card and the full 640x480 mode 12h desktop -- the mode every other screenshot on this site is taken in, this time on a CRT.

Mode 12h on glass
A CRT filling the frame, showing the os8088 desktop at 640x480. A Clock reads 00:02:16, two Bounce windows each hold a black square, a Task Manager reads CPU 63% and RAM 151K of 639K, a Disk window lists five files with NOTEPAD.O88 highlighted, a Note Pad reads The most notey of pads, and a Piano keyboard is partly hidden behind them. Seven tiles fill the dock.
Eight programs, and the dither doing its job. A Clock, two Bounces, the Task Manager, Disk, Note Pad, Piano and Recorder, with the machine at 63% and 151K of 639K in use. The desktop's flat gray is not a color -- mode 12h has one and os8088 does not use it. It is a one-pixel checkerboard, and this photograph is the proof: a shadow mask and a camera sensor resolve it the way your eye does at arm's length, into gray.
The bench
A corner of a desk with a beige Packard Bell desktop case and a Key Tronic keyboard on the left, and on the right a Gateway 2000 case with a Dell CRT on top of it displaying the os8088 desktop. Two mice and a mouse pad sit between them.
Where the first bug list came from. The Packard Bell Victory 286 on the left and the bench it shares. This is the round that produced most of issue #35 -- the Note Pad cursor that only ever sits at the end of the line, the Save As dialog that can walk into a folder but not make one, the file that remembers its name on save but not its folder, and the Task Manager arguing with itself about how busy the machine is. The reporter apologised for the mess in the photos: they had been moving things to get at a serial port for the mouse.

Two of the three machines could not tell the time. The menu bar in the photographs above reads Jul 04 2026 on both the 286 and the 5150, which is os8088's fallback, not a clock. Neither the SixPakPlus in the 5150 nor the 286's RTC was read. This is a fair hit and a narrow one: os8088 reads the AT-standard clock at ports 70h/71h, which is what a 286 has and what an XT-era clock card generally is not -- the SixPakPlus puts its clock somewhere else entirely. The Toshiba answered, which is why its photographs show a real date.

What the metal found

Three real machines are a better test suite than an emulator, and this is the list they produced -- every item below came out of the same report as the photographs. It is recorded here because the pictures are the fun part and the bugs are the useful part.

  • A window that is partially covered does not repaint at all until it is uncovered.
  • Clicks landing where a window overlaps the dock go to the dock, not to the window, even when the window has focus -- which makes Minesweeper unfinishable in CGA.
  • The Note Pad caret cannot be moved; it stays at the end of the text, in the editor and in the save dialog both.
  • File, then Save keeps the name you saved under but forgets the folder, and writes to the root.
  • The Save As dialog can enter and leave a folder but cannot create one.
  • Deleting a folder with anything in it reports Protected, which is not what is wrong with it.
  • Backspace in the new-folder field clears a character and then refuses further typing.
  • Refreshing in Locator drops you back at the root of the drive.
  • The Task Manager's per-row percentages and its graph do not tell the same story.
  • Seven programs share one generic icon, so the dock is hard to read.
  • Focusing a window by its title bar redraws the screen twice instead of once.
  • Neither the 5150's SixPakPlus clock nor the 286's RTC could be read, and the Toshiba's could be read but not written.

The full report, with the reasoning behind each one, is issue #35. If you boot os8088 on something it has never seen, that is where to say so -- especially if it does not work.

Put it on your own hardware

The download page has 360K images that fit a period drive, which is what was written to floppies for every machine on this page. You need an 8086 or 8088, 256K of RAM, one floppy drive and a VGA, Hercules or CGA card. A serial mouse is optional and worth having.