Video And Audio Playback On Low-End MS-DOS Machines

For most people the phrases ‘MS-DOS’ and ‘video playback’ probably aren’t commonly associated, yet it was quite normal as those of us who were watching full-motion video with games like Command & Conquer can attest to. These audiovisual experiences did however require somewhat more capable hardware than something like an original, 4.77 MHz IBM PC. More recently, however, the removal of these limitations has been turned into a challenge that has been gleefully accepted by hackers, including [Scali] whose recent tinkering with getting not only real-time video but also audio working on these old beasts has been documented on their blog.

Unlike existing early video formats like FLIC from the 1990s, the XDC format developed over the past years enables real-time, 60 FPS video and audio playback on an 8088 IBM PC that has a SoundBlaster 2 and CGA card installed. As [Scali] notes, the SB2 card is convenient, because it enables DMA transports for the audio data, which saves a lot of precious CPU cycles. Unlike the original SB card, it also fixes some teething issues, but an SB2 is hardly ‘low-end’ for an early 1980s PC, so it has to go.

Continue reading “Video And Audio Playback On Low-End MS-DOS Machines”

The IBM MDA Should Have Been The CDA

If you are reading this on an IBM PC-compatible computer, it is a certainty that its graphics card will support the lowest common denominator of PC displays, the Monochrome Display Adapter, or MDA. This was a video card which delivered a text-only display in black-and-white that was an option fitted to the very first PC models. But was it really a monochrome display adapter? [TubeTimeUS] is here to show us that when connected to the appropriate colour monitor, it can produce text in colour. It seems that this was a feature only on the very earliest revisions of the card.

Reading up on the MDA card, we find that at its heart it had a Motorola MC6845 CRT controller, a chip that appeared in a huge variety of machines from that era. The beauty of this chip was that it provided the correct timing signals and memory locations for video to be created, but didn’t include any video circuitry thus the designer was free to craft a video device to their specification, allowing for it to appear in both colour and monochrome devices. While the MDA card only supported a text mode it seems its designers managed to put in some form of colour attribute support even if it was never marketed as such. We’re not students of IBM graphics card modes here at Hackaday, but it would be fascinating to know whether this undocumented mode works in the same way from the software side as the colour text modes on CGA and better colour cards.

Continue reading “The IBM MDA Should Have Been The CDA”

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 (also embedded below), 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.

Of course, you do need to have some kind of way to actually connect to the World Wide Web, which can be an ISA network expansion card, EtherSlip, as well as using a thin client as a network bridge with some Serial Line Interface Protocol (SLIP) action. Of course, some limitations exist, in that graphics and CSS are not rendered, JavaScript is totally off-limits, and for HTTPS-only websites a workaround like retro-proxy has to be used as TLS encryption would be completely unusable on a couple-of-MHz-CPU.

There’s also the FrogFind service, which will helpfully strip down a target website down to its barest HTML essentials, along with the 68K News site that strips down Google News, so that you can enjoy the WWW in its text-based glory as it would have looked in the early 1980s.

(Thanks to [Stephen Walters] for the tip)

Continue reading “Browsing The WWW On A 1980s IBM PC Using MicroWeb”

MS-DOS Meets The Fediverse

By now, most Windows users are set up with decently functional machines running Windows 10 or 11. Of course there are a few legacy machines still lagging behind on Windows 7 or 8 and plenty of computers in industrial settings running ancient proprietary software on Windows XP. But only the most hardcore of IBM PC users are still running DOS, and if you have eschewed things like Unix for this command-line operating system this long you might want to try using it to get online in the Fediverse with Mastodon.

The first step is getting DOS 6.22, the most recent version released in 1994, set up with all the drivers and software needed to access the Internet. At the time of its release there were many networking options so the operating system didn’t include these tools by default. [Stephen] first sets up an emulated NE2000-compatible networking card and then installs the entire TCP/IP stack and then gets his virtual machine set up with an IP address.

With a working Internet connection set up, the next step on the path of exploring federated social media is to install DOStodon (although we might have favored the name “MastoDOS”) which is a Mastodon client specifically built for MS-DOS by [SuperIlu]. There are pre-compiled packages available on its GitHub page for easy installation in DOS but the source code is available there as well. And, if this is your first time hearing about the Fediverse, it is mostly an alternative to centralized social media like Facebook and Reddit but the decentralization isn’t without its downsides.

An IBM PC showing "68000 IBM PC" on its monitor

IBM PC Runs BASIC With Motorola 68000 CPU Upgrade

Although ARM CPUs have been making headway in several areas of computing over the last decade or so, the vast majority of desktop, laptop and server CPUs are still based on the x86 architecture. How that came to be is no secret, of course: IBM chose the Intel 8088 to power its model 5150 PC back in the early 1980s, and since it became the dominant PC platform, everyone else followed suit. But what if IBM’s purchasing department had got a good deal at Motorola instead? [Ted Fried] has been experimenting with that scenario, by equipping an IBM PC with a 68000 CPU.

To be fair, he didn’t use an actual Motorola chip; instead, he emulated a 68k core on a Teensy 4.1 and implemented the 8088’s bus interface on its pins. The emulated core does exactly the same thing an actual CPU would do, while the rest of the computer works the same way it always did – data is stored in the motherboard’s DRAM chips, keystrokes are processed by the standard 8255 chip and progam output is displayed on the monitor through the MDA video card. Continue reading “IBM PC Runs BASIC With Motorola 68000 CPU Upgrade”

How The IBM PC Went 8-Bit

If you were around when the IBM PC rolled out, two things probably caught you by surprise. One is that the company that made the Selectric put that ridiculous keyboard on it. The other was that it had an 8-bit CPU onboard.  It was actually even stranger than that. The PC sported an 8088 which was a 16-bit 8086 stripped down to an 8 bit external bus. You have to wonder what caused that, and [Steven Leibson] has a great post that explains what went down all those years ago.

Before the IBM PC, nearly all personal computers were 8-bit and had 16-bit address buses. Although 64K may have seemed enough for anyone, many realized that was going to be a brick wall fairly soon. So the answer was larger address buses and addressing modes.

Intel knew this and was working on the flagship iAPX 432. This was going to represent a radical departure from the 8080-series CPUs designed from the start for high-level languages like Ada. However, the radical design took longer than expected. The project started in 1976 but wouldn’t see the light of day until 1981. It was clear they needed something sooner, so the 8086 — a 16-bit processor clearly derived from the 8080 was born. Continue reading “How The IBM PC Went 8-Bit”

Emulating The IBM PC On An ESP32

The IBM PC spawned the basic architecture that grew into the dominant Wintel platform we know today. Once heavy, cumbersome and power thirsty, it’s a machine that you can now emulate on a single board with a cheap commodity microcontroller. That’s thanks to work from [Fabrizio Di Vittorio], who has shared a how-to on Youtube. 

The full playlist is quite something to watch, showing off a huge number of old-school PC applications and games running on the platform. There’s QBASIC, FreeDOS, Windows 3.0, and yes, of course, Flight Simulator. The latter game was actually considered somewhat of a de facto standard for PC compatibility in the 1980s, so the fact that the ESP32 can run it with [Fabrizio’s] code suggests he’s done well.

It’s amazingly complete, with the ESP32 handling everything from audio and video to sound output and keyboard and mouse inputs. It’s a testament to the capability of modern microcontrollers that this is such a simple feat in 2021.

We’ve seen the ESP32 emulate 8-bit gaming systems before, too. If you remember [Fabrizio’s] name, it’s probably from his excellent FabGL library. Videos after the break. Continue reading “Emulating The IBM PC On An ESP32”