Computerhistorie: Datacommunicatie en randapparatuur (1978 – 1983)
Datacommunicatie en randapparatuur (1978 – 1983)
CDC 2551 – datacommunicatieprocessor
De periode 1979-1980 stond in het teken van de snelle expansie van het aantal asynchrone terminals van het merk Newbury. Bij de selectie door een gebruikerscommissie speelden vooral zaken als functietoetsen, schermkleur (groen) en weinig ventilatorgeluid een rol. Aan de centrale computerkant werd de oude CDC 6671 datacommunicatiecontroller vervangen door de CDC 2551, een minicomputer met 96 Kwoorden van 16 bits. Deze computer had 32 slots voor Communication Line Adapter borden (CLAs). Het Laboratorium had vier synchrone CLAs en 28 asynchrone CLAs. Na de overgang werkten de 110/300 baud EMA inbelmodems niet meer. Na het “scopen” van de signalen – systeemprogrammering moest vele vaardigheden hebben – werd het probleem duidelijk. Door een veel snellere afhandeling van datacommunicatiesignalen door de 2551 was deze gevoelig voor niet-gestabiliseerde belindicatiesignalen. Het opneemrelais in de 110/300 baud EMA modems klapperde bij het maken van contact dusdanig, dat de datacommunicatieprogrammatuur de lijn afzette. De oplossing bestond uit het modificeren van het modem met een grote ‘elco’ over het relaiscontacten heen.
De serieaanduiding 2550 is overigens ontstaan als grap. De ontwerpers hadden in de kast van Cyber 18, de opvolger van de CDC 1700, wel 1.5 keer zoveel borden gepropt dat deze ‘half again better was than a 1700’. Daarop werd besloten voor de aanduiding 2550 (1700 x 1.5).
De systeemprogrammatuur van de 2551 was zeer complex. Het bestond uit zo’n 700 pagina’s code in een Pascal-achtige programmeertaal, enkele honderden pagina’s microcode en een assembler. Omdat de CYBER werkte met 6-bits code, de PP’s met 12 bits code en de 2551 de programmatuur in 16-bits code uitvoerde, moesten er nogal complexe cross-compilatieslagen uitgevoerd worden. Tenslotte diende de 2551 geladen te worden door een PP-programma. Vertaling van een gewijzigde versie van de dataciommunicatieprogrammatuur, bijvoorbeeld om een fout op te lossen, vergde dan ook drie tot vier uur doorlooptijd op de CYBER 74.
Begin 1981 werd getracht over te gaan op een nieuwe versie van het interactieve deel van het operating systeem (INTERCOM). De overgang van INTERCOM 4 naar versie 5 ging niet vlekkeloos. De synchrone koppelingen met de PDP’s van het LEOK, Prins Maurits Lab TNO (PML) te Rijswijk en het TNO Instituut voor Zintuigfysiologie (IZF) te Soesterberg werkten niet. De MUX200 geëmuleerde ‘kaartjobs’ gaven de foutmelding ‘slipped card’. Aan de Laboratorium-zijde was niet zichtbaar dat er een ‘kaartjob’ ontvangen was. Ook na het toevoegen van traceringscodes kon niet achterhaald worden wat er precies mis ging. De melding was niet in de systeemsoftware terug te vinden. Reden om een data-analyzer te huren. Na bestudering van de protocolblokken van een batchjob die ingelezen werd op de CDC 734 batchterminal die ook met hetzelfde Mode-4 UT-200 protocol werkte en een job van het LEOK werd het probleem duidelijk. Een zogenaamde end-of-record kaart als scheiding tussen jobs vergde twee bytes voor het record level in kaartkolom 1 (Escape E4). De UT-200-emulatie code in de PDP vulde de kaart aan met 78 blanco tekens, totaal dus 80 tekens. Onder INTERCOM 4 werd de rest van het kaartbeeld weggegooid nadat de E4-code ontvangen was, dus dat werkte goed. INTERCOM 5 telde echter keurig netjes het aantal gelezen kaartkolommen, in dit geval E4 plus 78 blanco tekens of te wel 79 tekens. Eén te weinig dus, vandaar de melding ‘slipped card’. Na deze analyse werd het probleem spoedig opgelost door collega’s op het PML waar de emulatiecode onderhouden werd.
DATUS 5810 poortselector
Om de sterk groeiende behoefte aan asynchrone lijnen niet direct te vertalen in uitbreidingen aan de Communication Line Adapters (CLA)-borden in de CDC2551 en ook om vanaf de werkplek meer systemen te kunnen bereiken werd eind 1982/ begin 1983 een DATUS 5810 poortselector geïnstalleerd met 32 poorten. De DATUS poortselector werkte als een soort van telefooncentrale voor dataverbindingen. Op de werkplek kon men een gewenste verbinding kiezen met een van de centrale systemen of telecommunicatiediensten bereiken, in ons geval Datanet-1 packet assembly/dis-assembly (PAD) of een uitbelmodem. De DATUS is uiteindelijk uitgebouwd tot een systeem met vele tientallen in- en uitgaande lijnen. De DATUS heeft tot 1993 volop dienst gedaan als poortselector. Daarna is de DATUS alleen nog voor de ingebouwde dial-up security module (DUS) in bedrijf gehouden tot begin 1995.
Single Board Computers (iSBC’s)
Door enkele opeenvolgende militair gedetacheerden binnen de toenmalige Computergroep werden Intel Single Board Computers (iSBC’s) met 8085/85 micro-processors geprogrammeerd als interface/controller die speciale apparatuur moest koppelen met de CYBER 74 via asynchrone lijnen. Onder andere betrof dit een koppeling voor de magneetcassettelezer, de ponsbandlezer en ponsbandpuncher, een PROM-programmer en een fotoplotter (bij de Synthetic Aperture Radar-groep).
Alle datacommunicatieprogrammatuur daarvoor werd door het Laboratorium zelf ontwikkeld. Later werd deze controller geschikt gemaakt voor de koppeling met het Dataconversiestation. Om de goede werking van de fotoplotter te demonstreren werd door enkele medewerkers van de Computergroep een nogal uitzonderlijke test ontwikkeld. De Computergroep had een collectie zogenaamde “printerplaatjes” gespaard. Dat waren tekeningen die op een printer ontstonden door het herhaaldelijk over elkaar printen van tekens. Specifieke combinaties van tekens hadden daardoor op enige afstand gezien andere “grijswaarden”. De nieuwe fotoplotter was reden om eens te gaan experimenteren met een van de “pin-up” printerplaatjes. Vrijwel naadloos werd de “borstpartij” nogmaals ingevoegd waardoor de pin-up vier borsten kreeg. Na vertaling van de grijstinten werd de “genetisch” gemanipuleerde schoonheid fotorealistisch afgedrukt op de fotoplotter.
PDP 11/34 Dataconversiestation (DCS)
Om allerlei ‘CYBER-vreemde’ apparatuur te kunnen koppelen en aan te kunnen sturen werd in PDP 11/34 Dataconversiestation (DCS) aangeschaft als vervanger van de inmiddels verouderde Cyber 18-17. Het DCS ondersteunde een negental datastromen, twee voor invoer naar de Cyber 74 en zeven voor uitvoerapparatuur. Deze stromen waren: ponsbandlezen (Facit 4020), ponsbandponsen (Facit 4070), aansturen van de DAISY-wielprinter en een C.ITOH-matrixprinter, het aansturen van de Calcomp 1051 plotter (mei 1983), het lezen van floppy-disks (14″), het lezen van datacassettes (Facit 4203), het Micro Development Station en datastromen van/naar de PDP 11/60 voor uitwisseling van grafische gegevens. De PDP 11/34 werkte onder het RSX 11/M operating systeem, had een geheugen van 256 KB en twee verwijderbare RL02-schijven van 10.4 MB ieder. Het totale systeem kostte zo’n 200.000 guldens.


Besloten werd om voor de koppeling met de CYBER het HASP-protocol te gebruiken. HASP (Houston Automatic Spooling Program) is een door IBM ontwikkeld protocol, dat meer datastromen gelijktijdig over een en dezelfde synchrone lijn toestaat. Na de initiële testen met datatransporten op basis van “kaart- en printerbeelden”, had de projectleider in maart 1982 ontdekt dat er ook zoiets bestond als transparent HASP. Wederom ontdekte de computergroep een matig uitgetest deel van het INTERCOM 5-systeem. Zodra de over te sturen transparante buffers groter werden dan de 137 tekens die een “printerregel” kon bevatten, herstartte de CDC 2551 met een foutmelding (en was iedereen zijn ingetypte werk kwijt). Met het oversturen van een andere gegevensstroom wist de projectleider de CDC 2551 in een “loop” te krijgen. Tijd voor systematische testen en analyses van de code. Aangetoond kon worden dat een combinatie van twee microcode-fouten resulteerde in het “opeten” van geheugenbuffers, waarbij de 2551 steeds trager werd en uiteindelijk met een geheugendump de geest gaf. Na het oplossen van de fouten, werd informatie in de volgens het protocol grootst mogelijk blokken – enkele Kbytes – overgestuurd. Omdat transparent HASP een eenvoudige vorm van datacompressie bevatte, kon een zeer effectieve lijnbezetting van meer dan honderd procent bereikt worden.
Micro Development Station (MDS)
Binnen de Elektronica-groep ontstond de begin tachtiger jaren de behoefte aan het ontwikkelen van programmatuur voor microprocessoren. Daartoe werd het Micro Development System (MDS), een INTEL MDS-231, aangeschaft, die onder andere de softwareontwikkeling voor de 8080, 8085/8086 en 2920 microprocessors ondersteunde. De vertalers op het MDS waren: PL/M, Fortran80 en Assembler.
Om dit dure systeem optimaal te kunnen benutten, werd besloten om alle programma’s op de CYBER 74 te editen en om alle bibliotheken en dataopslag ook op de CYBER te laten plaatsvinden. De zware, dure en grote CYBER 74 rekenmachine werd daarmee een front-end voor het Dataconversiestation dat op zijn beurt een front-end voor het MDS was. Command Control Language-procedures (CCL) werden ontwikkeld waarmee programma’s in de MDS-queue op de CYBER gezet konden worden. Ook remote procedures werden gemaakt die, aangeroepen vanuit de MDS, files en bibliotheken lieten oversturen.

De TAB 132/15 terminal in PhL-uitvoering
De eisen die het Laboratorium stelde aan de ‘standaardterminal’ konden niet ingevuld worden door de markt. De terminal moest ‘on-screen’ editing toestaan, waarbij de terminal dezelfde mogelijkheden moest bieden in combinatie met de CYBER, PDPs en Data General computers. Reeksen tekens en functiecodes moesten onder functietoetsen opgeslagen kunnen worden, waarbij een ‘self-learning’ mode en down-loading vanuit de computer mogelijk moest zijn. Reden voor TNO om in samenwerking met de leverancier zelf de TAB 132/15 microcode aan te passen aan de gestelde eisen. Het programma werd door enkele microcodeprogrammeurs aangepast en op het MDS vertaald. De lokaal aangepaste versie werd daarna in EPROM “gebakken” en in de TAB 132/15 terminal ingebouwd. De programmeringsmogelijkheden van de nieuwe terminals gaven echter ook beveiligingsproblemen. Zo werden volledige login-boodschappen inclusief de wachtwoorden nog al eens opgeslagen onder de functietoetsen. Ook kon een bericht aan een andere terminal gestuurd worden met escape-codes. Snel moest een blokkade gevonden worden voor de berichten als ‘<escape code ga naar top of screen>, logout, <escape code send screen>’.
