EPROM-programmer 860409 (c) 1986 by ORD-GROUP 12 EPROM-programmer In de begin-fase van een systeem als de ORDINATOR is niets zo onmisbaar als een EPROM-programmer. Dit is dan ook één van de eerste kaarten die gebouwd zijn na de CPU-kaart. Voordat deze kaart er was werden onze EPROM's geprogrammeerd op een (niet door ons) zelfgebouwd systeem met een 8080-microprocessor. De EPROM-programmer van de ORDINATOR kan 2716 (2k x 8) en 2732A (4k x 8) EPROM's programmeren. De programmeerspanning moet door een externe voeding opgewekt worden. Het is een redelijk luxe programmer. Zo is het bijvoorbeeld mogelijk om te controleren of er wel een programmeer-spanning van het juiste voltage aanwezig is. Ook wordt alle timing hardware gedaan. Erg handig is dat niet een hele EPROM geprogrammeerd hoeft te worden, iedere byte kan individueel veranderd worden. De EPROM-programmer maakt gebruik van een I/O-poort en een geheugen-segment. Als de 'programmeren'-schakelaar op 'uit' staat kan de EPROM niet geprogrammeerd worden. Het is echter altijd mogelijk de EPROM uit te lezen (mits de programmer niet bezig is een byte te programmeren). De I/O poort heeft 2 functies: - Als de waarde gelezen wordr is het een poort om de status van de programmer aan te geven. Bit 0 geeft dan aan of de programmeer-spanning correct is en bit 1 geeft aan of er nog een programmeer-cyclus bezig is. - Als er naartoe geschreven wordt (het doet er niet toe wat), wordt de waarde die het laatst naar een adres in het geheugensegment geschreven was op die plaats in de EPROM geprogrammeerd. (mits de schakelaar in de juiste positie stond!) Het geheugensegment wordt gebruikt om de EPROMP te adresseren. De EPROMP zit dus gewoon in het adresseerbereik van de ORDINATOR. Hierdoor is er geen speciale programmatuur nodig om EPROM's uit te lezen. Om een byte in EPROM geprogrammeerd te krijgen moeten de volgende stappen genomen worden: - Er moet gekeken worden of er niet al geprogrammeerd wordt en of de programmeer-spanning wel correct is. - De juiste waarde moet naar de juiste locatie in de EPROM geschreven worden. - Hierna moet naar de poort geschreven worden, de program- meer-cyclus wordt gestart. - De CPU moet wachten totdat de programmeercyclus klaar is. - Eventueel kan gekeken worden of de byte goed in EPROM is gezet, zo niet dan moet een fout-melding gegeven worden. EPROM-programmer 860409 (c) 1986 by ORD-GROUP 13 De enige software voor de ORDINATOR waarmee daadwerkelijk EPROM's geprogrammeerd kunnen worden zit in DIAMOND. Met het 'P'-kommando kan opgegeven worden welke bytes geprogrammeerd moeten worden. DIAMOND vergelijkt vooraf zelfs de bytes die geprogrammeerd moeten worden met de bytes die al in EPROM staan. Als deze al overeenkomen wordt de byte niet geprogrammeerd. Dit levert een enorme tijdbesparing op als maar een paar bytes in EPROM veranderd moeten worden. N.B. Bij het programmeren van EPROM's kunnen alleen bits die 1 zijn veranderd worden in nullen. Omgekeerd kan niet. Het programmeren van nieuwe bytes over oude heen gaat dus niet altijd goed. In de praktijk blijkt echter dat software die vaak veranderd moet worden zo te schrijven is, dat de EPROM niet iedere keer helemaal gewist hoeft te worden om een kleine wijziging aan te brengen of een nieuw test-programmatje te bevatten.