In voorbereidingDe Software

Het lastige van een zelfbouwsysteem rond de jaren 1980 was natuurlijk dat het nergens mee compatible was. Aan de andere hand, veel bruikbare software was er toen toch nog niet te krijgen, je moest nog veel zelf doen. Ik denk dat er in Nederland maar een persoon of 10 waren die dit type board gebruikten, en ik kende er gelukkig een paar van: samen het een en ander uitgewerkt.

De eerste stappen

Het systeem bevatte wel een simpele 'BIOS', deze zorgde voor het afhandelen van het toetsenbord, het plaatsen van tekst op het beeldscherm (een omgebouwde TV), en het lezen en schrijven naar cassette, maar niet veel meer. Het eerste wat ik gemaakt heb was een assembler. Omdat ik nog geen assembler had heb ik die dus met de hand naar machinecode vertaald... en vervolgens byte voor byte in hexadecimale cijfers (0..9, A..F) ingetypt, in totaal ongeveer 4 Kbyte. Het assembleren zelf heeft me in 1980 enkele weken vakantie gekost, het intypen en testen weet ik al niet meer. Ik weet nog steeds een aantal veelgebruikte machineinstructiecodes uit het hoofd.

De assembler las tekst van de cassetteband (300 Baud, 30 characters per seconde) en vertaalde dit direct (in een 'pass') naar machinecode. Moest dus snel genoeg zijn om de cassette bij te kunnen houden, dit lukte (al moesten er wel na elke regel enkele 'nullen' op de tape staan, om even ademtijd te geven). Vanaf dat moment kon ik in assembler programmeren, en vooral de eerste tekst-editor (2e helft 1980) was hiervan het resultaat. Met die combinatie kon ik bootstrappen: de edit-assemble cirkel was aanwezig en ik kon steeds betere assemblers, editors, en andere programma's maken.

Het BIOS Bootscherm'BIOS' aanpassen

Een van de betere uitbreidingen van de floppy disk controller (1983?). Ook zelfgebouwd dus ook geen software voor aanwezig. Nu had ik tegen die tijd Forth als operating system/programmeertaal, en daarin had ik wel een DOS: Disk Operating System gemaakt. Maar, daarvoor heb ik wel eerst in assembler primitieve routines moeten schrijven om de disk op laag niveau aan te sturen.

Daarnaast moest ik natuurlijk de boot ROM (met de 'BIOS' : Basic Input/Output System) aanpassen, deze kon alleen maar booten (starten) van cassette. Hier was de memory card met batterij-backup handig: hierin kon ik mijn met de hand geschreven boot code voor floppy kwijt, zonder deze steeds opnieuw van cassette te moeten lezen. Een kleine wijziging in de ingebouwde BIOS maakte dat deze in de memory card keek naar uitbreidingen (zoiets als huidige BIOS'en in PC's ook doen), en deze uitbreiding vroeg dan van welke floppy te booten (zie scherm hierboven, uit 1986). Gelijk die bootcode ook maar mijn toenmalige logo (gebaseerd op mijn achternaam: Moerman) op het scherm laten zetten.

Op een hoger niveau!

Maar ik wilde toch naar een hogere programmeertaal: lees verder op mijn Forth pagina.