von Frederik Holst Es folgt der GTIA zweiter Teil... 53261 $D00D GRAFP0 (W) Mittels der GRAFP Register ist es möglich, einen Player auf dem Bildschirm darzustellen, ohne DMA zu benutzen. Wenn man DMA benutzt, werden die Playerdaten aus dem Bereich geladen, den PMBASE (54279, $D407) angibt. Mittels der GRAF Register wird nur ein ein Byte großer Player auf den Schirm gebracht, der aber die Länge des gesamten Bildschirms hat. Auf diese Art und Weise kann man einfach Begrenzungen in Form eines Players herstellen, ohne großartige Player zu initialisieren. P1PL (R) Kollision von Player 1 mit einem anderen Player. 53262 $D00E GRAFP1 (W) Player-Muster für Player 1. P2PL (R) Kollision von Player 2 mit einem anderen Player. 53263 $D00F GRAFP2 (W) Player-Muster für Player 2. PL3PL (R) Kollision von Player 3 mit einem anderen Player. 53264 $D010 GRAFP3 (W) Player-Muster für Player 3. TRIG0 (R) Hardware-Register für den Feuerknopf von Joystick 0 (644). Wenn der Wert null ist, bedeutet dies, daß der Feuerknopf gedrückt worden ist. Wenn Bit 2 von GRACTL (53277, $D01D) gesetzt ist, bedeutet dies, daß alle TRIG Adressen auf null gesetzt werden, was einem Dauerfeuer-Effekt gleichkommt. 53265 $D011 GRAFM (W) Diese Adresse arbeitet genauso wie GRAFP0, nur daß hier jeweils zwei Bit das Aussehen eines Missiles bestimmen: Bit 7 6 5 4 3 2 1 0 Missile -3- -2- -1- -0- TRIG1 (R) Hardware-Register für Feuerknopf von Joystick 1. 53266 $D012 COLPM0 (W) Hardwareregister für Farbe und Helligkeit von Player und Missile 0 (704). Missile und Player haben immer die gleiche Farbe, es sei denn, die vier Missiles bilden einen fünften Player, dann wird die Farbe durch 53273 ($D019) bestimmt. TRIG2 (R) Hardware-Register für Feuerknopf von Joystick 2. 53267 $D013 COLPM1 (W) Hardwareregister für Farbe und Helligkeit von Player und Missile 1. TRIG3 (R) Hardwareregister für Feuerknopf von Joystick 3. 53268 $D014 COLPM2 (W) Hardwareregister für Farbe und Helligkeit von Player und Missile 2. PAL (R) Wird zur Unterscheidung benutzt, ob eine PAL oder NTSC Version des ATARI vorliegt. Wenn die Bits 1-3 null sind, ist es ein PAL Gerät, wenn sie eins sind, ein NTSC Gerät. 53269 $D015 COLPM3 Hardwareregister für Farbe und Helligkeit von Player und Missile 3. 53270 $D016 COLPF0 Hardwareregister für Farbe und Helligkeit von Playfield 0 (708). 53271 $D017 COLPF1 Hardwareregister für Farbe und Helligkeit von Playfield 1. 53272 $D018 COLPF2 Hardwareregister für Farbe und Helligkeit von Playfield 2. 53273 $D019 COLPF3 Hardwareregister für Farbe und Helligkeit von Playfield 3. 53274 $D01A COLBK Hardwareregister für den Hintergrund (BAK, 712). 53275 $D01B PRIOR (W) Hardwareregister von 623. Dieses Register gibt die Abbildungsreihenfolge der Player und Missiles an. Bei sich widersprechenden Prioritäten wird die Überlagerungsfläche schwarz. Bit 0=1: Bit 1=1: Player 0 Player 0 Player 1 Player 1 Player 2 Playfield 0 Player 3 Playfield 1 Playfield 0 Playfield 2 Playfield 1 Playfield 3 und 5.Player Playfield 2 Player 2 Playfield 3 Player 3 und 5.Player Hintergrund Hintergrund Bit 2=1: Bit 3=1: Playfield 0 Playfield 0 Playfield 1 Playfield 1 Playfield 2 Player 0 Playfield 3 Player 1 und 5.Player Player 0 Player 2 Player 1 Player 3 Player 2 Playfield 2 Player 3 Playfield 3 und 5.Player Background Background Bit 4=1: Bildet einen fünften Player aus den vier Missiles. Bit 5=1: Das überlappen von den Playern 0 und 1, bzw. 2 und 3 ergibt eine dritte Farbe anstatt schwarz. Die resultierende Farbe ergibt sich aus den beiden Farbwerten, verknüpft mit einem logischen ODER. Bit 6 und 7 werden für die GTIA Modi verwendet: 0 0 = keine GTIA Modi 0 1 = GTIA GR.9 1 0 = GTIA GR.10 1 1 = GTIA GR.11 53276 $D01C VDELAY (W) Bei gesetztem Bit, wird ein Player bzw. Missile bei zweizeiliger Auflösung um eine Fernsehzeile nach unten bewegt. Für größere Bewegungen muß der Inhalt ab PMBASE verschoben werden. Bit Dezimal Objekt 7 128 Player 3 6 64 Player 2 5 32 Player 1 4 16 Player 0 3 8 Missile 3 2 4 Missile 2 1 2 Missile 1 0 1 Missile 0 53277 $D01D GRACTL (W) Mit diesem Register kann man Player und Missiles, sowie das Dauerfeuer für die Joysticks an- und ausschalten: Dezimal Bit Missiles an 1 0 Player an 2 1 Dauerfeuer 4 2 53278 $D01E HITCLR (W) Ein beliebiger Wert in diese Speicherstelle löscht alle Kollisionsregister. In diese Adresse sollte man immer dann schreiben, bevor ein Ereignis geschehen kann, das zu einer Kollision führen konnte, bzw. gleich nachdem man sie abgefragt hat. 53279 $D01F CONSOL (W/R) Mit dieser Adresse kann man die vier Funktionstasten (ohne RESET) abfragen: Taste Wert 0 1 2 3 4 5 6 7 OPTION X X X X SELECT X X X X START X X X X Dies bedeutet, daß bei einem Wert null alle Tasten gedrückt wurden, bei eins OPTION und START usw. bis sieben, wo keine Taste gedrückt wurde. Das war's für dieses Mal, nächstes Mal geht's weiter mit dem POKEY...