Screenshots
Every image on this page is a screendump of os8088 actually running: 640x480, exactly the pixels the VGA card was putting on the screen, captured in an emulator by a Python script that moves the mouse, holds menus open and types on the keyboard over a control socket. None of it is a mockup, a redraw or a photo of a monitor. The interface itself is strictly black and white -- the only color in the whole system is Minesweeper's numbers and flags.
The desktop's flat gray is not a color. VGA mode 12h has one, and os8088 does
not use it: the desktop is a one-pixel checkerboard, white where x+y is even and
black where it is odd, which averages to gray at arm's length and resolves into a dither when
you zoom in. The parity is anchored to absolute screen coordinates rather than to the rectangle
being filled, so a repainted patch always seams invisibly into the pattern around it.
The desktop
The boot sector, the menu bar, and the two gestures the whole interface is built out of.
Bounce. There is no
spare copy of the screen to restore from afterwards, so the pixels behind the pull-down are
copied into a 64KB save-under segment at 2000:0000 and put back the instant you let go. The
whole gesture runs inside one routine that reads the mouse position live from the interrupt
handler's variables.
Applications
The kernel carries seven built-in apps; four of them are here: Note Pad, Clock, Bounce and About. Clock and Bounce own a scheduled task each; Note Pad and About do not, and exist purely as callbacks.
pre-emptive is rendered from the kernel's live scheduler byte every
time the box paints, so the About box, the Control Panel and the Task Manager structurally
cannot disagree about which scheduler is running. Flip the Control Panel to Cooperative,
reopen this, and the line reads differently. About is capped at one instance: choosing it
again brings this window forward.The system
os8088 watches itself, configures itself, and keeps a tile for everything it is running.
System -- the row that absorbs the UI task's idle
polling -- holds 94%. Note Pa reads evt because it has no task; its
callbacks are timed at the call site and the cycles are moved off the kernel's tally rather
than copied, so the rows still partition one total.
Loadable software
Programs live on a second floppy in os88fs, a read-only format built for this and nothing else. Two ship with the project: MINES and HELLO.
F=FLAG means
flag mode is on. The board cannot kill you on move one: mine placement is deferred until that
click lands and then steered away from the cell. The flood fill that opens an empty region
uses an explicit 81-entry queue rather than recursion, because the calling task's whole
stack is 1,536 bytes.
This board is also the only place in the system that uses more than two colors.
See it move
Screenshots are the wrong medium for a system whose whole argument is that several things happen at once. The browser demo boots the same floppy image these were taken from, and the download page has the images for QEMU, for 86Box and for a real XT.