Transcribing The Source Of The First DOS For The IBM PC

Doing software archaeology can be a harrowing task, as rarely do you find complete snapshots of particular versions of software. Case in point the development of MS-DOS – also known as IBM PC DOS – from 86-DOS, which recently got a lucky break in the form of printed source listings. These printouts come courtesy of [Tim Paterson], the creator of 86-DOS and of MS-DOS during his time working for Microsoft.

These code listings contain the sources of the 86-DOS 1.00 kernel, multiple development snapshots, and also listings for utilities like CHKDSK. These printed listings additionally contain many handwritten notes, making transcribing it into working source code somewhat of a chore. The results can be found on the GitHub project page, with the original scans available on Archive.org.

Of the ten bundles of continuous feed paper prints all but two have been transcribed so far, though with the various DOS kernels and the Seattle Computer Products (SCP) assembler source already ready for compilation. This includes 86-DOS 1.00, MS-DOS 1.25 and PC-DOS 1.00-dev, requiring the same SCP assembler to create a binary.

In the project page README a number of blog posts are also linked that add even more technical detail. Anyone who wants to pitch in with transcribing and/or testing recovered source code is welcome to do so.

You Can Now Run MS-DOS Applications On The Apple IIe

After a lot of debugging, [Seth Kushniryk] has managed to get the last issuess shaken out of his port of MS-DOS 2.0 to the Apple II, and has released the project to the public. If you have the requisite AD8088 or similar co-processor expansion card with onboard x86 CPU, this should be all you need to get started.

Although this co-processor card contains effectively a self-contained x86 system, its only I/O goes via the expansion bus, so it has to play nice with the 6502 CPU of the Apple II system. When we last reported on [Seth]’s efforts he had just managed to get MS-DOS 2.0 booting and basically in a barebones working state.

Since then he’s been working on the bridge program that provides communication between the 8088 on the card and the Apple II’s 6502, relocating it in RAM to enable high-resolution graphics, as well as other tweaks and optimizations. Also a lot of bug hunting, including an undocumented ProDOS constraint with a request count.

With all of this done it’s now possible to run basically any MS-DOS 2.0 compatible software, assuming it doesn’t try to write directly to video memory. This does limit the software selection somewhat, but back in the day it would probably have been amazing to have that 8 MHz 8088 purring along the 6502 to run both Apple and DOS software titles. Props to [Seth] for restoring this software functionality that had been lost to the ages.

Continue reading “You Can Now Run MS-DOS Applications On The Apple IIe”

Porting MS-DOS 2.0 To The Apple IIe

Although the Apple II range of computers were based around the 6502 processor, they could still run x86 software using expansion cards that were effectively self-contained computers. This way an Apple IIe owner, for example, could install an Intel 8088-based AD8088 co-processor card by ALF Products and run CP/M-86 as well as MS-DOS. Unfortunately, as [Seth Kushniryk] discovered while digging into this MS-DOS option, there don’t seem to be any remaining copies of the accompanying MS-DOS 2.0 software.

The obvious response to this is of course to try and port it once again, which [Seth] did. So far he got it to boot, though it’s not quite ready for prime-time yet. Although the AD8088 card is fairly self-contained, it still has to talk with the Apple IIe system, which poses some challenges. To help with the porting he’s using the MS-DOS 2.0 OEM Adaptation Kit that was released along with the sources a while back.

The Apple II has to first load the basic MS-DOS files into the 8088’s RAM before handing over control, which works now along with the basic functionality. Before [Seth] releases the port to the public he still wants to fix a number of issues, in particular the clock. ProDOS on the Apple IIe encodes the year differently than MS-DOS, so that the latter’s clock is off by a few years, and the console driver is still not quite as robust as [Seth] would like it to be.

Beyond this there is also working with the other cards in the Apple II2 system, including the Super Serial Card, and working with the ProDOS filesystem.

The Fastest MS-DOS Gaming PC Ever

After [Andy]’s discovery of an old ISA soundcard at his parents’ place that once was inside the family PC, the onset of a wave of nostalgia for those old-school sounds drove him off the deep end. This is how we get [Andy] building the fastest MS-DOS gaming system ever, with ISA slot and full hardware compatibility. After some digging around, the fastest CPU for an Intel platform that still retained ISA compatibility turned out to be Intel’s 4th generation Core series i7-4790K CPU, along with an H81 chipset-based MiniITX mainboard.

Of note is that ISA slots on these newer boards are basically unheard of outside of niche industrial applications, ergo [Andy] had to tap into the LPC (low pin count) debug port & hunt down the LDRQ signal on the mainboard. LPC is a very compact version of the ISA bus that works great with ISA adapter boards, specially an LPC to ISA adapter like [Andy]’s dISAppointment board as used here.

A PCIe graphics card (NVidia 7600 GT, 256 MB VRAM), ISA soundcard, dodgy PSU and a SATA SSD were added into a period-correct case. After this Windows 98 was installed from a USB stick within a minute using [Eric Voirin]’s Windows 98 Quick Install. This gave access to MS-DOS and enabled the first tests, followed by benchmarking.

Benchmarking MS-DOS on a system this fast turned out to be somewhat messy with puzzling results. The reason for this was that the BIOS default settings under MS-DOS limited the CPU to non-turbo speeds. After this the system turned out to be actually really quite fast at MS-DOS (and Windows 98) games, to nobody’s surprise.

If you’d like to run MS-DOS on relatively modern hardware with a little less effort, you could always pick up a second-hand ThinkPad and rip through some Descent.

Continue reading “The Fastest MS-DOS Gaming PC Ever”

When It Comes To DOS, Don’t Forget DR-DOS.

Despite the latest and greatest Intel-derived computers having multi-core 64-bit processors and unimaginably fast peripherals, at heart they all still retain a compatibility that goes backĀ  to the original 8086. This means that they can, in theory at least, still run MS-DOS. The venerable Microsoft 16-bit OS may now be long discontinued, but there is still enough need for DOS that the open-source FreeDOS remains in active development. The Register are here to remind us that there’s another open-source DOS on the block, and that it has a surprising history.

SvarDOS is an open source DOS distribution, and it’s interesting because it uses a derivative of the DR-DOS kernel, an OS which traces its roots back to Digital Research’s CP/M operating system of the 1970s. This found its way briefly into the open source domain courtesy of the notorious Caldera Inc back in the 1990s, and has continued to receive some development effort ever since. As the Reg notes, it has something FreeDOS lacks, the ability to run Windows 3.1 should you ever feel the need. They take it for a spin in the linked article, should you be curious.

It’s something which has surprised us over the years, that aside from the world of retrocomputing we still occasionally find FreeDOS being distributed, usually alongside some kind of hardware maintenance software. Even four decades or more later, it’s still of value to have the simplest of PC operating systems to hand.

It’s worth pointing out that there’s a third open-source DOS in the wild, as back in April Microsoft released MS-DOS version 4 source code. But as anyone who used it will tell you, that version was hardly the pick of the bunch.

Header: Ivan Radic, CC BY 2.0.

Hackaday Links Column Banner

Hackaday Links: December 8, 2024

For some reason, we never tire of stories highlighting critical infrastructure that’s running outdated software, and all the better if it’s running on outdated hardware. So when we learned that part of the San Francisco transit system still runs on 5-1/4″ floppies, we sat up and took notice. The article is a bit stingy with the technical details, but the gist is that the Automatic Train Control System was installed in the Market Street subway station in 1998 and uses three floppy drives to load DOS and the associated custom software. If memory serves, MS-DOS as a standalone OS was pretty much done by about 1995 — Windows 95, right? — so the system was either obsolete before it was even installed, or the 1998 instance was an upgrade of an earlier system. Either way, the San Francisco Municipal Transportation Agency (SFMTA) says that the 1998 system due to be replaced originally had a 25-year lifespan, so they’re more or less on schedule. Replacement won’t be cheap, though; Hitachi Rail, the same outfit that builds systems that control things like the bullet train in Japan, is doing the job for the low, low price of $212 million.

Continue reading “Hackaday Links: December 8, 2024”

Running Stock MS-DOS On A Modern ThinkPad

It might seem like the days of MS-DOS were a lifetime ago because…well, they basically were. Version 6.22 of the venerable operating system, the last standalone release, came out back in 1994. That makes even the most recent version officially 30 years old. A lot has changed in the computing world since that time, so naturally trying to run such an ancient OS on even a half-way modern machine would be a waste of time. Right?

As it turns out, getting MS-DOS 6.22 running on a modern computer isn’t nearly as hard as you’d think. In fact, it works pretty much perfectly. Assuming, that is, you pick the right machine. [Yeo Kheng Meng] recently wrote in to share his experiments with running the final DOS release on his Intel-powered ThinkPad X13 from 2020, and the results are surprising to say the least.

To be clear, we’re not talking about some patched version of DOS here. There’s no emulator at work either. Granted [Yeo] did embrace a few modern conveniences, such as using a USB floppy drive emulator to load the disk images instead of fiddling with actual floppies, and installing DOS onto an external drive so as not to clobber his actual OS on the internal NVME drive. But other than that, the installation of DOS on the ThinkPad went along just as it would have in the 1990s.

Continue reading “Running Stock MS-DOS On A Modern ThinkPad”