C 64
Befehlserweiterung

Eigene Basic-Befehle auf dem C 64

Bereits implementiert sind Befehle, wie Text und hochauflösende Grafik zu kombinieren oder Hintergrundfarbe ändern. Sie können bis zu 51 neue Befehle definieren.

Das Programm ermöglicht es, eigene Basic-Befehle zu definieren. Als Beispiel sind sechs Befehle definiert worden, die den hochauflösenden Grafikmodus betreffen. Alle Anweisungen, die benötigt werden, sind in REM-Zeilen gespeichert.

(Förtsch / rg)
|
50000 rem **************************
50010 rem *                        *
50020 rem *   befehlserweiterung   *
50040 rem *   ------------------   *
50050 rem *                        *
50060 rem *       1984 by          *
50070 rem *                        *
50080 rem *   g. foertsch          *
50090 rem *   dueppel-str. 84      *
50100 rem *   5100 aachen          *
50110 rem *                        *
50120 rem *   tel.: 0241/507569    *
50130 rem *                        *
50140 rem **************************
50150 rem
50200 rem zunaechst folgt eine erlaeu-            terung der ab zeile 60860
50210 rem als beispiele aufgefuehrten             befehlserweiterungen.
50220 rem                                         befehl (1): grafic
50230 rem der hochaufloesende grafik-             modus wird eingeschaltet. der
50240 rem grafikspeicher beginnt bei              $2000 (dez8192).
50250 rem                                         befehl (2): goff
50260 rem der grafikmodus wird ausge-             schaltet.
50270 rem                                         befehl (3): gclear
50280 rem der grafikspeicher wird ge-             loescht. (falls sie diesen
50290 rem ganzen rem-ramsch abgetippt             haben, ist dieser befehl mit
50300 rem aeusserster vorsicht zu ge-             brauchen, da das programm we-
50310 rem gen seiner laenge zerstoert             wird!!!)
50320 rem                                         befehl (4): scolor(pf,hf)
50330 rem im videoram wird die farbe ge-          setzt mit:
50340 rem  pf...punktfarbe (0-15)                  hf...hintergrundfarbe (0-15)
50350 rem                                         befehl (5): gtext
50360 rem dieser befehl gestattet es ih-          nen, text und grafik zu
50370 rem mischen. gtext schaltet diesen          modus ein. mit gtext(x1,x2)
50380 rem koennen sie zwei parameter              uebergeben, die die lage des
50390 rem grafikfensters auf dem bild-            schirm festlegen. fuer x1
50400 rem bzw. x2 duerfen nur werte               zwischen 0 und 25 gewaehlt
50410 rem werden. beispiel: gtext(3,20).          in den ersten 3 bildschirm-
50420 rem zeilen und ab zeile 20 kann             text untergebracht werden,
50430 rem dazwischen liegt das grafik-            fenster. (sollten sich der
50440 rem text und die kanten des fen-            sters ueberlappen, muessten
50450 rem sie das datum in zeile 61441            etwas variieren.)
50460 rem                                         befehl (6): textoff
50470 rem oben beschriebener modus wird           ausgeschaltet.
50480 rem
50490 rem wenn sie lust verspueren, die-          se befehle auszuprobieren,
50500 rem starten sie das programm mit            run 60800 und initialisieren
50510 rem sie die befehlserweiterung mit          sys49260. (ausgeschaltet wird
50520 rem dieselbe durch sys49274.)
50530 rem und wenn ihnen die befehlswor-          te nicht gefallen, koennen
50540 rem sie diese ab zeile 60860 ohne           bedenken aendern. (achten sie
50550 rem darauf, dass sie die routinen           durch goff bzw. textoff aus-
50560 rem schalten, insbesondere dann,            falls sie beabsichtigen, die
50570 rem daten als file zu speichern.)           *****************************
50580 rem erlaeuterungen                          --------------
50590 rem zu jedem befehl, den sie nun            definieren wollen, gehoeren
50600 rem drei dinge:                             (1) das befehlswort,
50610 rem (2) die entsprechende maschi-           nenroutine,
50620 rem (3) die adresse dieser rou-             tine.
50630 rem
50640 rem zu (1):                                 die buchstaben eines befehls-
50650 rem wortes werden als ascii-codes           gespeichert, wobei zu beach-
50660 rem ten ist, dass im letzten buch-          staben das hoechste bit ge-
50670 rem setzt sein muss. die tabelle            der befehlsworte wird mit ei-
50680 rem ner null abgeschlossen. ab              zeile 60800 finden sie eine
50690 rem basic-routine, die ihnen die-           se arbeit abnimmt. ergaenzen
50700 rem sie die tabelle der befehls-            worte ab zeile 60860 mit ih-
50710 rem ren befehlen und erhoehen sie           die variable x je nach anzahl
50720 rem der befehle.
50730 rem
50740 rem zu (2):                                 der speicherbereich von $c000
50750 rem bis einschliesslich zu der              adresse, in der sich die ab-
50760 rem schlussnull der befehlswort-            tabelle befindet, ist fuer
50770 rem sie tabu und ebenso derjenige           von $cd00 bis $ce41, falls
50780 rem sie die befehle grafic bis              textoff verwenden wollen. an-
50790 rem sonsten bestehen nur die nor-           malen einschraenkungen. sol-
50792 rem len die maschinenprogramme in           datazeilen (am besten ab zei-
50794 rem le 61700) gespeichert werden,           dann muessen sie noch einen
50796 rem entsprechenden basic-lader ab           zeile 60900 schreiben.
50800 rem
50810 rem zu (3):                                 die adressen der maschinen-
50820 rem routinen werden in lo- und              hi-byte aufgespalten und in
50830 rem tabelle der befehlsadressen             ab zeile 60000 eingetragen.
50840 rem dabei ist wichtig, dass von             der eigentlichen adresse eine
50850 rem eins abgezogen wird!!! das              eintragen der befehlsworte
50860 rem und der befehlsadressen in die          entsprechenden tabellen er-
50870 rem folgt parallel!!! die adresse           von gclear als dritter befehl
50880 rem z.b. ist in die 5. und 6.               stelle der tabelle eingetra-
50890 rem gen worden, davor befinden              sich die adressen von grafic
50900 rem und goff. rechenregel:                  (nr. des befehls)*2 - 1 gibt
50910 rem die stelle an, in die das lo-           byte eingetragen wird, in die
50920 rem darauffolgende stelle wird das          hi-byte eingetragen. (ueber-
50925 rem schreiben der sich dort befin-          denden daten!)
50930 rem
50940 rem wenn sie alle punkte genau be-          achtet haben, wird die be-
50950 rem fehlserweiterung, wie oben              schon erwaehnt wurde, mit
50960 rem sys(49260) initialisiert.               (ausschalten mit sys(49274).)
50970 rem *****************************
50980 rem diese neu definierten befehle           sind wie basicbefehle zu
50990 rem handhaben. sie koennen insge-           samt 51 befehle definieren,
51000 rem welche dann die codes 204 bis           254 haben, d.h.,dass sie die-
51010 rem se befehle auch poken koennen.          weiterhin koennen sie die be-
51020 rem fehle beliebig abkuerzen, wo-           bei allerdings zweideutigkei-
51030 rem ten vermieden werden sollten.           bsp.: scolor, code 207, moeg-
51040 rem liche abkuerzung: sc<shifto>;                 return, code 142, moeg-
51050 rem liche abkuerzung: ret<shiftu>.
60000 rem
60005 rem *** befehlsadressen
60006 rem *** $c000 - $c065
60007 rem
60010 data255,204,008,205,024,205,044,205,171,205,016,206:rem adressen der
60011 rem befehle grafic bis textoff
60020 data182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
60030 data182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
60040 data182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
60050 data182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
60060 data182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
60070 data182,163,182,163,182,163,182,163,182,163
60100 rem
60105 rem *** zeiger
60106 rem *** $c066 - $c06b
60107 rem
60110 data252,192,128,192,187,192
60200 rem
60205 rem *** initialisieren
60206 rem *** $c06c - $c079
60207 rem
60210 data120,162,005,189,102,192,157,004,003,202,016,247,088,096
60300 rem
60305 rem *** ausschalten
60306 rem *** $c07a - $c07f
60307 rem
60310 data120,032,083,228,088,096
60400 rem
60405 rem *** routine (1)
60406 rem *** $c080 - $c0ba
60407 rem
60410 data016,050,201,255,240,046,036,015,048,042,201,204,048,042,056,233,203
60420 data170,132,073,160,255,234,202,240,010,234,200,185,205,193,016,250,048
60430 data244,234,200,185,205,193,048,006,032,071,171,208,245,234,076,239,166
60440 data234,076,243,166,234,076,036,167
60500 rem
60505 rem *** routine (2)
60506 rem *** $c0bb - $c0fb
60507 rem
60510 data032,115,000,032,196,192,076,174,167,240,012,233,128,144,012,201,035
60520 data176,012,076,247,167,234,076,043,168,234,076,165,169,234,201,075,048
60530 data006,208,008,076,018,168,234,076,008,175,234,201,127,240,248,056,233
60540 data076,010,168,185,001,192,072,185,000,192,072,076,115,000
60600 rem
60605 rem *** routine (3)
60606 rem *** $c0fc - $c1d1
60607 rem
60610 data166,122,160,004,132,015,189,000,002,016,007,201,255,240,065,232,208
60620 data244,201,032,240,058,133,008,201,034,240,089,036,015,112,048,201,063
60630 data208,004,169,153,208,040,201,048,144,004,201,060,144,032,076,150,193
60640 data132,113,160,000,132,011,136,134,122,202,200,232,189,000,002,056,249
60650 data158,160,240,245,201,128,208,048,005,011,164,113,232,200,153,251,001
60660 data185,251,001,240,054,056,233,058,240,004,201,073,208,002,133,015,056
60670 data233,085,208,156,133,008,189,000,002,240,223,197,008,240,219,200,153
60680 data251,001,232,208,240,166,122,230,011,200,185,157,160,016,250,185,158
60690 data160,208,180,189,000,002,016,190,153,253,001,198,123,169,255,133,122
60700 data096,132,113,160,000,132,011,136,134,122,202,200,232,189,000,002,056
60710 data249,205,193,240,245,201,128,208,008,005,011,024,105,076,076,074,193
60720 data166,122,230,011,200,185,204,193,016,250,185,205,193,208,220,164,113
60730 data166,122,076,047,193
60800 rem
60805 rem *** befehle speichern
60806 rem
60810 gosub60860
60820 z=49613:l=0
60830 fork=1tox:l=len(a$(k)):fori=0tol-2:pokez+i,asc(mid$(a$(k),i+1,1)):next
60840 pokez+l-1,asc(right$(a$(k),1))or128:z=z+l:next:pokez,0
60850 print"{clr}":gosub60900:print"daten gespeichert!":print"{down}{down}sys(49260){home}{down}":end
60860 rem *** tabelle der befehlsworte
60861 rem
60862 x=6:dima$(x):ifx>51thenend
60863 a$(1)="grafic": rem code 204
60864 a$(2)="goff":   rem code 205
60865 a$(3)="gclear": rem code 206
60866 a$(4)="scolor": rem usw.
60867 a$(5)="gtext"
60868 a$(6)="textoff"
60890 return
60900 rem *** speicherung der daten
60901 rem
60905 z=49152
60906 fori=0to460:readx:pokez+i,x:next
60910 z=52480
60911 fori=0to321:readx:pokez+i,x:next
60990 return
61000 rem *** grafic ($cd00)
61010 data169,024,160,059,162,096,076,015,205
61100 rem *** goff ($cd09)
61110 data169,021,160,027,162,169,141,024,208,140,017,208,142,000,205,096
61200 rem *** gclear ($cd19)
61210 data169,000,162,032,133,253,134,254,168,145,253,200,208,251,230,254,202
61220 data208,246,096
61300 rem *** scolor ($cd2d)
61310 data201,040,240,006,076,008,175,076,072,178,032,155,183,224,016,176,246
61320 data138,010,010,010,010,133,251,032,241,183,224,016,176,232,138,005,251
61330 data133,251,032,247,174,174,169,205,032,240,233,165,251,160,039,145,209
61340 data136,016,251,232,236,170,205,048,238,096
61400 rem *** gtext ($cd6a)
61410 data173,025,208,141,025,208,048,007,173,013,220,088,076,049,234,173
61420 data018,208,205,168,205,176,019,169,024,160,059,141,024,208,140,017,208
61430 data173,168,205,141,018,208,076,188,254,169,021,160,027,141,024,208
61440 data140,017,208,173,167,205,141,018,208,076,188,254,000,255,000,025
61441 data050:rem rasterzeilenanfang
61445 rem einsprung ($cdac)
61450 data240,004,201,040,240,047,120,169,106,141,020,003,169,205,141,021,003
61460 data169,000,141,018,208,173,017,208,041,127,141,017,208,169,129,141,026
61470 data208,169,096,141,178,205,169,120,141,017,206,032,121,000,088,096,076
61475 data072,178,032,155,183
61480 data224,026,176,246,134,251,032,241,183,224,026,176,237,134,252,032,247
61490 data174,166,251,228,252,176,226,162,001,181,251,157,169,205,010,010,010
61500 data024,109,171,205,157,167,205,202,016,238,096
61600 rem *** textoff ($ce11)
61610 data096,169,049,160,234,141,020,003,140,021,003,169,096,141,017,206,169
61620 data000,160,025,141,169,205,140,170,205,160,255,141,167,205,140,168,205
61630 data141,026,208,169,120,141,178,205,169,024,032,002,205,088,096
 50000 REM ************************** 
 50010 REM *                        * 
 50020 REM *   BEFEHLSERWEITERUNG   * 
 50040 REM *   ------------------   * 
 50050 REM *                        * 
 50060 REM *       1984 BY          * 
 50070 REM *                        * 
 50080 REM *   G. FOERTSCH          * 
 50090 REM *   DUEPPEL-STR. 84      * 
 50100 REM *   5100 AACHEN          * 
 50110 REM *                        * 
 50120 REM *   TEL.: 0241/507569    * 
 50130 REM *                        * 
 50140 REM ************************** 
 50150 REM 
 50200 REM ZUNAECHST FOLGT EINE ERLAEU-            TERUNG DER AB ZEILE 60860 
 50210 REM ALS BEISPIELE AUFGEFUEHRTEN             BEFEHLSERWEITERUNGEN. 
 50220 REM                                         BEFEHL (1): GRAFIC 
 50230 REM DER HOCHAUFLOESENDE GRAFIK-             MODUS WIRD EINGESCHALTET. DER 
 50240 REM GRAFIKSPEICHER BEGINNT BEI              $2000 (DEZ8192). 
 50250 REM                                         BEFEHL (2): GOFF 
 50260 REM DER GRAFIKMODUS WIRD AUSGE-             SCHALTET. 
 50270 REM                                         BEFEHL (3): GCLEAR 
 50280 REM DER GRAFIKSPEICHER WIRD GE-             LOESCHT. (FALLS SIE DIESEN 
 50290 REM GANZEN REM-RAMSCH ABGETIPPT             HABEN, IST DIESER BEFEHL MIT 
 50300 REM AEUSSERSTER VORSICHT ZU GE-             BRAUCHEN, DA DAS PROGRAMM WE- 
 50310 REM GEN SEINER LAENGE ZERSTOERT             WIRD!!!) 
 50320 REM                                         BEFEHL (4): SCOLOR(PF,HF) 
 50330 REM IM VIDEORAM WIRD DIE FARBE GE-          SETZT MIT: 
 50340 REM  PF...PUNKTFARBE (0-15)                  HF...HINTERGRUNDFARBE (0-15) 
 50350 REM                                         BEFEHL (5): GTEXT 
 50360 REM DIESER BEFEHL GESTATTET ES IH-          NEN, TEXT UND GRAFIK ZU 
 50370 REM MISCHEN. GTEXT SCHALTET DIESEN          MODUS EIN. MIT GTEXT(X1,X2) 
 50380 REM KOENNEN SIE ZWEI PARAMETER              UEBERGEBEN, DIE DIE LAGE DES 
 50390 REM GRAFIKFENSTERS AUF DEM BILD-            SCHIRM FESTLEGEN. FUER X1 
 50400 REM BZW. X2 DUERFEN NUR WERTE               ZWISCHEN 0 UND 25 GEWAEHLT 
 50410 REM WERDEN. BEISPIEL: GTEXT(3,20).          IN DEN ERSTEN 3 BILDSCHIRM- 
 50420 REM ZEILEN UND AB ZEILE 20 KANN             TEXT UNTERGEBRACHT WERDEN, 
 50430 REM DAZWISCHEN LIEGT DAS GRAFIK-            FENSTER. (SOLLTEN SICH DER 
 50440 REM TEXT UND DIE KANTEN DES FEN-            STERS UEBERLAPPEN, MUESSTEN 
 50450 REM SIE DAS DATUM IN ZEILE 61441            ETWAS VARIIEREN.) 
 50460 REM                                         BEFEHL (6): TEXTOFF 
 50470 REM OBEN BESCHRIEBENER MODUS WIRD           AUSGESCHALTET. 
 50480 REM 
 50490 REM WENN SIE LUST VERSPUEREN, DIE-          SE BEFEHLE AUSZUPROBIEREN, 
 50500 REM STARTEN SIE DAS PROGRAMM MIT            RUN 60800 UND INITIALISIEREN 
 50510 REM SIE DIE BEFEHLSERWEITERUNG MIT          SYS49260. (AUSGESCHALTET WIRD 
 50520 REM DIESELBE DURCH SYS49274.) 
 50530 REM UND WENN IHNEN DIE BEFEHLSWOR-          TE NICHT GEFALLEN, KOENNEN 
 50540 REM SIE DIESE AB ZEILE 60860 OHNE           BEDENKEN AENDERN. (ACHTEN SIE 
 50550 REM DARAUF, DASS SIE DIE ROUTINEN           DURCH GOFF BZW. TEXTOFF AUS- 
 50560 REM SCHALTEN, INSBESONDERE DANN,            FALLS SIE BEABSICHTIGEN, DIE 
 50570 REM DATEN ALS FILE ZU SPEICHERN.)           ***************************** 
 50580 REM ERLAEUTERUNGEN                          -------------- 
 50590 REM ZU JEDEM BEFEHL, DEN SIE NUN            DEFINIEREN WOLLEN, GEHOEREN 
 50600 REM DREI DINGE:                             (1) DAS BEFEHLSWORT, 
 50610 REM (2) DIE ENTSPRECHENDE MASCHI-           NENROUTINE, 
 50620 REM (3) DIE ADRESSE DIESER ROU-             TINE. 
 50630 REM 
 50640 REM ZU (1):                                 DIE BUCHSTABEN EINES BEFEHLS- 
 50650 REM WORTES WERDEN ALS ASCII-CODES           GESPEICHERT, WOBEI ZU BEACH- 
 50660 REM TEN IST, DASS IM LETZTEN BUCH-          STABEN DAS HOECHSTE BIT GE- 
 50670 REM SETZT SEIN MUSS. DIE TABELLE            DER BEFEHLSWORTE WIRD MIT EI- 
 50680 REM NER NULL ABGESCHLOSSEN. AB              ZEILE 60800 FINDEN SIE EINE 
 50690 REM BASIC-ROUTINE, DIE IHNEN DIE-           SE ARBEIT ABNIMMT. ERGAENZEN 
 50700 REM SIE DIE TABELLE DER BEFEHLS-            WORTE AB ZEILE 60860 MIT IH- 
 50710 REM REN BEFEHLEN UND ERHOEHEN SIE           DIE VARIABLE X JE NACH ANZAHL 
 50720 REM DER BEFEHLE. 
 50730 REM 
 50740 REM ZU (2):                                 DER SPEICHERBEREICH VON $C000 
 50750 REM BIS EINSCHLIESSLICH ZU DER              ADRESSE, IN DER SICH DIE AB- 
 50760 REM SCHLUSSNULL DER BEFEHLSWORT-            TABELLE BEFINDET, IST FUER 
 50770 REM SIE TABU UND EBENSO DERJENIGE           VON $CD00 BIS $CE41, FALLS 
 50780 REM SIE DIE BEFEHLE GRAFIC BIS              TEXTOFF VERWENDEN WOLLEN. AN- 
 50790 REM SONSTEN BESTEHEN NUR DIE NOR-           MALEN EINSCHRAENKUNGEN. SOL- 
 50792 REM LEN DIE MASCHINENPROGRAMME IN           DATAZEILEN (AM BESTEN AB ZEI- 
 50794 REM LE 61700) GESPEICHERT WERDEN,           DANN MUESSEN SIE NOCH EINEN 
 50796 REM ENTSPRECHENDEN BASIC-LADER AB           ZEILE 60900 SCHREIBEN. 
 50800 REM 
 50810 REM ZU (3):                                 DIE ADRESSEN DER MASCHINEN- 
 50820 REM ROUTINEN WERDEN IN LO- UND              HI-BYTE AUFGESPALTEN UND IN 
 50830 REM TABELLE DER BEFEHLSADRESSEN             AB ZEILE 60000 EINGETRAGEN. 
 50840 REM DABEI IST WICHTIG, DASS VON             DER EIGENTLICHEN ADRESSE EINE 
 50850 REM EINS ABGEZOGEN WIRD!!! DAS              EINTRAGEN DER BEFEHLSWORTE 
 50860 REM UND DER BEFEHLSADRESSEN IN DIE          ENTSPRECHENDEN TABELLEN ER- 
 50870 REM FOLGT PARALLEL!!! DIE ADRESSE           VON GCLEAR ALS DRITTER BEFEHL 
 50880 REM Z.B. IST IN DIE 5. UND 6.               STELLE DER TABELLE EINGETRA- 
 50890 REM GEN WORDEN, DAVOR BEFINDEN              SICH DIE ADRESSEN VON GRAFIC 
 50900 REM UND GOFF. RECHENREGEL:                  (NR. DES BEFEHLS)*2 - 1 GIBT 
 50910 REM DIE STELLE AN, IN DIE DAS LO-           BYTE EINGETRAGEN WIRD, IN DIE 
 50920 REM DARAUFFOLGENDE STELLE WIRD DAS          HI-BYTE EINGETRAGEN. (UEBER- 
 50925 REM SCHREIBEN DER SICH DORT BEFIN-          DENDEN DATEN!) 
 50930 REM 
 50940 REM WENN SIE ALLE PUNKTE GENAU BE-          ACHTET HABEN, WIRD DIE BE- 
 50950 REM FEHLSERWEITERUNG, WIE OBEN              SCHON ERWAEHNT WURDE, MIT 
 50960 REM SYS(49260) INITIALISIERT.               (AUSSCHALTEN MIT SYS(49274).) 
 50970 REM ***************************** 
 50980 REM DIESE NEU DEFINIERTEN BEFEHLE           SIND WIE BASICBEFEHLE ZU 
 50990 REM HANDHABEN. SIE KOENNEN INSGE-           SAMT 51 BEFEHLE DEFINIEREN, 
 51000 REM WELCHE DANN DIE CODES 204 BIS           254 HABEN, D.H.,DASS SIE DIE- 
 51010 REM SE BEFEHLE AUCH POKEN KOENNEN.          WEITERHIN KOENNEN SIE DIE BE- 
 51020 REM FEHLE BELIEBIG ABKUERZEN, WO-           BEI ALLERDINGS ZWEIDEUTIGKEI- 
 51030 REM TEN VERMIEDEN WERDEN SOLLTEN.           BSP.: SCOLOR, CODE 207, MOEG- 
 51040 REM LICHE ABKUERZUNG: SC<SHIFTO>;                 RETURN, CODE 142, MOEG- 
 51050 REM LICHE ABKUERZUNG: RET<SHIFTU>. 
 60000 REM 
 60005 REM *** BEFEHLSADRESSEN 
 60006 REM *** $C000 - $C065 
 60007 REM 
 60010 DATA 255,204,008,205,024,205,044,205,171,205,016,206:REM ADRESSEN DER 
 60011 REM BEFEHLE GRAFIC BIS TEXTOFF 
 60020 DATA 182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163 
 60030 DATA 182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163 
 60040 DATA 182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163 
 60050 DATA 182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163 
 60060 DATA 182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163 
 60070 DATA 182,163,182,163,182,163,182,163,182,163 
 60100 REM 
 60105 REM *** ZEIGER 
 60106 REM *** $C066 - $C06B 
 60107 REM 
 60110 DATA 252,192,128,192,187,192 
 60200 REM 
 60205 REM *** INITIALISIEREN 
 60206 REM *** $C06C - $C079 
 60207 REM 
 60210 DATA 120,162,005,189,102,192,157,004,003,202,016,247,088,096 
 60300 REM 
 60305 REM *** AUSSCHALTEN 
 60306 REM *** $C07A - $C07F 
 60307 REM 
 60310 DATA 120,032,083,228,088,096 
 60400 REM 
 60405 REM *** ROUTINE (1) 
 60406 REM *** $C080 - $C0BA 
 60407 REM 
 60410 DATA 016,050,201,255,240,046,036,015,048,042,201,204,048,042,056,233,203 
 60420 DATA 170,132,073,160,255,234,202,240,010,234,200,185,205,193,016,250,048 
 60430 DATA 244,234,200,185,205,193,048,006,032,071,171,208,245,234,076,239,166 
 60440 DATA 234,076,243,166,234,076,036,167 
 60500 REM 
 60505 REM *** ROUTINE (2) 
 60506 REM *** $C0BB - $C0FB 
 60507 REM 
 60510 DATA 032,115,000,032,196,192,076,174,167,240,012,233,128,144,012,201,035 
 60520 DATA 176,012,076,247,167,234,076,043,168,234,076,165,169,234,201,075,048 
 60530 DATA 006,208,008,076,018,168,234,076,008,175,234,201,127,240,248,056,233 
 60540 DATA 076,010,168,185,001,192,072,185,000,192,072,076,115,000 
 60600 REM 
 60605 REM *** ROUTINE (3) 
 60606 REM *** $C0FC - $C1D1 
 60607 REM 
 60610 DATA 166,122,160,004,132,015,189,000,002,016,007,201,255,240,065,232,208 
 60620 DATA 244,201,032,240,058,133,008,201,034,240,089,036,015,112,048,201,063 
 60630 DATA 208,004,169,153,208,040,201,048,144,004,201,060,144,032,076,150,193 
 60640 DATA 132,113,160,000,132,011,136,134,122,202,200,232,189,000,002,056,249 
 60650 DATA 158,160,240,245,201,128,208,048,005,011,164,113,232,200,153,251,001 
 60660 DATA 185,251,001,240,054,056,233,058,240,004,201,073,208,002,133,015,056 
 60670 DATA 233,085,208,156,133,008,189,000,002,240,223,197,008,240,219,200,153 
 60680 DATA 251,001,232,208,240,166,122,230,011,200,185,157,160,016,250,185,158 
 60690 DATA 160,208,180,189,000,002,016,190,153,253,001,198,123,169,255,133,122 
 60700 DATA 096,132,113,160,000,132,011,136,134,122,202,200,232,189,000,002,056 
 60710 DATA 249,205,193,240,245,201,128,208,008,005,011,024,105,076,076,074,193 
 60720 DATA 166,122,230,011,200,185,204,193,016,250,185,205,193,208,220,164,113 
 60730 DATA 166,122,076,047,193 
 60800 REM 
 60805 REM *** BEFEHLE SPEICHERN 
 60806 REM 
 60810 GOSUB 60860 
 60820 Z=49613:L=0 
 60830 FOR K=1 TOX:L=LEN (A$(K)):FOR I=0 TOL-2:POKE Z+I,ASC (MID$ (A$(K),I+1,1)):NEXT 
 60840 POKE Z+L-1,ASC (RIGHT$ (A$(K),1))OR 128:Z=Z+L:NEXT :POKE Z,0 
 60850 PRINT"{CLR}":GOSUB 60900:PRINT"DATEN GESPEICHERT!":PRINT"{DOWN,DOWN}SYS(49260){HOME,DOWN}":END 
 60860 REM *** TABELLE DER BEFEHLSWORTE 
 60861 REM 
 60862 X=6:DIM A$(X):IF X>51 THENEND 
 60863 A$(1)="GRAFIC": REM CODE 204 
 60864 A$(2)="GOFF":   REM CODE 205 
 60865 A$(3)="GCLEAR": REM CODE 206 
 60866 A$(4)="SCOLOR": REM USW. 
 60867 A$(5)="GTEXT" 
 60868 A$(6)="TEXTOFF" 
 60890 RETURN 
 60900 REM *** SPEICHERUNG DER DATEN 
 60901 REM 
 60905 Z=49152 
 60906 FOR I=0 TO460:READ X:POKE Z+I,X:NEXT 
 60910 Z=52480 
 60911 FOR I=0 TO321:READ X:POKE Z+I,X:NEXT 
 60990 RETURN 
 61000 REM *** GRAFIC ($CD00) 
 61010 DATA 169,024,160,059,162,096,076,015,205 
 61100 REM *** GOFF ($CD09) 
 61110 DATA 169,021,160,027,162,169,141,024,208,140,017,208,142,000,205,096 
 61200 REM *** GCLEAR ($CD19) 
 61210 DATA 169,000,162,032,133,253,134,254,168,145,253,200,208,251,230,254,202 
 61220 DATA 208,246,096 
 61300 REM *** SCOLOR ($CD2D) 
 61310 DATA 201,040,240,006,076,008,175,076,072,178,032,155,183,224,016,176,246 
 61320 DATA 138,010,010,010,010,133,251,032,241,183,224,016,176,232,138,005,251 
 61330 DATA 133,251,032,247,174,174,169,205,032,240,233,165,251,160,039,145,209 
 61340 DATA 136,016,251,232,236,170,205,048,238,096 
 61400 REM *** GTEXT ($CD6A) 
 61410 DATA 173,025,208,141,025,208,048,007,173,013,220,088,076,049,234,173 
 61420 DATA 018,208,205,168,205,176,019,169,024,160,059,141,024,208,140,017,208 
 61430 DATA 173,168,205,141,018,208,076,188,254,169,021,160,027,141,024,208 
 61440 DATA 140,017,208,173,167,205,141,018,208,076,188,254,000,255,000,025 
 61441 DATA 050:REM RASTERZEILENANFANG 
 61445 REM EINSPRUNG ($CDAC) 
 61450 DATA 240,004,201,040,240,047,120,169,106,141,020,003,169,205,141,021,003 
 61460 DATA 169,000,141,018,208,173,017,208,041,127,141,017,208,169,129,141,026 
 61470 DATA 208,169,096,141,178,205,169,120,141,017,206,032,121,000,088,096,076 
 61475 DATA 072,178,032,155,183 
 61480 DATA 224,026,176,246,134,251,032,241,183,224,026,176,237,134,252,032,247 
 61490 DATA 174,166,251,228,252,176,226,162,001,181,251,157,169,205,010,010,010 
 61500 DATA 024,109,171,205,157,167,205,202,016,238,096 
 61600 REM *** TEXTOFF ($CE11) 
 61610 DATA 096,169,049,160,234,141,020,003,140,021,003,169,096,141,017,206,169 
 61620 DATA 000,160,025,141,169,205,140,170,205,160,255,141,167,205,140,168,205 
 61630 DATA 141,026,208,169,120,141,178,205,169,024,032,002,205,088,096 
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →