3D-Grafik für Schachspiele
Wollen Sie Ihrem Schachprogramm zu einer räumlichen Darstellung verhelfen oder wichtige Schachpartien speichern? Hier finden Sie wertvolle Routinen dafür.
Haben Sie sich schon häufig über die zweidimensionale Darstellung bei Schachspielen geärgert? Das Programm »Schachgrafik« (Listing) beendet diese Misere. Sie können damit ein perspektivisches Schachbrett erzeugen, wie es im Bild zu sehen ist.

Das Programm ist vollständig in Maschinensprache geschrieben und belegt den Speicherbereich $C000 bis $C9BE. Der Basic-Speicher bleibt auch bei eingeschalteter Grafik frei. Nachdem Sie das Programm mit dem MSE eingegeben haben, stehen Ihnen zwölf Routinen zur Verfügung, die mit dem SYS-Befehl aufgerufen werden können. Schachprogrammen wie »Schachmeister« (Ausgabe 11/84) oder »Schach dem C 64« (Ausgabe 8/85) verhelfen Sie mit diesem Programm zu einer hervorragenden Grafik.
So, nun zu den einzelnen Routinen, die Ihnen nach der Eingabe von »Schachgrafik« zur Verfügung stehen.
SYS 50000
Hiermit schalten Sie die Grafik ein. Weder die Bitmap wird gelöscht, noch werden die Farben der Grafik gesetzt. Die Bitmap liegt bei $E000, der Farbspeicher bei $CC00.
SYS 50003,FLAG
Schaltet die Grafik aus. Bei FLAG=0 geht der Computer in den Großschrift-Grafikmodus, bei FLAG=1 in den Kleinschrift-Großschrift-Modus.
SYS 50006
Löschen der Bitmap
SYS 50009,Byte
Setzen der Grafikfarben. Werte zwischen 0 und 255 können eingegeben werden. Das obere Nibble des Bytes bestimmt die Zeichen-, das untere die Hintergrundfarbe.
SYS 50012,FLAG
Zeichnen eines leeren Brettes. Bei FLAG=0 ist die untere linke Ecke in der Zeichen-, bei FLAG=1 in der Hintergrundfarbe gezeichnet.
SYS 50015,FIG,FELD
Dieser Befehl setzt die Figur mit dem Code FIG auf das Feld mit der Nummer FELD. Die Figurencodes:
| Farbe 1 | Farbe 2 | Bedeutung | |
|---|---|---|---|
| 0 | oder | 128 | :Leeres Feld |
| 1 | oder | 129 | :Bauer |
| 2 | oder | 130 | :Pferd |
| 3 | oder | 131 | :Läufer |
| 4 | oder | 132 | :Turm |
| 5 | oder | 133 | :Dame |
| 6 | oder | 134 | :König |
Alle weiteren Codes sind nicht erlaubt. Die Felder sind von 0 bis 63 durchnumeriert. Dabei liegt Feld 0 links oben.
SYS 50018,FELD
Zeichnet nur das Feld mit der Nummer FELD neu.
SYS 50021,FELDA,FELDB
Setzt die Figur auf FELDA nach FELDB und zeichnet beide Felder neu.
SYS 50024
Zeichnet alle Felder neu. Nach dem Laden der Schachgrafik ist das Schachbrett in der Anfangsstellung besetzt.
SYS 50027
Rotiert das Brett einmal gegen den Uhrzeigersinn. Hierbei werden auch synchron die Nummern der Felder geändert. Nach einmaligem Drehen befindet sich das Feld 0 links unten, nach zweimaligem Drehen rechts unten etc.
SYS 50030
Nach Ausführung dieses Befehls sind die Feldnummern wieder so, als sei das Brett bisher nicht gedreht worden. Feld Nr. 0 ist wieder links oben.
SYS 50033,TEXT,ZEILE,SPALTE
Gibt den TEXT an der durch ZEILE und SPALTE bestimmten Position in der Bitmap aus. Alle Zeichen erscheinen im Großschrift-Grafikmodus. Steuerzeichen werden als Leerzeichen interpretiert.
Es muß gelten: 0 <=ZEILE <=24 und 0 <=SPALTE <=39.
Bei allen Befehlen können alle zu übergebenden Werte in beliebigen Formen, zum Beispiel als Variablen, Formeln oder ähnliches auftauchen.
Leider schreibt bei einem RUN/STOP-RESTORE eine ROM-Routine (bei $FD15) 32 Bytes in die Bitmap, die man aber mit SYS 50033," ",23,14 löschen kann. Trotzdem sollte man RUN/STOP-RESTORE vermeiden oder sogar softwaremäßig unterbinden.
Liste aller Datensätze und Routinen
| $C000–$C29F | AND- und OR-Masken (je 48 Bytes) von Unterteil, Bauer, Pferd, Läufer, Turm, Dame und König. |
| $C2A0–$C2FF | 3*4-Grafikausschnitt Brett (als Hintergrund). |
| $C300–$C30F | 2 quadratische Grafikausschnitte, die in einer Routine benötigt werden. |
| $C310–$C34F | Speicher des Feldes |
| $C350–$C373 | Sprungtabelle zu den Hauptroutinen. |
| $C374–$C4FE | Die Hauptroutinen aller Befehle, Beginn der einzelnen Routinen siehe Sprungtabelle. |
| $C4FF–$C607 | Zeichnet Text in Bitmap. Leicht korrigiert übernommen von Heimo Ponnath, 64'er, 8/85. |
| $C608–$C62C | 4 Routinen, die prüfen, ob ein Feld am Rand des Brettes liegt. |
| $C62D–$C696 | Hier werden alle Teile des Brettes, die in keinem 3*4-Feldausschnitt enthalten sind, gezeichnet. |
| $C697–$C752 | überträgt 3*4-Brettausschnitt (der Feldnummer entsprechend modifiziert) in den Puffer. |
| $C753–$C76E | Rotiert einmal das gesamte Feld. |
| $C76F–$C7B1 | Errechnet Adresse eines Grafikausschnittes in der Bitmap abhängig von der Feldnummer. |
| $C7B2–$C7E2 | Überträgt Pufferinhalt in die Bitmap. |
| $C7E3–$C80F | Überträgt Figur eines Feldes in den Puffer. |
| $C810–$C847 | Überträgt unteren rechten Ausschnitt der Figur, die im Grafikausschnitt oben links auftaucht, in den Puffer. |
| $C848–$C87A | Überträgt unteren linken Ausschnitt der Figur, die im Grafikausschnitt oben rechts auftaucht, in den Puffer. |
| $C87B–$C8AD | Überträgt oberen rechten Ausschnitt der Figur, die im Grafikausschnitt unten links auftaucht, in den Puffer. |
| $C8AE–$C8E5 | Überträgt oberen linken Ausschnitt der Figur, die im Grafikausschnitt unten rechts auftaucht, in den Puffer. |
| $C8E6–$C8F9 | Rotiert eine im X-Register stehende Feldnummer ein- oder mehrmals gegen den Uhrzeigersinn. |
| $C8FA–$C914 | Verknüpft zwei Bytes aus zwei AND- bzw. OR-Masken mit dem Pufferinhalt. |
| $C915–$C923 | Adressen der Unterteilmasken. |
| $C924–$C949 | Ermittelt Adressen der Masken beliebiger Figuren und schreibt sie in zwei Zeiger. |
| $C94A–$C95C | Rotiert eine im X-Register stehende Feldnummer einmal gegen den Uhrzeigersinn. |
| $C95D–$C95E | Zwei Flags. |
| $C95F–$C9BE | Puffer. |
Auf der Leserservice-Diskette finden Sie zusätzlich ein Demonstrationsprogramm, das Ihnen alle Möglichkeiten von »Schachgrafik« aufzeigt.
(Frithof Dau/kn)PROGRAMM : SCHACHGRAFIK C000 C990 ----------------------------------- C000 : FF FF FF FE F8 F0 E0 E0 3B C008 : 81 81 81 00 00 00 00 00 AA C010 : FF FF FF 7F 1F 0F 07 07 93 C018 : E0 E0 F0 F8 FE FF FF FF B3 C020 : 00 00 00 00 00 81 FF FF 2D C028 : 07 07 0F 1F 7F FF FF FF 53 C030 : 00 00 00 01 06 08 14 12 66 C038 : 42 42 42 BD 00 00 00 00 E4 C040 : 00 00 00 80 60 10 28 48 08 C048 : 11 10 08 06 01 00 00 00 34 C050 : 81 7E 00 00 81 7E 00 00 1D C058 : 88 08 10 60 80 00 00 00 FD C060 : FF FF FF FF FF FF FF FF 5F C068 : FF FF FF FF FF FF FF E7 36 C070 : FF FF FF FF FF FF FF FF 6F C078 : FF FF FF FE FE FE FF FF 3E C080 : C3 81 00 00 00 00 00 C3 8C C088 : FF FF FF 7F 7F 7F FF FF 6B C090 : 00 00 00 00 00 00 00 00 91 C098 : 00 00 00 00 00 00 00 18 C9 C0A0 : 00 00 00 00 00 00 00 00 A1 C0A8 : 00 00 00 01 01 01 00 00 E1 C0B0 : 24 5A 81 00 00 00 99 42 4D C0B8 : 00 00 00 80 80 80 00 00 D5 C0C0 : FF FF FF FF FF FF FF FE BD C0C8 : FF FF FF FF C3 81 00 00 0F C0D0 : FF FF FF FF FF FF FF 7F CE C0D8 : FC F8 F0 F0 F0 F8 FF FF 81 C0E0 : 00 00 00 00 40 80 80 81 EE C0E8 : 7F 7F 7F 7F 7F 7F FF FF EB C0F0 : 00 00 00 00 00 00 00 01 F3 C0F8 : 00 00 00 00 3C 42 81 30 35 C100 : 00 00 00 00 00 00 00 80 02 C108 : 02 04 08 08 08 07 00 00 C8 C110 : 02 02 02 60 A0 40 59 42 96 C118 : 80 80 80 80 80 80 00 00 15 C120 : FF FF FF FF FF FF FF FE 1D C128 : FF FF FF FF C3 81 80 C0 F2 C130 : FF FF FF FF FF FF FF 7F 2E C138 : FE FE FE FE FE FE FF FF 3D C140 : 60 20 00 00 00 00 00 81 B4 C148 : 7F 7F 7F 7F 7F 7F FF FF 4B C150 : 00 00 00 00 00 00 00 01 53 C158 : 00 00 00 00 3C 42 41 20 74 C160 : 00 00 00 00 00 00 00 80 62 C168 : 01 01 01 01 01 01 00 00 62 C170 : 90 50 30 00 00 00 99 42 1F C178 : 80 80 80 80 80 80 00 00 75 C180 : FF FF FF FF FF F8 F8 F8 1C C188 : FF FF FF FF FF 42 42 42 26 C190 : FF FF FF FF FF 1F 1F 1F 42 C198 : F8 F8 F8 F8 FC FE FF FF 31 C1A0 : 00 00 00 00 00 00 00 81 A4 C1A8 : 1F 1F 1F 1F 3F 7F FF FF F3 C1B0 : 00 00 00 00 00 07 04 04 01 C1B8 : 00 00 00 00 00 BD A5 A5 88 C1C0 : 00 00 00 00 00 E0 20 20 88 C1C8 : 04 04 04 04 02 01 00 00 78 C1D0 : E7 00 00 3C 00 00 99 42 2A C1D8 : 20 20 20 20 40 80 00 00 1D C1E0 : FF FF FF FF FE FC FC FE A8 C1E8 : FF FF 81 00 00 00 00 00 47 C1F0 : FF FF FF FF 7F 3F 3F 7F DD C1F8 : FF FF FF FF FE FE FF FF DE C200 : 00 81 81 00 00 00 00 81 24 C208 : FF FF FF FF 7F 7F FF FF FB C210 : 00 00 00 00 01 02 02 01 3B C218 : 00 00 7E 81 00 3C 00 00 CA C220 : 00 00 00 00 80 40 40 80 2D C228 : 00 00 00 00 01 01 00 00 41 C230 : 81 42 42 81 00 00 99 42 7E C238 : 00 00 00 00 80 80 00 00 45 C240 : FF FF FF FF FF FF FF FF 3F C248 : FF FF C3 C3 00 00 00 00 B0 C250 : FF FF FF FF FF FF FF FF 4F C258 : FF FF FF FE FE FE FF FF 1E C260 : C3 81 00 00 00 00 00 C3 6C C268 : FF FF FF 7F 7F 7F FF FF 4B C270 : 00 00 00 00 00 00 00 00 71 C278 : 00 00 3C 24 E7 81 81 E7 6C C280 : 00 00 00 00 00 00 00 00 81 C288 : 00 00 00 01 01 01 00 00 C1 C290 : 24 5A 81 00 00 00 99 42 2D C298 : 00 00 00 80 80 80 00 00 B5 C2A0 : FF FF FF FF FF FF FF FF 9F C2A8 : FF FF FF FF FF FF FF FF A7 C2B0 : FF FE FC F8 F0 E0 C0 80 A7 C2B8 : FF FF FF FF FF FF FF FF B7 C2C0 : FF FE FC F8 F0 E0 C0 80 B7 C2C8 : 00 00 00 00 00 00 00 00 C9 C2D0 : 00 01 03 07 0F 1F 3F 7F D9 C2D8 : FF FF FF FF FF FF FF FF D7 C2E0 : FF FF FF FF FF FF FF FF DF C2E8 : FF FF FF FF FF FF FF FF E7 C2F0 : FF FF FF FF FF FF FF FF EF C2F8 : FF FE FC F8 F0 E0 C0 80 EF C300 : FF FE FC F8 F0 E0 C0 80 F7 C308 : 01 02 04 08 10 20 40 80 11 C310 : 84 82 83 85 86 83 82 84 FE C318 : 81 81 81 81 81 81 81 81 17 C320 : 00 00 00 00 00 00 00 00 21 C328 : 00 00 00 00 00 00 00 00 29 C330 : 00 00 00 00 00 00 00 00 31 C338 : 00 00 00 00 00 00 00 00 39 C340 : 01 01 01 01 01 01 01 01 40 C348 : 04 02 03 05 06 03 02 04 37 C350 : 4C 74 C3 4C B6 C4 4C 8F 33 C358 : C3 4C C5 C3 4C E3 C3 4C B7 C360 : 6D C4 4C 8E C4 4C 08 C4 6D C368 : 4C D8 C4 4C A8 C3 4C F9 A9 C370 : C4 4C 02 C5 AD 00 DD 29 38 C378 : FC 8D 00 DD AD 11 D0 09 AF C380 : 20 8D 11 D0 AD 18 D0 29 F6 C388 : 0F 09 38 8D 18 D0 60 A9 B8 C390 : 00 85 5B A9 E0 85 5C A2 50 C398 : 1F A0 00 A9 00 91 5B C8 C8 C3A0 : D0 FB E6 5C CA 10 F6 60 7D C3A8 : EE 5E C9 AD 5E C9 29 03 CC C3B0 : 8D 5E C9 20 53 C7 AD 5D C8 C3B8 : C9 49 01 8D 5D C9 20 F3 A4 C3C0 : C3 20 D8 C4 60 20 FD AE BE C3C8 : 20 9E B7 A9 CC 85 5C A9 18 C3D0 : 00 85 5B A0 00 8A A2 03 63 C3D8 : 91 5B C8 D0 FB E6 5C CA 61 C3E0 : 10 F6 60 20 FD AE 20 9E 9A C3E8 : B7 E0 02 B0 7D 8A 29 01 79 C3F0 : 8D 5D C9 A9 3F 85 02 20 3C C3F8 : 97 C6 20 6F C7 20 B2 C7 C0 C400 : C6 02 10 F3 20 2D C6 60 91 C408 : 20 FD AE 20 9E B7 E0 40 82 C410 : B0 58 20 E6 C8 8A 85 02 CC C418 : 20 FD AE 20 9E B7 E0 40 92 C420 : B0 48 20 E6 C8 8A 48 A4 24 C428 : 02 B9 10 C3 48 A9 00 99 88 C430 : 10 C3 20 97 C6 20 10 C8 5C C438 : 20 48 C8 20 7B C8 20 AE 8E C440 : C8 20 6F C7 20 B2 C7 68 75 C448 : AA 68 A8 85 02 8A 99 10 FC C450 : C3 20 97 C6 20 10 C8 20 C8 C458 : 48 C8 20 E3 C7 20 7B C8 86 C460 : 20 AE C8 20 6F C7 20 B2 29 C468 : C7 60 4C 48 B2 20 FD AE FD C470 : 20 9E B7 8A 29 7F C9 07 E2 C478 : B0 F0 8A 48 20 FD AE 20 39 C480 : 9E B7 E0 40 B0 E4 20 E6 BA C488 : C8 68 9D 10 C3 60 20 FD A9 C490 : AE 20 9E B7 E0 40 B0 D2 65 C498 : 20 E6 C8 86 02 20 97 C6 3B C4A0 : 20 10 C8 20 48 C8 20 E3 12 C4A8 : C7 20 7B C8 20 AE C8 20 52 C4B0 : 6F C7 20 B2 C7 60 20 FD 5D C4B8 : AE 20 9E B7 E0 02 B0 AA 4B C4C0 : AD 00 DD 09 03 8D 00 DD 5E C4C8 : AD 11 D0 29 DF 8D 11 D0 A7 C4D0 : 8A 0A 09 14 8D 18 D0 60 C2 C4D8 : A9 3F 85 02 20 97 C6 20 DD C4E0 : 10 C8 20 48 C8 20 E3 C7 12 C4E8 : 20 7B C8 20 AE C8 20 6F 8C C4F0 : C7 20 B2 C7 C6 02 10 E4 F3 C4F8 : 60 A9 00 8D 5E C9 60 4C 2D C500 : 48 B2 20 FD AE 20 9E AD 2B C508 : A0 00 B1 64 85 24 C8 B1 A1 C510 : 64 85 04 C8 B1 64 85 05 AF C518 : A5 64 A4 65 20 DB B6 20 C1 C520 : FD AE 20 9E B7 E0 19 B0 98 C528 : D6 86 5B A9 40 85 59 A9 36 C530 : 01 85 5A 20 84 C5 20 FD 81 C538 : AE 20 9E B7 E0 28 B0 BF 26 C540 : 8A 18 2A 2A 2A 85 25 A9 5D C548 : 00 2A 85 26 18 A5 57 65 5A C550 : 25 85 25 A5 58 65 26 85 8A C558 : 26 18 A5 25 69 00 85 25 8F C560 : A5 26 69 E0 85 26 A0 00 9B C568 : A5 24 F0 17 B1 04 AA 98 55 C570 : 48 8A 20 A2 C5 20 C6 C5 5E C578 : F0 08 68 A8 C8 C4 24 30 3F C580 : EB 60 68 60 A9 00 85 57 21 C588 : 85 58 A6 5B CA E0 FF F0 E4 C590 : 10 18 A5 59 65 57 85 57 17 C598 : A5 5A 65 58 85 58 4C 8C 34 C5A0 : C5 60 10 03 4C B6 C5 C9 1F C5A8 : 20 90 18 C9 60 90 04 29 3D C5B0 : DF D0 02 29 3F 60 29 7F 38 C5B8 : C9 7F D0 02 A9 5E C9 20 AA C5C0 : 90 01 60 A9 20 60 A2 00 AE C5C8 : 86 27 86 29 A2 D0 86 28 C4 C5D0 : 18 2A 26 29 2A 26 29 2A 79 C5D8 : 26 29 18 65 27 85 27 A5 CC C5E0 : 28 65 29 85 28 A0 07 A5 A5 C5E8 : 01 48 29 FB 78 85 01 B1 F2 C5F0 : 27 91 25 88 10 F9 68 85 B8 C5F8 : 01 58 18 A5 25 69 08 85 A9 C600 : 25 A5 26 69 00 85 26 60 34 C608 : A5 02 C9 08 90 02 18 60 5C C610 : 38 60 A5 02 C9 38 60 A5 4D C618 : 02 29 07 F0 02 18 60 38 62 C620 : 60 A5 02 29 07 C9 07 F0 B5 C628 : 02 18 60 38 60 A9 B8 85 97 C630 : 5B A9 E8 85 5C AE 5D C9 8F C638 : A9 08 85 5E A0 07 E0 01 DA C640 : F0 0B B9 B0 C2 91 5B 88 71 C648 : 10 F8 4C 55 C6 B9 08 C3 74 C650 : 91 5B 88 10 F8 8A 49 01 BE C658 : AA A5 5B 18 69 70 85 5B 96 C660 : A5 5C 69 02 85 5C C6 5E E1 C668 : D0 D2 A9 40 85 5B A9 FA E4 C670 : 85 5C AD 5D C9 F0 0D A0 D4 C678 : 07 B9 08 C3 91 5B 88 10 0D C680 : F8 4C 8E C6 A0 07 B9 D1 E7 C688 : C2 91 5B 88 10 F8 A9 FF 6A C690 : 8D 47 FA 8D 7F E7 60 A5 35 C698 : 02 29 09 F0 0A C9 09 D0 44 C6A0 : 04 A9 00 F0 02 A9 01 4D A3 C6A8 : 5D C9 29 01 AA A0 5F B9 F5 C6B0 : A0 C2 E0 01 F0 02 49 FF 4E C6B8 : 99 5F C9 88 10 F1 20 17 C3 C6C0 : C6 90 39 A0 07 A9 00 99 22 C6C8 : 5F C9 99 67 C9 99 77 C9 3A C6D0 : 88 10 F4 A0 07 B9 00 C3 77 C6D8 : 49 FF 48 39 6F C9 19 08 14 C6E0 : C3 99 6F C9 68 48 39 7F 32 C6E8 : C9 19 08 C3 99 7F C9 68 46 C6F0 : 39 8F C9 19 08 C3 99 8F AA C6F8 : C9 88 10 D9 20 08 C6 90 C3 C700 : 15 A0 2F A9 00 99 5F C9 44 C708 : 88 10 FA A9 FF 8D 7E C9 86 C710 : 8D 86 C9 8D 8E C9 20 21 FE C718 : C6 90 11 A0 07 B9 B7 C9 2F C720 : 39 00 C3 19 08 C3 99 B7 E2 C728 : C9 88 10 F1 20 12 C6 90 46 C730 : 0B A9 FF 8D AE C9 8D B6 9E C738 : C9 8D BE C9 A5 02 C9 00 42 C740 : D0 05 A9 00 8D 7E C9 A5 3C C748 : 02 C9 3F D0 05 A9 00 8D D1 C750 : BE C9 60 A2 3F BD 10 C3 09 C758 : 9D 5F C9 CA 10 F7 A2 3F 3A C760 : BD 5F C9 48 20 4A C9 68 95 C768 : 99 10 C3 CA 10 F2 60 A9 C1 C770 : 00 85 5C A5 02 29 07 85 8F C778 : 5B 0A 18 65 5B 85 5B A5 26 C780 : 02 4A 4A 4A 48 A0 4D 68 13 C788 : 48 18 65 5B 85 5B A5 5C 24 C790 : 69 00 85 5C 88 10 F0 06 BF C798 : 5B 26 5C 06 5B 26 5C 06 43 C7A0 : 5B 26 5C 68 18 A5 5B 69 21 C7A8 : 78 85 5B A5 5C 69 E5 85 22 C7B0 : 5C 60 A9 5F A2 C9 85 59 D4 C7B8 : 86 5A A2 03 A0 17 B1 59 B1 C7C0 : 91 5B 88 10 F9 18 A5 59 CD C7C8 : 69 18 85 59 A5 5A 69 00 9D C7D0 : 85 5A 18 A5 5B 69 40 85 4A C7D8 : 5B A5 5C 69 01 85 5C CA 8D C7E0 : 10 DA 60 A4 02 B9 10 C3 C0 C7E8 : 85 5D 29 7F F0 21 20 15 19 C7F0 : C9 A9 8F 85 59 A9 C9 85 37 C7F8 : 5A 20 07 C8 20 24 C9 A9 DB C800 : 5F 85 59 A9 C9 85 5A A0 21 C808 : 2F 20 FA C8 88 10 FA 60 D5 C810 : 20 08 C6 B0 2D 20 17 C6 BA C818 : B0 28 A5 02 38 E9 09 A8 CE C820 : B9 10 C3 85 5D 29 7F F0 82 C828 : 19 20 15 C9 A9 57 85 59 EE C830 : A9 C9 85 5A A0 2F 20 FA 64 C838 : C8 88 C0 1F F0 05 C0 07 A1 C840 : D0 F4 60 A0 17 4C 36 C8 F5 C848 : 20 08 C6 B0 28 A5 02 38 5C C850 : E9 08 A8 B9 10 C3 85 5D 8F C858 : 29 7F F0 19 20 15 C9 A9 C5 C860 : 6F 85 59 A9 C9 85 5A A0 91 C868 : 1F 20 FA C8 88 C0 17 F0 3C C870 : 05 C0 FF D0 F4 60 A0 07 D2 C878 : 4C 69 C8 20 12 C6 B0 28 19 C880 : A5 02 18 69 08 A8 B9 10 26 C888 : C3 85 5D 29 7F F0 19 20 AE C890 : 24 C9 A9 7F 85 59 A9 C9 50 C898 : 85 5A A0 2F 20 FA C8 88 66 C8A0 : C0 27 F0 05 C0 0F D0 F4 82 C8A8 : 60 A0 17 4C 9C C8 20 12 5C C8B0 : C6 B0 2D 20 21 C6 B0 28 79 C8B8 : A5 02 18 69 09 A8 B9 10 6E C8C0 : C3 85 5D 29 7F F0 19 20 E6 C8C8 : 24 C9 A9 97 85 59 A9 C9 8B C8D0 : 85 5A A0 27 20 FA C8 88 9D C8D8 : C0 17 F0 05 C0 FF D0 F4 3A C8E0 : 60 A0 0F 4C D4 C8 48 AD EE C8E8 : 5E C9 85 5E C6 5E 30 08 88 C8F0 : 20 4A C9 98 AA 4C EC C8 0D C8F8 : 68 60 B1 59 31 5B 91 59 0F C900 : B1 57 A6 5D 10 0A 49 FF 29 C908 : 85 5E B1 5B 49 FF 25 5E 7A C910 : 11 59 91 59 60 A9 C0 85 BF C918 : 5C 85 58 A9 00 85 5B A9 6F C920 : 30 85 57 60 20 15 C9 A5 12 C928 : 5D 29 7F AA 18 A5 5B 69 3E C930 : 60 85 5B A5 5C 69 00 85 FA C938 : 5C CA D0 F0 A5 5B 18 69 B4 C940 : 30 85 57 A5 5C 69 00 85 D9 C948 : 58 60 8A 48 29 07 49 07 7A C950 : 0A 0A 0A 85 5F 68 4A 4A 8A C958 : 4A 05 5F A8 60 00 00 20 58 C960 : 41 58 4F 4E 2D 53 4F 46 A2 C968 : 54 57 41 52 45 20 3C 43 CF C970 : 3E 20 31 39 38 35 20 20 20 C978 : 46 52 49 54 48 4A 4F 46 65 C980 : 20 44 41 55 20 20 20 20 81 C988 : 20 20 20 20 20 20 20 20 88