Legacy OSes Archive

Don’t waste money on a math coprocessor they said

I tried to launch BattleTech over and over and had zero success. I couldn’t figure out why it was struggling on my model 80 board, where it runs just great on 86Box. What is going on? One thing I had stumbled upon was that if I launched an ancient Infocom game in a DOS box, and then launched BattleTech it had a much higher chance of running. But this did not always equate to it working. How is launching an old COM file from the early 80’s excise the ‘devil’ of some 1988 EXE from running? As the title suggests, it’s got to do with the math coprocessor. I know I say this often, but I’m so glad people dive into these sorts of things decades later to figure out what’s going on. It makes for great reading.

Browsing the WWW on a 1980s IBM PC using MicroWeb

Do you ever sit at your 1981 vintage IBM PC and get the urge to pop onto that newfangled ‘WWW’ to stay up to date on all the goings-on in the world? Fret not, because Al’s Geek Lab has you covered with a new video, which you will unfortunately have to watch on a device that was made at the very least in the late 1990s. What makes this feat possible is a miniscule web browser called MicroWeb, created by jhhoward, that will happily run on an 8088 CPU or compatible, without requiring any fiddling with EMS or similar RAM extensions. Anything is possible, if you just want it hard enough.

CP/M-65: CP/M on the 6502

This is a native port of Digital Research’s seminal 1977 operating system CP/M to the 6502. Unlike the original, it supports relocatable binaries, so allowing unmodified binaries to run on any system: this is necessary as 6502 systems tend to be much less standardised than 8080 and Z80 systems. (The systems above all load programs at different base addresses.) Currently you can cross-assemble programs from a PC, as well as a working C toolchain with llvm-mos. For native development, there’s a basic assembler, a couple of editors, and a BASIC. You need about 20kB to run the assembler at all, and of course more memory the bigger the program. The usefulness of this project is debatable, but that doesn’t make it any less cool.

Zilog’s forgotten operating system: Z80-RIO

When it comes to famous operating systems for the Z80 and similar Zilog processors, the first and maybe only one to come to mind is CP/M, which was even made its presence known on the dual-CPU (8502 and Z80) Commodore 128. Yet Zilog also developed its own operating system, in the form of the comprehensively titled Z80 Operating System with Relocatable Modules and I/O Management (Z80-RIO for short). With limited documentation having survived, Ralf-Peter Nerlich has set out to retain and recover what information he can on RIO and the associated Programming Language Zilog (PLZ) after working with these systems himself when they were new. Catchy name, and awesome work to try and recover as much about it as possible.

Thirty years ago: MS-DOS 6.00, DoubleSpace, and MultiConfig

In addition to several new full-screen utilities, like DEFRAG to defragment your hard disk (licensed from Symantec), MSBACKUP to efficiently backup your hard disk (also licensed from Symantec), and MSAV to check for viruses (licensed from Central Point Software), there were a number of new command-line programs, such as CHOICE, DELTREE, MOVE, MSCDEX, and SMARTDRV. But the biggest addition to MS-DOS 6.00 was a new feature called DoubleSpace (dubbed “MagicDrive” internally) that automatically compressed everything on your hard disk, providing up to “double” the amount of effective disk space – or more, or less, depending on how compressible your files were overall. Despite growing up with MS-DOS since our first computer was a 286 PC in 1990 or so, I never used any of these advanced features. I was 6-7, and just wanted to play games, basically. It’s only now that I’m much older that I actually admire the crazy things people have managed to squeeze out of – or into – DOS.

A virus for the BBC Micro

In short, no, I’m not making it up, I did make a virus back in 1990. I don’t have the source code, unfortunately, for two reasons. It was over thirty years ago. I’m a chronic hoarder, but seemingly not that chronic. The floppy discs containing the code were confiscated. No, my mum wasn’t proud, indeed she didn’t even know about this episode at the time, and still doesn’t. Not that she’d understand what a computer virus is, even if I attempted to explain it to her. What a great story.


The other day I had a pressing “need” to examine the behavior of Adaptec 154x and compatible SCSI HBAs and their DOS drivers. I found the hard way that the AHA-154xB does not work with Adaptec’s last DOS drivers from circa 1999. That includes the drivers still available for download (ASPI4DOS.SYS version 3.36), as well as the driver shipped with OEM versions of Windows 98SE (ASPI4DOS.SYS version 3.36S). The error message is far from enlightening; effectively the driver acts as if there were no HBA at all. It turns out it’s an incredibly interesting story.

dosfetch: a neofetch clone for DOS

You know neofetch, the little tool that shows you some nicely formatted system information in your terminal? Even though I find Archey 4 vastly superior, neofetch is still cool and often serves as an inspiration for people to create similar fun tools for other platforms. In this case – DOS, through dosfetch. That’s really all there’s to it – it’s just a fun little toy for a classic operating system.

Here’s why the best IMAX movies still need a Palm Pilot to work

About a small town’s worth of people pointed me to this on Mastodon, so here it goes: In an IMAX theater, the m130’s job is to control the quick turn reel unit, or QTRU for short. (For many years, it appears, a non-emulated m130 sat holstered in most theaters.) The QTRU’s job is to control the platters, which are those large horizontal shelves where all of a film’s many reels are stitched together, stored, and then quickly spun out to and from the projector. The IMAX 1570 projector moves film at a little under six feet per second, so it’s all happening really fast. The m130 is apparently crucial to keeping the thing humming — “PALM PILOT MUST BE ON ALL THE TIME,” reads a notice above an image of a different m130 that has since been passed around the internet — but doesn’t often need to be used. “I’ve never had to interact with the Palm Pilot,” says one person familiar with the technology. “It’s really just a status screen.” Its job is to keep the QTRU moving at a consistent speed and to help keep the film’s video in sync with its audio. This doesn’t surprise me one bit. In environments like these, if something works, and has been working reliably for decades, there’s really no reason to change any of it. This application is probably quite simple, but since there’s only a very small number of theaters out there even capable of showing 70mm film, and it doesn’t look like it’s a format on the up and up.

DESKTOP2: a graphical user interface for DOS

DESKTOP is a graphical user interface for DOS, which ones used to be a commercial shell like MS-Windows 3.0 or GEOS. However, due to the dominance of MS-Windows 95, we were forced to stop publishing the program, so it’s free now… I’ve done a lot of digging into these alternative shells for both MS-DOS and Windows 3.x/9x, but I had somehow never heard of this one. It’s freely available, and has some neat and interesting features, like copy and paste, a full file manager, and much more.


An SDK for developing DOS software for x86 machines, including IBM PC compatibles and NEC PC-98 This SDK (Software Development Kit) is modeled after the Amiga NDK (Native Development Kit). The Amiga NDK contains a set of header files and libraries for both assembly and C development, which provides all the required constants, flags, data structures and whatnot to interface directly with the hardware, and having readable code making use of human-readable symbols and type definitions. An equivalent for the IBM PC platform, or PC DOS/MS-DOS/compatible environments has never been available to my knowledge. This SDK attempts to fill that void. Think of it as Ralfs Interrupt List and Bochs ports.lst turned into .inc/.asm and .h/.c files ready for use in a programming environment. What an awesome initiative.

How to start with CP/M

As of year 2004, Dr. Gary Kildall’s operating system called CP/M was approaching 30 years old. I decided then to describe that history on my Web site, before it was lost. I worked on that through 2008; and updated my notes since. See my DRI home page for links to Web pages about that event, and about about persons, companies and developments related to Digital Research and/or CP/M in the S-100 and microcomputer world of the 1970’s. This Web page provides some ideas about how to get and “run” CP/M today, or past alternatives to CP/M, in the 21st century. I should really set up a CP/M environment to experience what it’s like – when I first started using computers, it had already lost out to DOS.

The Internet Archive just put 565 Palm Pilot apps in your web browser

Yes, I am playing Dope Wars on a Palm Pilot inside my iPhone. It’s thanks to The Internet Archive, which is once again launching a giant collection of software you can instantly play on any web browser, up to and including your touchscreen-equipped phone. There are currently 565 classic Palm apps in all, including games, widgets, and even free trials from both the greyscale and color eras. This is probably the easiest way to experience Palm OS applications now. I will still opt for any of my dozen or so real devices, but having so many applications safe and sound on the Archive is amazingly awesome.

Apple II Desktop updated

Disassembly and enhancements for Apple II DeskTop (a.k.a. Mouse Desk), a “Finder”-like GUI application for 8-bit Apples and clones with 128k of memory, utilizing double hi-res monochrome graphics (560×192), an optional mouse, and the ProDOS 8 operating system. There’s a new version with tons of improvements.

The many derivatives of the CP/M operating system

But still, CP/M was, for a while, the industry-standard microcomputer OS, making Digital Research a powerful and important company. Wealthy companies that lose dominance over a market they formerly controlled don’t tend to just give up. Digital Research put a substantial R&D effort into expanding and enhancing CP/M, creating a large family of OSes. It had some significant wins and big sales. Some of those products are still in use. All those products are arguably “CP/M derivatives”, and as such, Bryan Sparks’ 2001 edict might have just open-sourced them all. One of the many giants we lost along the way.

A Graphical OS for the Atari 8-bit

Atari 8-bit fans have long hankered after a GUI similar to GEOS on the Commodore 64. Diamond GOS went some way to addressing this deficiency, and since then there have been several creditable attempts at implementing a GUI OS on the A8. Now there’s another one in the pipeline: an as yet unnamed project which aims to bring a pre-emptive multi-tasking graphical operating system to the 8-bit Atari. This is a seriously impressive project with ambitious goals, and it looks great considering the hardware it’s running on.

CP/M’s licensing situation cleared up

CP/M has been in a sort of legal limbo for quite a while – the code was openly available, but not through a license, but a short paragraph in an email that contained an odd piece of phrasing that wasn’t entirely clear, and could easily be misunderstood as “you can only distribute any derivative works through this one specific website”. This has now been clarified by the rights holder – DRDOS, Inc. and Bryan Sparks, president of DRDOS… In an email. However, this time the wording is a lot more clear. “Let this paragraph represent a right to use, distribute, modify, enhance, and otherwise make available in a nonexclusive manner CP/M and its derivatives. This right comes from the company, DRDOS, Inc.’s purchase of Digital Research, the company and all assets, dating back to the mid-1990’s. DRDOS, Inc. and I, Bryan Sparks, President of DRDOS, Inc. as its representative, is the owner of CP/M and the successor in interest of Digital Research assets.” This still is far from ideal, since a real license, e.g. MIT or BSD or whatever, would be easier, but at least this clears the waters quite a bit.

FreeDOS 1.3 released

The new FreeDOS 1.3 is now available for download! This contains a bunch of great new features and improvements since the 1.2 release, including: new FreeCOM 0.85a, new Kernel 2043 and an 8086 version with FAT32 support, floppy Edition now uses compression and requires about half as many diskettes, the return of networking, some new programs and games, many many many package updates, some updates and improvements to NLS, improved install process, especially with the MBR, some support to automatically set the COUNTRY.SYS information, improved CD initialization for the boot media and installed system… And much, much more! There’s lot of changes, fixes, and improvements in here, so go get it and play with it.


After writing about the likely origins of IBM code page 852, I thought I should revisit the homegrown Czech alternative solution, the Kamenický brothers encoding and their keyboard driver. Its existence is well documented, and the so-called (somewhat misnamed) KEYBCS2 encoding even has its own Wikipedia article. The encoding itself lives on in various conversion tables, and utilities to convert text to or from the Kamenický encoding are easy enough to locate. But finding the actual KEYBCS2 utility turned out to be ridiculously difficult. I scoured the Internet for it. I could not find it. At all. I found a fair amount of text talking about it, but not the actual utility. A nice investigation into the past for a Sunday.