von Frederik Holst Diesmal sind wieder die Grafikadressen dran. 648 $288 CSTAT Statusregister des Cassettenrecorders. 649 $289 WMODE Enthält den Operationsmodus für den Cassettenrecorder. Null entspricht hierbei lesen, 128 schreiben. 650 $28a BLIM Enthält die Größe des Cassettenbuffers. Die Werte gehen von null bis 128, der Größe eines Records. Der Pointer der das aktuelle Byte angibt, befindet sich in 61 ($3d). 651-655 $28b-$28f .... Unbenutzte Bytes, die aber teilweise von den IRQs benutzt werden. 656 $290 TXTROW Zeilenwert des Cursors im Textfenster eines Grafikmodus. 657,658 $291, $292 TXTCOL Spaltenwert des Cursors im Textfenster eins Grafikmodus. Das Hi-Byte in 658 ist immer null, da es nur 40 Spalten gibt, in modifizierten DLs kann man es aber benutzen. TXTCOL und TXTROW können als Ersatz von POSITION verwendet werden, da sich diese auf das Grafikfenster beziehen. 659 $293 TINDEX Enthält den aktuellen Grafikmodus des Text(enster. Genauso wie bei Stelle 87 ($57) kann man auch hier dem Textfenster einen anderen Grafikmodus zuweisen. 660,661 $294, $295 TXPMSC Äquivalent zu 88,89 ($58,$59). Enthält den Beginn des Bildschirmspeichers des Textfensters. 662-667 $296-$29b TXTOLD Diese Stellen enthalten die Äqivalente von OLDROW (90 $5a), OLDCOL (91,92 $5b,$5c), OLDCHR 93 $5d) und OLDADR (94,95 $5e,$5f) für das Textfenster. 668 $29c TMPX1 Zeitweiliges Register zum Speichern der Scrollzeilenzahl. 669-671 $29d-$29f HOLD3 SUBTMP HOLD2 Zeitweilige Register. 672 $2a0 DMASK Maskenbyte, das festlegt, wieviele Pixel in einem Byte zusammengefaßt werden. GR.Modus Maske Erläuterung --------------------------------------- 0, 1, 2 11111111 8 Bit/Pixel=1 Pixel pro Byte 9, 10, 11 00001111 4 Bit/Pixel=2 Pixel 11110000 pro Byte 3, 5, 7 11000000 2 Bit/Pixel=4 Pixel 12, 13, 00110000 pro Byte 15 00001100 00000011 4, 6, 8, 10000000 1 Bit/Pixel=8 Pixel 14 bis pro Byte 00000001 --------------------------------------- 673 $2a1 Zwischenspeicher der Bitmaske 674 $2a2 ESCFLG Escapeflag. Normalerweise null, wenn USC gedrückt wurde wird es auf 128 gesetzt. Nach Ausgabe des nächsten Zeichens wird es wieder auf null gesetzt. 675-689 $2a3-2b1 TABMAP Maske der TABulator-Stops. Die Maske ist 15 Bytes lang, was 120 Bits ergibt. Jedes Bit steht für ein Zeichen in der jeweils logischen Zeile. Eine logische Zeile ist drei Zeilen lang, was 120 Zeichen ergibt. Man zählt nun aus, an welchen Stellen ein Stop sein soll, setzt das Bit und teilt die 120 Bits in 8 Bit Gruppen auf. Die Werte, die sich daraus ergeben, werden in TABMAP gepoket. Das war's mal wieder.