Der ANTIC Grafikchip - Befehlssatz

Hauptkategorie: 8-Bitter
Erstellt: 12 November 2011
Zugriffe: 28013

Beitragsseiten

            *** ATARI INTERN                                   ANTIC ***




            Bei  Befehlen,  die veranlassen,  daß der Bildspeicherzähler
            geladen  wird,  holt der ANTIC ebenfalls zwei weitere  Bytes
            per DMA aus dem Speicher und transportiert sie in das  Bild-
            speicherzählerregister  (auch  hier wird  das  niederwertige
            Byte  zuerst gelesen).  Bei "normalen" Anzeigekommandos holt
            der  ANTIC  das nächste Byte der Bilddaten  direkt  aus  der
            Speicheradresse,  die der folgt, aus der das letzte Byte der
            vorherigen Zeile gelesen wurde.  Der Bildspeicherzähler wird
            dabei  nicht neu geladen.  Dadurch werden die Bilddaten  der
            jeweils  nächsten Zeile direkt aus den Speicherstellen,  die
            der vorhergehenden Zeile folgen,  gelesen. Die Bilddaten der
            einzelnen Zeilen werden so ohne Lücke aneinandergereiht.  Es
            ergibt sich dadurch ein Bildspeicherblock,  wie er auch  bei
            fast allen anderen Mikrocomputern vorhanden ist.

            Der  Bildspeicherzähler (der Pointer auf die Bilddaten)  be-
            steht  aus  4 Register- und 12 Zählerbits.  Daher  kann  ein
            zusammenhängender Bildspeicherbereich nie länger als 4 KByte
            sein.  Jeweils  beim Übergang zum nächsten 4 KByte-Block muß
            der  Bildspeicherzähler durch ein geeignetes  ANTIC-Kommando
            neu geladen werden. Besonders sollte man auch darauf achten,
            das  der 4 KByte-Block nicht während der  Darstellung  einer
            Zeile  überschritten wird.  Dies würde nämlich dazu  führen,
            daß plötzlich,  innerhalb der laufenden Zeile, die Daten aus
            Speicherstellen vom Anfang des durch die obersten 4 Bits des
            Bildspeicherzählers bestimmten 4 KByte-Blocks,  gelesen wür-
            den.


            Für jeden Befehl gibt es eine Version,  die  veranlaßt,  daß
            bei der Bearbeitung der letzten, durch diesen Befehl erzeug-
            ten  Bildzeile,  die normale Tätigkeit der CPU  unterbrochen
            wird  und  stattdessen die Routine,  deren Startadresse  bei
            DLIVKT (niederwertiges Byte in 512/$200,  höherwertiges Byte
            in 513/$201) steht,  bearbeitet wird. Die Vorraussetzung für
            eine  derartige ANTIC-Programm-Unterbrechung ist, daß Bit  7
            von NMIEN gesetzt ist. Eine ANTIC-Programm-Unterbrechung ist
            nicht  eine Unterbrechung des ANTIC-Programms,  sondern eine
            Unterbrechung  (Interrupt)  der CPU,  die durch  das  ANTIC-


                                                                     89