DMA-KANALER AMIGAN är uppbyggd av en rad DMA-kanaler. "DMA" står för "Direct MEMORY ACCESS". Dessa "kanaler" hanteras av de tre co- processorerna AGNUS, PAULA och DENISE. Detta kan förklaras så här: De kan läsa ifrån (och skriva till) minnet och hantera data själv utan hjälp av MC-68000 (Huvudprocessorn). Den används bara till att sätta upp och starta DMA:erna. Låt oss ta ett exempel. OBSERVERA! Detta diskettexempel är bara en enkel förklaring för att du ska få en aning om hur det fungerar. Fullständig förklaring om diskhantering får du i ett senare brev. Alltså: Vi vill läsa från en diskett. Vi använder MC-68000 för att ange var i minnet vi ska lägga diskett-datan som vi vill läsa in. Den delen av minnet blir en "uppsamlingsplats" - en s.k. "buffer" - eller här : "Diskbuffer". Vi måste ange hur många BYTES vi ska läsa (alltså hur mkt vi skall läsa in), vi måste starta diskettstationens motor, och till sist måste vi starta DISK-DMA:n (sätta co-processorerna i sving med diskett-operationen). Man brukar kalla den del av co-processorerna som utför dessa DMA- operationer för en "DMA" - även om de fysiskt sett inte existerar. DISK-DMA:n kommer nu att läsa från disketten och lagra datan i minnet på egen hand (in i vår uppsatta DISKBUFFER). Själva huvudprocessorn (MC-68000) är under tiden fri att fortsätta med ngt annat. OBS! Den data man läser från disketten, måste naturligtvis lagras CHIP-RAM. Minns du varför ? (För att AGNUS, PAULA och DENISE som utför operationerna, och de kan bara använda minnet som ligger i området $000000 till $07ffff - s.k. CHIP-RAM. Se brev 1). När DISK-DMA:n är färdig med att läsa, kommer den att skicka en signal till MC-68000, en INTERRUPT (eller på svenska: ett avbrott). AMIGANS DMA-kanaler: TYP Ant. Kanaler DISK 1 AUDIO 4 (fyra ljudkanaler) SPRITE 8 (åtta sprites) BITPLANE 6 COPPER 1 BLITTER 4 Allt som allt finns det alltså 24 DMA-kanaler på AMIGAM. Alla DMA-kanaler kan startas och användas samtidigt om det är nödvändigt. Du har säkert sett WORKBENCH-skärmen många ggr. Men kanske aldrig tänkt på vad som egentligen händer när den är där. Det är nämligen mer än du tror ! Låt oss förtydliga det hela en smula. (detta kommer senare att förklaras mycket mer ingående, så bli inte nervös om du inte förstår så mkt av det för tillfället). Skärmen, om du inte gör ngt (d.v.s. att du har en fast bild), använder COPPER DMA-kanaler och 2 BITPLANE DMA-kanaler. Det faktum att den använder sig av 2 BITPLANEs gör att man får max. 4 färger på WORKBENCH-skärmen. (Begreppet BITPLANEs kommer att förklaras mkt grundligt senare). Markören - Den röda WORKBENCH-pilen som du flyttar runt m. musen - använder en SPRITE DMA-kanal. När du öppnat eller flyttat ett fönster (eller en ikon) används det 4 BLITTER DMA-kanaler. Menyerna i fönstret använder också BLITTER DMA:n. Och när du läser eller skriver till diskett så används DISK DMA:n. Själva 68000-processorn är kanske den som är minst belastad, tack vare alla DMA-kanalerna. Tänk vilken sorglig dator AMIGAN hade varit om den inte hade varit utrustrad med de 3 specialla chipen AGNUS, PAULA och DENISE...(Nästan som ST:n då...) DMA TIME SLOT ALLOCATION PER HORIZONTAL LINE Den här överskriften kan man ju nästan få hicka av. Att hitta en riktigt bra översättning med några få ord är mkt svårt. Det bör kunna översättas med: DMA-TIDSBRUK PER HORISONTELL LINJE. Eller lite friare: Hur den tid det tar att rita en linje, delas upp i små tidsrum, och hur dessa tidsrum utnyttjas av AMIGANS olika processorer. När du har läst detta kapitel, kommer du att förstå det hela bättre. Men först ska vi ta ett steg utanför AMIGAN och förklara hur en monitor - eller vilken TV som helst - fungerar. Inne i monitorn finns en ELEKTRON-KANON (VIDEO BEAM). I en färg- monitor eller färg TV finns det t.o.m. tre stycken - en för var och en av grundfärgerna RÖD, GRÖN och BLÅ. Det är denna stråle av elektroner som används till att rita det du ser på skärmen. Strålen är som en punkt som far över den fosforbelagda insidan av monitorn eller TV:n. När detta fosforlagerträffas av elektronerna lyser det upp ett kort ögonblick i den lilla punkten som elektron strålen träffar. Med de 3 grundfärgerna kan man visa alla de fantastiska färgerna du t.e.x. ser i ett naturprogram på TV. Bilden är inte en "fast" bild som finns där hela tiden. Den ritas hela tiden. Den ritas om 50 ggr i sekunden - men för ditt öga är detta nästan helt omöjligt att uppfatta. Du kan dock, vid vissa färgkombinationer på skärmen, uppfatta ett visst flimmer. På europeiska AMIGA-skärmar finns det totalt 313 linjer. Elektron kanonen börjar med att rita linje nr. 1 från vänster till höger. Sedan hoppar den tillbaka och ritar linje nr. 2. På så sätt fortsätter den med linje nr. 2,4, o.s.v., tills den har ritat hela skärmen. Då hoppar den upp från nedersta högra hörnet till överst i vänster hörn och börjar om från början. det går som sagt väldigt fort - 50 ggr/sek.!. Som kuriosa kan vi nämna att varje linje tar 0.000064 sek. -eller 64 microsekunder (Miljondels sekunder). Under den tiden det tar att rita upp en enda linje på skärmen - som nämnt 64 microsekunder - sker det en hel del i AMIGAN som vi nu skall förklara för dig. Det är inte så lätt att förstå det här med en gång, men läs det några gånger, så förstår du säkert. I slutet av brevet finns ett ark med en figur (FIGUR 1) som visar hur en linje tar sig ut på skärmen, och vad som sker - och kan ske - medan linjen ritas. Eller med andra ord: Vad olika DMA:na kan få utfört under den tid det tar att rita upp linjen på skärmen. Det är det överskriften till detta kapitel handlar om. Ha den nämnda figuren till hands när du läser vidare. Det som vi nu ska lära dig, är inte så lätt att förstå med en gång. E del av det kommer du sannolikt inte att förstå förrän du kommit längre fram i kursen. Detta är dock något av det viktigaste som vi överhuvudtaget kommer att gå igenom, och du bör lägga ned lite arbete på att förstå så mkt som möjligt av det här redan nu. Figur 1 kommer du att använda ofta när du programmerar själv, så även om du inte förstår allt nu, så kommer du att få många chanser att förstå det senare. Här begränsar vi oss till att försöka få dig att förstå principen för det hela. Du behöver inte veta allt om det här ännu och detaljerna kommer att förklaras bit för bit i egna kapitel om SPRITES, BITPLANES, LJUD, DISKOPERATIONER o.s.v. i kommande brev. Studera FIGUR 1 en liten stund, och tänk dig att den linje du ser där existerar samtidigt som elektronkanonen ritar en horistontell linje, utför AMIGAN det du ser i FIGUR 1. DISK DMA:n, AUDIO DMA:n, SPRITE DMA:n och BITPLANE DMA:n har alltid en fast avsatt "plats" för att utföra sina uppgifter på denna linje (eller i detta tidsrum), medan BLITTER DMA:N och MC- 68000 tar de "hål" som blir över. De vita "spalterna" är s.k. fria klockpulser som BLITTER, COPPER och MC-68000 också kan använda. Det bör också påpekas att om du inte använder ljudkanalerna (AUDIO) kommer dessa grå fält att betraktas som vita, och därför lediga för BLITTER, COPPER, och MC-68000 istället. MASKINKODSPROGRAMMERING Nu ska vi börja titta lite på hur själva maskinkodsprogrammeringen går till. Först vill vi be dig att lägga märke till att vi hädanefter kommer att använda förkortningen MC för "maskinkodsprogrammering". Låt oss börja med att se på två mkt användbara uttryck i MC, nämligen WORD och LONGWORD. Det första ordet, WORD, är beteckningen på TVÅ BYTES (16 BITS). Här sätter man alltså samman två BYTES till en enhet. Ett LONGWORD är en sammanstättning av två WORDS, alltså 32 BITS (eller 4 BYTES om man så vill). Låt oss ta några exempel. BYTES: $0A,$5C,$FF WORDS: $0820,$FC9B,$0001 LONGWORDS: $00DFF180,$00BFE001,$8102FA88 Huvudprocessorn i AMIGAN är den mkt kända MC-68000. Den är en s.k. 16/31 BITs processor. Det betyder att DATABUSsen är 16 BITs bred. Det engelska ordet BUS kan i datasammanhang förklaras som en "bunt" me