Legacy OSes Archive

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.

KEYBCS2

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.

Unidentified PC DOS 1.1 boot sector junk identified

Anyone trying to disassemble the PC DOS 1.1 boot sector soon notices that at offsets 1A3h through 1BEh there is a byte sequence that just does not belong. It appears to be a fragment of code, but it has no purpose in the boot sector and is never executed. So why is the sequence of junk bytes there, and where did it come from? The immediate answer is “it came from FORMAT.COM”. The junk is copied verbatim from FORMAT.COM to the boot sector. But those junk bytes are not part of FORMAT.COM, either. So the question merely shifts to “why are the junk bytes in FORMAT.COM, and where did they come from?” It is not known if anyone answered the question in the past, but the answer has been found now, almost 40 years later—twice independently. This kind of digital archeology is deeply fascinating.

DESQview/X : the forgotten mid-1990s OS from the future

So. What is DESQview/X? Many people, in the current day and age, may have never even heard of this system from the mid-1990s. Its predecessor, DESQview (without the “/X”) which was first released in 1985, was a multi-tasking, windowing system for DOS. It allowed someone, with very modest PC hardware, to run multiple text-mode DOS applications at the same time. With overlapping, resizable windows. Pretty darned cool. This multitasking wasn’t the cooperative multi-tasking that we saw in early Windows (through 3.11) and MacOS up through version 9. No sir-ee bob. DESQview had true, preemptive multi-tasking. Fast. Stable. Lightweight. It was downright impressive. But it was all text-mode. Then DESQview/X came along, in the 1990s, bringing a complete X11 (aka X Windows) graphical interface with it. Impressive, for sure. I have heard of it, but never actually used it or even tried it. This article has piqued my interest, and I’m definitely going to fire up a VM and play around with this. For more in-depth information, there’s a book called DESQview/X: A Technical Perspective from 1990 on Archive.org.

VMware mouse driver for Windows 3.x

Running Windows 3.1 in VMware (or seemingly, QEMU, but it’s not yet tested), but annoyed by having to grab and ungrab the cursor manually? Wish you could just move the cursor in and out like a modern OS (one with USB tablet support or VMware Tools drivers), with no Ctrl+Alt dancing? Or want to control your cursor at all under the ESXi web UI? (It doesn’t do relative input.) With this driver, now you can. It implements the interface that VMware uses (the backdoor), replacing the existing PS/2 mouse driver. Vital for anyone who runs Windows 3.x virtual machines.

The ‘Dune’ screenplay was written in MS-DOS

In the brutal future of Frank Herbert’s Dune, computers are outlawed and high level computations are done by specially trained and bred humans called mentats. In Herbert’s world, there’s something elegant about old solutions to new problems. Good then that Oscar winning Dune screenwriter Eric Roth banged out the screenplay using the MS-DOS program Movie Master. Roth writes everything using the 30-year-old software. “I work on an old computer program that’s not in existence anymore,” Roth said in an interview in 2014. “It’s half superstition and half fear of change.” Roth wrote the screenplay for Dune in 2018 and explained he was still using Movie Master on a Barstool Sports podcast in 2020. That means Dune was written in an MS-DOS program. There’s really no reason to stop using software that you like, assuming you can make it secure and ensure your work is properly backed up. It’s trivial to set up a DOS environment, and it’s trivial to ensure not just the files you’re working on, but the entire DOS environment itself is backed up. This applies to many old and outdated platforms – there’s countless ways to virtualise, or to go on eBay and buy some original hardware.

PC DOS 1.1 from scratch

A number of years ago, the Computer History Museum together with Microsoft released the source code for MS-DOS 1.25 (very close to PC DOS 1.1) and MS-DOS 2.11. I never did anything with it beyond glancing at the code, in no small part because the release was rather poorly organized. The obvious gaping hole is the lack of any source code for IBMBIO.COM. I do not know exactly what arrangement IBM and Microsoft had at the time, but in the days of DOS 1.x and 2.x OEMs did not get the source code for IBMBIO.COM/IO.SYS suitable for PC compatibles. I toyed with the idea of writing my own IBMBIO.COM replacement, but eventually gave up because it’s not a totally trivial piece of code and I had no real documentation to work with (until much later). The MSDOS.ASM source code obviously uses the IBMBIO interface, but makes no attempt to document it. The provided IO.ASM source is quite useful, but SCP’s hardware was different enough from the IBM PC that it is of limited utility. So, disassembler it was, and I produced reconstructed source code for PC DOS 1.1 IBMBIO.COM. Actually assembling it turned out to be a bit of an adventure; more on that below. More early DOS shenanigans to brighten your day.

PC-86-DOS

A number of years ago, an 8″ disk containing Seattle Computer Products (SCP) 86-DOS 1.0 was successfully imaged. The newest files on the disk are dated April 30, 1981, making the disk the oldest complete release of what was soon to be known as PC DOS and MS-DOS, about a month older than a pre-release of PC DOS from early June 1981. While it is possible to run the 8″ disk image with 86-DOS version 1.00 under an emulator, it of course doesn’t run on a PC or any PC emulator/virtualizer. That’s a shame because most of the utilities included with SCP’s 86-DOS run under DOS just fine. In theory, it should be possible to provide a PC compatible “BIOS” component (IBMBIO.COM or IO.SYS equivalent) and run the rest of the system more or less unmodified on a PC. In practice, it can in fact be done. Behold PC-86-DOS 1.00, running from this disk image. In case you don’t know or remember, Seattle Computer Products was the company Microsoft bought the rights to DOS from, making SCP’s versions of DOS some of the oldest in existence. Getting these old versions archived and running on modern emulators is critically important for the field of computer archeology.

Build your own NeXT with a virtual machine

In 1985 Steve Jobs resigned from Apple and founded NeXT Inc. in order to build the NeXT Computer. It was ahead of its time and had amazing features thanks to the NeXTSTEP operating system, most famously used at CERN by Sir Tim Berners-Lee to create the World Wide Web. NeXTSTEP later became OPENSTEP and when Apple acquired NeXT in 1997, they used it as the basis for Mac OS X and iOS. If you’ve done any Mac or iOS programming, you’ve seen the echoes of NeXTSTEP in the type names – NSObject, NSString, NSDictionary, and many others all come directly from NeXT (NS = NeXTSTEP). These computers cost about as much as a new car when they first came out, so they were out of reach for most people. What was it like to use a top of the line system in the early 90s? Let’s build our own and find out! Exactly as it says on the tin. A fun few hours.

Linus Tech Tips takes a look at TempleOS

Terry Davis may not be as well-known as Linus Torvalds, but his open source operating system may be a legacy that will live on forever. What is it, and how do you use it? I honestly never expected something like TempleOS and Terry Davis to make its way onto a popular YouTube channel like Linus Tech Tips (and OSNews even makes a small cameo). Linus and Anthony do a good job of providing an overview of TempleOS and its creator. Davis used to frequent OSNews, even during the harsher spells of his illness, and it wasn’t easy to deal with someone like him, even in a small community like OSNews. He didn’t just post religious ramblings, but also deeply racist ramblings. It’s sad that, like so many others, he wasn’t able to get the medical help he clearly needed.

Symbian won

I was working in the mobile phone industry just as smartphones were taking off. I saw the Palm Pilot rise and fall. I witnessed NEC and Sagem and a host of companies launch smartphones and then disappear. But the greatest tragedy of them all was Nokia and their Symbian Operating System. Symbian was, for its time, a brilliant OS. It ran 3D games smoothly, had terrific hardware support, a decent ecosystem for developers. And it was bloody annoying for users. Every few minutes, Symbian would interrupt you to ask “Are you sure you want this app to connect to the Internet?” His final paragraph has a point.

The Counterpoint program launcher

The Counterpoint program launcher was supplied with the Amstrad PC5086 and other Amstrad PCs from that era. It acts as a user-friendly front end, replacing the full GUIs (Windows 2.0, or GEM) supplied with previous models. The Amstrad-branded version opens with a warning that it should only be used on Amstrad computers. However it appears to run successfully in non-Amstrad environments, such as the virtual machine used to make these screenshots. I love discovering user interfaces I’ve never known about this before, and this one fits the bill just right. Wild UI experimentation was the norm during the late ’80s and early ’90s, before we all settled on what we’re all using now. Digging into the past and learning from even relatively obscure footnotes such as these is fascinating.