Een van de grote voordelen van de moderne technologie is dat we het functioneren van oude systemen met een hoge mate van precisie kunnen nabootsen. Twee klassieke en terugkerende voorbeelden zijn de Enigma-machine en de Apollo-navigatiemodule, maar vandaag bespreken we een nog extremer geval. David Given, beter bekend als Hjalfi op YouTube en Twitter, besloot een simulator te maken van een computer uit de jaren '60 die in verschillende ruimteprojecten werd gebruikt, en het meest indrukwekkende is dat hij zijn werk deelde in een video van acht en een half uur.

Simulator voor een ruimtecomputer uit de jaren '60
Computersimulator

De OBP (On-Board Processor) werd oorspronkelijk ontworpen in 1968 en gebruikt in verschillende ruimteprojecten. Een van de belangrijkste was de OAO-3 Copernicus-telescoop, de meest succesvolle uit de hele OAO-serie (Orbiting Astronomical Observatory), met een missie die liep van augustus 1972 tot februari 1981.

David Given, ook bekend als Hjalfi, deelde interessante technische details over de OBP op zijn officiële pagina: 18-bit, Von Neumann-architectuur, data en code die dezelfde adresruimte delen, geheugenbescherming, DMA... kortom, een systeem waar prettig mee te werken valt. Met een kloksnelheid van 250 kHz heeft de OBP serieuze beperkingen op het gebied van snelheid, maar David nam geen genoegen met een oppervlakkige analyse en besloot een simulator te maken, van begin tot eind.

OBP-simulator, een computer uit de jaren '60

Je ogen bedriegen je niet: de video duurt acht en een half uur, wat overeenkomt met drie dagen werk. De introductie duurt vijf minuten, maar de assembler beslaat meer dan een uur, en de rest is gericht op de simulator. Een van de meest interessante details van de assembler is dat hij volgens de originele documentatie geprogrammeerd moest worden met behulp van natuurlijke taal. In werkelijkheid 'begrijpt' de assembler de woorden niet, maar worden bepaalde sleutelzinnen gekoppeld aan specifieke instructies.

Simulator voor een ruimtecomputer uit de jaren '60
Een voorbeeld uit de officiële handleiding. Afgezien van geïsoleerde details... is het Engels.

Dit bewijst dat programmeren in natuurlijke taal iets is dat we al decennia verkennen en dat nooit echt van de grond is gekomen. David legt uit dat de Engelse taal fundamenteel ambigu en contextafhankelijk is, terwijl programmeertalen het tegenovergestelde zijn. Misschien is de taal gemakkelijk te lezen en te interpreteren voor ons, maar het is ook gemakkelijk dat de assembler in de war raakt. Bij de mogelijkheid van fouten is het voor de programmeur comfortabeler om elke bron van ambiguïteit te elimineren en de instructies direct te schrijven.

Wil je meer weten? De link staat hieronder!

Officiële site: Klik hier

Bron: Hackaday