De viktigaste kretsarna som har hand om AUTOCONFIG är U1
,
U2
och U10
(see section Systemschema). U1
är en D-vippa
och används som adressregister, U2
är en 8-bitars komparator som
används för att jämföra adressen och U10
är ett PAL som används
för styrning och identifikation av kortet.
Vid systemstart går CONFIG_IN
aktiv (dvs låg) för det första Zorro-kortet
i datorn. Det betyder att ena villkoret för OR-kretsen U7
är uppfyllt.
Notera även att U1
's utgångar är i tri-state i det här läget, och
att dess utgångar hålls till $E8 med hjälp av resistorer. Detta innebär att
kortet nu kommer att svara på adress $E80000 till $E8FFFF.
Nu ligger alltså PAL-kretsens sanningstabell (see section PAL-kretsen) mappat på adress $E80000. Tabellen innehåller information om kortet, exempelvis att det är ett Zorro II-kort, inte är ett minneskort och inte har några drivrutiner i ROM (^h00), upptar 64 kB minne (^h02), har ID-kod 162 (^h04 och ^h06) och är tillverkat av tillverkare 2011 (^h10, ^h12, ^h14 och ^h16). Tillverkare nummer 2011 är reserverad för prototyper.
När OS:et har får klart för sig vad det är för sorts kort reserverar den en
minnesarea á 64 kB, och skriver adressen i register ^h48 och ^h4A. Som framgår
av ekvationen för precon
kommer en skriving till dessa register att
lagra adressen i adressregistret och få kortet att lämna konfigurationsfasen.
Skulle det i stället vara så att kortet inte får plats, till exempler på grund
av att flera andra stora kort har gjort slut på adressrymden, skriver OS:et i
"shutup-registret" (^h4C och ^h4E) i stället. Då kommer kortet att stänga av
sig själv tills datorn startas om.
När kortet går ur sin konfigurationsfas, låter kortet (genom ekvationen
för conout
) signalen CONFIG_OUT
gå aktiv så nästa kort i tur
får konfigurera sig.
I och med detta har kortet fått en basadress tilldelad sig, och i fortsättningen är det bara adresskomparatorn som avgör om kortet ska svara på tilltal eller inte.
Go to the first, previous, next, last section, table of contents.