How a hobbyist ran a ChatGPT client on a 1984 IBM PC

WTF?! OpenAI’s ChatGPT may represent the bleeding edge of artificial intelligence technology, but the end user’s experience with it is little more than text and networking. One modder decided that, with some elbow grease, a 39-year-old PC would have everything it needs to run the generative AI text client.

Hobbyist Yeo Kheng Meng recently unveiled his ChatGPT client for MS-DOS, running on his almost 40-year-old IBM PC. The app composes text just as well as OpenAI’s service on modern systems, only in simple, retro-style text.

Yeo chose the oldest MS-DOS PC in his collection—an IBM 5155 Portable PC from 1984. It uses the 1981 IBM PC’s Intel 8088 4.77Mhz CPU, a NE2000-compatible ISA ethernet adapter, runs MS-DOS 6.22, and has 640KB of RAM. Yeo reasons that any DOS machine should be able to handle whatever runs on these specs.

Building new internet-based software on a pre-internet operating system and PC presented multiple challenges. Yeo had to figure out how to operationalize networking on MS-DOS and test IBM PC software on a modern computer. Testing the client on Yeo’s 64-bit Windows 11 machine proved complex because, by default, it can’t run compiled 16-bit DOS binaries. Moving the test code to the IBM PC would’ve significantly slowed development.

Furthermore, a winevdm compatibility wouldn’t connect to the network. Python for MS-DOS isn’t usable either because it doesn’t support 16-bit CPUs. Instead, Yeo tested the project in a Virtualbox system running the same DOS version installed on the 5155 with a bridged network to the host PC.

Yeo said the MTCP library—a scalable user-level multicore-compatible TCP stack—was the most crucial tool in the project. It let him code the networking functionality relatively quickly, though he had to write around DOS’s lack of multithreading.

See also  Police are using invasive facial recognition software to put every American in a perpetual lineup

The only part of the ChatGPT client that doesn’t run natively on the IBM system is the HTTP-to-HTTPS proxy. Even if Yeo could port the necessary TLS library to the Intel 8088, its performance would likely be too slow. Thus, that part of the process must piggyback off a modern PC.

Even if it’s not a 100 percent pure solution, using generative text AI on such an old system carries a somewhat retrofuturistic vibe. Entering text and receiving an intelligent response is something people have envisioned computers doing at least since the 5155’s heyday.

The project also resembles other examples of modern functionality running on retro hardware. In 2015, Netflix’s engineers built a client for the NES. In 2019 Yeo made a Windows 3.1 version of Slack, and in 2021 someone got an Apple IIe to play full-motion video.

Source link