Twee jaar nadat Zilog de markt voor microprocessoren van Intel had afgesnoept met de Z80 kwam Intel met een geheel nieuwe microprocessor, de Intel 8086. Een microprocessor bevat alle functies van een processor (accumulator, programmateller, statusregister, stackpointer en arithmetic logic unit) in een enkele chipbehuizing. Mogelijk omdat de oorspronkelijke ontwerpers van de 8080 nu Zilog hadden opgericht was de 8086 niet backwards compatible met de 8080. Belangrijk verschil met zijn voorganger was de 16-bits architectuur en 20-bits adresbus. Dit laatste maakte een groter geheugenbereiken tot 1MB mogelijk en daarmee aanzienlijk grotere programma’s en complexere user interfaces. Het nadeel was echter dat geen van de oude generatie interface chips kon worden hergebruikt. Intel bracht daarom vrij snel een 8088 uit, een 8086 met extern een 8-bits databus. Deze 8088 microcroprocessor werd door IBM in de eerste generatie IBM PC’s gebruikt.
Auteur: Rudi
Zilog’s Z80 (1976)
“Kunnen wij ook en beter”, moet start-up Zilog gedacht hebben toen Intel met hun 8080 microprocessor op de markt kwam; de Zilog Z-80 (later als ‘Z80’ gespeld) uit 1976 was een kloon van compatible met de 8080 met extra registers en adresseringsmogelijkheden, voor een veel lagere prijs. Enkele jaren daarvoor had MOS Technology, opgericht door ontwerpers die bij Motorola de 6800 microprocessor hadden ontwikkeld, net de 6502 microprocessor uitgebracht. De Z80 was net als de 6502 een instant succes en het duurde tot ver na 1984 voordat Intel opnieuw marktleider werd met de Intel 8088. Wat volgde was het tijdperk van de single board computers zoals de Micro Professor, de Radio Shack TRS-80 model 1, home computers zoals de Sinclair ZX80, en een hele horde Z-80-gebaseerde MSX computers.
Een microprocessor bevat alle functies van een processor (accumulator, programmateller, statusregister, stackpointer en arithmetic logic unit) in een enkele chipbehuizing. Zilog werd opgericht door enkele van de Intel medewerkers die de Intel 4004 en 8080 microprocessors hadden ontworpen. Het is opvallend dat Intel nooit werk heeft gemaakt van hun weggelopen designers en dat de opvolger van de 8080, de Intel 8086, niet backwards compatible was.
De Z80 had een 8-bits architectuur met een 16-bits adresbus, hetgeen een maximum adresseerbaar geheugen van 64K mogelijk maakte. De Z80A-processor werd toegepast in de Tandy TRS-80 computer, de Sinclair ZX80, ZX81 en ZX Spectrum homecomputers, de MSX-homecomputers, de Amstrad CPC, de Philips P2000, de professionelere Exidy Sorcerer en veel CP/M-computers. Maar ook bijvoorbeeld in de dam- en schaakcomputers (Checker Challenger en Chess Challenger) van Fidelity. Tegenwoordig wordt de Z80 nog gebruikt in diverse apparaten, zoals taxameters en grafische rekenmachines, zoals de Texas Instruments TI-84 Plus.
Externe links
Core Design’s Tomb Raider (1996)
Tomb Raider is een actie-avonturen computerspel ontwikkeld door Core Design en gepubliceerd door Eidos Interactive in 1996 voor de Sega Saturn, Sony PlayStation en MS-DOS. Tomb Raider volgt de avonturen van Lara Croft, een fictieve Engelse archeologe die op zoek is naar historische schatten. De speler navigeert Lara Croft door avontuurlijke situaties, verschillende landschappen en langs een veelheid van gevaren en uitdagingen op zoek naar de ultieme schat.
Het spel wordt in een derde-persoon perspectief gespeeld: Lara is altijd zichtbaar en de camera volgt het verhaal als het ware door over Lara’s schouder te kijken. De camera schakelt automatisch over naar andere standpunten om de speler een beter overzicht te geven, of een speciale situatie extra aandacht te geven. De spelwereld is volledig in drie dimensies vormgegeven en er is bij de realisatie ervan veel aandacht besteed aan historisch uitziende gebouwen, ruïnes, constructies en rotspartijen. Veel ervan zijn doorzoekbaar, klimbaar of spelen anderszins een rol in het avontuur.
Beweging is gevarieerd: Lara kan lopen rennen, springen, zijdelingse stappen maken, aan riggels hangen, korollen maken, duiken en zwemmen. Lara kan haar wapens trekken en zal dan automatisch richten op nabije doelen. De speler kan schieten op vijanden, maar ook willekeurig rondknallen. Een diversiteit aan vijanden en gevaarlijke situaties kunnen Lara het leven kosten, waarna de speler opnieuw moet beginnen op het laatst bewaarde punt in het spel.
In oktober 1996 had de wereld nog nooit van Lara Croft gehoord, laat staan dat ze kennis had kunnen maken met het spel Tomb Raider. In een twee=pagina’s omvattend artikel getiteld “Indiana Jane and her next-gen crusade” vatte Electronic Gaming Monthly het als volgt samen: “It is probably not a good idea to get on Lara Croft’s bad side. After all, the buff and beautiful hero of Eidos Interactive’s 3-D action game Tomb Raider has a four-foot vertical leap, can shove around gigantic stone blocks as if they were paper weights and is a dead-aim with her shotgun-even when in mid-backflip.”
Externe link
Rodney Brooks’ Subsumption Architecture (1986)
Een gemiddelde huisvlieg (musca domestica) is door de bank genomen aanmerkelijk succesvoller in overleven en voortplanten dan een high-end grasmaai-robot.
Het is onwaarschijnlijk dat een huisvlieg een 3-dimensionaal beeld ontwikkelt met beschrijvingen van alle voorwerpen in vliegbereik. Evenmin is het waarschijnlijk dat een huisvlieg zich afvraagt of een mens met een muggenklapper gevaar voor zijn voortbestaan oplevert, gegeven die mens z’n overtuigingen ten aanzien van huisvliegen, doelen en plannen. Ook lijkt het niet waarschijnlijk dat een vlieg filosofische discussies met zichzelf voert over de geschiktheid van het ene dode dier boven het andere voor het leggen van eieren. Of een fysiek model voor het landen op plafonds beschikbaar heeft.
Het is daarentegen wel heel waarschijnlijk dat een huisvlieg sensoren heeft die vrij direct verbonden zijn met zijn actuatoren (vleugels, poten). Ook het gedrag van een vlieg zou heel goed ‘hardgecodeerd’ kunnen zijn. Navigatie van een huisvlieg zou wel eens een heel simpel terugkoppelingsmechanisme kunnen zijn. En in het geheel genomen zou zo’n huisvlieg wel eens een doelgerichte machine kunnen zijn. Feit is, dat een huisvlieg een aantal factoren succesvoller in de buitenwereld is dan onze pogingen om kunstmatige intelligentie buiten te laten overleven. Hoe komt dat?
Rodney Brooks, professor aan het Massachusetts Institute of Technology, ontwikkelde in 1986 de subsumption architectuur: een schaalbaar algoritme dat een eenvoudige koppeling tussen sensoren en actuatoren teweeg brengt, maar de ruimte geeft om met een gelaagdheid van koppelingen complex gedrag te beschrijven en te programmeren. Zelf heb ik dit algoritme gebruikt in mijn eigen mobile robot toelatingsexamen (gebaseerd op de subsumption architectuur die door Jones en Flynn werd beschreven) en mijn latere Lego BASIC buggy.
Brooks is mede-oprichter van iRobot en het eerste product, Roomba, was voorzien van deze subsumption architectuur. Hierdoor kon de robot succesvol door willekeurige ruimtes navigeren, stofzuigen en toch nooit vastlopen. De subsumption architectuur is een belangrijke ontwikkeling geweest voor de huidige generatie zelfrijdende auto’s.
Mentor Colour 6 (1977)
De Mentor Colour 6 was een game console waarmee je ‘pong’ (of ‘ping-pong’, of ’tennis’) op je televisie speelde. Het spel bestond uit een zwart scherm met een vertikale witte lijn in het midden, een score bovenin en een vierkant blokje dat diagonaal van links naar rechts en omgekeerd bewoog, ‘de bal’. Het kwam met twee ‘paddles’ (regelbare weerstanden) waarmee de ‘bats’ (vertikale lijnen) omhoog- en naar beneden verplaatst konden worden. Raakte de bal de bat dan kaatste hij terug naar de overkant, in een hoek die na een tijdje heel voorspelbaar was. Je kon uren de score 0-0 aanhouden.
Inwendig, kwam ik op jonge leeftijd achter, zat er één groot belangrijk onderdeel op de verder saaie bruine printplaat: een General Instruments AY-3-8500 chip. En gezien alle draden die via de printsporen naar de chip werden geleid, deed deze chip het meeste werk. Heel spannend vond ik dat: hoe zou zo’n chip werken? En zou de spelcomputer (want dat was de Mentor Colour 6) het ook doen als de chip er niet in zat? En zou de chip los ook nog werken? Allemaal vragen die ik proefondervindelijk heb weten te beantwoorden en die een belangrijke rol hebben gespeeld in mijn interesse in technische apparatuur.
Externe link
General Instrument’s AY-3-8500 (1976)
In een tijd waarin veel mensen nog geen televisie hadden, zwart-wit televisies nog eerder regel dan uitzondering waren, we geen afstandsbediening hadden en waarin Chriet Titulaer nog geen enkel boek over onze toekomst met computers had geschreven kan er niet een meer bijzondere chip op de markt zijn gekomen dan de AY-3-8500. Voor de consument was het een onzichtbaar onderdeel, verstopt in een plastic doosje met de opdruk ’tennis’ of ‘squash’ erop dat moest worden aangesloten op de antenne-ingang van de zwart-wit televisie.
Het Amerikaanse General Instrument bracht met de AY-3-8500 een eenvoudig voor fabrikanten van speelgoed te implementeren ’televisie tennis’ chip uit, die gretig door hen werd gebruikt om een eigen variant van tennis op de televisie naar de massa te brengen. De chip had weinig meer nodig dan een printplaat, batterijvoeding en een hoogfrequent uitgang als televisie uitgang. Twee regelbare weerstanden, een 6-standenschakelaar en een plastic behuizing naar keuze maakte het product af.
De 7 mogelijke spellen heetten ’tennis’, ‘soccer’, ‘squash’, ‘practice’, ‘rifle game 1’, ‘rifle game 2’ en ‘handicap’. De chip had een geluidsuitgang die eenvoudige sinus-gebaseerde geluiden voortbracht om aan te geven dat een ‘bal’ geraakt of gemist was.
Motorola’s 6800 (1974)
De Motorola 6800 is een microprocessor die werd ontwikkeld door Motorola en vlak na Intel’s 8080 in 1974 op de markt werd gebracht. Een microprocessor bevat alle functies van een processor (accumulator, programmateller, statusregister, stackpointer en arithmetic logic unit) in een enkele chipbehuizing. Een kloon instructie-compatible versie van de 6800, de MOS Technology 6502, werd toegepast in veel game consoles en home computers zoals de Atari 2600, Atari 400/800, Apple II, Commodore VIC-20, Acorn Atom en Nintendo Entertainment System (NES).
De opvolger van de 6800, de Motorola 68000 die werd uitgebracht in 1979, werd toegepast in de Apple Macintosh en de Sinclair QL.
Remco’s Electronic Sound FX Machine (1979)
De Remco Electronic Sound FX Machine gebruikte een Texas Instruments SN76477 en een lading schakelaars, condensatoren en regelbare weerstanden om een universeel regelbare geluidssynthesizer te maken. Een kunststof behuizing met een stemmig kleurenpatroon maakte het kinderspeelgoed af. Hoewel er ongetwijfeld ouders zijn geweest die hun aanschaf hebben betreurd, was de Remco Sound FX Machine een grote hit door de vele spannende geluiden die er met het apparaat gemaakt konden worden.
Externe link
Steven Levy’s Insanely Great (1995)
In de vroege jaren ’80 kwamen geruchten op gang over een uitnodigende kleine persoonlijke computer dat iets als ‘een muis’ had en naar je lachte als je hem aanzette. Journalist Steven Levy maakte de ontwikkeling van de Macintosh van dichtbij mee en verhaalt zijn ervaringen over de machine waarvan de makers van Apple hoopten dat het “een deuk in het universum zou maken.” Een fantastisch verhaal en ook na 35 jaar is dit boek de moeite van het lezen meer dan waard.
Externe link
Kudelski’s Nagra SN (1964)
Nagra is een serie batterijgevoede draagbare professionele audio opnameapparaten geproduceerd door Kudelski uit het Zwitserse Cheseaux-sur-Lausanne. De Nagra SN is de kleinste van de serie. De Nagra reeks van audio opnemers waren in de jaren ’60 tot en met de jaren ’80 de de facto standaard op het gebied van professionele audio opnamen. De SN werd door president John F. Kennedy aangewezen als hulpmiddel voor de Amerikaanse geheime dienst en was onderdeel van de standaarduitrusting van astronauten in Apollo missies. De SN versie van de Nagra reeks wordt door velen als Kudelski’s beste product gezien en is een toonbeeld van Zwitserse precisie.
De SN is klein. Was je in de jaren ’60 professioneel werkzaam in een vakgebied waarin gesprekken moesten worden afgeluisterd dan wist je zeker dat je met een Nagra SN te maken kreeg. Wil je op dit moment een Nagra van eBay kopen, dan ben je snel 3000 euro verder.
Casio VL-Tone (1981)
De Casio VL-1 (ook wel VL-Tone genoemd) is een monofone speelgoedsynthesizer die in 1981 door Casio op de markt werd gebracht. De synthesizer is monofoon en kan dus maar één toon tegelijk laten horen. Wel kan een melodie vergezeld gaan van een eenvoudig ritmepatroon. De klankopwekking is digitaal. Naast de vijf ingebouwde geluiden (piano, fluit, orgel, fantasy en viool) kan er een eigen geluid geprogrammeerd worden waarvoor ADSR parameters kunnen worden ingebracht. Opvallend extraatje op deze Casio is de eenvoudige ingebouwde rekenmachine.
ProArm RS2200 / Sciento CS-113 (1989)
In 1989 was Sciento uit ’s Hertogenbosch een bekende naam op de technische Hogescholen en Universiteiten. In hun portfolio zat onder meer lesmateriaal op het gebied van digitale elektronica, computertechniek en robotica. Bijzonder van het lesmateriaal was dat het allemaal robuust was uitgevoerd en dat je er hele klassen vol technisch onderlegde jongelui hun gang mee kon laten gaan. Mooi was dat. En nu heb ik twee van die historische producten op de kop kunnen tikken: een ‘Robotic Training Arm CS-113’ en een ‘Teach Pendant CS-113’. Die laatste is voor mij, in een andere vorm welliswaar, heel bekend. Ik heb letterlijk honderden uren doorgebracht met het handmatig compileren van Zilog Z80 machinecode op diverse computers (met Rodnay Zaks op tafel) en de Micro Professor was daar eentje van. Sciento, die in Nederland ook al importeur was van de MPF-1, heeft daar een stevige metalen doos omheen gefabriceerd en er een eigen EPROM met de robotarm besturingssoftware in geplaatst. De CS-113 was een stevig uitgevoerde robotarm die voor onderwijsdoeleinden kon worden gebruikt. De arm was uitgerust met verschillende technieken, waaronder kettingen, snaren, tandwielen, stappenmotoren, schakelaars en interfaces.
Externe links
Rodnay Zaks’ How to program the Z80 / Programming the Z80 (1979)
Geen boek over programmeren heeft me meer bezig gehouden dan Programming the Z80 van Rodnay Zaks (met als covertitel How to program the Z80). Zaks heeft het boek ontworpen als een volledig zelfstandige manier om vertrouwd te raken met het programmeren in het algemeen en assembleren voor de Zilog Z-80 microprocessor in het bijzonder. De Z80 (de oorspronkelijke spelling ‘Z-80’ werd zelfs door Zilog niet lang gehandhaafd) is een 8 bit processor, die werd ontworpen door oud-medewerkers van Intel. Hij werd uitgebracht in 1976 en is in essentie een processor die compatibel is met de 8080 van Intel, maar met meer instructies, registers en adresseringsmethoden. In het boek van Zaks komen dan ook verschillende verhandelingen over het werken met de 8080 voor.
Een microprocessor is slechts te gebruiken in combinatie met een door de fabrikant uitgegeven instructieset met vertaling naar machinetaalcode. De instructieset wordt gebruikt om programma’s in assembleertaal te specificeren en de vertaling naar machinecode levert bytes op die in het werkgeheugen door de processor kunnen worden uitgevoerd. Iedere fabrikant levert daarom een handboek met de instructieset van de processor mee: in het geval van de Z80 is dat de Zilog Z80 CPU User’s Manual. Als voorbeeld de instructie LD (nn), A
(“laad de inhoud van register A
in geheugenadres nn
“), uit de User’s Manual van Zilog:
De beschrijving van de instructie in de User’s Manual is beknopt en terzake, maar doet geen enkele moeite om de lezer op de pagina mee te nemen in de werking van de instructie. De User’s Manual lijkt ervan uit te gaan dat de lezer kundig is in de werking van de processor en alleen op zoek is naar de precieze vertaling van de assembleertaalinstructie naar de machinetaalcode.
Dezelfde instructie instructie LD (nn), A
in Programming the Z80:
Het is aardig om te zien, hoe Zaks de droge stof van de instructieset aantrekkelijker wist te maken. De pagina begint direct met een tekstuele omschrijving van de werking van de instructie. Dat is geen overbodige luxe, want veel beginnende Z80 programmeurs hadden moeite met het onderscheid tussen “laad de register met het geheugenadres” en “laad de register met de inhoud van het geheugenadres”, om maar eens een voorbeeld te noemen. Ook een uitgebreidere beschrijving ontbrak niet, om de lezer die nog meer ondersteuning nodig had in het zadel te helpen. Voor de lezer die meer de behoefte hadden aan een afbeelding had Zaks een schematisch overzicht opgenomen van de data zoals die van de register A in het geheugen werd overgenomen.
Hoewel doorgewinterde Z80 programmeurs waarschijnlijk wel een kopie van de Zilog User’s Manual op hun bureau hadden liggen, was het leren programmeren in Z80 assembleertaal een stuk aantrekkelijker met het boek van Zaks op tafel. Ik heb mezelf leren programmeren in Z80 assembleertaal en heb in mijn studie Informatica leren programmeren in 80×86 assembleertaal. 80×86 assembleertaal heeft een op de 8080 gelijkende benaming van instructies, die afwijkend is van die van de Z80 (LD (nn), A
van de Z80 heet STA word
in 8088). De 80×86 heeft echter veel instructies die 16 bits geheugenadressen en resultaten toestaan, wat me motiveerde zowel handig te worden in 8080 assembleertaal, alsook de meer toekomstgerichte 80×86 instructieset.
Externe links
- Rodney Zaks’ Programming the Z80 PDF (Archive.org)
- Zilog Z80 CPU User’s Manual PDF (Archive.org)
CURRAH MicroSpeech (1983)
De CURRAH MicroSpeech (of Currah µspeech) was een uitbreiding voor de Sinclair ZX Spectrum om (Engelstalige) tekst naar spraak om te zetten. Het had intern een General Instruments SP0256-AL2 aan boord, en bevatte verder programmatuur in ROM-geheugen dat in het geheugenbereik van de ZX Spectrum werd geplaatst en zo door de Z80 processor werd uitgevoerd. Dit zorgde ervoor dat de mogelijkheden van de ZX Spectrum naadloos met de extra functies van de MicroSpeech werden uitgebreid.
Jones’ & Flynn’s Mobile Robots (1993)
Het boek Mobile Robots van Joseph Jones en Anita Flynn uit 1993 heeft een enorm effect gehad op de ontwikkeling van kleine programmeerbare robots. Jones en Flynn namen met hun boek de tijd om de lezer mee te nemen in de wereld van de mechanica, elektrotechniek, elektronica, chemie, sensoriek, gedragswetenschap en informatica op zo’n manier, dat iedere hobbyist na het lezen van het boek in staat was om zelf een eenvoudige, zelfstandig opererende robot te maken. Veel van de moderne mobile robots zijn ontwikkeld op basis van het gedachtengoed uit Mobile Robots (zoals de subsumption architectuur), dat overigens zelf weer veel geleend heeft van Fred Martin, Rodney Brooks en Valentino Breitenberg. En we hebben natuurlijk iRobot en Roomba aan deze mensen te danken.