Checksummer V3 und MSE
Diese beiden Programme sind unentbehrlich beim Abtippen unserer Listings. Sie helfen Tippfehler zu vermeiden und sparen eine Menge Zeit.
Nobody is perfect. Jeder Computer-Fan, egal ob blutiger Anfänger oder ausgefuchster Profi, macht beim Abtippen von Programmen Tippfehler. Diese Fehler später zu finden, kann ein langwieriges Unterfangen werden.
Deshalb haben wir für Sie die Programme »Checksummer V3« und »MSE« (MaschinenSpracheEditor) entwickelt. Der Checksummer ist für Basic-Programme und der MSE für Maschinensprache-Listings zuständig.
Checksummer
Zuerst einmal müssen Sie das Checksummer-Programm (siehe Listing 1) abtippen. Dabei sollten Sie äußerst sorgfältig vorgehen, vor allem bei den Zahlen in den DATA-Zeilen 20 bis 30. Wenn Sie trotzdem noch einen Tippfehler gemacht haben, meldet sich das Programm später mit einem entsprechenden Hinweis. Wenn Sie fertig sind, müssen Sie das Programm auf Diskette oder Kassette speichern.
Jetzt geht es los:
- Starten Sie den Checksummer durch die Eingabe von »RUN« und dem Drücken der <RETURN> Taste.
- Wenn die Meldung »Checksummer aktiviert...« auf dem Bildschirm erscheint, haben Sie keinen Tippfehler gemacht und der Checksummer ist nun eingeschaltet.
- Zum Löschen des Basic-Programms geben Sie bitte »NEW« ein. Keine Angst, der Checksummer selbst wird dadurch nicht gelöscht.
- Nun können wir den Checksummer testen. Geben Sie bitte folgende Zeile ein und drücken Sie die <RETURN > Taste:
1 REM
In der linken oberen Bildschirmecke sehen Sie nun die Prüfsumme über die eben eingegebene Basic-Zeile. Sie muß <63> lauten: Dem Checksummer istesübrigensegal, ob Sie »1 REM« oder »IREM« eintippen. Nur innerhalb von Anführungszeichen ist die richtige Anzahl an Leerzeichen wichtig. Diese Prüfsummen erscheinen (sofern Sie den Checksummer eingeschaltet haben) immer dann, wenn Sie eine Basic-Zeile eintippen und dann die <RETURN> Taste drücken. In der 64er finden Sie die Prüfsummen immer am Ende jeder Programmzeile.
Diese Zahlen dürfen Sie NICHT mit abtippen. Sie dienen lediglich zur Kontrolle, ob Sie alles richtig eingegeben haben.
Als Beispiel können Sie sich Bild 1 betrachten. Am rechten Rand jeder Spalte sehen Sie die Prüfsummen in eckigen Klammern.

Damit sind wir beim zweiten wichtigen Punkt: Sehen Sie sich die Zeile 341 von Listing 2 genauer an. Nach dem ersten Anführungszeichen nach dem PRINT:-Befehl sehen Sie ein Zeichen, das Sie auf der Tastatur des C 64 vergeblich suchen werden: die geschweifte Klammer { }. Immer, wenn Sie in einem unserer Listings diese Klammern sehen, dürfen Sie das, was innerhalb der Klammern steht, nicht eintippen. Sie müssen die entsprechende Taste drücken. Beispiel:
10 PRINT "{CLR}"
bedeutet: Nach dem Anführungszeichen die »Bildschirm-löschen«Taste drücken (<SHIFT+CLR/HOME>). In Tabelle 1 sehen Sie eine Zusammenfassung aller möglichen Steuertasten und dem entsprechenden Klartext.
| CTRL steht für Control-Taste, so bedeutet [CTRL-A], daß Sie die Control-Taste und die Taste »A« drücken müssen. Im folgenden steht: | |
| {DOWN} | Taste neben rechtem Shift, Cursor unten |
| {UP} | Shift-Taste & Taste neben rechtem Shift, Cursor hoch |
| {CLR} | Shift-Taste & 2. Taste ganz rechts oben |
| {INST} | Shift-Taste & Taste ganz rechts oben |
| {HOME} | 2. Taste von ganz rechts oben |
| {DEL} | Taste ganz rechts oben |
| {RIGHT} | Taste ganz rechts unten |
| {LEFT} | Shift-Taste & Taste unten rechts |
| {SPACE} | Leertaste |
| {SHIFT-Space} | Shift-Taste & Leertaste |
| {F1} bis {F8} | Funktionstasten |
| {RETURN} | Shift-Taste & Return |
| {BLACK} | Control-Taste & 1 |
| {WHITE} | Control-Taste & 2 |
| {RED} | Control-Taste & 3 |
| {CYAN} | Control-Taste & 4 |
| {PURPLE} | Control-Taste & 5 |
| {GREEN} | Control-Taste & 6 |
| {BLUE} | Control-Taste & 7 |
| {YELLOW} | Control-Taste & 8 |
| {RVSON} | Control-Taste & 9 |
| {RVOFF} | Control-Taste & 0 |
| {ORANGE} | Commodore-Taste & 1 |
| {BROWN} | Commodore-Taste & 2 |
| {LIG.RED} | Commodore-Taste & 3 |
| {GREY 1} | Commodore-Taste & 4 |
| {GREY 2} | Commodore-Taste & 5 |
| {LIG.GREEN} | Commodore-Taste & 6 |
| {LIG.BLUE} | Commodore-Taste & 7 |
| {GREY 3} | Commodore-Taste & 8 |
Weiterhin sehen Sie in Listing 2 (MSE) in Zeile 341 ein unterstrichenes»O«nach dem »P«. Das bedeutet, daß Sie ein»O«zusammen mit der <SHIFT>-Taste drücken müssen, also <SHIFT+O>. Wenn ein Zeichen »überstrichen« ist, müssen Sie dieses zusammen mit der <CBM>-Taste eingeben. Die <CBM>-Taste befindet sich ganz links unten auf der Tastatur und hat die Aufschrift »C=«. Auf dem Bildschirm sehen Sie die entsprechenden Grafikzeichen (siehe Handbuch, Seite 133).
Der MSE
Der MSE dient zur Eingabe von Maschinensprache-Programmen. Als erstes müssen Sie den sogenannten »MSE-Lader« (Listing 2) abtippen. Dieser erzeugt erst das eigentliche MSE-Programm auf Diskette oder Kassette.
Wichtig: Vor dem Eintippen des MSE-Laders müssen Sie unbedingt ein paar Befehle eingeben (ohne Basic-Zeilennummer): POKE 44,32 : POKE 8192,0 : NEW
Jetzt können Sie beginnen, das Listing 2 abzutippen. Der MSE-Lader erkennt zwar, wenn Sie beim Eintippen der DATA-Zeilen einen Fehler gemacht haben, aber wenn Sie ganz sicher gehen möchten, sollten Sie den Checksummer vor dem Eintippen aktivieren. Die Prüfsummen für den MSE-Lader finden Sie am Ende der jeweiligen Programmzeilen.
Wenn Sie das Listing 2 nicht auf einmal abtippen möchten, müssen Sie vor jedem neuen Laden des Programms unbedingt die oben genannte POKE-Zeile eingeben!
Datasetten-Besitzer müssen die »8« am Ende von Zeile 343 in eine »l« ändern.
Wenn Sie alles richtig gemacht haben und das Programm fehlerfrei abgetippt wurde, speichert es sich selbst auf Diskette oder Kassette unter dem Namen »MSE V1.0«. Dieses fertige MSE-Programm laden Sie dann bei Bedarf wie ein normales Basic-Programm und starten es mit »RUN«.
So arbeitet man mit dem MSE
Als erstes möchte der MSE den Namen des zu bearbeitenden Programms wissen. Dieser steht in der ersten Zeile unserer MSE-Listings. Dann müssen Sie die Start- und Endadresse des Programms eingeben. Dies sind die letzten beiden, vierstelligen Hexadezimalzahlen in der ersten Zeile unserer Listings.
Wenn Sie ein Programm von Diskette oder Kassette laden wollen, um an einer bestimmten Stelle weiterzutippen oder noch eine Korrektur vorzunehmen, geben Sie auf die Frage nach der Startadresse ein »L« ein. Danach müssen Sie »D« oder »I« drücken, je nachdem, ob Sie von Diskette oder Kassette (vtape«) laden möchten. Wenn das Programm unter diesem Namen nicht auf der Diskette vorhanden ist, oder ein sonstiger Ladefehler vorlag, meldet sich der MSE mit »/O-ERROR«. In so einem Fall drücken Sie <RUN/STOP +RESTORE> und geben einfach noch einmal »RUN« ein.
Beim Abtippen geben Sie nach und nach die abgedruckten Buchstaben und Zahlen des jeweiligen Listings ohne die Freiräume dazwischen ein. Wenn Sie in einer Zeile einen Tippfehler gemacht haben, meldet sich der MSE sofort mit einem Brummton und der Meldung »EINGABEFEHLER«. Nach einem Druck auf die <RETURN>-Taste können Sie mit der <DEL>-Taste den Fehler korrigieren.
Wenn Sie das gewünschte Programm vollständig eingegeben haben, speichert es der MSE automatisch auf Diskette oder Kassette.
Bei längeren Listings ist es unwahrscheinlich, daß Sie das komplette Programm auf einmal eingeben. Sie können Ihre bisherige Tipparbeit jederzeit durch <CTRL+S> auf Diskette oder Kassette speichern und Ihr Werk später fortsetzen. Sie sollten sich dann allerdings im Heft markieren, wie weit Sie beim Abtippen gekommen sind! Später geben Sie dann nach dem Laden des ersten Programmteils <CTRL+N> ein und auf die dann folgende Frage nach der Startadresse die Zeilennummer (Adresse), bei der Sie aufgehört haben zu tippen.
<CTRL+M> erlaubt Ihnen jederzeit, Ihr Werk listen zu lassen. Durch <SPACE > können Sie weiterlisten lassen und durch <RUN/STOP> das Listen abbrechen.
Wenn Sie einen Drucker besitzen, können Sie das Programm auch mit <CTRL+P> ausdrucken.
Mit <CTRL+L> wird das Programm noch einmal neu in Ihren C 64 geladen.
(F. Lonczewski/N. Mann/D. Weineck/tr)10 print"checksummer fuer c 64" 11 print:print"einen moment, bitte ..." 12 fori=828to864:reada:pokei,a:ps=ps+a:nexti 13 ifps<>5765thenprint"tippfehler in den zeilen 20 bis 22":end 14 sys828:ps=0:fori=58464to58583:reada:pokei,a:ps=ps+a:nexti 15 ifps<>16147thenprint"tippfehler in den zeilen 22 bis 30":end 16 poke1,53:poke42289,96:poke42290,228 17 print"checksummer aktiviert." 18 print:print" ausschalten : poke1,55 oder"spc(27)"<run/stop+restore>" 19 print:print" anschalten : poke1,53" 20 data169,0,133,254,162,1,189,93,3,133,255,160,0,177,254 21 data145,254,136,208,249,230,255,165,255,221,95,3,208,238,202 22 data16,230,96,160,224,192,0,160,2,169,0,170,133,254,177 23 data95,240,40,201,32,208,3,200,208,245,133,255,138,41,7 24 data170,240,14,72,165,255,24,42,105,0,202,208,249,133,255 25 data104,170,232,165,255,24,101,254,133,254,76,111,228,192,4 26 data48,219,198,214,165,214,72,162,3,169,32,157,1,4,189 27 data212,228,32,210,255,208,12,0,92,72,32,201,255,170,104 28 data144,1,138,96,202,16,228,166,254,169,0,32,205,189,169 29 data62,32,210,255,104,133,214,32,108,229,169,141,32,210,255 30 data76,128,164,9,60,18,19
100 rem ****************************
110 rem * *
120 rem * m s e lader *
130 rem * *
220 rem ****************************
230 rem
240 dim h(75): for i=0 to 9
250 h(48+i)=i: h(65+i)=i+10:next
260 for i=2048 to 3755 : read a$
270 h=asc(left$(a$,1)):l=asc(right$(a$,1))
280 d=h(h)*16+h(l):s=s+d:poke i,d
290 a=a+1:if a<20 then next:a=-1
300 print " zeile:";1000+z;
310 read v :z=z+1:if v=s then 330
320 print"pruefsummenfehler !":stop
330 if a<0 then 341
340 s=0:a=0:print:next
341 print"{clr}pO43,1:pO44,8:pO45,172:pO46,14
342 poke 631,19:poke 632,13:poke 633,13:poke 198,3
343 print"{down}{down}{down}save"chr$(34)"mse v1.0"chr$(34)",8
344 end
1000 data 00,0b,08,0a,00,9e,32,30,36,31,00,00,00,a2,08,a9,36,85,a4,a9, 1247
1001 data 08,85,a5,a9,00,85,a6,a9,b0,85,a7,a0,00,b1,a4,91,a6,c8,d0,f9, 2888
1002 data e6,a5,e6,a7,ca,d0,f2,a9,36,85,01,4c,00,b0,20,d1,b1,a9,06,8d, 2787
1003 data 21,d0,a9,03,8d,20,d0,8d,86,02,a0,b3,a9,74,20,ff,b1,a0,b3,a9, 2667
1004 data b9,20,ff,b1,a0,00,20,cf,ff,99,01,02,c8,c9,0d,d0,f5,88,f0,d2, 2912
1005 data c0,0f,90,02,a0,0e,8c,00,02,20,ea,b1,a0,b3,a9,cf,20,ff,b1,20, 2323
1006 data 8e,b4,85,fc,85,62,20,8e,b4,85,fb,85,61,20,a7,b4,d0,20,a0,b3, 2864
1007 data a9,e5,20,ff,b1,20,8e,b4,85,60,20,8e,b4,85,5f,20,a7,b4,d0,0a, 2624
1008 data a5,61,c5,5f,a5,62,e5,60,90,06,20,43,b3,4c,3a,b0,a9,aa,a0,00, 2379
1009 data 91,fb,e6,fb,d0,02,e6,fc,20,3f,b2,90,ef,4c,fb,b4,a2,02,86,58, 3118
1010 data a9,a6,a0,9d,20,f2,b1,20,e4,ff,f0,fb,c9,30,90,0c,c9,47,b0,08, 2970
1011 data c9,3a,90,0b,c9,41,b0,07,c9,14,d0,0f,4c,0b,b1,20,d2,ff,a6,58, 2322
1012 data 95,f7,c6,58,d0,d2,60,ae,8d,02,f0,26,c9,0c,d0,03,4c,0b,b6,c9, 2685
1013 data 13,d0,03,4c,8b,b5,c9,0d,d0,03,4c,ba,b4,c9,10,d0,03,4c,68,b5, 2282
1014 data c9,0e,d0,06,20,5f,b4,4c,64,b1,4c,92,b0,a5,f9,20,02,b1,0a,0a, 2132
1015 data 0a,0a,85,f9,a5,f8,20,02,b1,05,f9,60,c9,3a,90,02,69,08,29,0f, 1950
1016 data 60,a6,59,e0,08,90,1f,a6,58,e0,02,b0,06,20,d2,ff,4c,8e,b0,c6, 2509
1017 data 59,a0,14,a9,92,20,f2,b1,ca,d0,fa,84,57,68,68,4c,8b,b1,a6,d3, 2891
1018 data e0,08,b0,03,4c,92,b0,20,d2,ff,a6,58,e0,02,90,09,c6,59,20,d2, 2468
1019 data ff,c6,58,d0,f9,4c,8e,b0,48,4a,4a,4a,4a,20,59,b1,68,29,0f,c9, 2419
1020 data 0a,90,02,69,06,69,30,4c,d2,ff,a2,fc,9a,20,d1,b1,20,48,b2,20, 2261
1021 data ea,b1,20,9f,b2,a5,fc,20,4e,b1,a5,fb,20,4e,b1,20,ed,b1,a9,3a, 2860
1022 data a0,20,20,f2,b1,a9,00,85,59,20,8e,b0,20,ed,b1,a4,59,20,ef,b0, 2530
1023 data 91,fb,c8,84,59,c0,08,90,ec,20,10,b2,a9,12,20,d2,ff,20,8e,b0, 2657
1024 data 20,ef,b0,c5,ff,f0,0d,20,43,b3,a9,14,a0,14,20,f2,b1,4c,a2,b1, 2665
1025 data a9,92,20,d2,ff,20,33,b2,20,e0,b2,20,3f,b2,90,9f,4c,8b,b5,a9, 2648
1026 data 93,20,d2,ff,a2,00,a9,03,9d,00,d8,9d,00,d9,9d,00,da,9d,00,db, 2476
1027 data e8,d0,ef,60,a9,0d,2c,a9,20,4c,d2,ff,20,d2,ff,98,4c,d2,ff,20, 2965
1028 data e4,ff,f0,fb,60,84,5d,85,5c,a0,00,b1,5c,f0,06,20,d2,ff,c8,d0, 3100
1029 data f6,60,a5,fb,85,5a,a0,00,84,5b,b1,fb,18,65,5a,85,5a,90,02,e6, 2606
1030 data 5b,06,5a,26,5b,c8,c0,08,90,ec,a5,5a,65,5b,85,ff,60,18,a5,fb, 2467
1031 data 69,08,85,fb,90,02,e6,fc,60,a5,fb,c5,5f,a5,fc,e5,60,60,a0,b3, 3106
1032 data a9,fb,20,ff,b1,a0,01,b9,00,02,20,d2,ff,cc,00,02,c8,90,f4,a9, 2692
1033 data 10,ed,00,02,aa,20,ed,b1,ca,d0,fa,a5,62,20,4e,b1,a5,61,20,4e, 2453
1034 data b1,20,ed,b1,a5,60,20,4e,b1,a5,5f,20,4e,b1,a9,9f,20,d2,ff,20, 2575
1035 data ea,b1,24,5e,10,01,60,a9,12,20,d2,ff,a2,28,20,ed,b1,ca,d0,fa, 2646
1036 data a9,92,4c,d2,ff,a5,d6,c9,16,b0,01,60,a9,a0,85,a4,a9,78,85,a6, 2945
1037 data a9,04,85,a5,85,a7,a2,13,a0,27,b1,a4,91,a6,88,10,f9,ca,f0,19, 2671
1038 data 18,a5,a4,69,28,85,a4,90,02,e6,a5,18,a5,a6,69,28,85,a6,90,e0, 2503
1039 data e6,a7,4c,b6,b2,a9,91,4c,d2,ff,a9,0f,8d,18,d4,a9,00,8d,05,d4, 2776
1040 data a9,f7,8d,06,d4,a9,11,8d,04,d4,a9,32,8d,01,d4,a9,00,8d,00,d4, 2413
1041 data a0,80,20,09,b3,a9,10,8d,04,d4,60,a2,ff,ca,d0,fd,88,d0,f8,60, 2914
1042 data a9,0f,8d,18,d4,a9,2d,8d,05,d4,a9,a5,8d,06,d4,a9,21,8d,04,d4, 2385
1043 data a9,07,8d,01,d4,a9,05,8d,00,d4,a0,ff,20,09,b3,a9,20,8d,04,d4, 2250
1044 data a9,00,8d,01,d4,8d,00,d4,60,38,20,f0,ff,8a,48,98,48,18,a0,06, 2179
1045 data a2,18,20,f0,ff,a0,b4,a9,0a,20,ff,b1,20,12,b3,20,e4,ff,f0,fb, 2931
1046 data a2,1d,a9,14,20,d2,ff,ca,d0,fa,68,a8,68,aa,18,4c,f0,ff,0d,0d, 2704
1047 data 0d,20,20,20,20,20,20,20,4d,41,53,43,48,49,4e,45,4e,53,50,52, 1144
1048 data 41,43,48,45,20,2d,20,45,44,49,54,4f,52,20,0d,0d,20,20,20,20, 1023
1049 data 20,20,20,20,56,4f,4e,20,4e,2e,4d,41,4e,4e,20,26,20,44,2e,57, 1128
1050 data 45,49,4e,45,43,4b,00,0d,0d,0d,20,20,20,50,52,4f,47,52,41,4d, 1102
1051 data 4d,4e,41,4d,45,20,3a,20,00,0d,0d,20,20,20,53,54,41,52,54,41, 1073
1052 data 44,52,45,53,53,45,20,3a,20,24,00,0d,0d,20,20,20,45,4e,44,41, 1014
1053 data 44,52,45,53,53,45,20,20,20,3a,20,24,00,92,05,20,50,52,4f,47, 1171
1054 data 52,41,4d,4d,20,3a,20,00,12,20,20,2a,2a,2a,20,46,41,4c,53,43, 1024
1055 data 48,45,20,45,49,4e,47,41,42,45,20,2a,2a,2a,20,20,92,00,0d,0d, 1058
1056 data 2a,2a,2a,20,45,4e,44,45,20,2a,2a,2a,00,13,05,20,20,12,44,92, 920
1057 data 49,53,4b,20,4f,44,45,52,20,12,54,92,41,50,45,0d,00,13,20,20, 1151
1058 data 49,2f,4f,20,2d,20,46,45,48,4c,45,52,00,20,d1,b1,20,48,b2,a0, 1606
1059 data b3,a9,cf,20,ff,b1,20,8e,b4,85,fc,20,8e,b4,85,fb,c5,61,a5,fc, 3207
1060 data e5,62,90,23,a5,fb,c5,5f,a5,fc,e5,60,b0,19,20,a7,b4,d0,14,60, 2860
1061 data 20,a7,b4,f0,0c,85,f9,20,a7,b4,f0,05,85,f8,4c,ef,b0,68,68,20, 2749
1062 data 43,b3,4c,5f,b4,20,cf,ff,c9,4c,d0,09,20,d1,b1,20,48,b2,4c,0b, 2372
1063 data b6,c9,0d,60,a9,00,85,5e,20,5f,b4,20,ea,b1,20,0d,b5,24,5e,30, 2042
1064 data 05,20,e4,ff,f0,fb,20,e1,ff,f0,26,20,9f,b2,24,5e,10,09,20,4e, 2435
1065 data b5,20,0d,b5,20,60,b5,20,33,b2,20,3f,b2,90,d7,a0,b4,a9,28,20, 2190
1066 data ff,b1,20,e4,ff,c9,0d,d0,f9,a9,00,85,5e,a5,61,85,fb,a5,62,85, 3056
1067 data fc,20,e0,b2,4c,64,b1,a5,fc,20,4e,b1,a5,fb,85,ff,20,4e,b1,a9, 3003
1068 data 20,a0,3a,20,f2,b1,a0,00,20,ed,b1,b1,fb,20,4e,b1,c8,c0,08,90, 2566
1069 data f3,20,ed,b1,24,5e,30,03,a9,12,2c,a9,20,20,d2,ff,20,10,b2,a5, 2190
1070 data ff,20,4e,b1,a9,92,20,d2,ff,4c,ea,b1,a9,ff,85,b8,85,b9,a9,04, 3073
1071 data 85,ba,20,c0,ff,a2,ff,4c,c9,ff,20,cc,ff,a9,ff,4c,c3,ff,20,5f, 3315
1072 data b4,a9,80,85,5e,20,4e,b5,20,48,b2,a2,24,a9,2d,20,d2,ff,ca,d0, 2596
1073 data fa,20,ea,b1,20,ea,b1,20,60,b5,4c,c1,b4,20,b8,b5,a6,5f,a4,60, 2812
1074 data a9,61,20,d8,ff,b0,0a,20,b7,ff,29,bf,d0,03,4c,fb,b4,a9,01,20, 2577
1075 data c3,ff,20,68,b6,a0,b4,a9,4f,20,ff,b1,20,f9,b1,4c,fb,b4,20,68, 2921
1076 data b6,a9,37,a0,b4,20,ff,b1,20,f9,b1,a2,08,c9,44,f0,06,a2,01,c9, 2717
1077 data 54,d0,f1,a9,01,a8,20,ba,ff,a0,00,e0,01,f0,1a,a9,40,8d,20,02, 2403
1078 data a9,3a,8d,21,02,b9,01,02,99,22,02,c8,cc,00,02,90,f4,c8,c8,d0, 2182
1079 data 0c,b9,01,02,99,20,02,c8,cc,00,02,d0,f4,98,a2,20,a0,02,4c,bd, 2018
1080 data ff,20,b8,b5,a5,ba,c9,08,90,33,a6,b9,86,57,a9,01,20,c3,ff,a9, 2800
1081 data 60,85,b9,20,c0,ff,b0,28,a5,ba,20,b4,ff,a5,b9,20,96,ff,20,a5, 2911
1082 data ff,85,61,a5,90,4a,4a,b0,13,20,a5,ff,85,62,20,ab,ff,a5,57,85, 2663
1083 data b9,a9,00,20,d5,ff,90,03,4c,a3,b5,86,5f,84,60,a5,ba,c9,01,d0, 2639
1084 data 0a,ad,3d,03,85,61,ad,3e,03,85,62,4c,fb,b4,a9,13,20,d2,ff,a2, 2300
1085 data 1c,20,ed,b1,ca,d0,fa,60, 1230
100 REM **************************** 110 REM * * 120 REM * M S E LADER * 130 REM * * 220 REM **************************** 230 REM 240 DIM H(75): FOR I=0 TO 9 250 H(48+I)=I: H(65+I)=I+10:NEXT 260 FOR I=2048 TO 3755 : READ A$ 270 H=ASC (LEFT$ (A$,1)):L=ASC (RIGHT$ (A$,1)) 280 D=H(H)*16+H(L):S=S+D:POKE I,D 290 A=A+1:IF A<20 THEN NEXT :A=-1 300 PRINT " ZEILE:";1000+Z; 310 READ V :Z=Z+1:IF V=S THEN 330 320 PRINT"PRUEFSUMMENFEHLER !":STOP 330 IF A<0 THEN 341 340 S=0:A=0:PRINT:NEXT 341 PRINT"{CLR}PO43,1:PO44,8:PO45,172:PO46,14 342 POKE 631,19:POKE 632,13:POKE 633,13:POKE 198,3 343 PRINT"{3DOWN}SAVE"CHR$ (34)"MSE V1.0"CHR$ (34)",8 344 END 1000 DATA 00,0B,08,0A,00,9E,32,30,36,31,00,00,00,A2,08,A9,36,85,A4,A9, 1247 1001 DATA 08,85,A5,A9,00,85,A6,A9,B0,85,A7,A0,00,B1,A4,91,A6,C8,D0,F9, 2888 1002 DATA E6,A5,E6,A7,CA,D0,F2,A9,36,85,01,4C,00,B0,20,D1,B1,A9,06,8D, 2787 1003 DATA 21,D0,A9,03,8D,20,D0,8D,86,02,A0,B3,A9,74,20,FF,B1,A0,B3,A9, 2667 1004 DATA B9,20,FF,B1,A0,00,20,CF,FF,99,01,02,C8,C9,0D,D0,F5,88,F0,D2, 2912 1005 DATA C0,0F,90,02,A0,0E,8C,00,02,20,EA,B1,A0,B3,A9,CF,20,FF,B1,20, 2323 1006 DATA 8E,B4,85,FC,85,62,20,8E,B4,85,FB,85,61,20,A7,B4,D0,20,A0,B3, 2864 1007 DATA A9,E5,20,FF,B1,20,8E,B4,85,60,20,8E,B4,85,5F,20,A7,B4,D0,0A, 2624 1008 DATA A5,61,C5,5F,A5,62,E5,60,90,06,20,43,B3,4C,3A,B0,A9,AA,A0,00, 2379 1009 DATA 91,FB,E6,FB,D0,02,E6,FC,20,3F,B2,90,EF,4C,FB,B4,A2,02,86,58, 3118 1010 DATA A9,A6,A0,9D,20,F2,B1,20,E4,FF,F0,FB,C9,30,90,0C,C9,47,B0,08, 2970 1011 DATA C9,3A,90,0B,C9,41,B0,07,C9,14,D0,0F,4C,0B,B1,20,D2,FF,A6,58, 2322 1012 DATA 95,F7,C6,58,D0,D2,60,AE,8D,02,F0,26,C9,0C,D0,03,4C,0B,B6,C9, 2685 1013 DATA 13,D0,03,4C,8B,B5,C9,0D,D0,03,4C,BA,B4,C9,10,D0,03,4C,68,B5, 2282 1014 DATA C9,0E,D0,06,20,5F,B4,4C,64,B1,4C,92,B0,A5,F9,20,02,B1,0A,0A, 2132 1015 DATA 0A,0A,85,F9,A5,F8,20,02,B1,05,F9,60,C9,3A,90,02,69,08,29,0F, 1950 1016 DATA 60,A6,59,E0,08,90,1F,A6,58,E0,02,B0,06,20,D2,FF,4C,8E,B0,C6, 2509 1017 DATA 59,A0,14,A9,92,20,F2,B1,CA,D0,FA,84,57,68,68,4C,8B,B1,A6,D3, 2891 1018 DATA E0,08,B0,03,4C,92,B0,20,D2,FF,A6,58,E0,02,90,09,C6,59,20,D2, 2468 1019 DATA FF,C6,58,D0,F9,4C,8E,B0,48,4A,4A,4A,4A,20,59,B1,68,29,0F,C9, 2419 1020 DATA 0A,90,02,69,06,69,30,4C,D2,FF,A2,FC,9A,20,D1,B1,20,48,B2,20, 2261 1021 DATA EA,B1,20,9F,B2,A5,FC,20,4E,B1,A5,FB,20,4E,B1,20,ED,B1,A9,3A, 2860 1022 DATA A0,20,20,F2,B1,A9,00,85,59,20,8E,B0,20,ED,B1,A4,59,20,EF,B0, 2530 1023 DATA 91,FB,C8,84,59,C0,08,90,EC,20,10,B2,A9,12,20,D2,FF,20,8E,B0, 2657 1024 DATA 20,EF,B0,C5,FF,F0,0D,20,43,B3,A9,14,A0,14,20,F2,B1,4C,A2,B1, 2665 1025 DATA A9,92,20,D2,FF,20,33,B2,20,E0,B2,20,3F,B2,90,9F,4C,8B,B5,A9, 2648 1026 DATA 93,20,D2,FF,A2,00,A9,03,9D,00,D8,9D,00,D9,9D,00,DA,9D,00,DB, 2476 1027 DATA E8,D0,EF,60,A9,0D,2C,A9,20,4C,D2,FF,20,D2,FF,98,4C,D2,FF,20, 2965 1028 DATA E4,FF,F0,FB,60,84,5D,85,5C,A0,00,B1,5C,F0,06,20,D2,FF,C8,D0, 3100 1029 DATA F6,60,A5,FB,85,5A,A0,00,84,5B,B1,FB,18,65,5A,85,5A,90,02,E6, 2606 1030 DATA 5B,06,5A,26,5B,C8,C0,08,90,EC,A5,5A,65,5B,85,FF,60,18,A5,FB, 2467 1031 DATA 69,08,85,FB,90,02,E6,FC,60,A5,FB,C5,5F,A5,FC,E5,60,60,A0,B3, 3106 1032 DATA A9,FB,20,FF,B1,A0,01,B9,00,02,20,D2,FF,CC,00,02,C8,90,F4,A9, 2692 1033 DATA 10,ED,00,02,AA,20,ED,B1,CA,D0,FA,A5,62,20,4E,B1,A5,61,20,4E, 2453 1034 DATA B1,20,ED,B1,A5,60,20,4E,B1,A5,5F,20,4E,B1,A9,9F,20,D2,FF,20, 2575 1035 DATA EA,B1,24,5E,10,01,60,A9,12,20,D2,FF,A2,28,20,ED,B1,CA,D0,FA, 2646 1036 DATA A9,92,4C,D2,FF,A5,D6,C9,16,B0,01,60,A9,A0,85,A4,A9,78,85,A6, 2945 1037 DATA A9,04,85,A5,85,A7,A2,13,A0,27,B1,A4,91,A6,88,10,F9,CA,F0,19, 2671 1038 DATA 18,A5,A4,69,28,85,A4,90,02,E6,A5,18,A5,A6,69,28,85,A6,90,E0, 2503 1039 DATA E6,A7,4C,B6,B2,A9,91,4C,D2,FF,A9,0F,8D,18,D4,A9,00,8D,05,D4, 2776 1040 DATA A9,F7,8D,06,D4,A9,11,8D,04,D4,A9,32,8D,01,D4,A9,00,8D,00,D4, 2413 1041 DATA A0,80,20,09,B3,A9,10,8D,04,D4,60,A2,FF,CA,D0,FD,88,D0,F8,60, 2914 1042 DATA A9,0F,8D,18,D4,A9,2D,8D,05,D4,A9,A5,8D,06,D4,A9,21,8D,04,D4, 2385 1043 DATA A9,07,8D,01,D4,A9,05,8D,00,D4,A0,FF,20,09,B3,A9,20,8D,04,D4, 2250 1044 DATA A9,00,8D,01,D4,8D,00,D4,60,38,20,F0,FF,8A,48,98,48,18,A0,06, 2179 1045 DATA A2,18,20,F0,FF,A0,B4,A9,0A,20,FF,B1,20,12,B3,20,E4,FF,F0,FB, 2931 1046 DATA A2,1D,A9,14,20,D2,FF,CA,D0,FA,68,A8,68,AA,18,4C,F0,FF,0D,0D, 2704 1047 DATA 0D,20,20,20,20,20,20,20,4D,41,53,43,48,49,4E,45,4E,53,50,52, 1144 1048 DATA 41,43,48,45,20,2D,20,45,44,49,54,4F,52,20,0D,0D,20,20,20,20, 1023 1049 DATA 20,20,20,20,56,4F,4E,20,4E,2E,4D,41,4E,4E,20,26,20,44,2E,57, 1128 1050 DATA 45,49,4E,45,43,4B,00,0D,0D,0D,20,20,20,50,52,4F,47,52,41,4D, 1102 1051 DATA 4D,4E,41,4D,45,20,3A,20,00,0D,0D,20,20,20,53,54,41,52,54,41, 1073 1052 DATA 44,52,45,53,53,45,20,3A,20,24,00,0D,0D,20,20,20,45,4E,44,41, 1014 1053 DATA 44,52,45,53,53,45,20,20,20,3A,20,24,00,92,05,20,50,52,4F,47, 1171 1054 DATA 52,41,4D,4D,20,3A,20,00,12,20,20,2A,2A,2A,20,46,41,4C,53,43, 1024 1055 DATA 48,45,20,45,49,4E,47,41,42,45,20,2A,2A,2A,20,20,92,00,0D,0D, 1058 1056 DATA 2A,2A,2A,20,45,4E,44,45,20,2A,2A,2A,00,13,05,20,20,12,44,92, 920 1057 DATA 49,53,4B,20,4F,44,45,52,20,12,54,92,41,50,45,0D,00,13,20,20, 1151 1058 DATA 49,2F,4F,20,2D,20,46,45,48,4C,45,52,00,20,D1,B1,20,48,B2,A0, 1606 1059 DATA B3,A9,CF,20,FF,B1,20,8E,B4,85,FC,20,8E,B4,85,FB,C5,61,A5,FC, 3207 1060 DATA E5,62,90,23,A5,FB,C5,5F,A5,FC,E5,60,B0,19,20,A7,B4,D0,14,60, 2860 1061 DATA 20,A7,B4,F0,0C,85,F9,20,A7,B4,F0,05,85,F8,4C,EF,B0,68,68,20, 2749 1062 DATA 43,B3,4C,5F,B4,20,CF,FF,C9,4C,D0,09,20,D1,B1,20,48,B2,4C,0B, 2372 1063 DATA B6,C9,0D,60,A9,00,85,5E,20,5F,B4,20,EA,B1,20,0D,B5,24,5E,30, 2042 1064 DATA 05,20,E4,FF,F0,FB,20,E1,FF,F0,26,20,9F,B2,24,5E,10,09,20,4E, 2435 1065 DATA B5,20,0D,B5,20,60,B5,20,33,B2,20,3F,B2,90,D7,A0,B4,A9,28,20, 2190 1066 DATA FF,B1,20,E4,FF,C9,0D,D0,F9,A9,00,85,5E,A5,61,85,FB,A5,62,85, 3056 1067 DATA FC,20,E0,B2,4C,64,B1,A5,FC,20,4E,B1,A5,FB,85,FF,20,4E,B1,A9, 3003 1068 DATA 20,A0,3A,20,F2,B1,A0,00,20,ED,B1,B1,FB,20,4E,B1,C8,C0,08,90, 2566 1069 DATA F3,20,ED,B1,24,5E,30,03,A9,12,2C,A9,20,20,D2,FF,20,10,B2,A5, 2190 1070 DATA FF,20,4E,B1,A9,92,20,D2,FF,4C,EA,B1,A9,FF,85,B8,85,B9,A9,04, 3073 1071 DATA 85,BA,20,C0,FF,A2,FF,4C,C9,FF,20,CC,FF,A9,FF,4C,C3,FF,20,5F, 3315 1072 DATA B4,A9,80,85,5E,20,4E,B5,20,48,B2,A2,24,A9,2D,20,D2,FF,CA,D0, 2596 1073 DATA FA,20,EA,B1,20,EA,B1,20,60,B5,4C,C1,B4,20,B8,B5,A6,5F,A4,60, 2812 1074 DATA A9,61,20,D8,FF,B0,0A,20,B7,FF,29,BF,D0,03,4C,FB,B4,A9,01,20, 2577 1075 DATA C3,FF,20,68,B6,A0,B4,A9,4F,20,FF,B1,20,F9,B1,4C,FB,B4,20,68, 2921 1076 DATA B6,A9,37,A0,B4,20,FF,B1,20,F9,B1,A2,08,C9,44,F0,06,A2,01,C9, 2717 1077 DATA 54,D0,F1,A9,01,A8,20,BA,FF,A0,00,E0,01,F0,1A,A9,40,8D,20,02, 2403 1078 DATA A9,3A,8D,21,02,B9,01,02,99,22,02,C8,CC,00,02,90,F4,C8,C8,D0, 2182 1079 DATA 0C,B9,01,02,99,20,02,C8,CC,00,02,D0,F4,98,A2,20,A0,02,4C,BD, 2018 1080 DATA FF,20,B8,B5,A5,BA,C9,08,90,33,A6,B9,86,57,A9,01,20,C3,FF,A9, 2800 1081 DATA 60,85,B9,20,C0,FF,B0,28,A5,BA,20,B4,FF,A5,B9,20,96,FF,20,A5, 2911 1082 DATA FF,85,61,A5,90,4A,4A,B0,13,20,A5,FF,85,62,20,AB,FF,A5,57,85, 2663 1083 DATA B9,A9,00,20,D5,FF,90,03,4C,A3,B5,86,5F,84,60,A5,BA,C9,01,D0, 2639 1084 DATA 0A,AD,3D,03,85,61,AD,3E,03,85,62,4C,FB,B4,A9,13,20,D2,FF,A2, 2300 1085 DATA 1C,20,ED,B1,CA,D0,FA,60, 1230