Toolkit für Programmierer
Nicht jeder kann sich professionelle Toolkits wie zum Beispiel Ex-Basic Level II leisten. Dieses Programm hat deshalb einige der wichtigsten Funktionen, die das Programmieren sehr erleichtern.
Dieses Programm für den Commodore 64 bietet 8 leistungsfähige Befehle und 2 zusätzliche Funktionen, die bei der Programmerstellung und beim Austesten von Programmen besonders nützlich sind. Hier die Erklärung zu den einzelnen Befehlen:
!AUTO X,Y
Dieser Befehl erspart Ihnen das Eintippen der Zeilennummern. Mit X geben Sie die Anfangszeilennummer ein. Mit Y die Schrittweite, um welcher die Zeilennummern erhöht werden sollen. X kann eine positive Integerzahl sein. Y kann im Bereich von 0-255 liegen. Wenn Sie den AUTO-Befehl eingetippt haben, erscheint nach Drücken der C= Taste zusammen mit der Taste F7 die erste Zeilennummer. Schreiben Sie nun Befehle hinter die Zeilennummer und schließen Sie mit RETURN ab. Wenn Sie nun wieder die Taste C= und F7 drücken, erscheint eine um Y erhöhte Zeilennummer. Abgeschaltet wir die AUTO-Funktion mit der C= Taste zusammen mit F1. Außerdem wird diese Funktion abgeschaltet, wenn Sie RUN/STOP und RESTORE drücken.
!DUMP
Damit können Sie sich sämtliche Variablen mit ihrem aktuellen Inhalt ansehen. Indizierte Variablen werden nicht mit ausgegeben. Das Auflisten der Variableninhalte kann mit der CTRL-Taste verlangsamt, oder mit der STOP-Taste abgebrochen werden.
!FIND
Hierbei muß unterschieden werden zwischen dem Suchen in Zeichenketten und dem Suchen von Befehlen und Variablen. Zum Beispiel: »!FIND "TEST"«; »!FIND GOTO1000« oder »! FIND A$«. Es werden jeweils die kompletten Zeilen gelistet in denen der Suchbegriff vorkommt. Dieser Vorgang kann wie bei dem DUMP -Befehl mit der CTRL-Taste verlangsamt oder mit STOP ganz abgebrochen werden.
!KILL
Löscht statt einzelne Zeilen ganze Zeilenblöcke.
Beispiel:
!KILL 100-200 — löscht die Zeilen 100 bis einschließlich 200.
!KILL -300 — löscht die Zeilen vom Programmanfang bis einschließlich 300.
!KILL 1800- — löscht die Zeilen ab 1800 bis zum Programmende.
Bei diesem Befehl muß folgendes beachtet werden:
Die erste Zeilennummer muß kleiner als die Endzeilennummer sein. Weiter ist notwendig, daß die Anfangszeilennummer im Programm existiert. Andernfalls kommt die Fehlermeldung ’SYNTAX ERROR’. Bei umfangreicheren Zeilenblöcken dauert die Ausführung dieses Befehls eine Weile. Mit der Taste ’F7’ kann das Löschen von Zeilenblöcken abgebrochen weden.
!LOAD
Dieser Befehl hängt an einem im Speicher befindlichen Programm ein weiteres an. Die Syntax ist wie bei dem LOAD-Befehl. Es ist vorteilhaft, wenn das nachzuladende Programm höhere Zeilennummern hat, aber nicht unbedingt notwendig. Sie haben ja mit dem RENUM-Befehl die Möglichkeit das Programm neu zu numerieren. Nur bei gleichen Zeilennummern kann es zu Fehlern beim Umnumerieren der Sprungbefehle kommen.
!RENUM
Hiermit numerieren sie Ihr Programm mit einer von Ihnen angegebenen Schrittweite neu durch. Sie haben bei diesem Befehl mehrere Möglichkeiten.
!RENUM — ohne weitere Parameter numeriert das komplette Programm in Zehnerschritten durch. Die erste Zeilennummer ist 10.
!RENUM X,Y — Hierbei ist X die erste neue Zeile und Y die Schrittweite.
!RENUM X,Y,Z — Damit numerieren Sie nicht das komplette Programm neu, sondern ab der Zeile die in Z angegeben ist. Z muß dabei kleiner als X sein. Als Parameter werden jeweils positive Integerzahlen erwartet. Selbstverständlich werden sämtliche Sprungbefehle (GOTO, GOSUB, THEN, ON X GOTO (GOSUB), RUN) mit umnumeriert.
!TRACE
Damit können Sie ein Programm schrittweise abarbeiten. Nachdem Sie !TRACE eingegeben und ein Programm mit RUN gestartet haben, wird in den oberen beiden Zeilen des Bildschirms die Zeile gelistet, die gerade bearbeitet wird. DamitSie sehen, welcher Befehl in dieser Zeile gerade ausgeführt wird, wird dieser revers dargestellt. Zur Steuerung der TRACE-Funktion stehen Ihnen die Tasten F1 und F7 zur Verfügung. Mit F1 wird ein schneller Trace ausgeführt. Mit F7 wird immer nur der nächste Befehl bearbeitet. Verlassen können Sie die TRACE-Funktion, wenn Sie beim schnellen Trace die STOP-Taste drücken.
!OFF
schaltet die TRACE-Funktion aus.
Sämtliche Befehle können auch innerhalb eines Programms benutzt werden. Sinnvoll ist dies aber wohl nur bei ’DUMP, ’TRACE und !OFF. Zu den zwei zusätzlichen Funktionen:
- Trifft der Computer während des Programmlaufs auf einen Fehler, so wird automatisch die fehlerhafte Zeile gelistet. Der Cursor steht direkt unter der fehlerhaften Zeile.
- Beim Listen eines Programms können Sie den Listvorgang mit der Taste F7 anhalten. Sie können sich Ihr Listing nun in Ruhe betrachten. Soll der Listvorgang fortgeführt werden, so drücken Sie die SPACE-Taste. Ein mit der Taste F7 angehaltenes Listing kann mit der Taste F1 unterbrochen werden. Die STOP-Taste steht hierfür nicht zur Verfügung. Bei der Taste F1 wird BREAK und READY (wie es bei der STOP-Taste der Fall ist) nicht mit ausgegeben. Sie haben so mehr Platz für Ihr Listing. Zu dem Programm selbst. Es steht in dem Bereich ab Speicherstelle 49152. Dieser Bereich wird vom Basic nicht benutzt. Aktiviert wird das Programm mit SYS 51100. Wollen Sie ein anderes Programm in diesem Bereich nutzen, so müssen Sie das Toolkit abschalten. Dies erreichen Sie mit einem System-Reset (SYS 64738).
Nach erfolgreichem Eintippen sollten Sie das Programm (Bild 1) mit einem Maschinensprachenmonitor speichern. Die Ladezeit verringert sich dadurch erheblich. Besitzen Sie keinen solchen Monitor, so benutzen Sie das kurze Programm in Bild 2.
(Herbert Kunz / gk)10 rem ***************************** 20 rem 30 rem tool-kit fuer c= 64 40 rem 50 rem (c) herbert kunz 60 rem fimbergstr. 28 70 rem 80 rem 3163 sehnde 1 90 rem 98 rem ***************************** 99 rem 100 rem ***** block 1 ***** 101 data32,32,32,32,32,32,32,32,32,32 102 data32,42,42,42,32,84,79,79,76,45 103 data75,73,84,32,42,42,42,13,32,32 104 data32,32,32,32,32,32,32,32,32,40 105 data67,41,32,72,46,32,75,85,78,90 106 data32,49,57,56,52,32,32,84,82,65 107 data67,69,35,68,85,77,80,35,35,79 108 data70,70,35,35,35,70,73,78,68,35 109 data35,82,69,78,85,77,35,65,85,164 110 data35,35,35,75,73,76,76,35,0,193 111 data58,194,11,193,146,195,123,197 112 data250,194,109,196,32,68,229,162 113 data255,232,189,16,192,32,210,255 114 data224,55,208,245,169,155,141,8 115 data3,169,192,141,9,3,96,32,115 116 data0,201,33,240,6,32,121,0,76,231 117 data167,169,73,133,80,169,192,133 118 data81,160,0,140,7,192,76,98,200 119 data209,80,240,17,170,152,24,105 120 data6,201,42,240,20,238,7,192,168 121 data138,76,184,192,200,177,80,201 122 data35,240,10,32,115,0,209,80,240 123 data242,76,8,175,173,7,192,10,170 124 data189,114,192,141,241,192,232 125 data189,114,192,141,242,192,32,146 126 data195,76,132,195,234,234,234,234 127 data234,234,234,234,234,234,169 128 data22,141,8,3,169,193,141,9,3,96 129 data169,155,141,8,3,169,192,141 130 data9,3,96,165,157,240,3,76,155 131 data192,165,122,141,0,192,165,123 132 data141,1 133 s=0:fori= 49168 to 49445 :readd 134 poke i,d:s=s+d:next 135 ifs<>29085thenprint"fehler in bl. 1":stop 200 rem ***** block 2 ***** 201 data192,165,211,141,2,192,165,214 202 data141,3,192,32,135,234,165,203 203 data201,3,208,20,32,135,234,165 204 data203,201,64,208,247,169,0,141 205 data232,7,32,121,193,76,95,193,201 206 data4,208,5,169,1,141,232,7,173 207 data232,7,240,213,32,121,193,173 208 data0,192,133,122,173,1,192,133 209 data123,173,2,192,133,211,173,3 210 data192,133,214,32,108,229,76,155 211 data192,169,0,133,15,165,57,133 212 data20,133,99,165,58,133,21,133 213 data98,32,19,166,169,80,141,4,192 214 data32,102,229,169,32,32,210,255 215 data206,4,192,173,4,192,208,243 216 data32,102,229,32,209,189,160,3 217 data169,32,132,73,32,210,255,164 218 data73,177,95,201,34,208,6,165,15 219 data73,255,133,15,200,132,73,177 220 data95,208,1,96,201,255,240,227 221 data36,15,48,223,165,73,56,233,1 222 data24,101,95,141,5,192,176,8,165 223 data96,141,6,192,76,235,193,165 224 data96,24,105,1,141,6,192,173,5 225 data192,205,0,192,208,13,173,6,192 226 data205,1,192,208,5,169,18,32,210 227 data255,164,73,177,95,16,38,56,233 228 data127,170,160,255,202,240,8,200 229 data185,158,160,16,250,48,245,200 230 data185,158,160,48,5,32,210,255 231 data208,245,41,127,32,210,255,169 232 data146,76,173,193,165,15,240,5 233 data177,95,76,36,194,177,95,76,173 234 data193,165,45 235 s=0:fori= 49446 to 49723 :readd 236 poke i,d:s=s+d:next 237 ifs<>35613thenprint"fehler in bl. 2":stop 300 rem ***** block 3 ***** 301 data164,46,133,20,132,21,196,48 302 data208,2,197,47,176,24,105,2,144 303 data1,200,133,34,132,35,32,128,194 304 data32,180,194,138,16,7,32,189,194 305 data76,111,194,96,152,48,6,32,205 306 data194,76,111,194,32,214,194,169 307 data13,32,145,200,165,20,164,21 308 data24,105,7,144,193,200,176,190 309 data160,0,177,20,170,41,127,32,210 310 data255,200,177,20,168,41,127,240 311 data3,32,210,255,138,16,17,152,48 312 data10,169,64,32,210,255,104,104 313 data76,111,194,169,37,208,78,152 314 data16,4,169,36,208,71,96,32,210 315 data255,169,32,32,210,255,169,61 316 data208,58,160,0,177,34,170,200 317 data177,34,168,138,32,149,179,76 318 data208,194,32,166,187,32,221,189 319 data76,30,171,32,245,194,160,2,177 320 data34,133,37,136,177,34,133,36 321 data136,177,34,133,38,240,10,177 322 data36,32,210,255,200,196,38,208 323 data246,169,34,76,210,255,32,115 324 data0,32,235,183,142,235,7,165,20 325 data166,21,141,233,7,142,234,7,120 326 data169,26,162,195,141,20,3,142 327 data21,3,88,96,173,138,2,141,10 328 data192,169,64,141,138,2,32,135 329 data234,173,141,2,201,2,240,9,169 330 data0,234,141,138,2,76,49,234,165 331 data203,201,3,240,7,201,4,240,38 332 data76,47,195,32,122,195,173,234 333 data7,174,233,7,32,205,189,169 334 s=0:fori= 49724 to 50001 :readd 335 poke i,d:s=s+d:next 336 ifs<>32656thenprint"fehler in bl. 3":stop 400 rem ***** block 4 ***** 401 data29,32,210,255,173,233,7,24,109 402 data235,7,141,233,7,144,3,238,234 403 data7,76,47,195,32,122,195,120,169 404 data49,162,234,141,20,3,142,21,3 405 data88,76,47,195,32,135,234,165 406 data203,201,64,208,247,96,169,2 407 data56,237,7,192,144,3,32,115,0 408 data76,174,167,32,115,0,240,125 409 data201,34,240,17,162,0,142,3,192 410 data157,0,207,32,115,0,240,35,232 411 data76,160,195,160,1,140,3,192,162 412 data255,177,122,201,34,240,8,200 413 data232,157,0,207,76,179,195,32 414 data115,0,201,34,208,249,76,163 415 data195,232,169,0,157,0,207,160 416 data0,177,43,141,0,192,200,177,43 417 data141,1,192,165,43,133,95,165 418 data44,133,96,76,96,196,173,3,192 419 data141,2,192,160,0,177,95,141,0 420 data192,200,177,95,141,1,192,173 421 data0,192,133,95,173,1,192,133,96 422 data32,208,248,160,0,177,95,208 423 data6,200,177,95,208,1,96,160,3 424 data162,0,200,177,95,240,203,201 425 data34,208,8,169,1,77,2,192,141 426 data2,192,173,2,192,208,232,177 427 data95,221,0,207,208,225,232,189 428 data0,207,240,3,76,25,196,160,0 429 data132,15,200,200,177,95,133,20 430 data133,99,200,177,95,133,21,133 431 data98,169,13,32,210,255,32,19,166 432 data32,164,193,76,233,195,173,3 433 data192,141,2,192,76,6,196,234 434 s=0:fori= 50002 to 50281 :readd 435 poke i,d:s=s+d:next 436 ifs<>34230thenprint"fehler in bl. 4":stop 500 rem ***** block 5 ***** 501 data76,8,175,32,115,0,240,248,201 502 data171,208,19,160,2,177,43,141 503 data0,192,200,177,43,141,1,192,32 504 data115,0,76,159,196,32,107,169 505 data166,20,142,0,192,166,21,142 506 data1,192,201,171,208,208,32,115 507 data0,240,16,32,107,169,165,20,141 508 data2,192,165,21,141,3,192,76,183 509 data196,169,254,141,2,192,141,3 510 data192,173,3,192,56,237,1,192,144 511 data170,208,11,173,2,192,56,237 512 data0,192,144,159,240,157,173,0 513 data192,133,20,173,1,192,133,21 514 data32,19,166,144,142,169,233,141 515 data2,3,169,196,141,3,3,76,10,197 516 data173,3,192,56,237,1,192,144,11 517 data208,22,173,2,192,56,237,0,192 518 data176,13,169,131,162,164,141,2 519 data3,142,3,3,76,134,227,173,0,192 520 data133,20,173,1,192,133,21,32,19 521 data166,160,0,177,95,133,247,200 522 data177,95,133,248,177,247,208,8 523 data169,255,141,1,192,76,59,197 524 data160,2,177,247,141,0,192,200 525 data177,247,141,1,192,32,135,234 526 data165,203,201,3,240,185,160,2 527 data177,95,133,99,200,177,95,133 528 data98,162,144,56,32,73,188,32,223 529 data189,32,135,180,32,166,182,170 530 data160,0,232,202,240,10,177,34 531 data153,0,2,200,201,13,208,243,169 532 data0,153,0,2,162,255,160,1,76,134 533 data164 534 s=0:fori= 50282 to 50554 :readd 535 poke i,d:s=s+d:next 536 ifs<>33081thenprint"fehler in bl. 5":stop 600 rem ***** block 6 ***** 601 data32,115,0,240,64,32,107,169,165 602 data20,166,21,133,61,134,62,32,253 603 data174,32,107,169,165,20,166,21 604 data133,63,134,64,160,0,169,44,209 605 data122,208,17,32,253,174,32,107 606 data169,165,20,166,21,133,65,134 607 data66,76,207,197,160,2,177,43,133 608 data65,200,177,43,133,66,76,220 609 data197,169,10,133,61,133,63,169 610 data0,133,62,133,64,76,178,197,165 611 data61,197,65,165,62,229,66,176 612 data3,76,113,199,32,117,199,160 613 data1,177,67,240,56,169,255,133 614 data20,133,21,32,50,199,32,142,166 615 data76,41,198,160,0,177,67,170,200 616 data177,67,240,31,72,200,165,61 617 data145,67,200,165,62,145,67,134 618 data67,104,133,68,165,61,24,101 619 data63,133,61,165,62,101,64,133 620 data62,144,215,32,96,166,76,134 621 data227,230,122,208,2,230,123,160 622 data0,177,122,208,19,160,2,177,122 623 data240,191,165,122,24,105,5,133 624 data122,144,235,230,123,176,231 625 data201,34,208,11,32,115,0,201,0 626 data240,226,201,34,208,245,201,137 627 data240,23,201,141,240,19,201,167 628 data240,15,201,138,240,11,201,203 629 data208,190,32,115,0,201,164,208 630 data191,32,115,0,176,186,132,20 631 data132,21,233,47,144,51,170,165 632 data21,133,34,201,25,176,237,165 633 data20,10,38,34,10,38 634 s=0:fori= 50555 to 50824 :readd 635 poke i,d:s=s+d:next 636 ifs<>32153thenprint"fehler in bl. 6":stop 700 rem ***** block 7 ***** 701 data34,101,20,133,20,165,34,101 702 data21,133,21,6,20,38,21,138,101 703 data20,133,20,144,2,230,21,200,177 704 data122,201,32,240,249,201,58,144 705 data201,165,20,197,65,165,21,229 706 data66,144,62,132,206,32,50,199 707 data56,162,144,32,73,188,32,221 708 data189,160,255,200,185,1,1,208 709 data250,165,122,133,95,165,123,133 710 data96,56,152,229,206,48,28,240 711 data54,133,206,165,45,133,90,24 712 data101,206,133,88,165,46,133,91 713 data105,0,133,89,32,184,163,240 714 data30,144,48,73,255,168,200,162 715 data0,165,95,197,45,165,96,229,46 716 data176,12,177,95,129,95,230,95 717 data208,238,230,96,208,234,160,0 718 data185,1,1,240,5,145,122,200,208 719 data246,32,117,199,32,115,0,144 720 data251,160,0,201,44,208,2,169,137 721 data170,76,45,198,165,61,166,62 722 data133,99,134,98,165,67,166,68 723 data133,34,134,35,160,2,177,34,197 724 data20,200,177,34,229,21,176,37 725 data160,0,177,34,170,200,177,34 726 data134,34,133,35,177,34,240,21 727 data165,99,101,63,133,99,165,98 728 data101,64,133,98,176,4,201,250 729 data144,209,76,72,178,96,32,51,165 730 data24,165,34,105,2,133,45,165,35 731 data105,0,133,46,165,65,166,66,133 732 data20,134,21,32,19,166,165,95,133 733 data67,134,68,96 734 s=0:fori= 50825 to 51094 :readd 735 poke i,d:s=s+d:next 736 ifs<>31170thenprint"fehler in bl. 7":stop 800 rem ***** block 8 ***** 801 data169,179,141,0,3,169,199,141 802 data1,3,169,37,141,6,3,169,200,141 803 data7,3,76,128,192,138,16,3,76,116 804 data164,234,138,10,170,189,38,163 805 data133,34,189,39,163,133,35,32 806 data204,255,169,0,133,19,32,215 807 data170,32,69,171,160,0,177,34,72 808 data41,127,32,71,171,200,104,16 809 data244,32,122,166,169,105,160,163 810 data32,30,171,164,58,200,240,3,32 811 data194,189,169,118,160,163,32,30 812 data171,165,157,240,8,169,128,32 813 data144,255,76,128,164,165,57,166 814 data58,133,20,133,99,134,21,134 815 data98,32,19,166,169,0,133,15,32 816 data164,193,169,13,32,210,255,76 817 data255,199,141,15,192,140,14,192 818 data165,145,141,9,192,32,135,234 819 data165,203,201,3,240,14,172,14 820 data192,173,9,192,133,145,173,15 821 data192,76,26,167,32,135,234,165 822 data203,201,4,240,10,201,60,208 823 data243,169,0,133,198,240,223,169 824 data13,32,210,255,76,128,164,32 825 data115,0,201,147,240,3,76,184,192 826 data164,46,165,45,56,233,2,176,1 827 data136,140,1,192,141,0,192,169 828 data0,133,10,32,115,0,32,212,225 829 data165,10,174,0,192,172,1,192,76 830 data117,225,32,210,255,76,208,248 831 s=0:fori= 51100 to 51350 :readd 832 poke i,d:s=s+d:next 833 ifs<>29856thenprint"fehler in bl.8":stop 840 : 845 : 850 sys51100:rem tool-kit aktivieren
10 REM ***************************** 20 REM 30 REM TOOL-KIT FUER C= 64 40 REM 50 REM (C) HERBERT KUNZ 60 REM FIMBERGSTR. 28 70 REM 80 REM 3163 SEHNDE 1 90 REM 98 REM ***************************** 99 REM 100 REM ***** BLOCK 1 ***** 101 DATA 32,32,32,32,32,32,32,32,32,32 102 DATA 32,42,42,42,32,84,79,79,76,45 103 DATA 75,73,84,32,42,42,42,13,32,32 104 DATA 32,32,32,32,32,32,32,32,32,40 105 DATA 67,41,32,72,46,32,75,85,78,90 106 DATA 32,49,57,56,52,32,32,84,82,65 107 DATA 67,69,35,68,85,77,80,35,35,79 108 DATA 70,70,35,35,35,70,73,78,68,35 109 DATA 35,82,69,78,85,77,35,65,85,164 110 DATA 35,35,35,75,73,76,76,35,0,193 111 DATA 58,194,11,193,146,195,123,197 112 DATA 250,194,109,196,32,68,229,162 113 DATA 255,232,189,16,192,32,210,255 114 DATA 224,55,208,245,169,155,141,8 115 DATA 3,169,192,141,9,3,96,32,115 116 DATA 0,201,33,240,6,32,121,0,76,231 117 DATA 167,169,73,133,80,169,192,133 118 DATA 81,160,0,140,7,192,76,98,200 119 DATA 209,80,240,17,170,152,24,105 120 DATA 6,201,42,240,20,238,7,192,168 121 DATA 138,76,184,192,200,177,80,201 122 DATA 35,240,10,32,115,0,209,80,240 123 DATA 242,76,8,175,173,7,192,10,170 124 DATA 189,114,192,141,241,192,232 125 DATA 189,114,192,141,242,192,32,146 126 DATA 195,76,132,195,234,234,234,234 127 DATA 234,234,234,234,234,234,169 128 DATA 22,141,8,3,169,193,141,9,3,96 129 DATA 169,155,141,8,3,169,192,141 130 DATA 9,3,96,165,157,240,3,76,155 131 DATA 192,165,122,141,0,192,165,123 132 DATA 141,1 133 S=0:FOR I= 49168 TO 49445 :READ D 134 POKE I,D:S=S+D:NEXT 135 IF S<>29085 THENPRINT"FEHLER IN BL. 1":STOP 200 REM ***** BLOCK 2 ***** 201 DATA 192,165,211,141,2,192,165,214 202 DATA 141,3,192,32,135,234,165,203 203 DATA 201,3,208,20,32,135,234,165 204 DATA 203,201,64,208,247,169,0,141 205 DATA 232,7,32,121,193,76,95,193,201 206 DATA 4,208,5,169,1,141,232,7,173 207 DATA 232,7,240,213,32,121,193,173 208 DATA 0,192,133,122,173,1,192,133 209 DATA 123,173,2,192,133,211,173,3 210 DATA 192,133,214,32,108,229,76,155 211 DATA 192,169,0,133,15,165,57,133 212 DATA 20,133,99,165,58,133,21,133 213 DATA 98,32,19,166,169,80,141,4,192 214 DATA 32,102,229,169,32,32,210,255 215 DATA 206,4,192,173,4,192,208,243 216 DATA 32,102,229,32,209,189,160,3 217 DATA 169,32,132,73,32,210,255,164 218 DATA 73,177,95,201,34,208,6,165,15 219 DATA 73,255,133,15,200,132,73,177 220 DATA 95,208,1,96,201,255,240,227 221 DATA 36,15,48,223,165,73,56,233,1 222 DATA 24,101,95,141,5,192,176,8,165 223 DATA 96,141,6,192,76,235,193,165 224 DATA 96,24,105,1,141,6,192,173,5 225 DATA 192,205,0,192,208,13,173,6,192 226 DATA 205,1,192,208,5,169,18,32,210 227 DATA 255,164,73,177,95,16,38,56,233 228 DATA 127,170,160,255,202,240,8,200 229 DATA 185,158,160,16,250,48,245,200 230 DATA 185,158,160,48,5,32,210,255 231 DATA 208,245,41,127,32,210,255,169 232 DATA 146,76,173,193,165,15,240,5 233 DATA 177,95,76,36,194,177,95,76,173 234 DATA 193,165,45 235 S=0:FOR I= 49446 TO 49723 :READ D 236 POKE I,D:S=S+D:NEXT 237 IF S<>35613 THENPRINT"FEHLER IN BL. 2":STOP 300 REM ***** BLOCK 3 ***** 301 DATA 164,46,133,20,132,21,196,48 302 DATA 208,2,197,47,176,24,105,2,144 303 DATA 1,200,133,34,132,35,32,128,194 304 DATA 32,180,194,138,16,7,32,189,194 305 DATA 76,111,194,96,152,48,6,32,205 306 DATA 194,76,111,194,32,214,194,169 307 DATA 13,32,145,200,165,20,164,21 308 DATA 24,105,7,144,193,200,176,190 309 DATA 160,0,177,20,170,41,127,32,210 310 DATA 255,200,177,20,168,41,127,240 311 DATA 3,32,210,255,138,16,17,152,48 312 DATA 10,169,64,32,210,255,104,104 313 DATA 76,111,194,169,37,208,78,152 314 DATA 16,4,169,36,208,71,96,32,210 315 DATA 255,169,32,32,210,255,169,61 316 DATA 208,58,160,0,177,34,170,200 317 DATA 177,34,168,138,32,149,179,76 318 DATA 208,194,32,166,187,32,221,189 319 DATA 76,30,171,32,245,194,160,2,177 320 DATA 34,133,37,136,177,34,133,36 321 DATA 136,177,34,133,38,240,10,177 322 DATA 36,32,210,255,200,196,38,208 323 DATA 246,169,34,76,210,255,32,115 324 DATA 0,32,235,183,142,235,7,165,20 325 DATA 166,21,141,233,7,142,234,7,120 326 DATA 169,26,162,195,141,20,3,142 327 DATA 21,3,88,96,173,138,2,141,10 328 DATA 192,169,64,141,138,2,32,135 329 DATA 234,173,141,2,201,2,240,9,169 330 DATA 0,234,141,138,2,76,49,234,165 331 DATA 203,201,3,240,7,201,4,240,38 332 DATA 76,47,195,32,122,195,173,234 333 DATA 7,174,233,7,32,205,189,169 334 S=0:FOR I= 49724 TO 50001 :READ D 335 POKE I,D:S=S+D:NEXT 336 IF S<>32656 THENPRINT"FEHLER IN BL. 3":STOP 400 REM ***** BLOCK 4 ***** 401 DATA 29,32,210,255,173,233,7,24,109 402 DATA 235,7,141,233,7,144,3,238,234 403 DATA 7,76,47,195,32,122,195,120,169 404 DATA 49,162,234,141,20,3,142,21,3 405 DATA 88,76,47,195,32,135,234,165 406 DATA 203,201,64,208,247,96,169,2 407 DATA 56,237,7,192,144,3,32,115,0 408 DATA 76,174,167,32,115,0,240,125 409 DATA 201,34,240,17,162,0,142,3,192 410 DATA 157,0,207,32,115,0,240,35,232 411 DATA 76,160,195,160,1,140,3,192,162 412 DATA 255,177,122,201,34,240,8,200 413 DATA 232,157,0,207,76,179,195,32 414 DATA 115,0,201,34,208,249,76,163 415 DATA 195,232,169,0,157,0,207,160 416 DATA 0,177,43,141,0,192,200,177,43 417 DATA 141,1,192,165,43,133,95,165 418 DATA 44,133,96,76,96,196,173,3,192 419 DATA 141,2,192,160,0,177,95,141,0 420 DATA 192,200,177,95,141,1,192,173 421 DATA 0,192,133,95,173,1,192,133,96 422 DATA 32,208,248,160,0,177,95,208 423 DATA 6,200,177,95,208,1,96,160,3 424 DATA 162,0,200,177,95,240,203,201 425 DATA 34,208,8,169,1,77,2,192,141 426 DATA 2,192,173,2,192,208,232,177 427 DATA 95,221,0,207,208,225,232,189 428 DATA 0,207,240,3,76,25,196,160,0 429 DATA 132,15,200,200,177,95,133,20 430 DATA 133,99,200,177,95,133,21,133 431 DATA 98,169,13,32,210,255,32,19,166 432 DATA 32,164,193,76,233,195,173,3 433 DATA 192,141,2,192,76,6,196,234 434 S=0:FOR I= 50002 TO 50281 :READ D 435 POKE I,D:S=S+D:NEXT 436 IF S<>34230 THENPRINT"FEHLER IN BL. 4":STOP 500 REM ***** BLOCK 5 ***** 501 DATA 76,8,175,32,115,0,240,248,201 502 DATA 171,208,19,160,2,177,43,141 503 DATA 0,192,200,177,43,141,1,192,32 504 DATA 115,0,76,159,196,32,107,169 505 DATA 166,20,142,0,192,166,21,142 506 DATA 1,192,201,171,208,208,32,115 507 DATA 0,240,16,32,107,169,165,20,141 508 DATA 2,192,165,21,141,3,192,76,183 509 DATA 196,169,254,141,2,192,141,3 510 DATA 192,173,3,192,56,237,1,192,144 511 DATA 170,208,11,173,2,192,56,237 512 DATA 0,192,144,159,240,157,173,0 513 DATA 192,133,20,173,1,192,133,21 514 DATA 32,19,166,144,142,169,233,141 515 DATA 2,3,169,196,141,3,3,76,10,197 516 DATA 173,3,192,56,237,1,192,144,11 517 DATA 208,22,173,2,192,56,237,0,192 518 DATA 176,13,169,131,162,164,141,2 519 DATA 3,142,3,3,76,134,227,173,0,192 520 DATA 133,20,173,1,192,133,21,32,19 521 DATA 166,160,0,177,95,133,247,200 522 DATA 177,95,133,248,177,247,208,8 523 DATA 169,255,141,1,192,76,59,197 524 DATA 160,2,177,247,141,0,192,200 525 DATA 177,247,141,1,192,32,135,234 526 DATA 165,203,201,3,240,185,160,2 527 DATA 177,95,133,99,200,177,95,133 528 DATA 98,162,144,56,32,73,188,32,223 529 DATA 189,32,135,180,32,166,182,170 530 DATA 160,0,232,202,240,10,177,34 531 DATA 153,0,2,200,201,13,208,243,169 532 DATA 0,153,0,2,162,255,160,1,76,134 533 DATA 164 534 S=0:FOR I= 50282 TO 50554 :READ D 535 POKE I,D:S=S+D:NEXT 536 IF S<>33081 THENPRINT"FEHLER IN BL. 5":STOP 600 REM ***** BLOCK 6 ***** 601 DATA 32,115,0,240,64,32,107,169,165 602 DATA 20,166,21,133,61,134,62,32,253 603 DATA 174,32,107,169,165,20,166,21 604 DATA 133,63,134,64,160,0,169,44,209 605 DATA 122,208,17,32,253,174,32,107 606 DATA 169,165,20,166,21,133,65,134 607 DATA 66,76,207,197,160,2,177,43,133 608 DATA 65,200,177,43,133,66,76,220 609 DATA 197,169,10,133,61,133,63,169 610 DATA 0,133,62,133,64,76,178,197,165 611 DATA 61,197,65,165,62,229,66,176 612 DATA 3,76,113,199,32,117,199,160 613 DATA 1,177,67,240,56,169,255,133 614 DATA 20,133,21,32,50,199,32,142,166 615 DATA 76,41,198,160,0,177,67,170,200 616 DATA 177,67,240,31,72,200,165,61 617 DATA 145,67,200,165,62,145,67,134 618 DATA 67,104,133,68,165,61,24,101 619 DATA 63,133,61,165,62,101,64,133 620 DATA 62,144,215,32,96,166,76,134 621 DATA 227,230,122,208,2,230,123,160 622 DATA 0,177,122,208,19,160,2,177,122 623 DATA 240,191,165,122,24,105,5,133 624 DATA 122,144,235,230,123,176,231 625 DATA 201,34,208,11,32,115,0,201,0 626 DATA 240,226,201,34,208,245,201,137 627 DATA 240,23,201,141,240,19,201,167 628 DATA 240,15,201,138,240,11,201,203 629 DATA 208,190,32,115,0,201,164,208 630 DATA 191,32,115,0,176,186,132,20 631 DATA 132,21,233,47,144,51,170,165 632 DATA 21,133,34,201,25,176,237,165 633 DATA 20,10,38,34,10,38 634 S=0:FOR I= 50555 TO 50824 :READ D 635 POKE I,D:S=S+D:NEXT 636 IF S<>32153 THENPRINT"FEHLER IN BL. 6":STOP 700 REM ***** BLOCK 7 ***** 701 DATA 34,101,20,133,20,165,34,101 702 DATA 21,133,21,6,20,38,21,138,101 703 DATA 20,133,20,144,2,230,21,200,177 704 DATA 122,201,32,240,249,201,58,144 705 DATA 201,165,20,197,65,165,21,229 706 DATA 66,144,62,132,206,32,50,199 707 DATA 56,162,144,32,73,188,32,221 708 DATA 189,160,255,200,185,1,1,208 709 DATA 250,165,122,133,95,165,123,133 710 DATA 96,56,152,229,206,48,28,240 711 DATA 54,133,206,165,45,133,90,24 712 DATA 101,206,133,88,165,46,133,91 713 DATA 105,0,133,89,32,184,163,240 714 DATA 30,144,48,73,255,168,200,162 715 DATA 0,165,95,197,45,165,96,229,46 716 DATA 176,12,177,95,129,95,230,95 717 DATA 208,238,230,96,208,234,160,0 718 DATA 185,1,1,240,5,145,122,200,208 719 DATA 246,32,117,199,32,115,0,144 720 DATA 251,160,0,201,44,208,2,169,137 721 DATA 170,76,45,198,165,61,166,62 722 DATA 133,99,134,98,165,67,166,68 723 DATA 133,34,134,35,160,2,177,34,197 724 DATA 20,200,177,34,229,21,176,37 725 DATA 160,0,177,34,170,200,177,34 726 DATA 134,34,133,35,177,34,240,21 727 DATA 165,99,101,63,133,99,165,98 728 DATA 101,64,133,98,176,4,201,250 729 DATA 144,209,76,72,178,96,32,51,165 730 DATA 24,165,34,105,2,133,45,165,35 731 DATA 105,0,133,46,165,65,166,66,133 732 DATA 20,134,21,32,19,166,165,95,133 733 DATA 67,134,68,96 734 S=0:FOR I= 50825 TO 51094 :READ D 735 POKE I,D:S=S+D:NEXT 736 IF S<>31170 THENPRINT"FEHLER IN BL. 7":STOP 800 REM ***** BLOCK 8 ***** 801 DATA 169,179,141,0,3,169,199,141 802 DATA 1,3,169,37,141,6,3,169,200,141 803 DATA 7,3,76,128,192,138,16,3,76,116 804 DATA 164,234,138,10,170,189,38,163 805 DATA 133,34,189,39,163,133,35,32 806 DATA 204,255,169,0,133,19,32,215 807 DATA 170,32,69,171,160,0,177,34,72 808 DATA 41,127,32,71,171,200,104,16 809 DATA 244,32,122,166,169,105,160,163 810 DATA 32,30,171,164,58,200,240,3,32 811 DATA 194,189,169,118,160,163,32,30 812 DATA 171,165,157,240,8,169,128,32 813 DATA 144,255,76,128,164,165,57,166 814 DATA 58,133,20,133,99,134,21,134 815 DATA 98,32,19,166,169,0,133,15,32 816 DATA 164,193,169,13,32,210,255,76 817 DATA 255,199,141,15,192,140,14,192 818 DATA 165,145,141,9,192,32,135,234 819 DATA 165,203,201,3,240,14,172,14 820 DATA 192,173,9,192,133,145,173,15 821 DATA 192,76,26,167,32,135,234,165 822 DATA 203,201,4,240,10,201,60,208 823 DATA 243,169,0,133,198,240,223,169 824 DATA 13,32,210,255,76,128,164,32 825 DATA 115,0,201,147,240,3,76,184,192 826 DATA 164,46,165,45,56,233,2,176,1 827 DATA 136,140,1,192,141,0,192,169 828 DATA 0,133,10,32,115,0,32,212,225 829 DATA 165,10,174,0,192,172,1,192,76 830 DATA 117,225,32,210,255,76,208,248 831 S=0:FOR I= 51100 TO 51350 :READ D 832 POKE I,D:S=S+D:NEXT 833 IF S<>29856 THENPRINT"FEHLER IN BL.8":STOP 840 : 845 : 850 SYS 51100:REM TOOL-KIT AKTIVIEREN
5 remtool-kit 10 poke183,8:rem laenge des filenamens 20 poke185,0:rem sekundaeradresse 30 poke186,0:rem geraeteadresse (8 fuer floppy) 40 poke187,peek(43)+5:poke188,peek(44):rem zeiger auf filenamen 50 poke193,16:poke194,192:rem hi- und low byte startadresse 60 poke174,151:poke175,200:rem hi- und low byte endadresse +1 70 sys62954:rem zur save - routine 80 rem laden mit load"tool-kit",1,1 (,8,1 fuer floppy) 90 rem nach dem laden new eingeben 95 rem dann mit sys 51100 tool-kit aktivieren