Vorige                       Inhoud                      Volgende
_________________________________________________________________

DIAMOND                 860409          (c) 1986 by ORD-GROUP  23


                             DIAMOND

                (DIAgnostic MONitor and Debugger)

Inleiding
Tijdens  de  bouw  van de ORDINATOR was er al snel (na  het  ont-
wikkelen  van  de  CPU kaart) de behoefte aanwezig  om  een  stuk
hardware te kunnen testen. Iets later kwam daarbij de behoefte om
software  voor deze hardware te schrijven en deze te  testen.  We
moesten  dus een monitor schrijven die zo min mogelijk  hardware-
faciliteiten  nodig  zou hebben.  Ze moest in staat  zijn  om  de
diverse hardware functies te testen en het moest mogelijk zijn om
met deze monitor software te testen.  Een verdere eis was dat het
eenvoudig  moest  zijn  om  uit  te  breiden.  Aangezien  het  te
verwachten  was  dat we vrij veel met deze monitor zouden  moeten
werken  moest de bediening eenvoudig,  snel en  toch  gebruikers-
vriendelijk zijn.

Noodzakelijke hardware
In  principe heeft de ORDINATOR alleen maar de CPU-kaart nodig om
te werken.  Op de CPU-kaart is een kleine hoeveelheid RAM en  ROM
aanwezig.  In  deze  ROM  zit het basisdeel van  DIAMOND.  In  de
praktijk heb je ook nog een seriele I/O kaart nodig omdat DIAMOND
anders niet met de buitenwereld kan communiceren.

Expansimogelijkheden
Omdat  er steeds meer hardware kwam moesten de mogelijkheden  van
DIAMOND  ook  steeds worden uitgebreid.  Het programma  werd  hoe
langer hoe groter todat het niet meer in een EPROM paste. We zijn
toen overgestapt op een uitbreidingssysteem.  De kern van DIAMOND
zit in een EPROM op de CPU kaart. Deze kern kan losstaand werken.
Op  de CPU-extensie kaart zitten nog twee EPROM's.  Deze  EPROM's
bevatten  een stel uitbreidingen van de kern.  Bij het  opstarten
kijkt de kern of deze EPROM's aanwezig zijn. Als ze aanwezig zijn
dan kent DIUAMOND een aantal commando's extra.

Het  voordeel  van dit systeem is dat DIAMOND toch werkt  als  de
CPU-extensie  kaart  niet aanwezig is.  Dit betekent dat  we  met
DIAMOND een fout in de CPU-extensie kaart kunnen gaan zoeken.

Eenvoud van gebruik
Bij de meeste monitorprogramma's moet bij een listcommando  zowel
het  begin- als het eindadres worden opgegeven.  Dit blijkt in de
praktijk niet handig,  daar het hoogste te printen adres  bepaald
wordt  door  het  aantal regels dat op het scherm  past.  DIAMOND
print daarom een bepaald (instelbaar) aantal regels,  en  bepaalt
daarmee  het eindadres voor het gegeven commando.  Dit heeft  als
nadeel dat wanneer een groot geheugenblok bekeken moet worden, er
erg  veel commando's gegeven zouden moeten worden.  Daarom  heeft
DIAMOND  een uitgebreid defaultsysteem.  Zo onthoudt DIAMOND  het
laatst  gebruikte  adres,  en  gebruikt dit als default  bij  een
volgend  commando.  Ook  onthoudt DIAMOND  het  laatst  gebruikte
listcommando  (hexdump  of disassembly list).  DIAMOND heeft  als
extra  commando  de  return toetst.  Dit voert het  laatste  list-
commando uit,  met als argument het laatst gebruikte adres.  Voor
het  bekijken  van  een programma op adres  1000  kunnen  dus  de

_________________________________________________________________

Vorige                       Inhoud                      Volgende