Gaming

Going deep with the Book 8088, the brand-new laptop that runs like it’s 1981

image
The words you're reading are time travelers. They were written on a laptop that is technically brand new, in the sense that it was only released recently. But everything from the word processor this text was written in to the CPU that ran it is decades old. I am writing this on the Book 8088, an utterly bizarre $200-ish imported system that uses a processor from 1984, a custom motherboard design, and a bunch of cobbled-together parts to approximate the specs of the original IBM PC 5150 from 1981. It's running at a blazing-fast speed of 4.77 MHz, at least when it's not in TURBO MODE, and it has a generous helping of 640KB (yes, kilobytes) of system memory. (If you can't buy one now, keep an eye on the listing because it has blinked into and out of stock a few times over the last few weeks). This is a weird computer, even by the standards of all the other weird computers I've gotten my hands on. Its keyboard is cramped, it comes with a stolen BIOS and stolen software, and everything is always just slow, slow, slow. Its speakers keep crackling unhappily at me for no readily apparent reason. Its tiny, low-resolution LCD screen is hopelessly dim. Tech support is supplied by the AliExpress seller in China, with both sides relying on automated translation to bridge the language gap. And I do need a little tech support because the system isn't quite working as promised, and the hardware that is working mostly isn't configured optimally. And yet! The Book 8088 remains an interesting technological achievement, a genuine IBM PC compatible that shares a lot in common with my first ancient, terrible personal computer. I'm not sure it's a good buy, even for retro-tech die-hards who eat and breathe this sort of thing. But that doesn't mean it hasn't been a ton of fun to explore. In this article, we'll mainly be looking at the hardware of the Book 8088, including its historical roots and what it has been like to get it up and running. In part two, we'll take a deeper dive into vintage and modern software to explore exactly what you can do on this kind of machine in 2023.

Intel’s 8088 and the rise of the “IBM-compatible”

Intel's first x86 processor was the 8086, which was released in mid-1978. It was the company's first 16-bit processor at a time when most were still 8-bit, and it could execute assembly code written for Intel's earlier 8008, 8080, and 8085 chips. But this same relatively forward-looking design made it more expensive to use, so it didn't become the chip that would help the x86 architecture take over the computing world. That honor went to 1979's 8088, a cut-down version of the 8086 that could execute the same code and remained a 16-bit chip internally but which used an 8-bit external data bus. Halving the speed at which the CPU could communicate with the rest of the system obviously hurt performance, but it also meant that manufacturers could continue using it with parts made for older, cheaper 8-bit computer designs.
One of those companies was IBM. The original x86 PC was a project that was turned around inside of a year by a small team within IBM, and a decision to use an "open" architecture (not in the modern "open-source" sense but in the "modular, non-proprietary hardware with expansion slots that any other company can develop for" sense) was done partly out of expediency. It shipped with an 8088, a 5.25-inch drive for 360KB 5.25-inch floppy disks, no hard drive, and 16KB of RAM. The original press release quaintly calls them "characters of memory" and numbers them in bytes; the MacBook Air I'm editing this on has 17,179,869,184 characters of memory. The IBM PC was a huge success, so big that a market of "clones" rose up to run its apps and imitate its architecture, thanks to its commodity parts and reverse-engineered versions of IBM's proprietary BIOS. The clone-makers frequently undercut IBM on price, and they eventually started improving the hardware faster than IBM did (I've read former Compaq CEO Rod Canion's book on the topic, Open, which is bone-dry but an interesting firsthand account). And Microsoft stopped collaborating with IBM, mostly abandoning IBM's OS/2 project to pursue its own Windows business, selling software that could work on IBM systems and clones alike. By the time Windows 3.1 was released in 1992, the outlines of the PC as we know it today were clearly visible. And all modern Intel and AMD PCs retain, to some degree, compatibility with the original 8088. The Book 8088 is a modern take on an IBM-compatible PC, though it more directly imitates the IBM PC XT, which was mostly a 5150 with a hard drive. The IBM PC's design is simple enough that retro-tech hobbyists have successfully created modern open-source versions of its hardware and BIOS. The most notable work comes from Sergey Kiselev, who maintains an open-source BIOS and some open-source designs for motherboards and ISA expansion cards; newer chips have made it possible to condense the IBM 5150, its various expansion cards, and even a couple of newer amenities into a board small enough to fit into the Book 8088's tiny, chunky frame. The Book 8088 benefits from all of this work, though; at a bare minimum, its creators are violating the GPL license by modifying Kiselev's BIOS and removing his name from it (we confirmed this by looking at the BIOS files sent by the seller). "While my work is open source, and I don't mind people using it in their projects, I do care deeply about the principles of open source software development and licensing," Kiselev wrote to Ars. "And whoever manufacturers this machine bluntly violates copyright law and licensing." The Book 8088 also ships with MS-DOS 6.22 and Windows 3.0, along with other software; at this point, all of this stuff is broadly classified as "abandonware" and is freely available from WinWorldPC and other sites without protest from Microsoft, but allowing old software to stay up for historical and archival purposes isn't the same as inviting people to sell it on new hardware.

Inside the Book 8088

There are three kinds of components inside the Book 8088. There are the genuine original parts, most notably the processor itself. There are the newer chips that are consolidating or simulating the behavior of old ones, letting the laptop do the same things as the 5150 in a smaller amount of space. And there are the bits and pieces of newer hardware (relative to 1981) meant to bring a handful of modern niceties to the Book 8088 that original PC owners could never have imagined. The Intel 8088 processor included in the Book 8088 is genuine vintage equipment (though mine actually shipped with a NEC V20—more on that in a bit), and there's an open socket available for an Intel 8087 coprocessor for floating-point math operations. FPUs wouldn't become integrated into the processors themselves until several years later in the 80486 and Pentium generations, and as a result, few apps actually leverage the 8087 when it's present; the makers of the Book 8088 recommend only installing one if you truly need it for something specific, since it nearly doubles the power draw of the system and tends to run hot. The Motorola 6845 CGA display controller (not a "GPU" in the modern sense) is also original. And if you opt to get the Book 8088 with a sound card, you get a tiny board with a Yamaha OPL3 on it, the same sound chip at the heart of some (significantly physically larger) Sound Blaster cards. Most of the chips in the Book 8088 do the same thing as the chips in the original IBM PC, but they take up less space. The 640KB RAM is provided by one 512KB chip and another 128KB chip rather than being added a few kilobytes at a time on the motherboard or via a bulky RAM expansion card. The total of six 8KB ROM chips in the 5150 (8KB used for the BIOS; the others used to store the Basic software that could boot when there was no other OS present on a floppy or hard drive) are replaced by a single 64KB EPROM chip. Many motherboard and graphics functions are also consolidated into complex programmable logic device chips, or CPLDs. CPLDs are essentially chips that can simulate the functionality of other chips, like simpler versions of the FPGA chips that are used to recreate retro game consoles inside of new hardware.
Finally, we get to the hardware that never could have existed in any form in a vintage IBM PC. Hard disk functionality is provided by an integrated XTIDE controller, which makes it possible to connect 16-bit parallel ATA storage devices to the 8088's 8-bit data bus; it enables a connector for CompactFlash cards, which are essentially SSDs that use the IDE/ATA interface. There's also a CH375S chip that powers the USB port. This isn't a traditional USB controller, and the USB port in the Book 8088 can't do most of the things a USB port can do; like the XTIDE controller, the CH375S allows storage devices to interface with the PC's 8-bit bus. So you can use it for external USB storage drives but not for mice, keyboards, or anything else. And finally, there's an LCD screen connected to the Book 8088's video hardware via another board hidden beneath the device's thick display bezel. The screen uses a 50-pin ribbon cable, and a Realtek RTD2660 controller chip bridges the ancient display chip and the modern LCD; 7-inch screens like this and RTD2660-based boards are available for Raspberry Pi-based projects, though the Book 8088 comes with no other display outputs, brightness controls, or other basic functions. The Book 8088 does support 8-bit ISA expansion cards via a dongle that plugs into the back. If you were to add extra ports for mice or gamepads/joysticks, a storage controller for floppy drives, or any other kind of hardware to the Book 8088, this would be the way to do it; we didn't buy the version with the ISA dongle, so all we're talking about is the laptop itself. For all its other flaws, which I'll enumerate in the next section, the inside of the Book 8088 is remarkably clean and well-labeled, and the AliExpress seller even sent over a wiring diagram, technical reference manual, and the BIOS source files after I bought it (as far as I can tell, these files don't exist anywhere else on the Internet, so I have uploaded them to Ars' servers and linked them for posterity). It's clearly the work of someone who cares about making their work reproducible and moddable, though I can't find any markings on the motherboard or elsewhere that actually tell me anything about who made the system or why.

Meeting the Book 8088: Everything is broken

It took the Book 8088 a few weeks to ship to the US from China, and I used part of that time to read the technical files I just mentioned, plus the user guide (best discovery: an Fn+F6 keyboard shortcut that boosts the 8088 from 4.77 MHz to 8 MHz). I also set up some emulated 8088 PCs in software like PCem and 86box, which, unlike virtualization software, actually try to recreate a software version of a warts-and-all ancient PC. This was to rebuild my MS-DOS muscle memory, but also to play with some vintage software and prepare myself for how slow everything would be. The Book 8088 arrived. It was cute, in a sort of MNT Reform-meets-netbook kind of way, with a semi-translucent black plastic casing that reminded me of old Game Boys. The glow wore off quickly. I pressed the power button (satisfying, clicky, spring-loaded, vaguely ThinkPad TrackPoint-ish), and the Book 8088's screen (godawful, dim, bad viewing angles) lit up, accompanied by three reassuring and familiar POST beeps. Immediately, two problems arose: The machine only saw 512KB of RAM, and the driver for the USB port hung infinitely if I actually plugged anything into it. With no CompactFlash-to-USB adapter in my arsenal, I had no way of getting any files onto or off of this machine. I contacted the seller about the RAM issue, and they said they would contact "the technician" and get back to me. I ordered a CompactFlash adapter, and while I waited for it to arrive, I looked up everything I could about the CH375S chip. Via a YouTube video by "The Phintage Collector," I discovered that someone on the VOGONS forum (one of several invaluable retro-tech resources I bumped into on my journey) named FreddyV had written a modified driver to improve the CH375S's transfer speeds. That driver comes in several versions optimized for different x86 processor generations. Knowing which version to download matters because of the NEC V20 processor I mentioned earlier. The V20 was originally released in 1984 as a pin-compatible drop-in upgrade for 8088 systems that was marginally faster at the same clock speeds. The chip also included several new instructions introduced in Intel's 80186 and 80188 processors. The 80186 and 80188 CPUs went basically unused in IBM PC compatibles, but many of their improvements were incorporated into the more popular 80286 that was the foundation of 1984's IBM PC AT and its clones. The end result of a V20 upgrade is an 8088-compatible processor that can take advantage of some software optimizations created with the 286 in mind. Once my CompactFlash adapter arrived, I copied over FreddyV's 286-compatible version of the driver, which was also recommended for V20 systems. Instantly, the system began recognizing connected USB drives and mounting them as a secondary "hard drive." They weren't usable as boot devices, but at least I would have an easier time installing software and copying documents like this one back and forth.
The AliExpress seller had gotten back to me, saying, "The technician said that if there was no expansion card inserted, there would only be 128KB virtual welding." At this point, the seller, to their credit, sent me a second Book 8088 to replace my flaky one. But since they didn't ask for the old one back (I've run into this before—sometimes the cost of eating return shipping to China isn't worth it to retrieve a unit a company may or may not be able to fix) and it was going to take weeks for the replacement to arrive, I decided to take a crack at fixing it myself. The response about "virtual welding" didn't immediately make sense to me, but I suspected AliExpress's auto-translation feature was to blame; it's much better at handling things like "your item has shipped" and "thank you" than relaying technical information. I copied the original Chinese to Google Translate. "The technician said that if there is no expansion card inserted, it can only be that there is a 128KB solder joint," read the re-translation. The response was suddenly clearer; the technician suspected that the 128KB RAM chip had a bad solder joint that was keeping it from working. I took my trusty soldering iron and quickly reflowed each of the joints, and at the next boot, the full 640KB RAM allotment was accessible. To be clear, none of this is a great look for what is supposed to be a finished, working system. The seller sent me a replacement right away after I verified with photos and video that I was having an issue, but these are also things that should have been caught if any kind of quality control was happening. There's often a buyer-beware element when you're buying parts from China via AliExpress or eBay, though; I'm just relaying my problems in case they help out other retro-computing enthusiasts who bought the Book 8088 and didn't quite get what they were hoping for. As a coda, the Book 8088's speakers kept crackling at me intermittently no matter what I did; whether it's a problem with the speakers themselves, the motherboard, insufficient shielding on the wires, or something else, I ended up unplugging them from the motherboard to make the noise stop. I have not plugged them back in yet. The system's basic beeps still work fine, but the speakers (or the headphone jack) are necessary for games and other apps that try to use the sound card, at least on the first machine I got. It seems like others with the Book 8088 haven't mentioned this problem, and the replacement machine I received a couple of days ago also seems OK, but quality control doesn't seem to be the manufacturer's strong suit.

Modding the Book 8088?

There's a pretty lengthy list of improvements I would make to the Book 8088 if I had my druthers, starting with replacing that screen and adding even a tiny built-in trackball or trackpad or some other kind of pointing device. For what it's worth, the Book 8088's creator says that the display board's 3.5-ohm resistor can be swapped for a 7-ohm resistor that will increase brightness, though I didn't try this myself. For many of these sorts of projects, I am either out of my technical depth or just plain not interested in spending the time, though I'm sure someone with the schematics and some patience could add all kinds of features to this thing. I satisfied my curiosity by playing with a couple of minor hardware changes, including one that partially corrects the GPL-violating aspects of this laptop. As I mentioned before, this laptop boots because of work taken from Sergey Kiselev's 8088 BIOS project. I exchanged several messages with Kiselev as I explored the Book 8088, including sending him the manufacturer's BIOS files so he could see what had been changed (primarily, code was actually removed, mostly related to 8088-related hardware that the Book 8088 wasn't using).
But Kiselev mentioned that he was considering adding "official" Book 8088 support to his BIOS project, and late last week, he sent me the result of that effort—version 1.0.0 of his BIOS project fully supports the Book 8088, restoring proper credit for the work done on the BIOS as well as incorporating a decade's worth of work on the firmware for the CompactFlash controller. The issue is that the EPROM chip used for the 8088's BIOS is a version that needs to be exposed to UV light to be erased and reprogrammed. Kiselev suggested pulling that chip, keeping it, and buying something like a WinBond W27C512, a flash memory EEPROM that can be erased and reprogrammed with any one of many different EEPROM programmers. Armed with an XGecu T48 (expensive, but easy-to-use and versatile in a way that might lend itself to future projects), I quickly programmed the W27C512 with Kiselev's new BIOS, yanked out the old one with a chip puller, and installed the new one.
Aside from giving credit where it's due and adding a cute new POST beep pattern (it's modeled on the Intel sound), the updated XTIDE firmware for the storage controller does provide some functional benefits. Using the NEC V20-optimized version of the BIOS, the disk transfer speeds reported by the CheckIt 3.0 disk benchmark nearly doubled compared to the default BIOS (from 210.2KB per second to 411.0KB per second), which might speed things up at least a little when installing software or moving files between the CompactFlash card and the USB stick. I'd also like to experiment with adding USB boot support for the CH375S USB controller since there's 8KB of unused space in the 64KB EEPROM. A project for another time. I also bought and installed an actual 8088 processor in the Book 8088 since that's the chip the thing is named for (I picked up an 8088-2 capable of up to 10 MHz speeds so that I could be sure it would handle the Book 8088's 8 MHz Turbo mode; the base speed remains 4.77 MHz). This is a downgrade in most respects, but there are legitimate reasons to want a true 8088 despite the loss in speed and capabilities.

How “IBM-compatible” is it?

It's bizarre to think of a 4.77 MHz computer as being "too fast," but it's one criticism you'll find if you search for the Book 8088. The original IBM PC, the similar PC XT, and the first wave of IBM-compatible clones were hugely popular computers. And at the time, it wasn't a given that they would continue to be replaced by decades' worth of successively faster but mostly backward-compatible machines. This meant that some app developers occasionally developed for the old IBM PC in the way you might develop software for a game console: an appliance-like fixed hardware platform that stays mostly the same over time. As a developer, you might tune your software to take advantage of undocumented features, code around specific hardware limitations and bugs, or make an app that automatically assumes it will be running on an 8088 running at exactly 4.77 MHz.
When running this kind of software on a system that's even a little bit faster than the old IBM PC, this can lead to everything from crashes to games and apps running at a much higher speed than intended. Any of these outcomes are less than ideal from a software-preservation perspective. David Lee wrote in a Medium post that a rudimentary CPU benchmark run on his Book 8088 "runs between 1.15 and 2.29 [times] faster" than an IBM PC or most contemporary clones. The culprit, again, is the NEC V20, which is generally around 20 percent quicker than an actual 8088 running at the same clock speed. Running the same MIPS benchmark on an actual 8088, the results were closer to the IBM PC's, though memory speed in particular does still seem to be a hair quicker than it "should" be, and as a whole, the system runs at about 1.06 times the speed of an IBM 5150; this is possibly a side effect of using more modern memory chips or some other optimizations. Running the same benchmark in the CheckIt diagnostic app showed the same results: very slightly faster than an actual IBM PC with an 8088 but pretty close, and almost exactly 20 percent faster with a NEC V20 installed. Putting either processor into Turbo mode boosts the results accordingly; a NEC V20 in Turbo mode is about twice as fast as the original 5150. That said, even installing a genuine 8088 doesn't make the Book 8088 what you would call "cycle-accurate," and it doesn't reproduce every capability or irregularity of the original IBM PC. One torture test for this sort of thing is the Area5150 demo, which exploits all kinds of features, bugs, and peculiarities of the original IBM PC to make it do things that are supposedly beyond its capabilities; on the Book 8088, even with a genuine 8088, most of Area 5150 runs with some graphical artifacts, but it crashed the system about three-quarters of the way through. So the Book 8088 won't be close enough to the "real thing" to appease every single persnickety IBM PC app, whether you go to the trouble of replacing the NEC V20 with a real 8088 or not. It should be (and has been, in my experience) broadly compatible with a wide swath of period-appropriate software. But it's very much an "IBM compatible" and not an exact replica.

Using the Book 8088

We'll publish a separate piece exploring the world of software that will run on a Book 8088, but based on our experience so far, here are a few notes (and also things buried in the manual that you should know about):
  • If the display seems shifted too far to the left and you can't read everything, typing "mode 80" will trigger a refresh. Typing "mode 40" will also trigger a lower-resolution display mode with larger text.
  • Fn+F6 is the toggle for Turbo mode. You're welcome.
  • The Book 8088's keyboard is distinctly netbook-y; for those who didn't experience that era of computing, that means somewhat smaller-than-normal keys and more typing errors. I got used to it as I tapped out hundreds of words, but it never felt comfortable.
  • A bunch of the keys on the keyboard don't do anything, including the brightness and volume controls, the Windows key, the ".com" key, and others. These buttons simply didn't exist in the DOS days, but this is some kind of off-the-shelf keyboard for modern laptops, not a custom-made imitation of the IBM 5150's keyboard layout. So those keys just sit there, uselessly.
  • The Book 8088 does have a "16-color display" (a limitation of the CGA graphics, not the LCD itself), but CGA screens can only use all of those colors at a very low 160×100 resolution. Many games use one of the 320×200 modes, which display four colors at once. There were three color palettes available, and most colors were pre-determined; Microsoft's QBasic GORILLAS.BAS and NIBBLES.BAS games use the green-red-yellow palette, while Commander Keen or the Oregon Trail in CGA mode use a cyan-magenta-gray palette. (Each palette's background color can be customized.) Full-resolution 640×200 apps, including the DOS prompt, most word processors, and Windows 3.0, can only use two colors.
  • When formatting CompactFlash or USB drives for use with the Book 8088, remember to keep things small. Most versions of DOS top out at 2GB partition sizes and can only read the FAT filesystem, not FAT32, NTFS, or exFAT. There are ways to improve this situation, but they usually involve installing extra drivers that eat into your precious 640KB of RAM.
  • If you're using the USB port, plug the drive in before you start the computer; the driver tries to detect a drive once at boot and doesn't try again until the next reboot. Once a drive has been detected, though, you can remove it and put it back in without causing problems.
By modern standards, using an 8088 with a CGA display feels less like using a computer and more like using a fancy electronic typewriter that just happens to be able to execute code. But that doesn't mean it can't be useful, at least with the right software. More on that in part two.