os8088 v1.0.20260819
os8088 can now get onto a network. There is a web browser that fetches real pages and lays them out as text and tables, a Telnet client, and two ways to reach the wire: an Ethernet card, or a parallel cable to a DOS machine standing next to it. It has run on a 1981 IBM 5150 whose newest part is a 1985 mouse. The rest of the release is interface work -- buttons press in while you hold them, scrollbars are one piece of code instead of one per window, and the RAM disk is configurable and can live in extended memory. The browser has a page of its own.
The download
os8088-v1.0.20260819.zip -- 2.9MB packed, 14.7MB unpacked, 17 floppy images.
You need two of them: a system disk for drive A and a software disk for drive B. Use os8088.img and apps.img at 1.44MB, or os8088-360.img and apps360.img for 86Box and real IBM PC/XT hardware. The README inside says which is which, and SHA256SUMS covers every file. The download page serves the images individually with a checksum each.
sha256 97df7c74bebdff665ba6d688d4dd06c03679b95d18b7d0cdd19d433ad37b02a4
A web browser (#97)
The browser fetches a page over HTTP and lays it out as text and tables. Drawing is the slow part, not the network: a full window of text costs between 1.2 and 2.6 seconds on the machines this runs on, so the browser scrolls the pixels it already has and letters only the rows that were uncovered. It will not do HTTPS: the handshake is minutes of arithmetic on a 4.77 MHz processor. A small program on your own computer does that part and hands the page over. That program also strips the page down: pypi.org goes from 21.8KB of markup to 705 bytes of text, which over a parallel cable is the difference between 55 seconds and 2. There is a page about it.
Two ways onto the network (#97)
The first is an Ethernet card -- an NE1000 or NE2000, the cheap 8-bit cards of the late 1980s -- with a TCP/IP stack written for it, including DHCP, so the machine asks the network for its own address at boot. The second is a parallel cable to a DOS machine, which forwards for it. Both answer the same calls, so a program does not know which one it is using. A machine with both tries the card first. The cable moves a measured 3,741 bytes a second.
A Telnet client (#97)
It connects, it types, and it understands the terminal codes a login prompt sends. It shares the browser's line handling.
Buttons press in, and every scrollbar is the same scrollbar (#97)
A button now draws itself pushed in while the mouse is held down on it, and pops back out if you slide off it without letting go. A button you can also reach with a key flashes the same way when you use the key. Every scrollbar is now one implementation, instead of one written again inside each window that wanted one.
The RAM disk is configurable, and can use extended memory (#97)
You set its size in the Control Panel instead of taking whatever it was built with. On a machine with extended memory it can live up there instead of in the 640KB. It is the first thing in the system to use extended memory.
CP/M games and applications on the CP/M disk (#96)
The CP/M emulator shipped with an assembler, an editor and nothing to play. Its disk now carries LADDER, CATCHUM, Nemesis, WordStar 3.30 and Turbo Pascal 3.01A, fetched from a public collection when the disk is built. How much fits depends on the floppy: the 1.44MB disk takes all of it, the 720KB one takes the arcade games, and the 360KB one has no room for any. Each disk carries a text file naming what is on it, what to type to start it, and what it leaves off.
The music module has its own 360KB disk now (#97)
BEVERLY.MOD is 114 of the 354 clusters on a 360KB floppy. At that size it now ships as media360.img instead of crowding programs off apps360.img. The 720KB and 1.44MB software disks are unchanged and still carry it.
Fixes (#97)
Copying a file to a disk without room for it now refuses before it starts, rather than failing partway through. Holding a key down in a slow program no longer walks the BIOS into a stack overflow. The icon cache had gone stale again, so TeX documents and other newer file types drew the wrong icon. The file-copy progress bar counts operations as well as bytes, so copying many small files moves it. Cyclone's help screen was wrong, its attract screen now lists the enemies, and damage to its webs was miscounted.
Before you start
Networking needs hardware the emulator has to be told about. For an Ethernet card, QEMU wants -netdev user,id=n0 -device ne2k_isa,netdev=n0,iobase=0x300,irq=3; then open the Control Panel, go to Drivers, and attach ETHER.DRV. 86Box and MartyPC have no card this driver can use.
HTTPS goes through a program on your own computer. Nearly every site is HTTPS, and this machine cannot do the encryption, so the browser reaches those sites through tools/os88proxy.py in the source repository. Plain HTTP sites need nothing.
360KB users: the music module moved. It is on media360.img now, not apps360.img. Download both if you want the music player to have something to play. At 720KB and 1.44MB nothing changed.
The build
The kernel is 99,596 bytes, up 3,072 from the last release. Of its own 64KB segment it uses 58,642 bytes, leaving 6,894 free. Built from 3fdf35a.