G.J.C. Lokhorst. Retrocomputing. HCC regio Amsterdam, Badhoevedorp, April 23, 2003.
Retrocomputing is het bestuderen van de hardware en software uit vroeger tijden. Ik zal me bij deze gelegenheid vooral richten op de software. Je kunt oude software op twee manieren bestuderen:
De eerste mogelijkheid is vaak problematisch. Ik zal me daarom richten op de tweede.
Sommige oude software draait zonder meer op hardware van nu met de besturingssystemen van nu. Een voorbeeld:
De meeste oude software draait echter niet zonder meer op moderne hardware. Zo draaien IBM PC DOS en MS-DOS alleen maar op 16-bits Intel processoren; bovendien kunnen zij pas vanaf versie 2.11 overweg met harde schijven en 3.5 inch floppies.
In dergelijke gevallen zijn we aangewezen op emulatoren, dat wil zeggen stukken hardware of software die het gedrag van andere computers dan die waarop zij draaien zo goed mogelijk nabootsen.
Definitie: X is een emulator van Y <==> X kan alle software afspelen die voor Y is geschreven. Er zijn hard- en software-matige emulatoren; een bekend voorbeeld uit de eerste categorie is de (32-bits) 386/486/Pentium chip van Intel, die in "virtuele 8086 modus" alle software voor de (16-bits) Intel 8086 kan afdraaien. In het onderstaande zal ik het alleen over software-matige emulatoren (computerprogramma's) hebben.
Een interessante emulator is Bochs (http://bochs.sourceforge.net/). Dit is een in C++ geschreven emulator van een IBM PC/XT/AT/Pentium, die onder andere onder Unix, MS Windows en MacOS X (gebaseerd op FreeBSD) gecompileerd kan worden. Een aantal voorbeelden:
De ontwikkeling van de "graphical user interface" is met Bochs goed te volgen:
Voor Windows, Mac en OS/2 gebruikers (maar dus niet voor Unix-gebruikers) is ook Virtual PC (ooit op http://www.connectix.com/, thans op http://www.microsoft.com/windowsxp/virtualpc/) goed bruikbaar. Virtual PC is vooral handig als je een PC-besturingssysteem wilt uitproberen dat je (nog) niet echt wilt installeren. Ter illustratie hierbij eerst een aantal Unix-achtige besturingssystemen voor de PC onder Virtual PC op MS Windows XP:
Behalve bovenstaande Unix-achtige besturingssystemen doen ook IBM PC DOS, MS-DOS, IBM OS/2 en MS Windows het prima onder Virtual PC:
Dat Windows 2000 in het Chinees is hoeft weinig verwondering te wekken omdat je de taal van de gebruiker in Windows NT 5.x immers gemakkelijk kunt veranderen.
Het is misschien wel aardig om te weten dat MS-DOS en Windows niet alleen zijn gecompileerd voor IBM-compatibele PCs maar ook voor andere systemen.
Virtual PC voor MacOS X biedt min of meer dezelfde faciliteiten als VPC voor Windows, zoals te zien is op deze pagina (http://www.kernelthread.com/mac/vpc/).
Zowel Bochs als Virtual PC hebben overigens wel degelijk bepaalde beperkingen: zo heb ik op geen van beide VisiCorp Visi On (1983, het eerste grafische besturingssysteem voor de PC en de belangrijkste inspiratiebron van MS Windows 1.0) en Quarterdeck DESQview/X kunnen installeren. In deze gevallen bleek een echte (oude of nieuwe) PC veel handiger te zijn.
Nog een andere emulator is VMware (http://www.vmware.com/), maar dat programma bevalt mij niet erg.
De klassieke Apple Macintosh is, zowel onder Windows als FreeBSD/Linux, heel aardig te emuleren met Basilisk II (http://www.uni-mainz.de/~bauec002/B2Main.html). Ten bewijze hier twee screenshots, het eerste gemaakt onder FreeBSD, het tweede onder MS Windows XP:
Basilisk II heeft dezelfde beperkingen als sommige echte oude Macs: zo kun je Apple Unix (A/UX 3.0.1 uit ca. 1991) er niet op installeren.
LisaEM is een emulator van de Apple Lisa (1983):
Macs met een PowerPC processor worden geëmuleerd door PearPC (http://pearpc.sf.net/) (verscheidene platforms). Een voorbeeld:
IBM PC DOS en MS-DOS zijn gebaseerd op QDOS/86-DOS (auteur: Tim Paterson) van Seattle Computer Products, dat we hierboven al gezien hebben. QDOS/86-DOS was een 16-bits versie van CP/M 2.xx uit de jaren '70 (auteur: Gary Kildall), een besturingssysteem voor microcomputers met een 8-bit processor zoals de Intel 8080 en de Zilog Z80.
CP/M was op zijn beurt een drastisch vereenvoudigde versie van TOPS-10 voor de DEC PDP-10 (1967).
Sommige commando's in MS Windows XP zijn al meer dan veertig jaar oud: in TOPS-10 moest je "DIR" typen om te zien welke bestanden er voorhanden waren en "TYPE" om de inhoud van een bestand te zien en dat moet je in een commandoregel-venster van MS Windows XP tegenwoordig nog steeds doen.
CP/M was het dominante besturingssysteem voor 8-bit computers, maar het had heel wat concurrentie. Hieronder is bijvoorbeeld een dozijn andere besturingssystemen te zien voor de Tandy Radio Shack 80. De emulator die ik heb gebruikt is xtrs (http://www.tim-mann.org/xtrs.html) onder FreeBSD. Voor MS-klanten zijn er een paar geschikte emulatoren te vinden op de TRS-80 Emulator Web Site (http://www.arrowweb.com/mkr/) en op de TRS-80 Computer Emulator Pages (http://discover-net.net/~dmkeil/).
Hieronder zal ik wat tekstverwerkingsprogramma's laten zien uit de "oertijd" van de microcomputer.
De Apple II gebruikte een ander besturingssysteem dan CP/M, maar je kon er een kaart voor kopen met een Z80 processor erop, zodat je ook CP/M programma's kon gebruiken. Die kaart werd, opmerkelijk genoeg, aan de man gebracht door Microsoft. Het resultaat ziet er als volgt uit.
Dit is "emulatie in de derde graad": FreeBSD[0]--Windows[1]--Apple II[2]--Z80[3].
Oude speelkasten maakten vaak gebruik van een Z80 processor. De spelletjes waren ingebrand in speciale chips, ROMs. Ook voor deze speelkasten bestaan emulatoren. Een voorbeeld:
Het screenshot is gemaakt met xmame (http://x.mame.net/), dat vrijwel alle speelkast-spelletjes aankan. Het komt er alleen maar op aan om de juiste ROMs in handen te krijgen.
Ook de meeste andere spelcomputers die ooit zijn gemaakt zijn overigens geëmuleerd. Mijn kinderen gebruiken een Playstation emulator en wachten op de eerste XBox-emulator...
Het uitgebreidste pakket op dit gebied is de SIMH-familie van The Computer History Simulation Project (http://simh.trailing-edge.com/), gecoördineerd door Bob Supnik. Dit pakket geeft ons een indruk van de volgende computers:
Enige voorbeelden van SIMH op FreeBSD en MS Windows:
Al heeft SIMH al een lange geschiedenis, het pakket heeft nog steeds bepaalde beperkingen, bijvoorbeeld doordat op de PDP-1 aangesloten oscilloscopen niet worden gesimuleerd. Daardoor kan één van de beroemdste computerspelletjes aller tijden, Spacewar voor de PDP-1, er niet behoorlijk op worden afgespeeld. Maar gelukkig is daar iets op gevonden:
Ook sommige IBM mainframes kunnen inmiddels ook op de PC geëmuleerd worden, namelijk door The Hercules System/370, ESA/390, and z/Architecture Emulator (http://www.conmicro.cx/hercules/). Hierop kun je oude IBM-besturingssystemen zoals OS/360, VM/370 en MVS 3.8 en nieuwere besturingssystemen zoals OS/390, Linux/390 en zLinux laten lopen.
Ook andere mainframes zijn inmiddels geëmuleerd, zoals
Zelfs een oude Cray-supercomputer, de Control Data Corporation Cyber 6600 (begin jaren '60), is al geëmuleerd:
De hardware van de eerste computers was totaal anders dan die van de computers van tegenwoordig. De eerste computers hadden bovendien geen besturingssystemen; ze werden bestuurd door de programmeurs. Een paar van deze oude computers zijn nagebouwd in software. Omdat ze zo drastisch verschillen van de computers van tegenwoordig worden de programma's die een indruk van hun werking geven vaak "simulatoren" genoemd in plaats van "emulatoren". Enige voorbeelden:
Klik op het plaatje voor een Macromedia Flash (SWF) animatie.
Tot nu toe hebben we alleen maar universele computers laten zien. Ze zijn allemaal equivalent aan elkaar. Tot slot nog twee niet-universele rekenmachines. De eerste is programmeerbaar, de tweede niet.
Klik op het plaatje voor een Macromedia Flash (SWF) animatie.
Leibniz was niet de uitvinder van het tweetallige stelsel, maar hij was er wel bijzonder gecharmeerd van. Hier zijn drie medaillons die hij ontwierp om het in het zonnetje te zetten:
De software wordt sneller langzamer dan de hardware sneller wordt.
Met een verwijzing naar de toenmalige CEOs van Intel en Microsoft is deze wet ook wel geparafraseerd als:
Grove giveth and Gates taketh away.
De wet van Reiser is misschien overdreven, maar er lijkt toch een kern van waarheid in te zitten...
Verdere literatuur: mijn artikel in de Automatisering Gids van 21 juni 2002.
Er is inmiddels veel veranderd. De oude software is nu gemakkelijker te vinden, er zijn steeds meer emulatoren, en die emulatoren worden bovendien steeds beter. Een paar illustraties:
Tegenwoordig maak ik mijn website met HyperLatex 2.5 onder Emacs 21.3.1 onder FreeBSD 8.1 (amd64) onder VirtualBox onder Windows 7...
En sinds 24 aug 2015 met HyperLatex 2.5 onder Emacs 21.3.1 onder FreeBSD 8.1 (amd64) onder VirtualBox onder ArchLinux...
Previous | Up | Next
gjclokhorst@gmail.com || September 2, 2015 || HTML 4.01 Strict