Vollgas für die Floppy 1570/71
Mit dem »FSD-System« können alle Besitzer eines 1570- oder 1571-Laufwerks jetzt aufatmen. Endlich wird die Diskettenstation auch am C 64 oder C 128 im C 64-Modus so schnell wie man es vom C 128 schon kennt. Zusätzlich bekommen Sie noch eine Vielzahl neuer Funktionen in Ihr Betriebssystem, wie zum Beispiel eine Centronics-Schnittstelle, die Ihnen die Arbeiten erleichtern.

Das »FSD-System« ist ein neues Betriebssystem für den C 64 oder den C 128 (für den C 64-Modus). Es handelt sich hierbei in der Hauptsache um einen Beschleuniger für das Diskettenlaufwerk 1570 und 1571, wobei lediglich zwei Drähte zusätzlich im Computer angelötet werden müssen.
Außer der Beschleunigung sämtlicher Diskettenfunktionen (die 1570/71 arbeitet im schnellen Burst-Modus), enthält das »FSD-System« noch eine Centronics-Schnittstelle am User-Port. Weiterhin existiert eine Eingabeunterstützung für Befehle an das Diskettenlaufwerk und natürlich die Anzeige eines Directory ohne Programmverlust.
Doch mit diesen Zusätzen nicht genug. Das »FSD-System« erlaubt das LISTen von Programmen oder Textfiles direkt von der Diskette, das MERGEn von Programmteilen und das Zurückholen von Programmen nach NEW oder einem Reset.
Das Laden von Programmen von der Diskette geschieht jetzt mit der vollen Geschwindigkeit der 1570/71 im C 128-Modus und wird damit 7- bis 9mal schneller. Diese Funktion ist bei Bedarf abschaltbar, so daß auch »schwierige« Programme geladen werden können.
Interessant am »FSD-System« ist sicher, daß es sowohl auf einem C 64 als auch auf einem C 128 einwandfrei läuft. Beim C 128 im C 64-Modus bleiben dabei sämtliche Tasten weiterhin aktiviert, also auch der Zahlenblock des C 128. Auf dem C 64 werden diese Zusatztasten durch das Drücken von <CTRL> zusammen mit einer anderen Taste ersetzt.
Sehr durchdacht ist auch die Belegung des Zahlenblocks auf dem C 128. Hier hat sich der Autor an die Computer der CBM 8000-Reihe gehalten. Diese enthalten außer den Zahlen im Zahlenblock auch noch sämtliche Grafikzeichen für Tabellen und sind durch die <SHIFT>-Taste erreichbar angeordnet. Unter die Taste <+> wurde ein <*> gelegt, und die Taste <-> enthält über <SHIFT> ein </>. Ein gelungenes System also, das den Wettbewerbspreis von 2000 Mark voll verdient.
(D. Temme/ks)Bei unserem neuen »Listing des Monats« handelt es sich um einen Floppy-Beschleuniger. Dieses Mal ist es die 1570/71, die nun auch am C 64 so schnell wird, wie am C 128.
Die schnellen Diskettenlaufwerke 1570 und 1571 in Verbindung mit einem C 128 werden wieder zur langsamen 1541, wenn man sie am C 64 oder am C 128 im C 64-Modus betreibt. Das vorliegende »FSD-System« (»FSD« steht für »Fast Serial Disk«) ermöglicht bei geringem Hardware-Aufwand einen schnellen Disketten-Betrieb. Dabei wird beim Laden bis zum Neunfachen der Originalgeschwindigkeit erreicht, und auch die übrigen Operationen werden mehr oder weniger stark beschleunigt. Zusätzlich bietet das »FSD-System« einen Befehlssatz für den Diskettenbetrieb, die volle Tastaturbenutzung beim C 128 im C 64-Modus (Zehnerblock und so weiter) und einige Sonderfunktionen sowie eine (zuschaltbare) Centronics-Schnittstelle am User-Port.
Beschleunigte serielle Übertragung
Die Einstellung für das Standardgerät bei LOAD, SAVE und VERIFY ist jetzt »"*",8,1« (siehe auch Bild 1). Das heißt die Eingabe LOAD wird vom Computer als »LOAD"*",8,1« interpretiert. Somit ist das Laden aus dem Directory jetzt ein Kinderspiel: Directory mit SYS"$" (siehe unten) anzeigen lassen, mit dem Cursor in die gewünschte Zeile »fahren« und LOAD <RETURN> eingeben oder einfach <SHIFT-RUN/STOP> drücken. Ist das absolute Laden an die Originaladresse nicht gewünscht, wird LOAD"name",8 eingegeben.
Als weiteren Zusatz im »FSD-System« kennt der LOAD/ VERIFY-Befehl jetzt die Angabe weiterer Sekundäradressen: Wird eine 9 als Sekundäradresse angegeben, so sendet der Computer nach dem Laden des Programms automatisch ein »U0>M0« an das Diskettenlaufwerk, so daß auch Programme, die den 1571-Modus der Floppy nicht vertragen, geladen werden können (Beispiel: »EX-DOS«). Wählt man die Sekundäradresse 7, so wird der Burst-Modus der Floppy nicht angesprochen. Die Lade/Vergleichsbeschleunigung beträgt jetzt nur den Faktor 3. Dabei ist die Kompatibilität jetzt aber am höchsten im Vergleich zur Original-Routine. Der Faktor 3 ist auch gleichzeitig die Beschleunigung beim Datei-Lesen in Maschinensprache; in Basic ist sie jedoch praktisch nicht erreichbar.
Eine weitere Neuerung ist der (nicht von Maschinensprache erreichbare) APPEND-Befehl, der mit LOAD"name",dv,5 ausgeführt wird. Hierbei wird das Programm "name" an das im Speicher stehende Programm angehängt. Für die ordnungsgemäße Ausführung des Programms ist darauf zu achten, daß die Zeilennummern aufsteigend angeordnet sind (gegebenenfalls auch mittels Basic-Erweiterung ein RENUMBER ausführen).
Der Befehl SAVE" @:name" wurde umgeändert in ein automatisches Löschen und Speichern (Anzeige auf dem Bildschirm: »SCRATCHING name« und danach »SAVING name«, um versehentliches Zerstören der Daten auf der Diskette zu verhindern, was durch einen Betriebssystem-Fehler der Floppystation möglich ist.
Für den interessierten Leser hier die Erklärung: Wird bei SAVE mit dem »@« keine Laufwerksnummer angegeben, so überprüft die Floppystation intern, welches Laufwerk (0 oder 1) sie ansprechen soll. Dazu muß erklärt werden, daß die 1541/70/71 intern noch als Doppellaufwerk funktioniert, da das Betriebssystem von dem CBM 4040 Doppellaufwerk abstammt und für die 1541 (und damit auch für die 1570/71) nur geringfügig geändert wurde. Der Test auf eine eingelegte Diskette in Laufwerk 1 führt (intern) zu einem Fehler, der zur Folge hat, daß auf Laufwerk 0 gespeichert wird. Nun wäre alles in Ordnung, wenn nicht für »Replace« alle verfügbaren Puffer der 1541/70/71 benötigt würden. Durch den Laufwerk-1-Test wird jedoch ein Puffer belegt und nicht wieder freigegeben. Dies führt dazu, daß dem Laufwerk ein Puffer fehlt, es aber (natürlich) nicht weiß, daß einer unnötig belegt wurde, und durch eine interne Logik einen Puffer »zufällig« auswählt. Das kann nun der BAM-Puffer sein, der dadurch zerstört wird und der Floppystation falsche Blockbelegungen vorgibt. Ein Verlust wichtiger Daten auf der Diskette ist dann kaum mehr zu vermeiden.
Vorsicht geboten ist beim Formatieren im »FSD-System« (nicht bei der 1570): Ist das Diskettenlaufwerk im 1571-Modus, so werden immer beide Disketten-Seiten formatiert, was oft nicht erwünscht ist, weil die Diskette als» Wende-Diskette« genutzt wird. Dabei würde eine genutzte Rückseite gelöscht; man sollte vor dem Formatieren erst <SHIFT+TAB> drücken: Dann wird nur eine Seite formatiert.
Umgekehrt kann es aber natürlich auch nützlich sein, beide Seiten benutzen zu können, da dann die doppelte Speicher-Kapazität zur Verfügung steht.
Befehle für das Diskettenlaufwerk
Das »FSD-System« wandelt die Verarbeitung des SYS-Befehls um. Keine Angst, die Original-Funktion des Befehls bleibt natürlich erhalten. Zusätzlich wird bei Argumenten im Bereich von 1 bis 15 jedoch automatisch mit dem Wert 4096 multipliziert, so daß eine Erweiterung zum Beispiel bei $C000 nunmehr statt mit SYS49152 auch mit SYS12 gestartet werden kann. Das erspart einem ein wenig Tipparbeit. SYS0 ergibt einen »Software-Break«, womit ein Maschinensprache-Monitor gestartet werden kann, falls er zuvor eingeladen und initialisiert wurde (Sprungvektor bei $0316/$0317).
Nun zu den Befehlen für das Diskettenlaufwerk: ein einfaches SYS ergibt die Status-Meldung des zuletzt angesprochenen Laufwerks. SYS"$" sorgt für die Ausgabe des Disketten-Inhaltsverzeichnisses des aktuellen Diskettenlaufwerks.
Zusätzlich können natürlich auch Kriterien wie »$:name*=p« angegeben werden (Näheres siehe Handbuch zum Laufwerk). Der Directory-Befehl kann mit <CTRL+S> oder <NO SCROLL> angehalten, wieder gestartet und mit der <STOP>-Taste abgebrochen werden. Zudem lassen sich mit »SYS diskbefehl« die üblichen DOS-Befehle ausgeben.
Ein besonderer Leckerbissen sind die LIST-Funktionen des SYS-Befehls: Durch SYS"LSname" wird das File "name" auf dem Bildschirm geLISTet. Diese Funktion dient zur Ansicht von ASCII-Dateien. Einen ähnlichen Befehl gibt es für Basic-Programme: SYS"LPname" LISTet das Programm-File "name" von Diskette. Das Basic-Programm im Speicher wird nicht zerstört. Mit der <STOP>-Taste besteht die Möglichkeit, das LISTen abzubrechen und die auf dem Bildschirm sichtbaren Zeilen zu übernehmen. Der LIST-Befehl ist so ausgelegt, daß sich viele Basic-Erweiterungen mit ihm vertragen (wenn diese im Speicher sind). »Exbasic Level II«, das eine eigene LIST-Routine benutzt, wurde eigens implementiert. Wird der Befehl SYS"LP..." im Direktmodus ausgeführt, so werden nachfolgende Befehle ignoriert. Wird bei den SYS"Lx.."-Befehlen das spezifizierte File nicht gefunden, so wird ein »?FILE NOT FOUND ERROR« gemeldet.
| LOAD | LOAD"*",8,1 |
| LOAD"name",dv,5 | APPEND (nur in BASIC) |
| LOAD"name", dv,7 | nicht im Burst-Mode laden |
| LOAD/VERIFY"name",dv,9 | nach Laden/Vergleichen "U0>M0" an Floppy ausgeben |
| SYS 0 | führt BRK aus evtl. Sprung in Monitor) |
| SYS x (x = 1..15) | führt SYS x*4096 aus |
| SYS | zeigt Floppy-Status an |
| SYS"$..."(,dv) | zeigt Directory an |
| SYS"befehl"(,dv) | gibt "befehl" an Floppy |
| SYS"LSname"(,dv) | listet Datei auf |
| SYS"LPname"(,dv) | listet Programm auf |
Bei allen SYS-Befehlen mit Parametern kann der Parameter auch ein Stringausdruck (zum Beispiel die Variable V$) sein, so daß eine universelle Anwendbarkeit in Programmen möglich wird. Zusätzlich kann hier eine Laufwerksnummer — durch Komma getrennt — angegeben werden (zum Beispiel SYS"$0",9), die fortan als aktuelle Laufwerks-Nummer angenommen wird. Die Befehlsgruppe LOAD/SAVE/VERIFY setzt jedoch die Nummer wieder auf 8 zurück, wie auch der Tasten-Befehl <CTRL+/> (siehe Bild 2).
| C-128 | C-64 | Belegung |
|---|---|---|
| <ESC> | <CTRL+[> | CHR$(27) |
| <TAB>/<SHT+TAB> | <CTRL++>/<-> | FSD ein/aus (Floppyseitig) |
| <ALT>/<SHT+ALT> | <C=+,>/<.> | CHR$ (14)/CHR$(142) |
| <HLP>/<SHT+HLP> | <CTRL+,>/<.> | Centronics ein/aus |
| <CTRL+DOWN>/ | <CTRL+RIGHT> | Centronics-ASCII ein/aus |
| <LFD>/<SHT+LFD> | <CTRL+=>/<RET> | Centronics-LF-Ausgabe nach CR ein/aus |
| <NO SCROLL> | <CTRL+S> | Computer wartet bis Taste gedrückt wird |
| <CTRL+*> | OLD-Befehl | |
| <CTRL+/> | löscht Anführungszeichen-Modus und setzt Floppy-Default auf 8 zurück | |
Ist bei den SYS-Befehlen das angesprochene (aktuelle) Laufwerk nicht ansprechbar (sprich: nicht angeschlossen), so wird mit»?DEVICE NOT PRESENT ERROR« abgebrochen.
Centronics-Schnittstelle
Die eingebaute Centronics-Schnittstelle ist wie üblich am User-Port ausgeführt und wird durch Tasten-Funktionen ein- und ausgeschaltet und programmiert. Ist der Drucker nicht angeschlossen, so kann die Ausgabe-Routine mit der <STOP>-Taste verlassen werden. Die Centronics-Schnittstelle bietet die Möglichkeit, Commodore- oder ASCII-Code auszugeben (für Grafikprogramme ungeeignet) sowie nach einem »Carriage Return« (CHR$(13)) automatisch ein »Linefeed« (CHR$(10)) hinterherzuschicken.
Softwareseitig ist die Centronics-Routine in die IEC-Routinen eingebunden, so daß selbst alle Programme, die direkt in die Routinen einspringen, funktionieren werden. Nur ein »Spooling« von der Diskette direkt auf den Drucker kann nicht erfolgen, da der Drucker nicht an demselben Bus wie das Diskettenlaufwerk angeschlossen ist.
Tastatur-Funktionen
Während beim Commodore 128 die Zehnertastatur und weitere Zusatztasten zur Verfügung stehen und das Arbeiten mit dem Computer erleichtern, sind diese im C 64-Modus nicht ansprechbar. Das »FSD-System« schafft hier Abhilfe. Fast alle Zusatzfunktionen können beim »normalen« C 64 jedoch auch durch die Kombination <CTRL>-Taste erreicht werden (Bild 2. Angaben für den C 64 sind in Klammern dargestellt).
Das Ein- und Ausschalten des »FSD-Modus« für das Laufwerk erfolgt durch <TAB> und <SHIFT-TAB> (<CTRL++> und <CTRL+->). Dabei wird an die 1570/71 der Befehl »U0>M1« beziehungsweise »U0>M0« gesendet. Ist gleichzeitig der Bus belegt, so ist die Ausgabe der Codes über den Bus gesperrt, um Fehlfunktionen (zum Beispiel beim Laden oder bei der Anzeige des Directory) zu verhindern. Sollten einmal die Tastenfunktionen außer Betrieb sein, so lassen sie sich mittels <STOP + RESTORE> wieder einschalten.
Die <ALT>-Taste (<CBM+,> und -<.>) ergibt den Code 14 (Kleinschrift), mit <SHIFT> den Code 142 (Großschrift/Grafik). Die Taste <ESC> ergibt den Code 27 und ist für die Druckerprogrammierung (siehe Druckerhandbuch) von Bedeutung.
<HELP> <CTRL+↕> und <,> schaltet den Centronics-Drucker auf Geräteadresse 4 ein, <SHIFT+HELP> (<CTRL+.>) schaltet Adresse 4 wieder auf den seriellen Bus. Mit <CTRL+CURSOR DOWN > wird der ASCII-Modus für den Centronics-Drucker ein- und mit <CTRL+CURSOR RIGHT> wieder abgeschaltet. Die <LINEFEED>-Taste (<CTRL+ = >) schaltet die automatische Linefeed-Ausgabe ein beziehungsweise mit <SHIFT> (<CTRL+RETURN>) wieder aus.
<NO SCROLL> oder <CTRL+S> hält den Computer bis zum nächsten Tastendruck an (nützlich bei schnellen Bildschirmausgaben oder zur Unterbrechung von Spielen). Wird dennoch ein <CTRL+S> benötigt und die <HOME>-Taste alleine versagt (zum Beispiel Save-Funktion beim »MSE«), so kann man sich mit <CTRL+HOME> behelfen.
Die Cursor-Tasten oberhalb des Feldes und der Zehnerblock haben jetzt die Funktion, die auf den Kappen auch draufsteht. Betätigt man eine Zahlentaste des Zehnerblocks zusammen mit <SHIFT>, so werden die Tabellen-Grafikzeichen in logischer Anordnung ausgegeben. Auf <+>, <-> und <ENTER> liegen bei gleichzeitigem Drücken von <SHIFT> die Zeichen »*«, »/« und » = «. Somit hat man alle Rechenzeichen im Zehnerblock vereint. Dies vereinfacht das Eintippen, da die Suche auf dem Tastenfeld entfällt.
Außerdem gibt es noch zwei Sonderfunktionen: Die oft vermißte OLD-Funktion wird mit <CTRL+ *> angesprochen. Wird ein Programm versehentlich mit NEW gelöscht oder der Computer per (Software- oder Hardware-) Reset in den Ausgangszustand versetzt, so steht das gelöschte Basic-Programm immer noch im Speicher. Die OLD-Funktion holt es wieder hervor.
Zum zweiten wird mit <CTRL+/> der manchmal störende Anführungszeichen-Modus zurückgesetzt und die aktuelle Adresse des Laufwerks wieder auf 8 gesetzt, womit die SYS-Befehle wieder an das Standard-Laufwerk gehen.
Installationshinweise
Das Eingeben des Programms Listing geschieht wie üblich mit dem »MSE«. Nach dem Laden und Starten (mit RUN) des gespeicherten »fsd64.obj« wird das Betriebssystem des C 64, beziehungsweise des C 128 im C 64-Modus, geändert. Das Einschalten der Erweiterung (im RAM) geschieht mit POKE 1,5, das Abschalten mit POKE 1,7 oder mit <RUN/STOP +RESTORE>. Es ist ratsam, sich das Betriebssystem in ein EPROM zu »brennen«, so daß die Erweiterung direkt nach dem Einschalten des Systems verfügbar ist. Beim Commodore 128 ist das Basic und das Kernel des C 64-Modus in einem 16-K-ROM oder -EPROM untergebracht (Steckplatz U32, ganz links, untere Reihe der ROMs). Hier kann direkt ein EPROM vom Typ 27128 eingesetzt werden. Bei einem C 64 ist Basic und Kernel getrennt in je einem ROM 2364 (Steckplatz U4) untergebracht, was zur Folge hat, daß für ein Ersatz-EPROM durch die unterschiedliche Pinbelegung ein Adapter-Sockel nötig ist, der aber zum Beispiel in der 64'er, 3/86 (Seite 63) zum Selbstbau beschrieben wurde. (Auf die Richtung der EPROM-Kerbe achten!).
Die nötige Hardware beschränkt sich auf zwei Drähte, die man im Computer an folgende Anschlüsse anlöten muß: User-Port Pin 6 an seriellen Port Pin 1 und User-Port Pin 7 an seriellen Port Pin 5 (siehe Bild 3). Der Anschluß erfolgt mit Absicht am vom C 128 nicht für den Burst-Modus benutzten CIA 6526-2, da der andere durch die hardwaremäßige Beschaltung (MMU und 74LS244) im C 64-Modus unbenutzbar geworden ist. Die Erkennung einer angeschlossenen schnellen Floppy erfolgt automatisch durch das Betriebssystem, indem vom Floppy beziehungsweise Computer entsprechende Anforderungs-Codes gesendet werden, die aber den langsamen seriellen Bus nicht beeinträchtigen. Die Centronics-Schnittstelle benötigt ein abgeschirmtes Kabel (Verdrahtung ersichtlich aus Bild 3).
| User-Port | serieller Port | |
|---|---|---|
| Pin 6 | CLK | Pin 1 |
| Pin 7 | DATA | Pin 5 |
| User-Port | Centronics-Stecker | |
| (36-pol. Amphenol) | ||
| Pin B | BUSY | Pin 11 |
| Pin C | DATA1 | Pin 2 |
| Pin D | DATA2 | Pin 3 |
| Pin E | DATA3 | Pin 4 |
| Pin F | DATA4 | Pin 5 |
| Pin H | DATA5 | Pin 6 |
| Pin J | DATA6 | Pin 7 |
| Pin K | DATA7 | Pin 8 |
| Pin L | DATA8 | Pin 9 |
| Pin M | -STROBE | Pin 1 |
Anforderungen und Einschränkungen
Alle Betriebssystem-Erweiterungen, die Kassettenroutinen ersetzen (zum Beispiel viele Floppybeschleuniger wie Hypra-Load) sind nicht lauffähig (Ladebeschleuniger sind aber nicht mehr nötig, da das FSD-System noch schneller laden kann). Die Tastenbelegung des Zehnerblocks auf dem C 128 ist noch einmal in Bild 4 dargestellt.

Zusätzlich wird im Computer die Speicherstelle 3 benutzt. Jedes Bit dieser Zeropage-Adresse hat eine eigene Bedeutung. Das Verändern durch Fremdsoftware kann die Ausgabe auf den Centronics-Drucker ein- oder ausschalten; jedoch läßt sich das nicht vermeiden, denn irgendwo muß der Computer schließlich seine Daten ablegen.
(D. Temme/ks)PROGRAMM : FSD64.OBJ 0801 1237 ----------------------------------- 0801 : 0B 08 C2 07 9E 32 30 36 4A 0809 : 31 00 00 00 A0 00 84 55 01 0811 : A2 40 A9 80 85 56 B1 55 CA 0819 : 91 55 C8 D0 F9 E6 56 CA 67 0821 : D0 F4 A2 20 A9 E0 85 56 7C 0829 : B1 55 91 55 C8 D0 F9 E6 5D 0831 : 56 CA D0 F4 A9 08 8D 87 DF 0839 : F3 A9 F7 8D B7 F4 8D F9 FE 0841 : F5 AD 94 0C 8D 2C F7 EE AB 0849 : 43 08 D0 03 EE 44 08 EE 34 0851 : 46 08 D0 03 EE 47 08 AD D4 0859 : 43 08 C9 37 D0 E3 AD 44 65 0861 : 08 C9 12 D0 DC A9 0B A2 79 0869 : 0B A0 01 8D D9 EC 8E DA AB 0871 : EC 8C 35 E5 8D 20 D0 8E E8 0879 : 21 D0 8C 86 02 A9 4C A2 DA 0881 : 32 A0 F7 8D C1 F4 8E C2 36 0889 : F4 8C C3 F4 A2 0B A0 F8 4A 0891 : 8D AA F5 8E AB F5 8C AC B8 0899 : F5 A2 33 A0 F5 8D 27 ED 04 08A1 : 8E 28 ED 8C 29 ED A2 4F 7B 08A9 : A0 F5 8E 4A ED 8C 4B ED 7D 08B1 : A2 58 A0 F5 8D 5A ED 8E E7 08B9 : 5B ED 8C 5C ED A2 89 A0 15 08C1 : F5 8D 94 ED 8E 95 ED 8C C6 08C9 : 96 ED A2 9E A0 F5 8E B3 2E 08D1 : ED 8C B4 ED 48 A0 75 B9 C2 08D9 : 0A 0C 99 33 F5 88 10 F7 8A 08E1 : 68 A2 D6 A0 FB 8E 11 EE BA 08E9 : 8C 12 EE A2 C8 A0 F2 8E 09 08F1 : 19 EE 8C 1A EE 48 A0 46 28 08F9 : B9 D2 0A 99 22 EE 88 10 AD 0901 : F7 A0 34 B9 71 0B 99 59 15 0909 : F6 88 10 F7 68 A2 99 A0 8A 0911 : F1 8D C9 ED 8E CA ED 8C 09 0919 : CB ED A2 D6 A0 F2 8E 01 3C 0921 : EE 8C 02 EE 48 A0 25 B9 45 0929 : A6 0B 99 C8 F2 88 10 F7 78 0931 : 68 A2 AE A0 F8 8D 93 EA CA 0939 : 8E 94 EA 8C 95 EA A2 09 AB 0941 : A0 F9 8E 77 EB 8C 78 EB 4D 0949 : A2 25 A0 F9 8D E4 EA 8E AE 0951 : E5 EA 8C E6 EA A2 F0 8E 50 0959 : 85 EC E8 8E A0 EC E8 8E 92 0961 : A3 EC E8 8E A7 EC E8 8E 29 0969 : A4 EC E8 8E 7F EC E8 8E AF 0971 : 7A EC E8 8E AD EC E8 8E 70 0979 : 79 EC E8 8E A9 EC E8 8E 37 0981 : AF EC A2 13 8E AB EC A2 F1 0989 : 0E 8E 32 EC A2 8E 8E 2F 40 0991 : EC A2 1F 8E B1 EC A2 4A 0A 0999 : A0 FA 8D 24 ED 8E 25 ED 62 09A1 : 8C 26 ED A2 84 A0 FA 8D 64 09A9 : 41 ED 8E 42 ED 8C 43 ED F9 09B1 : 48 A0 3A B9 CB 0B 99 93 B2 09B9 : F3 88 10 F7 68 A2 E1 A0 58 09C1 : F2 8E 7E FF 8C 7F FF A2 A4 09C9 : C3 A0 FA 8D 2A E1 8E 2B 8F 09D1 : E1 8C 2C E1 A2 97 A0 FB A1 09D9 : 8E 06 F6 8C 07 F6 A2 F5 58 09E1 : A0 FB 8E 76 E1 8C 77 E1 15 09E9 : A2 B7 A0 E4 8D EA E8 8E 1C 09F1 : EB E8 8C EC E8 A2 CE A0 31 09F9 : F3 8D 62 E9 8E 63 E9 8C 4D 0A01 : 64 E9 A2 BE A0 E4 8D 81 45 0A09 : E9 8E 82 E9 8C 83 E9 A0 E5 0A11 : 06 B9 CB 0A 99 42 E9 88 8C 0A19 : 10 F7 A0 2D B9 15 0B 99 96 0A21 : D8 F0 88 10 F7 A0 13 B9 DA 0A29 : 80 0C 99 C2 FE 88 10 F7 D2 0A31 : A0 13 B9 41 0B 99 99 F1 B9 0A39 : 88 10 F7 A0 1B B9 55 0B C6 0A41 : 99 B7 E4 88 10 F7 A9 80 68 0A49 : A2 EA 8D D9 E3 8E DF E3 F9 0A51 : A9 8D A2 8A A0 02 8D DC C5 0A59 : E3 8E DD E3 8C DE E3 A2 0C 0A61 : 08 A0 01 8E DA E1 8C DC 74 0A69 : E1 A9 01 A2 A6 A0 F1 8D 06 0A71 : D5 E1 8E D7 E1 8C D8 E1 7F 0A79 : A2 08 A0 0F 8E 28 E2 8C F8 0A81 : 2A E2 A2 C4 A0 F3 8E E7 11 0A89 : E1 8C E8 E1 8E F4 E1 8C 58 0A91 : F5 E1 A2 D5 A0 3A 8E ED CC 0A99 : EC 8C EE EC A0 07 B9 C3 D5 0AA1 : 0A 99 9B E4 88 10 F7 A9 37 0AA9 : 3E A0 03 99 79 E4 88 10 2C 0AB1 : FA A9 3C A0 03 99 94 E4 BC 0AB9 : 88 10 FA A9 05 85 01 4C 56 0AC1 : 9A E3 44 54 45 20 46 53 FE 0AC9 : 44 2D F0 07 C9 DF F0 F5 0C 0AD1 : EA 4C 59 F6 A2 08 8A 2D 05 0AD9 : 0D DD D0 28 AD 00 DD CD FC 0AE1 : 00 DD D0 F8 0A 10 ED 66 C9 0AE9 : A4 AD 00 DD CD 00 DD D0 16 0AF1 : F8 0A 30 F5 CA F0 18 AD A9 0AF9 : 00 DD CD 00 DD D0 F8 0A B8 0B01 : 10 F5 30 E3 AD 0C DD 85 52 0B09 : A4 A5 03 09 C0 85 03 A6 F3 0B11 : A3 4C 76 EE A5 BA C9 08 BD 0B19 : B0 02 A9 08 60 0D 53 43 78 0B21 : 52 41 54 43 48 49 4E 47 28 0B29 : A0 C6 B7 F0 09 E6 BB D0 91 0B31 : 02 E6 BC B1 BB 60 A2 08 65 0B39 : 4C 37 A4 A0 00 84 90 60 85 0B41 : 20 36 ED 24 90 30 03 4C AB 0B49 : CC ED 4C 03 EE A2 D5 A0 1C 0B51 : FE 4C BD FF 78 A5 AC 48 DD 0B59 : 4C ED E8 78 A5 AC 48 4C 5E 0B61 : 84 E9 A6 90 E0 42 F0 03 7F 0B69 : E0 00 60 A2 04 4C 37 A4 7F 0B71 : A2 0D AD 00 DD 29 DF 8D C7 0B79 : 00 DD AD 00 DD CD 00 DD DB 0B81 : D0 F8 0A 10 1D CA D0 F2 A3 0B89 : A5 A5 D0 0F 20 A0 EE 20 1A 0B91 : 85 EE A9 40 20 1C FE E6 AC 0B99 : A5 D0 D5 A6 A3 A9 02 4C 19 0BA1 : B2 ED 4C 25 EE 2C 0D DD 42 0BA9 : 86 A3 A5 90 29 BD 85 90 34 0BB1 : 4C 85 EE 48 A5 03 29 7F 9B 0BB9 : 85 03 68 4C 11 ED 20 E9 38 0BC1 : FB 4C 8E EE 68 68 8A 4C F0 0BC9 : F9 E0 48 A5 03 29 04 F0 65 0BD1 : 16 68 C9 40 90 10 C9 60 07 0BD9 : B0 02 69 20 C9 C0 90 06 DA 0BE1 : C9 E0 B0 02 E9 7F 48 A5 8E 0BE9 : 03 29 08 F0 16 68 C9 0D 87 0BF1 : D0 08 20 96 FA CE 03 DD 8E 0BF9 : A9 0A 60 20 79 00 C9 2C DB 0C01 : F0 F8 68 68 60 85 AC 58 2A 0C09 : 60 AD 00 DD 29 08 D0 12 36 0C11 : 20 91 F8 A9 FF 8D 0C DD C5 0C19 : 20 7F F8 8A A2 14 CA D0 20 0C21 : FD AA 4C 2E ED 2C 0D DD 7C 0C29 : 4C 85 EE 4C 62 ED AD 00 C9 0C31 : DD CD 00 DD D0 F8 48 AD 02 0C39 : 0D DD 29 08 F0 06 A5 03 5C 0C41 : 09 C0 85 03 68 10 E7 09 25 0C49 : 10 8D 00 DD 29 08 D0 DB A9 0C51 : 24 03 10 D7 20 91 F8 A5 B4 0C59 : 95 8D 0C DD 20 7F F8 8A 6B 0C61 : 48 A2 22 20 A9 EE B0 04 64 0C69 : 68 AA 58 60 CA D0 F4 68 20 0C71 : AA 4C B0 ED 48 A5 03 29 3B 0C79 : 7F 85 03 68 4C 1C FE 20 6B 0C81 : CB FE 90 07 AA 4C E7 F2 63 0C89 : 20 D5 F3 60 20 D8 F0 85 34 0C91 : BA 60 2A 20 E9 FB 4C C4 43 0C99 : F4 86 0B 20 AF F5 E0 07 D3 0CA1 : F0 F1 A5 03 29 BF 09 10 28 0CA9 : 85 03 A0 00 B1 BB C9 24 40 0CB1 : F0 E1 A5 BA 20 0C ED A9 C0 0CB9 : 6F 20 B9 ED A5 90 10 06 8F 0CC1 : 20 E9 FB 4C 07 F7 A0 03 17 0CC9 : B9 7B F8 20 DD ED 88 D0 93 0CD1 : F7 20 FC F3 24 03 50 BB A9 0CD9 : 78 20 85 EE 20 86 F8 2C 13 0CE1 : 0D DD 20 73 F8 20 2D F8 8B 0CE9 : C9 02 D0 09 20 85 EE 20 33 0CF1 : E9 FB 4C 04 F7 48 C9 1F 93 0CF9 : D0 0B 20 73 F8 20 2D F8 FD 0D01 : 85 B4 4C A5 F7 C9 02 90 9F 0D09 : 03 68 B0 76 20 D2 F5 20 EC 0D11 : E9 FB 20 73 F8 20 2D F8 A6 0D19 : 85 AE 20 73 F8 20 2D F8 A3 0D21 : 85 AF 8A D0 08 A5 C3 85 02 0D29 : AE A5 C4 85 AF 68 C9 1F 2F 0D31 : F0 2F 20 73 F8 A9 FC 85 0B 0D39 : B4 20 EA FF 20 E1 FF F0 AB 0D41 : 4D 38 4C 38 F8 20 2D F8 FC 0D49 : C9 02 90 06 C9 1F F0 09 64 0D51 : D0 30 20 73 F8 A9 FE D0 2A 0D59 : DE 20 73 F8 20 2D F8 85 9E 0D61 : B4 20 73 F8 18 4C 38 F8 D8 0D69 : A9 40 20 1C FE 20 85 EE A3 0D71 : 58 18 08 A6 0B E0 09 D0 2A 0D79 : 03 20 6F F9 28 A6 AE A4 63 0D81 : AF 60 A9 02 20 1C FE 20 2A 0D89 : 85 EE A9 1D 38 60 20 85 A5 0D91 : EE 4C 33 F6 A9 08 2C 0D F7 0D99 : DD F0 FB AD 0C DD 60 26 20 0DA1 : 0B A9 08 2C 0D DD F0 FB 84 0DA9 : AC 0C DD AD 00 DD 49 10 BD 0DB1 : 8D 00 DD 98 A0 00 A6 93 94 0DB9 : F0 0A D1 AE F0 08 A9 10 0F 0DC1 : 20 1C FE 2C 91 AE E6 AE BC 0DC9 : D0 02 E6 AF C6 B4 D0 D1 43 0DD1 : 46 0B B0 03 4C 01 F8 4C 73 0DD9 : DE F7 AD 00 DD 49 10 8D A2 0DE1 : 00 DD 60 9F 30 55 AD 0D 5A 0DE9 : DD 29 08 F0 F9 AD 0E DD 7C 0DF1 : 29 80 09 08 8D 0E DD 60 1F 0DF9 : A9 7F 8D 0D DD A9 00 8D AD 0E01 : 05 DD A9 04 8D 04 DD AD AB 0E09 : 0E DD 29 80 09 55 8D 0E EE 0E11 : DD 2C 0D DD 60 8D 2F D0 D4 0E19 : A0 FF 8C 00 DC AE 01 DC DD 0E21 : E0 FF F0 39 AD 2F D0 10 1C 0E29 : 34 A9 FE A2 08 8D 2F D0 91 0E31 : AD 01 DC CD 01 DC D0 F8 7C 0E39 : 4A CA 10 0C AD 2F D0 38 76 0E41 : 2A C9 F7 D0 E6 4C F6 F8 06 0E49 : C8 B0 ED 98 69 41 85 CB 46 0E51 : A2 FF 8E 2F D0 A0 00 8C A7 0E59 : 00 DC 4C 9B EA A2 FF 8E 2F 0E61 : 2F D0 A9 00 8D 00 DC AE 0C 0E69 : 01 DC 4C 96 EA 4C E0 EA 29 0E71 : A6 CB E0 41 90 F7 BD D9 D0 0E79 : F9 AC 8D 02 F0 09 BD F1 9E 0E81 : F9 C0 01 F0 02 A9 FF A4 EF 0E89 : CB 4C E4 EA AA E0 F1 B0 EC 0E91 : 03 4C D6 F9 E0 FF F0 F9 75 0E99 : E0 F9 D0 18 A9 01 A8 91 15 0EA1 : 2B 20 33 A5 A5 22 A4 23 A2 0EA9 : 18 69 02 90 01 C8 85 2D CF 0EB1 : 84 2E D0 46 E0 FA D0 10 92 0EB9 : A9 00 85 C7 85 D8 85 D4 9B 0EC1 : 85 C6 A9 08 85 BA D0 35 F1 0EC9 : A5 03 29 30 D0 2F E0 F1 2E 0ED1 : F0 07 E0 F2 D0 4D A9 30 5A 0ED9 : 2C A9 31 48 20 D8 F0 20 FC 0EE1 : 0C ED A9 6F 20 B9 ED A0 05 0EE9 : 03 B9 B8 F9 20 DD ED 88 F0 0EF1 : 10 F7 68 20 DD ED 20 FE E7 0EF9 : ED 78 20 99 F9 4C 42 EB 40 0F01 : A9 00 8D 2F D0 8D 00 DC 27 0F09 : AD 01 DC CD 01 DC D0 F8 54 0F11 : 29 FB 49 FB D0 F2 A2 FF 39 0F19 : 8E 2F D0 8E 00 DC 60 4D 48 0F21 : 9E 30 55 A9 01 E0 F3 D0 EA 0F29 : 07 05 03 85 03 4C 42 EB 98 0F31 : E0 F4 D0 09 49 FF 25 03 10 0F39 : 85 03 4C 42 EB E0 F0 D0 C6 0F41 : 1C 20 99 F9 A9 00 8D 2F 42 0F49 : D0 8D 00 DC AD 01 DC CD 6D 0F51 : 01 DC D0 F8 29 FB 49 FB A3 0F59 : F0 F2 4C 93 F9 A9 04 E0 07 0F61 : F5 F0 C6 E0 F6 F0 CD A9 1D 0F69 : 08 E0 F7 F0 BC E0 F8 F0 96 0F71 : C3 8A AE 8D 02 E0 05 D0 B3 0F79 : 02 09 80 AA C4 C5 4C E7 F1 0F81 : EA F3 38 35 F1 32 34 37 09 0F89 : 31 1B 2B 2D F7 0D 36 39 EC 0F91 : 33 0E 30 2E 91 11 9D 1D F0 0F99 : F0 F4 B2 DB F2 B1 AB B0 F8 0FA1 : AD 1B 2A 2F F8 3D B3 AE F2 0FA9 : BD 8E DD C0 91 11 9D 1D 8F 0FB1 : F0 48 A9 01 85 12 A5 03 D5 0FB9 : 29 FD 85 03 4A B0 1C 68 0E 0FC1 : 48 C9 20 90 0F C9 60 B0 2A 0FC9 : 0B 29 1F C9 1F F0 05 20 38 0FD1 : E3 FB C6 12 68 20 97 EE 69 0FD9 : 4C 27 ED 68 C9 24 D0 E0 04 0FE1 : 20 E3 FB A5 03 09 02 85 32 0FE9 : 03 18 60 A5 03 29 03 C9 DE 0FF1 : 03 D0 31 A9 FF 8D 03 DD 12 0FF9 : A5 95 20 93 F3 8D 01 DD 4F 1001 : AD 00 DD 29 FB 8D 00 DD 33 1009 : 09 04 8D 00 DD A9 7F 8D BC 1011 : 00 DC CD 01 DC F0 08 AD E4 1019 : 0D DD 29 10 F0 EF 18 EE 2E 1021 : 03 DD 58 60 20 97 EE 4C 48 1029 : 44 ED 20 79 00 F0 20 20 E3 1031 : 9E AD 24 0D 30 38 20 F7 86 1039 : B7 AA D0 10 C0 10 B0 0C E3 1041 : 98 86 14 0A 0A 0A 0A D0 1D 1049 : 01 00 85 15 4C 30 E1 20 5C 1051 : FF F0 20 D8 F0 20 09 ED FB 1059 : A9 6F 20 C7 ED A4 90 30 61 1061 : 35 20 13 EE 20 16 E7 C9 2F 1069 : 0D D0 F6 4C EF ED 20 5A C9 1071 : E2 20 E6 E1 20 FF F0 B1 82 1079 : BB C9 24 F0 1E C9 4C D0 43 1081 : 03 4C 12 FC 20 D8 F0 20 9B 1089 : 0C ED A9 6F 20 B9 ED 24 B4 1091 : 90 30 03 4C F6 F3 A9 05 43 1099 : 4C F9 E0 84 B9 20 CF FE 84 10A1 : 20 C2 FE A5 BA 20 09 ED 43 10A9 : A9 60 20 C7 ED A0 05 2C D4 10B1 : A0 03 20 81 FB D0 21 88 E7 10B9 : D0 F8 AA 20 13 EE 20 CD 79 10C1 : BD A9 20 20 16 E7 20 81 83 10C9 : FB D0 0D AA D0 F5 20 D7 B2 10D1 : AA 20 E1 FF F0 02 D0 D8 18 10D9 : A0 00 84 C6 4C 46 F6 A2 8B 10E1 : 01 86 D4 86 D8 4C 16 E7 43 10E9 : 20 13 EE 4C C5 E4 00 00 5B 10F1 : 00 00 00 00 00 A5 C2 85 35 10F9 : AD A5 C1 85 AC 60 A0 00 EA 1101 : B1 BB C9 40 D0 34 A9 53 06 1109 : 91 BB A5 9D 10 11 A0 24 E9 1111 : 20 2B F1 A0 01 B1 BB C9 77 1119 : 3A D0 01 C8 20 C7 F5 A9 80 1121 : 6F 85 B9 20 C2 FE A0 00 6C 1129 : A9 40 91 BB A9 61 85 B9 FD 1131 : 18 20 ED F0 B0 04 C9 3A B9 1139 : F0 F7 4C C2 FE C6 12 D0 A0 1141 : 06 20 97 EE 20 EE FB 4C 1D 1149 : 97 EE A5 03 09 20 D0 09 08 1151 : A5 03 29 EF 2C A5 03 29 0E 1159 : DF 85 03 60 48 C9 00 D0 3C 1161 : 14 A5 B9 C9 05 D0 0E A9 52 1169 : 00 85 B9 A5 2D A4 2E E9 D3 1171 : 02 B0 01 88 AA 68 4C D5 E7 1179 : FF 20 ED F0 48 20 ED F0 41 1181 : 68 C9 50 F0 0B C9 53 F0 2E 1189 : 03 4C 08 AF 18 A9 6E 2C 8B 1191 : A9 60 08 85 B9 20 CF FE F7 1199 : 20 C2 FE A5 BA 20 09 ED 3B 11A1 : A5 B9 20 C7 ED 28 B0 10 27 11A9 : 20 81 FB D0 08 20 78 FB FE 11B1 : 20 E1 FF D0 F3 4C 46 F6 84 11B9 : A0 03 2C A0 02 20 81 FB 19 11C1 : D0 65 85 49 20 81 FB D0 6E 11C9 : 5E 88 D0 F1 A6 49 20 CD AE 11D1 : BD A0 02 84 60 88 84 49 DE 11D9 : 88 84 0B 84 0F 84 5F 8C A2 11E1 : 01 02 20 81 FB D0 40 C8 F4 11E9 : F0 3D 99 01 02 AA D0 F2 9D 11F1 : AD 00 03 8D 00 01 AD 01 D2 11F9 : 03 8D 01 01 A9 AC A0 FC A0 1201 : 8D 00 03 8C 01 03 AD 03 C6 1209 : 03 C9 81 F0 03 4C ED A6 07 1211 : 20 23 96 AD 00 01 8D 00 5C 1219 : 03 AD 01 01 8D 01 03 20 81 1221 : D7 AA 20 E1 FF D0 94 20 AB 1229 : 46 F6 A5 7B C9 03 B0 07 49 1231 : 20 2C A8 4C 86 E3 A9