News & Trends

Bastler programmiert ChatGPT-Client für MS-DOS

Martin Jud
28.3.2023

Ein Retro-Enthusiast aus Singapur hat ChatGPT auf einem 40 Jahre alten Computer zum Laufen gebracht. Er hat einen Client für MS-DOS programmiert, der sich einiger Tricks bedient, um futuristische KI-Gespräche zu ermöglichen.

Yeo Kheng Meng ist kein unbeschriebenes Blatt. Bereits 2019 hat er sich den Instant-Messaging-Dienst Slack zur Brust genommen. Er programmierte einen Slack Client für Windows 3.1, das 1992 auf den Markt kam. Sein neuestes Projekt widmet er erneut einem Chatprogramm – dieses Mal ist es allerdings ein Programm mit künstlicher Intelligenz. Und dabei reist er noch weiter zurück, denn sein ChatGPT-Client für MS-DOS läuft selbst auf einem IBM PC aus den frühen 1980ern.

Beim Computer im Video handelt es sich um einen IBM 5155 Portable PC von 1984 mit MS-DOS 6.22. In ihm steckt ein Intel-8088-Prozessor mit 4,77 Megahertz, der erstmals 1981 gemeinsam mit MS-DOS 1.0 das Licht der Welt erblickte. Für den Bastler ist dies das perfekte Gerät, denn: «Wenn meine Anwendung auf diesem IBM-Rechner läuft, sollte sie auch auf so ziemlich jedem anderen DOS-Rechner laufen.»

Wie im Video zu sehen, läuft ChatGPT unter MS-DOS als Vollbildanwendung, die nur Text kann. Bei deren Umsetzung gibt es gleich mehrere Hürden. Dass Yeo überhaupt einen Client programmieren kann, ermöglichen die Anfang März von OpenAI veröffentlichten ChatGPT-APIs. Er bedient sich beim Programmieren einerseits der Chat Completion API und anderseits greift er auf Open-Source-Ressourcen zurück. Um den im 64-Bit-Windows geschriebenen Code für 16-Bit-DOS zu kompilieren, nutzt er Open Watcom C/C++. Zum Testen der Software nutzt er die Virtualisierungssoftware Virtualbox – eine Virtual Machine mit MS-DOS 6.22.

Es dauert zwar etwas, bis die Antwort erscheint, doch ChatGPT funktioniert mit MS-DOS.
Es dauert zwar etwas, bis die Antwort erscheint, doch ChatGPT funktioniert mit MS-DOS.
Quelle: Yeo Kheng Meng

Die grösste Herausforderung bei der Umsetzung bereitet Yeo die Tatsache, dass es keine Netzwerk-APIs für MS-DOS gibt. Zumindest nicht von Haus aus. Er löst das Problem, indem er auf einen Netzwerkstandard von 1983 namens PC/TCP Packet Driver und eine Open-Source Network Library mTCP zurückgreift.

Weitere Stolpersteine bei der Umsetzung sind das fehlende Multithreading des alten Prozessors und, dass ChatGPT eine verschlüsselte HTTPS-Verbindung voraussetzt. Dieses Problem löst Yeo, indem er einen HTTP-zu-HTTPS-Proxy einsetzt. Falls du mehr zu diesem Projekt wissen möchtest, hat dir der Bastler hier seine Arbeit dokumentiert. Den Code zum ChatGPT-Client für MS-DOS hat er auf GitHub veröffentlicht.

Titelfoto: Yeo Kheng Meng

43 Personen gefällt dieser Artikel


3 Kommentare

Avatar
later