Chat-GPT arrives on a vintage MS-DOS 1984 IBM PC
It looks like ChatGPT is going old-school, now available on MS-DOS from 1984.
Chat-GPT has been making headlines frequently in the last few months since its release in November 2022. In the last few weeks, Chat-GPT clients have been arriving on numerous different devices. This is thanks to the release of an API earlier this month that makes it possible to integrate the software into different applications. This has mostly occurred on modern devices until now.
On Sunday, the retro-computing enthusiast based in Singapore, Yeo Kheng Meng, released a Chat-GPT client for an ancient PC from 1984. Yeo is passionate about working on vintage computer development projects. In 2019, Yeo created a Slack client for Windows 3.1, which was initially released in 1992.
This time, Yeo wanted even more of a challenge. As such, he decided to develop a Chat-GPT client for MS-DOS. The machine he used was a vintage BM 5155 Portable PC. This text-only operating system was first released in 1984 and came with a 4.77 MHz Intel 8088 CPU and a whopping (not really) 640KB of RAM.
As can be expected, the process wasn’t easy and Yeo had numerous obstacles to overcome before the client worked successfully. One of the hurdles was that MS-DOS lacked native networking abilities. The challenge was made even more difficult by the lack of processing speed in MS-DOS. Other obstacles included JSON parsing, as well as changing Chat-GPTs output from the current HTTPS to the older HTTP supported by MS-DOS.
Yeo used Open Watcom C/C++ to create the client. This is a modern compiler that currently runs on Windows 11 and it can target 16-bit DOS platforms. He used VirtualBox running DOS 6.22 in order to test the client and to help with the development process. Once development was completed, he transferred the compiled binary to the IBM DOS computer.
To overcome the networking issues, Yeo had to address multiple layers in order to get the MS-DOS PC to handle the networking. First, he used Packet Driver API and integrated it with the open-source MTCP created by Michael B. Brutman. This enabled networking capabilities for the MS-DOS PC.
Next, Yeo had to create an HTTPS-to-HTTP proxy to handle the encrypted requests from Chat-GPT. This proxy runs on a modern computer and translates the requests and responses between Chat-GPTs secure API and the vintage MS-DOS.
Finally, Yeo also reported that reading and writing various inputs to the console on MS-DOS presented another challenge. This obstacle arose because of the single-threaded nature of DOS applications. To overcome this challenge, Yeo devised a method to check and receive keypresses without pausing the program. He used the MCTP page along with online samples to create this method.
At the end of development, the client turned out better than could be expected and Yeo released his code on GitHub. He hopes that others will use it to run Chat-GPT on MS-DOS computers or that they’ll add to the code to make it even better. If you want to try it for yourself, you can find the code titled doschgpt on GitHub.Advertisement