C 64
Hardcopy

»Rauben« von schönen Bildern: Koalacopy

Mit »Koalacopy« ist es möglich, schöne Bilder aus Programmen herauszuholen. Diese können dann direkt mit Koalapainter weiterverarbeitet werden.

Schwarzweiß-Computergrafik: Spiralmuster mit einem dunklen Fleck in der Mitte

Mittlerweile gibt es schon einige Programme wie »Print-Set«, die in der Lage sind, ein Koala-Bild auf einem Drucker farbig oder zumindest in Grautönen auszudrucken. Der Vorrat an Koala-Bildern, der zumeist vorhanden ist und die selbstgeschaffenen Kunstwerke erschöpfen sich jedoch meist sehr schnell. In diese Bresche kann »Koalacopy« (Listings 1 bis 3) schlagen. Man kann mit diesem Programm fast jedes HiRes-Bild, das einem der Computer zeigt, ins Koala-Format umwandeln und als Koala-File speichern. Ein so gespeichertes Bild kann vom Koalapainter geladen und verändert werden wie ein normales Koala-Bild. Außerdem kann man es mühelos mit einem der oben beschriebenen Koala-kompatiblen Hardcopy-Programme ausdrucken. Die abgedruckten Bilder (siehe auch Bild 1) sind nur kleine Beispiele, da sich in fast jedem Spiel Bilder befinden, die ins Koala-Format umgewandelt werden können.

Druckerausgabe: ein Drache mit ausgebreiteten Flügeln
Bild 1. Beispiel eines »geklauten« Bildes

»Koala-Show« (Listings 4 und 5) ist ein Programm, mit dem man Koala-Bilder auf verschiedene Weise anzeigen kann. Dieses Programm enthält einen Basic-Teil und ein Maschinenprogramm. Das Maschinenprogramm liegt dabei ab $5000 und muß mit dem MSE eingetippt werden.

Anmerkung: Wenn man ein mit »Koalacopy« erstelltes Bild mit Koalapainter nachträglich noch verändern will, wird man merken, daß im Magnify-Modus die Hintergrundfarbe durch zumeist hellgraue Streifen unbekannter Herkunft gestört wird, die im Normalmodus nicht zu erkennen sind. Es ist nun nicht bekannt, ob dies eine Fehlfunktion von »Koalacopy« oder vom Koalapainter ist. Die Streifen werden jedoch verschwinden, wenn man im Normalmodus die Hintergrundfarbe mit »XCOLOR« behandelt.

Im übrigen sollte man aufpassen, wenn man zum Beispiel das Titelbild eines Programms als Koala-Bild findet. Will man dieses mit »Koalacopy« oder Koalapainter bearbeiten und dann an Stelle des Originals speichern, muß man folgendes beachten: Manche Bilder liegen zwar als Koala-Bilder vor, jedoch mit einer anderen Startadresse (zum Beispiel $A000 statt $6000).

Beim Überspielen des Bildes wird jedoch die normale Startadresse eines Koala-Bildes ($6000) übernommen und das kann zu nicht geringen Problemen führen.

Man müßte also die Startadresse des Originals mit »ORIGIN« abfragen und der Kopie mit einem Disk-Monitor diese Adresse geben.

LOAD: Mit dieser Funktion ist es möglich, eine Bitmap nach $2000, also in den Grafikspeicher, zu laden.

HIRES: Durch diesen Befehl werden einem Bild die vier verschiedenen Farben Multicolor 0, 1 und 2 und Hintergrund zugeordnet. Man kann hier nicht mehr als diese vier Farben benutzen.

F1/F2 Farbe 0 verändern,

F3/F4 Farbe 1 verändern,

F5/F6 Farbe 2 verändern,

F7/F8 Hintergrund verändern.

COLORS: Zu einer im Speicher befindlichen Bitmap kann man mit dieser Funktion die zwei verschiedenen Farbtafeln (Video-RAM 1 und Color-RAM 2) nachladen.

FINECOLOR: Wie bei »HIRES« ordnet man der Bitmap Farben zu. Im Gegensatz dazu wählt man hier jedoch erst ein Viereck beliebiger Größe aus und ordnet diesem die vier Farben zu, wobei die Hintergrundfarbe natürlich für das gesamte Bild gewählt wird. Man hat mit dieser Funktion also über alle 16 Farben Kontrolle.

Cursortasten: Oberen linken Rand wählen

»SPACE«: Weiter

Cursortasten: Unteren rechten Rand wählen

»SPACE«: Weiter

Funktionstasten: Farben wählen

»SPACE«: Neu wählen

Während des Anwählens eines Vierecks kann man die Funktion mit »RETURN« (Bildübernahme) oder »SHIFT/RETURN« (keine Bildübernahme) verlassen.

ERASE: Löschen des aktuellen Koala-Bildes.

MEMORY: Durchsuchen des Computerspeichers nach verwertbaren Bitmaps in Schritten von 8 KByte.

SAVE: Speichern des aktuellen Koala-Bildes im Koala-Format. Ein so gespeichertes Programm kann von jeder Version von Koalapainter geladen werden. Zur Kennzeichnung des Files gibt man zuerst einen Buchstaben (zweckmäßigerweise von A bis P) und danach den bis zu 8 Buchstaben langen Bildnamen ein, zum Beispiel:

ENTER LETTER ? D

ENTER NAME ? BILD

Der Filename lautet also: PIC D BILD.

Ein eventuell auf der Diskette befindliches Bild mit demselben Buchstaben als Kennzeichnung wird automatisch überschrieben.

X-LOAD: Diese Funktion ist dazu bestimmt, sogenannte Fremdformate hauptsächlich von anderen Grafikprogrammen zu laden. Man kann auch Koala-Bilder selbst laden, verändern und neu speichern. Mit der Funktion »ORIGIN« kann man die Anfangsadresse eines Programms bestimmen. Wenn man sich beim Laden eines Koala-Bildes das umständliche Eingeben von »?PIC A« etc. sparen will, kann man vor den eigentlichen Namen des Bildes einen »SHIFT/STERN« setzen und das Programm fügt den Rest automatisch hinzu.

Wenn man ein HiRes-Bild unbekannter Adresse im Speicher hat, kann man mit dieser Funktion ein wenig experimentieren, bis man das Bild in das Koala-Format umwandeln kann. Es ist dabei möglich, die Adressen für Bitmap und Farbtafeln sowie Hintergrundfarbe frei einzugeben und das so beschriebene Bild durch Betätigen von »G« auf den Bildschirm zu bringen.

DIRECTORY: Diese Funktion listet den Inhalt einer Diskette.

Will man eine der oben genannten Funktionen verlassen, so gilt jeweils das Betätigen von »RETURN« für die Übernahme des gezeigten Bildes in das Koala-Format. Will man das vermeiden, weil einem die Veränderung nicht zusagt, drückt man einfach »SHIFT/RETURN« und das Bild wird nicht übernommen.

Ein paar Tips

  1. Reine Bitmap (siehe Kasten): Eine reine Bitmap besitzt nicht mehr als vier Farben, also höchstens drei Bild- und die Hintergrundfarbe, wenn sie ein Multicolor-Bild darstellt. Solche Bitmaps stehen meist mit 32 oder 33 Blöcken auf einer Diskette und können mit »LOAD« geladen werden. Es ist hier möglich, mit »HIRES« die Farben zuzuordnen.
  2. Bitmap plus Farbe: Besitzt eine Bitmap mehr als vier Farben, so stehen die Farbtafeln meist mit 4 Blöcken hinter oder zumindest in der Nähe der eigentlichen Bitmap, also zum Beispiel
32 "BITMAP          " PRG
 4 "FARBE1          " PRG
 4 "FARBE2          " PRG

Man kann nun die Bitmap mit »LOAD« und die Farben mit »COLORS« laden. Bei einigen umfangreicheren Programmen (zum Beispiel Spiele) sind die Bitmaps mit einem Compactor verkürzt, so daß »Koalacopy« mit ihnen nichts anfangen kann. Man muß dann das Spiel starten, warten bis das gewünschte Bild auf dem Schirm erscheint, mit Reset »ausbrechen« (haben Sie einen Reset-Taster?), »Koalacopy« laden, die Bitmap mit »MEMORY« suchen und dann die Farben mit »COLORS« nachladen.

  1. Actionscreens und Titelbilder: Man bricht das Programm mit Reset ab, sobald das Bild erscheint und sucht die Bitmap mit »MEMORY«. Da der Arbeitsspeicher von »MEMORY« die Bitmap $2000 ist, muß diese, da sie sonst zerstört wird, als erstes untersucht werden. Findet man nun die Bitmap, dann übernimmt man sie durch Drücken von »RETURN« in das Koala-Format und kann dann mit »HIRES« oder »FINECOLOR« die entsprechenden Farben zuordnen. Wenn man die Bitmap bei $6000 entdeckt, also im Koala-Speicher, sollte man erst mit »SHIFT/RETURN« ohne Übernahme aus »MEMORY« herausgehen und »HIRES« anwählen, wobei ein eventuell im Koala-Format vorliegendes Bild komplett auf den Bildschirm gebracht wird.

Eine andere Version ist die Funktion »GRAB«. Wenn man mit »MEMORY« die Adresse eines Bildes gefunden hat, kann man mit »GRAB« die Umgebung dieses Bildes nach Farbtafeln absuchen, da diese oft genau hinter der Bitmap liegen. Dazu ein Beispiel:

Bitmap 16384
Color1 24384 (+8000)
Color2 25384 (+1000)
Bitmap 24576
Color1 25600 (+8192 = $2000)
Color2 26624 (+1024 = $0400)

Natürlich können die Farbtafeln auch vor der Bitmap liegen:

Bitmap 24576
Color1 23552 (–1024 = $0400)
Color2 22528 (–1024 = $0400)
Bitmap 16384
Color1 15384 (–1000)
Color2 14384 (–1000)

Selbstverständlich gibt es noch unendlich mehr Möglichkeiten, aber es ist erstaunlich, wieviele Programme sich doch an diese Regeln halten. Das liegt wohl in erster Linie daran, daß auch professionelle Programmierer ihre Programme gern übersichtlich ablegen.

  1. Bilder im Directory: Bei vielen mehrteiligen Programmen befinden sich Titelbilder oder Ähnliches in den Formaten verschiedener Grafikprogramme im Directory:
40 "TITLE           " PRG

Verdacht auf Koala-Format!

41 "SCREEN1         " PRG

Verdacht auf Blazing Paddles!

37 "PICTURE         " PRG

Verdacht auf Paint Magic!

Man kann diese dann mit »X-LOAD« laden. Dabei ist zu beachten, daß man bei einigen Bildern sicher ein wenig experimentieren muß, bevor man die endgültige Version fertig im Speicher hat.

SYS49154: Übergabe des Bildes ans Koala-Format.
SYS49318: Anschalten des HiRes-Bildes.
HIRES: 8192 ($2000)
COLOR1: 1024 ($0400)
COLOR2: 55296 ($D800)
SYS49334: Farbtafel $0400 setzen. Dies betrifft die Farben 0 und 1. Vorher müssen diese Farben in die Speicherstelle 2 gePOKEt werden:
POKE2,C0+C1*16
SYS49353: Farbtafel $D800 setzen. Dies betrifft die Farbe 2. Vorher wird wiederum der Farbwert gesetzt:
POKE2,C2
SYS49395: HiRes-Bild ausschalten.
SYS49411: Laden an eine bestimmte Adresse. Das höherwertige Byte der Startadresse liegt dabei in 49432, der Filename ab 49437 und die Länge des Filenamens bei 49419.
SYS49456: Speichern des Koala-Bildes. Der Filename liegt ab 49488 und die Länge des Filenamens bei 49462 im Speicher.
SYS49520: Blinken der Sprites 0 und 1. Dieser SYS-Befehl ruft eine IRQ-Routine auf, die die beiden Sprites in allen Farben blinken läßt. Das ist wichtig, weil nur so die beiden Sprite-Cursor bei »FINECOL« auf allen Farben sichtbar sind.
SYS49568: Farbtafeln nachladen. Vorher muß das zu lesende File mit OPEN geöffnet werden. Das höherwertige Byte der Adresse der Farbtafel steht bei 49584 im Speicher. (4 für $0400 oder 216 für $D800)
SYS49611,
Farbtafel:
Farbtafel kopieren. Bei 49638 steht das höherwertige Byte der Farbtafel, auf die die Farbtafel, die durch den SYS-Befehl übergeben wurde, kopiert werden soll. (4 für $0400 oder 216 für $D800)
SYS49664: Directory anzeigen.
SYS49769: Bitmap löschen. Die Bitmap 8192=$2000 wird nach Aufruf dieser Routine gelöscht.
SYS49792,
Bitmap:
Bitmap holen. Die Bitmap, deren Anfangsadresse durch den SYS-Befehl übergeben wurde, wird nach $2000 kopiert.
SYS49920: Koala-Bild holen. Nach Aufruf dieser Routine wird ein im Speicher vorhandenes Koala-Bild in den Grafikspeicher geholt. Außerdem wird das so erzeugte HiRes-Bild eingeschaltet.
SYS50084,
Farbtafel,X1,
Y1,X2,Y2,
Color:
Mit dieser Routine kann man in einer Farbtafel ein Rechteck, das durch X1, Y1, X2 und Y2 beschrieben wird, mit durch »Color« bestimmte Farben versehen.
Farbtafel: 1024 oder 55296.
X1, Y1: obere linke Ecke
X2, Y2: untere rechte Ecke des Rechtecks
Color: bei 1024, C0+C1*16; bei 55296, C2

Die Routinen wurden hier nicht in logischer, sondern in arithmetischer Reihenfolge beschrieben, also in der Reihenfolge, in der sie programmiert wurden. Und das ist leider nicht immer die logische Reihenfolge.

Die »Koala-Show«

Die Bedienung von »Koala-Show« (Listing 4 und 5) ist ziemlich einfach; Listing 4 zeigt dabei ein Steuerungsprogramm für das Maschinenprogramm »SHOW.OBJ $5000«, das als Beispiel dienen soll.

POKE 1000, STEP

POKE 1001, SPEED

POKE 1002, MODE

SYS INIT

Das Programm setzt zuerst die Parameter für ein Multicolor-HiRes-Bild bei $2000 und überträgt dann die Farben des bei $6000 liegenden Koala-Bildes. Man sieht von den Farben jedoch noch nichts, weil die Bytes der Bitmap mit Nullen gefüllt wurden. Dann wird das Byte in der linken oberen Ecke vom Koala-Bild auf die aktuelle Bitmap übertragen.

Anschließend wird zu der Adresse dieses Bytes der in der Speicherstelle 1000 befindliche Wert »STEP« addiert, eine Verzögerungsroutine, die sich nach der Speicheradresse 1001 richtet (Bereich: 1-255, wobei 1 am schnellsten ist), aktiviert und das nächste Byte gesetzt. Befindet sich die neue Adresse nicht mehr auf der Bitmap, wird so subtrahiert, daß ein neuer Durchlauf gestartet werden kann.

Die Anzahl der Durchläufe richtet sich auch nach »STEP«. Man sieht das ganz gut, wenn man für »STEP« den Wert 2 oder 8 eingibt und SPEED hoch (> = 100) anlegt. Wenn man für »MODE« die Zahl 1 einsetzt, wird die Verzögerungsroutine aus- und bei 0 wieder eingeschaltet. Man kann nun für »STEP« und »SPEED« verschiedene Werte ausprobieren, bis man die Einstellung, die einem am besten gefällt, gefunden hat, oder mittels Zufallsgenerator stets neu wählen lassen. Die Effekte sind teilweise erstaunlich.

Soweit zur Beschreibung von »Koalacopy«. Nun viel Spaß beim »Klauen« von Bildern. Die eine oder andere Hardcopy ist es sicherlich wert, einen Ehrenplatz an einer Zimmerwand zu erhalten.

(T. Höhne/ks)
|
0 hi=24576:d1=32576:d2=33576:d0=0:poke650,128:poke649,1:poke56,32
5 f1$=chr$(133):f3$=chr$(134):f5$=chr$(135):f7$=chr$(136)
7 f2$=chr$(137):f4$=chr$(138):f6$=chr$(139):f8$=chr$(140)
8 poke53280,0:poke53281,6:gosub5000:restore
10 geta$:ifa$="h"then100
20 ifa$="h"then100
30 ifa$="l"then1000
40 ifa$="s"then2000
50 ifa$="d"then1500
60 ifa$="e"then3000
65 ifa$="g"then9000
70 ifa$="m"then3500
75 ifa$="x"then7000
80 ifa$="c"then4000
85 ifa$="f"then6000
90 goto10
100 sys49920
150 c=peek(1024):c1=cand15:c2=int(c/16)
160 c3=peek(55296)and15:c4=peek(53281)and15
200 geta$:ifa$=f1$then300
210 ifa$=f1$then300
215 ifa$=f2$then340
220 ifa$=f3$then350
225 ifa$=f4$then390
230 ifa$=f5$then400
235 ifa$=f6$then440
240 ifa$=f7$then450
245 ifa$=f8$then490
249 ifa$=chr$(13)then500
250 ifa$=chr$(141)then510
290 goto200
300 c1=c1+1:ifc1>15thenc1=0
310 poke2,c1+c2*16
320 sys49334
330 goto200
340 c1=c1-1:ifc1<0thenc1=15
342 goto310
350 c2=c2+1:ifc2>15thenc2=0
360 goto310
390 c2=c2-1:ifc2<0thenc2=15
392 goto310
400 c3=c3+1:ifc3>15thenc3=0
410 poke2,c3
420 sys49353
430 goto200
440 c3=c3-1:ifc3<0thenc3=15
442 goto410
450 c4=c4+1:ifc4>15thenc4=0
460 poke53281,c4
470 goto200
490 c4=c4-1:ifc4<0thenc4=15
492 poke53281,c4
494 goto200
500 sys49154
510 sys49395
520 goto8
1000 na$=""
1005 input"{rvof}{clr}{lblu}{down}{down}  enter name";na$
1007 ifna$=""then8
1010 k=len(left$(na$,16))
1020 poke49419,k
1025 poke49432,32
1030 fori=1tok
1040 poke49436+i,asc(mid$(na$,i,1))
1050 next
1055 sys49920
1060 sys49411
1062 goto4500
1500 print"{clr}{rvof}{lblu}":sys49664
1505 geta$:ifa$=""then1505
1590 goto8
2000 input"{rvof}{clr}{lblu}{down}{down}  enter letter";le$
2010 le$=(left$(le$,1))
2015 na$=""
2020 input"{down}  enter name";na$
2025 ifna$=""then8
2030 na$=left$(na$+"       ",8)
2040 fi$="{orng}pic "+le$+" "+na$
2050 k=len(fi$)
2060 poke49462,k
2070 fori=1tok
2080 poke49487+i,asc(mid$(fi$,i,1))
2090 nexti
2092 fori=0to5
2094 reada
2096 poke34577+i,a
2098 nexti
2099 data48,,,253,67,66
2100 open1,8,15,"s:{orng}pic "+le$+"*":close1
2105 sys49456
2110 goto8
3000 sys49920
3010 sys49769
3020 goto4500
3500 print"{rvof}{clr}{lblu}{down}  $2000 bit-map"
3510 pa=2
3520 geta$
3530 ifa$=chr$(13)then3750
3540 ifa$="{down}"thenpa=pa+2:ifpa>14thenpa=2
3550 ifa$="{up}"thenpa=pa-2:ifpa<2thenpa=14
3560 on(pa/2)gosub3600,3605,3610,3615,3620,3625,3630
3570 goto3520
3600 print"{home}{down}{rght}{rght}{rght}2":return
3605 print"{home}{down}{rght}{rght}{rght}4":return
3610 print"{home}{down}{rght}{rght}{rght}6":return
3615 print"{home}{down}{rght}{rght}{rght}8":return
3620 print"{home}{down}{rght}{rght}{rght}a":return
3625 print"{home}{down}{rght}{rght}{rght}c":return
3630 print"{home}{down}{rght}{rght}{rght}e":return
3750 sys49318:poke2,33:sys49334:poke2,6:sys49353:poke53281,0
3755 fori=0to999:next
3760 sys49792,pa*4096
3780 goto4500
3999 end
4000 print"{lblu}{clr}{down}{down}{down}  color ({rvon}1{rvof}) or ({rvon}2{rvof})?"
4010 geta$:ifa$<"1"ora$>"2"then4010
4015 ifa$="1"thenpoke49584,4
4017 ifa$="2"thenpoke49584,216
4020 print"{down}  color "a$:na$=""
4030 input"{down}  enter name ";na$
4032 ifna$=""then8
4035 na$=left$(na$,16)
4037 sys49920
4040 open1,8,2,na$
4050 sys49568
4100 close1
4102 goto4500
4500 poke198,0
4505 geta$
4510 ifa$=chr$(13)thensys49154:sys49395:goto8
4520 ifa$=chr$(141)thensys49395:goto8
4530 goto4505
5000 sys50432:poke896,255:poke725,255:sys49520:return
6000 sys49920
6010 x1=0 :y1=0
6020 x2=39:y2=24
6025 cu=1
6030 vc=53248
6040 pokevc+21,3
6050 poke2040,14:poke2041,11
6075 o1=x1*8+24:p1=y1*8+50
6080 o2=x2*8+24:p2=y2*8+50
6100 pokevc,o1and255:pokevc+1,p1
6105 ifo1<=255thenpokevc+16,peek(vc+16)and254
6107 ifo1>255thenpokevc+16,peek(vc+16)or1
6110 pokevc+2,o2and255:pokevc+3,p2
6115 ifo2<=255thenpokevc+16,peek(vc+16)and253
6117 ifo2>255thenpokevc+16,peek(vc+16)or2
6150 ifcu=2then6350
6250 geta$
6260 ifa$="{up}"andy1>0theny1=y1-1:goto6075
6270 ifa$="{down}"andy1<y2theny1=y1+1:goto6075
6280 ifa$="{left}"andx1>0thenx1=x1-1:goto6075
6290 ifa$="{rght}"andx1<x2thenx1=x1+1:goto6075
6295 ifa$=" "then6345
6297 ifa$=chr$(13)then6800
6299 ifa$=chr$(141)then6810
6300 goto6250
6345 cu=2
6350 geta$
6360 ifa$="{up}"andy2>y1theny2=y2-1:goto6075
6370 ifa$="{down}"andy2<24theny2=y2+1:goto6075
6380 ifa$="{left}"andx2>x1thenx2=x2-1:goto6075
6390 ifa$="{rght}"andx2<39thenx2=x2+1:goto6075
6395 ifa$=" "then6500
6397 ifa$=chr$(13)then6800
6399 ifa$=chr$(141)then6810
6400 goto6350
6500 c=peek(1024+x1+y1*40)
6510 c1=cand15:c2=(cand240)/16
6520 c3=peek(55296+x1+y1*40)and15
6530 c4=peek(53281)and15
6540 sys50084, 1024,x1,y1,x2,y2,c1+c2*16
6550 sys50084,55296,x1,y1,x2,y2,c3
6560 poke53281,c4
6600 geta$
6610 ifa$=f1$then6700
6615 ifa$=f2$then6710
6620 ifa$=f3$then6720
6625 ifa$=f4$then6730
6630 ifa$=f5$then6740
6635 ifa$=f6$then6750
6640 ifa$=f7$then6760
6645 ifa$=f8$then6770
6650 ifa$=" "then6010
6660 goto6600
6700 c1=c1+1:ifc1>15thenc1=0
6705 goto6540
6710 c1=c1-1:ifc1<0thenc1=15
6715 goto6540
6720 c2=c2+1:ifc2>15thenc2=0
6725 goto6540
6730 c2=c2-1:ifc2<0thenc2=15
6735 goto6540
6740 c3=c3+1:ifc3>15thenc3=0
6745 goto6540
6750 c3=c3-1:ifc3<0thenc3=15
6755 goto6540
6760 c4=c4+1:ifc4>15thenc4=0
6765 goto6540
6770 c4=c4-1:ifc4<0thenc4=15
6775 goto6540
6800 sys49154
6810 sys49395:pokevc+21,0:goto8
7000 print"{clr}{lblu}{down}{down}"
7015 print" load:
7020 print"<1> to $6000
7030 print"<2> to origin
7040 print"<3> koala
7050 print"<4> blazing paddles
7060 print"<5> paint magic
7100 print"{down}{down} show:"
7110 print"<0> origin
7120 print"<x> menue
7200 geta$:ifa$="0"then8000
7220 ifa$="x"then8
7222 ifa$="4"then8300
7223 ifa$="5"then8400
7225 ifa$="1"then8200
7227 ifa$="3"then8200
7230 ifa$="2"then8100
7999 goto7200
8000 print"{clr}{down}Qshow originQ
8005 na$=""
8010 input"{down}  enter name";na$
8020 ifna$=""then7000
8030 open1,8,2,na$
8040 get#1,a$,b$
8045 ifst<>0thenprint"{down}  U{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}I{down}{left}{left}{left}{left}{left}{left}{left}{SHIFT--}huh?!{SHIFT--}{down}{left}{left}{left}{left}{left}{left}{left}J{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}K":goto8090
8050 ifa$=""thena$=chr$(0)
8060 ifb$=""thenb$=chr$(0)
8070 ad=asc(a$)+256*asc(b$)
8080 print"{down}  origin:"ad
8090 close1
8092 poke198,0:wait198,1
8095 goto7000
8100 print"{clr}{down}Qload to originQ
8105 na$=""
8110 input"{down}  enter name";na$
8120 ifna$=""then7000
8130 sys57812na$,8,1:poke780,0:sys65493
8140 print"{down}  U{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}I{down}{left}{left}{left}{left}{left}{left}{left}{SHIFT--}ready{SHIFT--}{down}{left}{left}{left}{left}{left}{left}{left}J{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}K":goto8092
8200 print"{clr}{down}Qload to $6000Q
8205 na$=""
8210 input"{down}  enter name";na$
8215 ifna$=""then8
8217 ifleft$(na$,1)="{SHIFT-*}"thenna$="{orng}pic ? "+mid$(na$,2,8)+"*"
8220 k=len(left$(na$,16))
8230 poke49419,k
8240 poke49432,96
8250 fori=1tok
8260 poke49436+i,asc(mid$(na$,i,1))
8270 next
8280 sys49411
8282 ifa$="1"then8
8285 sys49920
8290 goto4500
8300 print"{clr}{down}Qload blazing paddlesQ
8305 na$=""
8310 input"{down}  enter name";na$
8315 ifna$=""then8
8320 k=len(left$(na$,16))
8330 poke49419,k
8340 poke49432,64
8350 fori=1tok
8360 poke49436+i,asc(mid$(na$,i,1))
8370 next
8380 sys49411
8390 hi=16384:c1=24576:c2=25600
8395 goto9200
8400 print"{clr}{down}Qload paint magicQ
8405 na$=""
8410 input"{down}  enter name";na$
8415 ifna$=""then8
8420 sys57812na$,8,1:poke780,0:sys65493
8500 sys49318
8510 sys49792,16384
8520 poke49638,4
8530 sys49616,24576
8540 poke2,peek(24387)
8550 sys49353
8560 poke53281,peek(24388)
8590 goto4500
9000 print"{clr}{down}{lblu}Qgrab pictureQ
9010 print"{down} grab:{down}"
9020 print"<0>hires  :"hi
9030 print"<1>color 1:"d1
9040 print"<2>color 2:"d2
9045 print"<3>back   :"d0
9060 print"{down} do  :{down}"
9070 print"<g>perform grab
9080 print"<x>see menue
9100 geta$:ifa$=""then9100
9110 ifa$="x"then8
9120 ifa$="g"then9200
9130 ifa$="0"then9300
9140 ifa$="1"then9400
9145 ifa$="2"then9500
9150 ifa$="3"then9600
9190 goto9100
9200 sys49318
9210 sys49792,hi
9220 poke49638,4
9230 sys49616,d1
9240 poke49638,216
9250 sys49616,d2
9255 poke53281,d0
9260 goto4500
9300 input"{clr}{down}{down}  enter hires:";hi
9310 goto9000
9400 input"{clr}{down}{down}  enter color 1:";d1
9410 goto9000
9500 input"{clr}{down}{down}  enter color 2:";d2
9510 goto9000
9600 input"{clr}{down}{down}  enter border:";d0
9610 ifd0>15then9600
9620 goto9000
  0 HI=24576:D1=32576:D2=33576:D0=0:POKE 650,128:POKE 649,1:POKE 56,32 
  5 F1$=CHR$ (133):F3$=CHR$ (134):F5$=CHR$ (135):F7$=CHR$ (136) 
  7 F2$=CHR$ (137):F4$=CHR$ (138):F6$=CHR$ (139):F8$=CHR$ (140) 
  8 POKE 53280,0:POKE 53281,6:GOSUB 5000:RESTORE 
 10 GET A$:IF A$="H" THEN100 
 20 IF A$="H" THEN100 
 30 IF A$="L" THEN1000 
 40 IF A$="S" THEN2000 
 50 IF A$="D" THEN1500 
 60 IF A$="E" THEN3000 
 65 IF A$="G" THEN9000 
 70 IF A$="M" THEN3500 
 75 IF A$="X" THEN7000 
 80 IF A$="C" THEN4000 
 85 IF A$="F" THEN6000 
 90 GOTO 10 
 100 SYS 49920 
 150 C=PEEK (1024):C1=CAND 15:C2=INT (C/16) 
 160 C3=PEEK (55296)AND 15:C4=PEEK (53281)AND 15 
 200 GET A$:IF A$=F1$ THEN300 
 210 IF A$=F1$ THEN300 
 215 IF A$=F2$ THEN340 
 220 IF A$=F3$ THEN350 
 225 IF A$=F4$ THEN390 
 230 IF A$=F5$ THEN400 
 235 IF A$=F6$ THEN440 
 240 IF A$=F7$ THEN450 
 245 IF A$=F8$ THEN490 
 249 IF A$=CHR$ (13) THEN500 
 250 IF A$=CHR$ (141) THEN510 
 290 GOTO 200 
 300 C1=C1+1:IF C1>15 THENC1=0 
 310 POKE 2,C1+C2*16 
 320 SYS 49334 
 330 GOTO 200 
 340 C1=C1-1:IF C1<0 THENC1=15 
 342 GOTO 310 
 350 C2=C2+1:IF C2>15 THENC2=0 
 360 GOTO 310 
 390 C2=C2-1:IF C2<0 THENC2=15 
 392 GOTO 310 
 400 C3=C3+1:IF C3>15 THENC3=0 
 410 POKE 2,C3 
 420 SYS 49353 
 430 GOTO 200 
 440 C3=C3-1:IF C3<0 THENC3=15 
 442 GOTO 410 
 450 C4=C4+1:IF C4>15 THENC4=0 
 460 POKE 53281,C4 
 470 GOTO 200 
 490 C4=C4-1:IF C4<0 THENC4=15 
 492 POKE 53281,C4 
 494 GOTO 200 
 500 SYS 49154 
 510 SYS 49395 
 520 GOTO 8 
 1000 NA$="" 
 1005 INPUT"{RVOFF,CLR,LIG.BLUE,2DOWN,2SPACE}ENTER NAME";NA$ 
 1007 IF NA$="" THEN8 
 1010 K=LEN (LEFT$ (NA$,16)) 
 1020 POKE 49419,K 
 1025 POKE 49432,32 
 1030 FOR I=1 TOK 
 1040 POKE 49436+I,ASC (MID$ (NA$,I,1)) 
 1050 NEXT 
 1055 SYS 49920 
 1060 SYS 49411 
 1062 GOTO 4500 
 1500 PRINT"{CLR,RVOFF,LIG.BLUE}":SYS 49664 
 1505 GET A$:IF A$="" THEN1505 
 1590 GOTO 8 
 2000 INPUT"{RVOFF,CLR,LIG.BLUE,2DOWN,2SPACE}ENTER LETTER";LE$ 
 2010 LE$=(LEFT$ (LE$,1)) 
 2015 NA$="" 
 2020 INPUT"{DOWN,2SPACE}ENTER NAME";NA$ 
 2025 IF NA$="" THEN8 
 2030 NA$=LEFT$ (NA$+"{7SPACE}",8) 
 2040 FI$="{ORANGE}PIC "+LE$+" "+NA$ 
 2050 K=LEN (FI$) 
 2060 POKE 49462,K 
 2070 FOR I=1 TOK 
 2080 POKE 49487+I,ASC (MID$ (FI$,I,1)) 
 2090 NEXT I 
 2092 FOR I=0 TO5 
 2094 READ A 
 2096 POKE 34577+I,A 
 2098 NEXT I 
 2099 DATA 48,,,253,67,66 
 2100 OPEN 1,8,15,"S:{ORANGE}PIC "+LE$+"*":CLOSE 1 
 2105 SYS 49456 
 2110 GOTO 8 
 3000 SYS 49920 
 3010 SYS 49769 
 3020 GOTO 4500 
 3500 PRINT"{RVOFF,CLR,LIG.BLUE,DOWN,2SPACE}$2000 BIT-MAP" 
 3510 PA=2 
 3520 GET A$ 
 3530 IF A$=CHR$ (13) THEN3750 
 3540 IF A$="{DOWN}" THENPA=PA+2:IF PA>14 THENPA=2 
 3550 IF A$="{UP}" THENPA=PA-2:IF PA<2 THENPA=14 
 3560 ON (PA/2)GOSUB 3600,3605,3610,3615,3620,3625,3630 
 3570 GOTO 3520 
 3600 PRINT"{HOME,DOWN,3RIGHT}2":RETURN 
 3605 PRINT"{HOME,DOWN,3RIGHT}4":RETURN 
 3610 PRINT"{HOME,DOWN,3RIGHT}6":RETURN 
 3615 PRINT"{HOME,DOWN,3RIGHT}8":RETURN 
 3620 PRINT"{HOME,DOWN,3RIGHT}A":RETURN 
 3625 PRINT"{HOME,DOWN,3RIGHT}C":RETURN 
 3630 PRINT"{HOME,DOWN,3RIGHT}E":RETURN 
 3750 SYS 49318:POKE 2,33:SYS 49334:POKE 2,6:SYS 49353:POKE 53281,0 
 3755 FOR I=0 TO999:NEXT 
 3760 SYS 49792,PA*4096 
 3780 GOTO 4500 
 3999 END 
 4000 PRINT"{LIG.BLUE,CLR,3DOWN,2SPACE}COLOR ({RVSON}1{RVOFF}) OR ({RVSON}2{RVOFF})?" 
 4010 GET A$:IF A$<"1"OR A$>"2" THEN4010 
 4015 IF A$="1" THENPOKE 49584,4 
 4017 IF A$="2" THENPOKE 49584,216 
 4020 PRINT"{DOWN,2SPACE}COLOR "A$:NA$="" 
 4030 INPUT"{DOWN,2SPACE}ENTER NAME ";NA$ 
 4032 IF NA$="" THEN8 
 4035 NA$=LEFT$ (NA$,16) 
 4037 SYS 49920 
 4040 OPEN 1,8,2,NA$ 
 4050 SYS 49568 
 4100 CLOSE 1 
 4102 GOTO 4500 
 4500 POKE 198,0 
 4505 GET A$ 
 4510 IF A$=CHR$ (13) THENSYS 49154:SYS 49395:GOTO 8 
 4520 IF A$=CHR$ (141) THENSYS 49395:GOTO 8 
 4530 GOTO 4505 
 5000 SYS 50432:POKE 896,255:POKE 725,255:SYS 49520:RETURN 
 6000 SYS 49920 
 6010 X1=0 :Y1=0 
 6020 X2=39:Y2=24 
 6025 CU=1 
 6030 VC=53248 
 6040 POKE VC+21,3 
 6050 POKE 2040,14:POKE 2041,11 
 6075 O1=X1*8+24:P1=Y1*8+50 
 6080 O2=X2*8+24:P2=Y2*8+50 
 6100 POKE VC,O1AND 255:POKE VC+1,P1 
 6105 IF O1<=255 THENPOKE VC+16,PEEK (VC+16)AND 254 
 6107 IF O1>255 THENPOKE VC+16,PEEK (VC+16)OR 1 
 6110 POKE VC+2,O2AND 255:POKE VC+3,P2 
 6115 IF O2<=255 THENPOKE VC+16,PEEK (VC+16)AND 253 
 6117 IF O2>255 THENPOKE VC+16,PEEK (VC+16)OR 2 
 6150 IF CU=2 THEN6350 
 6250 GET A$ 
 6260 IF A$="{UP}"AND Y1>0 THENY1=Y1-1:GOTO 6075 
 6270 IF A$="{DOWN}"AND Y1<Y2 THENY1=Y1+1:GOTO 6075 
 6280 IF A$="{LEFT}"AND X1>0 THENX1=X1-1:GOTO 6075 
 6290 IF A$="{RIGHT}"AND X1<X2 THENX1=X1+1:GOTO 6075 
 6295 IF A$=" " THEN6345 
 6297 IF A$=CHR$ (13) THEN6800 
 6299 IF A$=CHR$ (141) THEN6810 
 6300 GOTO 6250 
 6345 CU=2 
 6350 GET A$ 
 6360 IF A$="{UP}"AND Y2>Y1 THENY2=Y2-1:GOTO 6075 
 6370 IF A$="{DOWN}"AND Y2<24 THENY2=Y2+1:GOTO 6075 
 6380 IF A$="{LEFT}"AND X2>X1 THENX2=X2-1:GOTO 6075 
 6390 IF A$="{RIGHT}"AND X2<39 THENX2=X2+1:GOTO 6075 
 6395 IF A$=" " THEN6500 
 6397 IF A$=CHR$ (13) THEN6800 
 6399 IF A$=CHR$ (141) THEN6810 
 6400 GOTO 6350 
 6500 C=PEEK (1024+X1+Y1*40) 
 6510 C1=CAND 15:C2=(CAND 240)/16 
 6520 C3=PEEK (55296+X1+Y1*40)AND 15 
 6530 C4=PEEK (53281)AND 15 
 6540 SYS 50084, 1024,X1,Y1,X2,Y2,C1+C2*16 
 6550 SYS 50084,55296,X1,Y1,X2,Y2,C3 
 6560 POKE 53281,C4 
 6600 GET A$ 
 6610 IF A$=F1$ THEN6700 
 6615 IF A$=F2$ THEN6710 
 6620 IF A$=F3$ THEN6720 
 6625 IF A$=F4$ THEN6730 
 6630 IF A$=F5$ THEN6740 
 6635 IF A$=F6$ THEN6750 
 6640 IF A$=F7$ THEN6760 
 6645 IF A$=F8$ THEN6770 
 6650 IF A$=" " THEN6010 
 6660 GOTO 6600 
 6700 C1=C1+1:IF C1>15 THENC1=0 
 6705 GOTO 6540 
 6710 C1=C1-1:IF C1<0 THENC1=15 
 6715 GOTO 6540 
 6720 C2=C2+1:IF C2>15 THENC2=0 
 6725 GOTO 6540 
 6730 C2=C2-1:IF C2<0 THENC2=15 
 6735 GOTO 6540 
 6740 C3=C3+1:IF C3>15 THENC3=0 
 6745 GOTO 6540 
 6750 C3=C3-1:IF C3<0 THENC3=15 
 6755 GOTO 6540 
 6760 C4=C4+1:IF C4>15 THENC4=0 
 6765 GOTO 6540 
 6770 C4=C4-1:IF C4<0 THENC4=15 
 6775 GOTO 6540 
 6800 SYS 49154 
 6810 SYS 49395:POKE VC+21,0:GOTO 8 
 7000 PRINT"{CLR,LIG.BLUE,2DOWN}" 
 7015 PRINT" LOAD: 
 7020 PRINT"<1> TO $6000 
 7030 PRINT"<2> TO ORIGIN 
 7040 PRINT"<3> KOALA 
 7050 PRINT"<4> BLAZING PADDLES 
 7060 PRINT"<5> PAINT MAGIC 
 7100 PRINT"{2DOWN,SPACE}SHOW:" 
 7110 PRINT"<0> ORIGIN 
 7120 PRINT"<X> MENUE 
 7200 GET A$:IF A$="0" THEN8000 
 7220 IF A$="X" THEN8 
 7222 IF A$="4" THEN8300 
 7223 IF A$="5" THEN8400 
 7225 IF A$="1" THEN8200 
 7227 IF A$="3" THEN8200 
 7230 IF A$="2" THEN8100 
 7999 GOTO 7200 
 8000 PRINT"{CLR,DOWN}QSHOW ORIGINQ 
 8005 NA$="" 
 8010 INPUT"{DOWN,2SPACE}ENTER NAME";NA$ 
 8020 IF NA$="" THEN7000 
 8030 OPEN 1,8,2,NA$ 
 8040 GET #1,A$,B$ 
 8045 IF ST<>0 THENPRINT"{DOWN,2SPACE}U*****I{DOWN,7LEFT}-HUH?!-{DOWN,7LEFT}J*****K":GOTO 8090 
 8050 IF A$="" THENA$=CHR$ (0) 
 8060 IF B$="" THENB$=CHR$ (0) 
 8070 AD=ASC (A$)+256*ASC (B$) 
 8080 PRINT"{DOWN,2SPACE}ORIGIN:"AD 
 8090 CLOSE 1 
 8092 POKE 198,0:WAIT 198,1 
 8095 GOTO 7000 
 8100 PRINT"{CLR,DOWN}QLOAD TO ORIGINQ 
 8105 NA$="" 
 8110 INPUT"{DOWN,2SPACE}ENTER NAME";NA$ 
 8120 IF NA$="" THEN7000 
 8130 SYS 57812NA$,8,1:POKE 780,0:SYS 65493 
 8140 PRINT"{DOWN,2SPACE}U*****I{DOWN,7LEFT}-READY-{DOWN,7LEFT}J*****K":GOTO 8092 
 8200 PRINT"{CLR,DOWN}QLOAD TO $6000Q 
 8205 NA$="" 
 8210 INPUT"{DOWN,2SPACE}ENTER NAME";NA$ 
 8215 IF NA$="" THEN8 
 8217 IF LEFT$ (NA$,1)="*" THENNA$="{ORANGE}PIC ? "+MID$ (NA$,2,8)+"*" 
 8220 K=LEN (LEFT$ (NA$,16)) 
 8230 POKE 49419,K 
 8240 POKE 49432,96 
 8250 FOR I=1 TOK 
 8260 POKE 49436+I,ASC (MID$ (NA$,I,1)) 
 8270 NEXT 
 8280 SYS 49411 
 8282 IF A$="1" THEN8 
 8285 SYS 49920 
 8290 GOTO 4500 
 8300 PRINT"{CLR,DOWN}QLOAD BLAZING PADDLESQ 
 8305 NA$="" 
 8310 INPUT"{DOWN,2SPACE}ENTER NAME";NA$ 
 8315 IF NA$="" THEN8 
 8320 K=LEN (LEFT$ (NA$,16)) 
 8330 POKE 49419,K 
 8340 POKE 49432,64 
 8350 FOR I=1 TOK 
 8360 POKE 49436+I,ASC (MID$ (NA$,I,1)) 
 8370 NEXT 
 8380 SYS 49411 
 8390 HI=16384:C1=24576:C2=25600 
 8395 GOTO 9200 
 8400 PRINT"{CLR,DOWN}QLOAD PAINT MAGICQ 
 8405 NA$="" 
 8410 INPUT"{DOWN,2SPACE}ENTER NAME";NA$ 
 8415 IF NA$="" THEN8 
 8420 SYS 57812NA$,8,1:POKE 780,0:SYS 65493 
 8500 SYS 49318 
 8510 SYS 49792,16384 
 8520 POKE 49638,4 
 8530 SYS 49616,24576 
 8540 POKE 2,PEEK (24387) 
 8550 SYS 49353 
 8560 POKE 53281,PEEK (24388) 
 8590 GOTO 4500 
 9000 PRINT"{CLR,DOWN,LIG.BLUE}QGRAB PICTUREQ 
 9010 PRINT"{DOWN,SPACE}GRAB:{DOWN}" 
 9020 PRINT"<0>HIRES{2SPACE}:"HI 
 9030 PRINT"<1>COLOR 1:"D1 
 9040 PRINT"<2>COLOR 2:"D2 
 9045 PRINT"<3>BACK{3SPACE}:"D0 
 9060 PRINT"{DOWN,SPACE}DO{2SPACE}:{DOWN}" 
 9070 PRINT"<G>PERFORM GRAB 
 9080 PRINT"<X>SEE MENUE 
 9100 GET A$:IF A$="" THEN9100 
 9110 IF A$="X" THEN8 
 9120 IF A$="G" THEN9200 
 9130 IF A$="0" THEN9300 
 9140 IF A$="1" THEN9400 
 9145 IF A$="2" THEN9500 
 9150 IF A$="3" THEN9600 
 9190 GOTO 9100 
 9200 SYS 49318 
 9210 SYS 49792,HI 
 9220 POKE 49638,4 
 9230 SYS 49616,D1 
 9240 POKE 49638,216 
 9250 SYS 49616,D2 
 9255 POKE 53281,D0 
 9260 GOTO 4500 
 9300 INPUT"{CLR,2DOWN,2SPACE}ENTER HIRES:";HI 
 9310 GOTO 9000 
 9400 INPUT"{CLR,2DOWN,2SPACE}ENTER COLOR 1:";D1 
 9410 GOTO 9000 
 9500 INPUT"{CLR,2DOWN,2SPACE}ENTER COLOR 2:";D2 
 9510 GOTO 9000 
 9600 INPUT"{CLR,2DOWN,2SPACE}ENTER BORDER:";D0 
 9610 IF D0>15 THEN9600 
 9620 GOTO 9000 
Listing 1. Das Basic-Programm zu »Koalacopy V3.0«
|
10 poke53281,0:poke53280,6
20 print"{clr}{wht}{down}       koalacopy v3.0 loading..."
30 print"     copyright 1986 by {rvon}{lblu}the spirit!{rvof}"
40 poke646,0
50 print"{down}load"chr$(34)"koala.obj"chr$(34)",8"
60 print"{down}{down}{down}{down}run"
70 print"{down}{down}load"chr$(34)"koalacopy v3.0"chr$(34)",8"
80 print"{down}{down}{down}{down}run"
90 print"{home}{down}"
100 poke198,5
110 fori=631to635:pokei,13:next
120 end
 10 POKE 53281,0:POKE 53280,6 
 20 PRINT"{CLR,WHITE,DOWN,7SPACE}KOALACOPY V3.0 LOADING..." 
 30 PRINT"{5SPACE}COPYRIGHT 1986 BY{SPACE,RVSON,LIG.BLUE}THE SPIRIT!{RVOFF}" 
 40 POKE 646,0 
 50 PRINT"{DOWN}LOAD"CHR$ (34)"KOALA.OBJ"CHR$ (34)",8" 
 60 PRINT"{4DOWN}RUN" 
 70 PRINT"{2DOWN}LOAD"CHR$ (34)"KOALACOPY V3.0"CHR$ (34)",8" 
 80 PRINT"{4DOWN}RUN" 
 90 PRINT"{HOME,DOWN}" 
 100 POKE 198,5 
 110 FOR I=631 TO635:POKE I,13:NEXT 
 120 END 
Listing 2. Dieser Lader sorgt für ein einwandfreies Starten von »Koalacopy«
PROGRAMM : KOALA.OBJ      0801 10E0
-----------------------------------
0801 : 0F 08 C2 07 9E 32 30 36   4E
0809 : 35 20 4B 43 53 00 00 00   BF
0811 : A2 FF 9A BD 1F 08 9D F7   AA
0819 : 00 CA D0 F7 4C 00 01 A9   CD
0821 : 00 20 71 A8 4C AE A7 78   6C
0829 : E6 01 A0 00 A9 E0 85 AE   CD
0831 : A9 10 85 AF A9 15 85 AD   EE
0839 : 84 AC A9 FF C7 AC D0 02   A7
0841 : C6 AD C7 AE D0 02 C6 AF   3D
0849 : B1 AE 91 AC A5 AF C9 08   5A
0851 : D0 E8 A5 AE C9 A0 D0 E2   7F
0859 : A2 01 86 AE A9 08 85 AF   44
0861 : B1 AC C9 19 D0 15 20 66   01
0869 : 01 B1 AC AA 20 66 01 B1   60
0871 : AC 91 AE 20 71 01 CA D0   81
0879 : F8 F0 05 91 AE 20 71 01   11
0881 : 20 66 01 D0 DB A9 37 85   22
0889 : 01 58 4C F8 00 E6 AC D0   74
0891 : 06 E6 AD A5 AD C9 15 60   69
0899 : E6 AE D0 02 E6 AF 60 0B   CE
08A1 : 08 C1 07 9E 32 30 36 31   FF
08A9 : 19 03 00 A9 2C A0 08 85   6C
08B1 : 5F 84 60 A9 AC A0 13 85   C7
08B9 : 5A 84 5B A9 80 A0 CB 85   A9
08C1 : 58 84 59 20 BF A3 4C 00   00
08C9 : C0 00 60 7F AD 11 D0 29   8A
08D1 : EF 8D 11 D0 A2 7F A0 40   0E
08D9 : 20 9C C0 A2 04 A0 00 20   51
08E1 : A1 C0 A2 83 A0 27 20 72   A4
08E9 : C0 A2 83 A0 28 20 9C C0   67
08F1 : A2 D8 A0 00 20 A1 C0 A2   7F
08F9 : 87 A0 0F 20 72 C0 AD 21   BE
0901 : D0 8D 10 87 AD 11 D0 09   46
0909 : 22 8D 11 D0 AD 16 D0 29   71
0911 : DF 09 10 8D 16 D0 AD 18   F9
0919 : D0 09 08 8D 18 D0 A2 60   75
0921 : A0 00 20 9C C0 A2 20 A0   40
0929 : 00 20 A1 C0 A2 7F A0 3F   E1
0931 : 20 72 C0 AD 11 D0 09 10   4C
0939 : 8D 11 D0 60 8E 01 C0 8C   9C
0941 : 00 C0 A0 00 B1 FD 91 FB   13
0949 : A5 FC CD 01 C0 D0 08 A5   FE
0951 : FB CD 00 C0 D0 01 60 E6   AF
0959 : FB D0 02 E6 FC E6 FD D0   BA
0961 : E3 E6 FE 4C 7A C0 86 FC   C2
0969 : 84 FB 60 86 FE 84 FD 60   A0
0971 : A9 3B 8D 11 D0 A9 18 8D   13
0979 : 18 D0 A9 D8 8D 16 D0 60   0C
0981 : A5 02 A2 04 A0 00 20 9C   14
0989 : C0 A2 07 A0 E7 20 A1 C0   F8
0991 : 4C D9 C0 A5 02 A2 D8 A0   88
0999 : 00 20 9C C0 A2 DB A0 E7   44
09A1 : 20 A1 C0 A0 00 91 FB A6   A0
09A9 : FC E4 FE D0 07 A6 FB E4   50
09B1 : FD D0 01 60 E6 FB D0 02   F8
09B9 : E6 FC 4C DB C0 A9 1B 8D   8D
09C1 : 11 D0 A9 15 8D 18 D0 A9   78
09C9 : C8 8D 16 D0 60 A2 08 A0   74
09D1 : 00 20 BA FF A9 0D A2 1D   58
09D9 : A0 C1 20 BD FF A9 00 A2   AC
09E1 : 00 A0 60 20 D5 FF 60 19   5E
09E9 : 13 00 A2 08 20 BA FF A9   D1
09F1 : 00 A2 50 A0 C1 20 BD FF   7F
09F9 : A2 60 A0 00 86 FC 84 FB   4E
0A01 : A9 FB A2 16 A0 87 20 D8   8C
0A09 : FF 60 19 20 00 78 A2 C1   55
0A11 : A0 7D 8E 15 03 8C 14 03   A1
0A19 : 58 60 AD 3E 03 69 40 8D   6C
0A21 : 3E 03 B0 03 4C 31 EA AD   C3
0A29 : 3F 03 69 01 8D 27 D0 8D   D5
0A31 : 28 D0 8D 3F 03 4C 31 EA   3A
0A39 : 19 05 00 A2 01 20 C6 FF   55
0A41 : 20 CF FF 20 CF FF A9 00   F0
0A49 : 85 FC A9 D8 85 FD A2 00   A5
0A51 : A0 00 20 CF FF 91 FC C8   05
0A59 : D0 F8 E8 E6 FD E0 04 D0   55
0A61 : EF 20 CC FF 60 19 06 40   FB
0A69 : 20 FD AE 20 8A AD 20 F7   BE
0A71 : B7 A5 14 85 FB A5 15 85   FD
0A79 : FC A9 00 85 FD A9 04 85   43
0A81 : FE A2 00 A0 00 B1 FB 91   85
0A89 : FD C8 D0 F9 E8 E6 FC E6   E5
0A91 : FE E0 04 D0 EE 60 40 40   8E
0A99 : A9 24 85 FB A9 FB 85 BB   3D
0AA1 : A9 00 85 BC A9 01 85 B7   6B
0AA9 : A9 08 85 BA A9 60 85 B9   36
0AB1 : 20 D5 F3 A5 BA 20 B4 FF   ED
0AB9 : A5 B9 20 96 FF A9 00 85   6E
0AC1 : 90 A0 03 84 FB 20 A5 FF   4A
0AC9 : 85 FC A4 90 D0 2F 20 A5   5A
0AD1 : FF A4 90 D0 28 A4 FB 88   09
0AD9 : D0 E9 A6 FC 20 CD BD A9   A2
0AE1 : 20 20 D2 FF 20 A5 FF A6   42
0AE9 : 90 D0 12 AA F0 06 20 D2   21
0AF1 : FF 4C 4C C2 A9 0D 20 D2   AB
0AF9 : FF A0 02 D0 C6 20 42 F6   47
0B01 : 60 A9 20 85 FB A9 00 85   07
0B09 : FA A2 20 A8 91 FA C8 D0   27
0B11 : FB E6 FB CA D0 F5 60 00   16
0B19 : 20 FD AE 20 8A AD 20 F7   6E
0B21 : B7 A2 20 A0 00 20 9C C0   3A
0B29 : A6 15 A4 14 20 A1 C0 A2   5D
0B31 : 20 78 A9 30 85 01 B1 FD   21
0B39 : 91 FB A9 37 85 01 58 C8   6C
0B41 : D0 EF E6 FC E6 FE CA D0   95
0B49 : E8 60 19 4E 00 AD 11 D0   C5
0B51 : 29 EF 8D 11 D0 A2 7F A0   59
0B59 : 40 20 9A C3 A2 04 A0 00   95
0B61 : 20 9F C3 A2 83 A0 27 20   B0
0B69 : 70 C3 A2 83 A0 28 20 9A   D5
0B71 : C3 A2 D8 A0 00 20 9F C3   D7
0B79 : A2 87 A0 0F 20 70 C3 AD   D9
0B81 : 10 87 8D 21 D0 AD 11 D0   3D
0B89 : 09 22 8D 11 D0 AD 16 D0   9D
0B91 : 29 DF 09 10 8D 16 D0 AD   16
0B99 : 18 D0 09 08 8D 18 D0 A2   7F
0BA1 : 60 A0 00 20 9A C3 A2 20   E8
0BA9 : A0 00 20 9F C3 A2 7F A0   D6
0BB1 : 3F 20 70 C3 AD 11 D0 09   4E
0BB9 : 10 8D 11 D0 60 8E 01 C0   EE
0BC1 : 8C 00 C0 A0 00 B1 FB 91   32
0BC9 : FD A5 FC CD 01 C0 D0 08   FB
0BD1 : A5 FB CD 00 C0 D0 01 60   3F
0BD9 : E6 FB D0 02 E6 FC E6 FD   1F
0BE1 : D0 E3 E6 FE 4C 78 C3 86   E1
0BE9 : FC 84 FB 60 86 FE 84 FD   A1
0BF1 : 60 20 FD AE 20 8A AD 20   04
0BF9 : F7 B7 A6 14 A4 15 8E EC   FF
0C01 : 03 8C ED 03 20 FD AE 20   13
0C09 : 9E B7 8E E8 03 20 FD AE   CA
0C11 : 20 9E B7 8E E9 03 20 FD   73
0C19 : AE 20 9E B7 E8 8E EA 03   2A
0C21 : 20 FD AE 20 9E B7 E8 8E   58
0C29 : EB 03 20 FD AE 20 9E B7   33
0C31 : 8E EE 03 18 AD EC 03 6D   23
0C39 : E8 03 90 03 EE ED 03 AC   EB
0C41 : E9 03 F0 0B 18 69 28 90   D8
0C49 : 03 EE ED 03 88 D0 F5 8D   A1
0C51 : EC 03 38 AD EB 03 ED E9   E5
0C59 : 03 8D EF 03 38 AD EA 03   22
0C61 : ED E8 03 8D F0 03 AE EC   F1
0C69 : 03 AC ED 03 86 FD 84 FE   06
0C71 : AD EE 03 A2 00 A0 00 91   D3
0C79 : FD C8 D0 02 E6 FE CC F0   CA
0C81 : 03 D0 F4 E8 EC EF 03 D0   42
0C89 : 01 60 A5 FD 18 69 28 90   72
0C91 : 02 E6 FE 85 FD AD EE 03   86
0C99 : 4C 28 C4 19 B2 00 A9 AD   7B
0CA1 : A0 C7 20 1E AB EA A9 B0   0B
0CA9 : A0 C7 20 1E AB EA A9 DB   69
0CB1 : A0 C7 20 1E AB EA A9 06   C5
0CB9 : A0 C8 20 1E AB EA A9 33   A8
0CC1 : A0 C8 20 1E AB EA A9 64   13
0CC9 : A0 C8 20 1E AB EA A9 0D   6C
0CD1 : 20 D2 FF EA A9 90 A0 C8   EB
0CD9 : 20 1E AB EA A9 0D 20 D2   7A
0CE1 : FF EA A9 BB A0 C8 20 1E   44
0CE9 : AB EA A9 0D 20 D2 FF EA   84
0CF1 : A9 E2 A0 C8 20 1E AB EA   C4
0CF9 : A9 0D 20 D2 FF EA A9 08   99
0D01 : A0 C9 20 1E AB EA A9 0D   24
0D09 : 20 D2 FF EA A9 2D A0 C9   0A
0D11 : 20 1E AB EA A9 0D 20 D2   B2
0D19 : FF EA A9 51 A0 C9 20 1E   37
0D21 : AB EA A9 0D 20 D2 FF EA   BC
0D29 : A9 74 A0 C9 20 1E AB EA   E5
0D31 : A9 0D 20 D2 FF EA A9 96   EE
0D39 : A0 C9 20 1E AB EA A9 0D   5C
0D41 : 20 D2 FF EA A9 0D 20 D2   51
0D49 : FF EA A9 0D 20 D2 FF EA   38
0D51 : A9 B7 A0 C9 20 1E AB EA   AF
0D59 : A9 E1 A0 C9 20 1E AB EA   CC
0D61 : A9 0F A0 CA 20 1E AB EA   8B
0D69 : A9 3A A0 CA 20 1E AB EA   28
0D71 : A9 67 A0 CA 20 1E AB EA   C7
0D79 : A9 93 A0 CA 20 1E AB EA   E5
0D81 : A9 BE A0 CA 20 1E AB EA   82
0D89 : A9 E9 A0 CA 20 1E AB EA   20
0D91 : A9 14 A0 CB 20 1E AB EA   5D
0D99 : A9 3D A0 CB 20 1E AB EA   FA
0DA1 : A9 A0 8D E7 07 A9 00 8D   D3
0DA9 : E7 DB A9 A0 8D E7 07 A9   84
0DB1 : A0 8D 4C 03 A9 04 8D 4D   17
0DB9 : 03 A0 00 AD 4C 03 AE 4D   F4
0DC1 : 03 85 FE 86 FF A9 A0 91   0A
0DC9 : FE AD 4C 03 18 69 27 8D   96
0DD1 : 4E 03 AD 4D 03 69 00 8D   4C
0DD9 : 4F 03 A0 00 AD 4E 03 AE   89
0DE1 : 4F 03 85 FE 86 FF A9 A0   43
0DE9 : 91 FE AD 4C 03 18 69 00   85
0DF1 : 8D 4E 03 AD 4D 03 69 D4   58
0DF9 : 8D 4F 03 A0 00 AD 4E 03   AF
0E01 : AE 4F 03 85 FE 86 FF A9   40
0E09 : 00 91 FE AD 4E 03 18 69   77
0E11 : 27 8D 4E 03 AD 4F 03 69   27
0E19 : 00 8D 4F 03 A0 00 AD 4E   71
0E21 : 03 AE 4F 03 85 FE 86 FF   1A
0E29 : A9 00 91 FE AD 4C 03 18   90
0E31 : 69 28 8D 4C 03 AD 4D 03   74
0E39 : 69 00 8D 4D 03 AD 4D 03   88
0E41 : C9 06 D0 0A AD 4C 03 C9   60
0E49 : 58 D0 03 4C B3 C6 4C 1B   2D
0E51 : C6 A9 00 8D 4C 03 A9 00   21
0E59 : 8D 4D 03 AD 4C 03 18 69   13
0E61 : 80 8D 4E 03 AD 4D 03 69   C0
0E69 : 03 8D 4F 03 AD 4C 03 18   E1
0E71 : 69 C0 8D 50 03 AD 4D 03   81
0E79 : 69 02 8D 51 03 A0 00 AD   01
0E81 : 4E 03 AE 4F 03 85 FE 86   4C
0E89 : FF A9 00 91 FE A0 00 AD   DF
0E91 : 50 03 AE 51 03 85 FE 86   9E
0E99 : FF A9 00 91 FE AD 4C 03   34
0EA1 : 18 69 01 8D 4C 03 AD 4D   8E
0EA9 : 03 69 00 8D 4D 03 A9 00   A6
0EB1 : CD 4D 03 F0 04 90 09 B0   4E
0EB9 : 0A A9 3F CD 4C 03 B0 03   C7
0EC1 : 4C 28 C7 4C BD C6 A9 03   5B
0EC9 : 8D 4C 03 A9 00 8D 4D 03   1A
0ED1 : AD 4C 03 18 69 80 8D 4E   D6
0ED9 : 03 AD 4D 03 69 03 8D 4F   EA
0EE1 : 03 AD 4C 03 18 69 BD 8D   0D
0EE9 : 50 03 AD 4D 03 69 02 8D   6E
0EF1 : 51 03 A0 00 AD 4E 03 AE   A3
0EF9 : 4F 03 85 FE 86 FF A9 80   1B
0F01 : 91 FE A0 00 AD 50 03 AE   00
0F09 : 51 03 85 FE 86 FF A9 01   2E
0F11 : 91 FE AD 4C 03 18 69 03   B3
0F19 : 8D 4C 03 AD 4D 03 69 00   D5
0F21 : 8D 4D 03 A9 00 CD 4D 03   F5
0F29 : F0 04 90 09 B0 0A A9 15   8D
0F31 : CD 4C 03 B0 03 4C 9D C7   94
0F39 : 4C 32 C7 60 FF 8D 80 03   11
0F41 : A9 FF 8D D2 03 A2 80 6C   C8
0F49 : 00 03 60 93 8E 00 12 90   A8
0F51 : 19 28 20 00 12 90 19 28   E1
0F59 : 20 00 12 90 19 05 20 1C   82
0F61 : 19 1E 20 90 19 05 20 00   DE
0F69 : 12 90 19 05 20 1C 19 0A   06
0F71 : 20 05 92 4B 4F 41 4C 41   D5
0F79 : 43 4F 50 59 12 1C 19 0B   20
0F81 : 20 90 19 05 20 00 92 19   4F
0F89 : 05 20 12 1C 19 09 20 05   0B
0F91 : 92 19 0B 3D 1C 12 19 0A   E5
0F99 : 20 92 00 19 05 20 12 1C   F7
0FA1 : 19 08 20 9E 92 42 59 20   7B
0FA9 : 54 48 45 20 53 50 49 52   F8
0FB1 : 49 54 12 1C 19 09 20 92   AC
0FB9 : 00 19 05 20 DF 12 1C 19   BC
0FC1 : 1C 20 92 A9 00 19 06 20   E8
0FC9 : 9E DF 12 19 1A 20 92 A9   3F
0FD1 : 00 19 07 20 81 DF 12 19   B5
0FD9 : 18 20 92 A9 00 19 08 20   04
0FE1 : 9A DF 12 19 16 20 92 A9   13
0FE9 : 00 19 09 20 1E DF 12 19   18
0FF1 : 14 20 92 A9 00 19 0A 20   20
0FF9 : 96 DF 12 19 12 20 92 A9   E6
1001 : 00 19 0B 20 99 DF 12 19   68
1009 : 10 20 92 A9 00 90 12 19   02
1011 : 27 20 00 90 12 20 20 9E   3A
1019 : 19 10 20 53 45 4C 45 43   FF
1021 : 54 3A 19 0F 20 90 20 00   C2
1029 : 90 12 19 28 20 00 12 90   79
1031 : 20 20 05 19 03 20 3C 58   99
1039 : 3E 2D 4C 4F 41 44 19 0F   C4
1041 : 20 3C 47 3E 52 41 42 19   83
1049 : 04 20 90 20 20 00 90 20   0A
1051 : 20 05 19 03 20 3C 44 3E   0C
1059 : 49 52 45 43 54 4F 52 59   41
1061 : 19 0C 20 3C 4C 3E 4F 41   86
1069 : 44 19 04 20 90 20 20 00   CA
1071 : 20 20 05 19 03 20 3C 48   B9
1079 : 3E 49 52 45 53 19 10 20   18
1081 : 3C 53 3E 41 56 45 19 04   1B
1089 : 20 90 20 20 00 20 20 05   89
1091 : 19 03 20 3C 4D 3E 45 4D   32
1099 : 4F 52 59 19 0F 20 3C 45   F8
10A1 : 3E 52 41 53 45 19 03 20   2D
10A9 : 90 20 20 00 20 20 05 19   9B
10B1 : 03 20 3C 43 3E 4F 4C 4F   6A
10B9 : 52 53 19 0F 20 3C 46 3E   57
10C1 : 49 4E 45 43 4F 4C 20 90   E4
10C9 : 20 20 00 19 28 20 00 19   D2
10D1 : 27 20 92 00 FF 19 09 20   DA
10D9 : 92 00 FF 19 0D 00 FF      30
Listing 3. Der Maschinenspracheteil zu »Koalacopy V3.0«. Dieses Programm bitte mit dem MSE eingeben.
|
5 poke53281,0:printchr$(142)"{clr}{lblu}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}first disk"
7 poke198,0:wait198,1
10 pace=0
20 mode=1
30 speed=4
50 poke1000,pace
60 poke1001,speed
70 poke1002,mode
1000 fori=65to80
1010 sys57812"{orng}pic "+chr$(i)+"*",8,1
1020 poke780,0
1030 sys65493
1500 ifpace=0thenpoke1000,rnd(0)*254+1
2000 sys4096*5
2500 poke198,0
3000 forj=0to500
3010 ifpeek(198)and1then3030
3020 nextj
3030 nexti
3100 forj=0to500
3110 ifpeek(198)and1then4000
3120 nextj
3500 poke198,0
4000 poke53265,27
4010 poke53270,200
4015 poke53272,21
4020 poke53281,0:print"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}next disk"
4030 poke198,0:wait198,1
4040 run10
  5 POKE 53281,0:PRINTCHR$ (142)"{CLR,LIG.BLUE,11DOWN,15RIGHT}FIRST DISK" 
  7 POKE 198,0:WAIT 198,1 
 10 PACE=0 
 20 MODE=1 
 30 SPEED=4 
 50 POKE 1000,PACE 
 60 POKE 1001,SPEED 
 70 POKE 1002,MODE 
 1000 FOR I=65 TO80 
 1010 SYS 57812"{ORANGE}PIC "+CHR$ (I)+"*",8,1 
 1020 POKE 780,0 
 1030 SYS 65493 
 1500 IF PACE=0 THENPOKE 1000,RND (0)*254+1 
 2000 SYS 4096*5 
 2500 POKE 198,0 
 3000 FOR J=0 TO500 
 3010 IF PEEK (198)AND 1 THEN3030 
 3020 NEXT J 
 3030 NEXT I 
 3100 FOR J=0 TO500 
 3110 IF PEEK (198)AND 1 THEN4000 
 3120 NEXT J 
 3500 POKE 198,0 
 4000 POKE 53265,27 
 4010 POKE 53270,200 
 4015 POKE 53272,21 
 4020 POKE 53281,0:PRINT"{CLR,11DOWN,15RIGHT}NEXT DISK" 
 4030 POKE 198,0:WAIT 198,1 
 4040 RUN 10 
Listing 4. Ein Beispiel, wie das Programm »Show.obj $5000« angesteuert werden kann
PROGRAMM : SHOW.OBJ $5000 5000 5240
-----------------------------------
5000 : A9 00 8D 69 03 AD E9 03   85
5008 : 8D 68 03 A9 00 8D 63 03   BF
5010 : AD EA 03 8D 62 03 A9 0B   A0
5018 : 8D 11 D0 A9 19 8D 18 D0   97
5020 : A9 D8 8D 16 D0 A9 00 8D   D1
5028 : 3D 03 AD 10 87 8D 3C 03   30
5030 : AD 3C 03 8D 21 D0 A9 00   AD
5038 : 8D 4C 03 A9 20 8D 4D 03   8B
5040 : A0 00 AD 4C 03 AE 4D 03   B6
5048 : 85 FE 86 FF A9 00 91 FE   CD
5050 : AD 4C 03 18 69 01 8D 4C   55
5058 : 03 AD 4D 03 69 00 8D 4D   4D
5060 : 03 AD 4D 03 C9 3F F0 04   50
5068 : B0 0C 90 07 AD 4C 03 C9   00
5070 : 40 B0 03 4C 40 50 A9 3B   F6
5078 : 8D 11 D0 A9 00 8D 4C 03   9B
5080 : A9 00 8D 4D 03 AD 4C 03   0B
5088 : 18 69 00 8D 66 03 AD 4D   D6
5090 : 03 69 04 8D 67 03 AD 4C   D8
5098 : 03 18 69 00 8D 40 03 AD   44
50A0 : 4D 03 69 D8 8D 41 03 AD   2E
50A8 : 4C 03 18 69 40 8D 5A 03   89
50B0 : AD 4D 03 69 7F 8D 5B 03   CA
50B8 : AD 4C 03 18 69 28 8D 5C   16
50C0 : 03 AD 4D 03 69 83 8D 5D   F1
50C8 : 03 AD 5A 03 85 FE AD 5B   57
50D0 : 03 85 FF A0 00 8C 5B 03   82
50D8 : B1 FE 8D 5A 03 AD 5C 03   CC
50E0 : 85 FE AD 5D 03 85 FF A0   99
50E8 : 00 8C 5D 03 B1 FE 8D 5C   E8
50F0 : 03 AE 66 03 AD 67 03 86   74
50F8 : FE 85 FF A0 00 AD 5A 03   AA
5100 : 91 FE AE 40 03 AD 41 03   6D
5108 : 86 FE 85 FF A0 00 AD 5C   E8
5110 : 03 91 FE AD 4C 03 18 69   61
5118 : 01 8D 4C 03 AD 4D 03 69   77
5120 : 00 8D 4D 03 AD 4D 03 C9   7F
5128 : 03 F0 04 B0 0C 90 07 AD   77
5130 : 4C 03 C9 E8 B0 03 4C 85   ED
5138 : 50 A9 00 8D 4C 03 A9 00   92
5140 : 8D 4D 03 A9 00 8D 51 03   22
5148 : AD E8 03 8D 50 03 AD 4C   48
5150 : 03 18 69 00 8D 4A 03 AD   4C
5158 : 4D 03 69 20 8D 4B 03 AD   20
5160 : 4C 03 18 69 00 8D 54 03   25
5168 : AD 4D 03 69 60 8D 55 03   78
5170 : AD 54 03 85 FE AD 55 03   72
5178 : 85 FF A0 00 8C 55 03 B1   08
5180 : FE 8D 54 03 AE 4A 03 AD   5F
5188 : 4B 03 86 FE 85 FF A0 00   B1
5190 : AD 54 03 91 FE AD 63 03   4B
5198 : C9 00 D0 0A AD 62 03 C9   64
51A0 : 01 D0 03 4C D8 51 A9 00   12
51A8 : 8D 60 03 A9 00 8D 61 03   53
51B0 : AD 60 03 18 69 01 8D 60   E7
51B8 : 03 AD 61 03 69 00 8D 61   DA
51C0 : 03 AD 61 03 CD 69 03 F0   69
51C8 : 04 B0 0D 90 08 AD 60 03   EF
51D0 : CD 68 03 B0 03 4C B0 51   A0
51D8 : AD 4C 03 18 6D 50 03 8D   F0
51E0 : 4C 03 AD 4D 03 6D 51 03   AA
51E8 : 8D 4D 03 A9 1F CD 4D 03   AD
51F0 : F0 04 90 09 B0 0A A9 FF   2A
51F8 : CD 4C 03 B0 03 4C 29 52   9E
5200 : AD 5C 03 18 69 01 8D 5C   2D
5208 : 03 AD 5D 03 69 00 8D 5D   21
5210 : 03 AD 5D 03 C9 23 F0 04   23
5218 : B0 0C 90 07 AD 5C 03 C9   31
5220 : 28 B0 03 4C 4E 51 4C 3D   06
5228 : 52 AD 4C 03 38 E9 FF 8D   B2
5230 : 4C 03 AD 4D 03 E9 1F 8D   2A
5238 : 4D 03 4C 00 52 60 A3 8D   EC
Listing 5. Das vollständige MSE-Listing von »show.obj $5000«
5 letw=peek(1001)
6 lett=peek(1002)
10 poke53265,11
15 poke53272,25
18 poke53270,216
20 leta=peek(34576)
30 poke53281,a
40 leti=8192
50 pokei,0
60 leti=i+1
70 ifi<16192then50
80 poke53265,59
200 leti=0
210 letv=i+1024
220 letc=i+55296
230 letp=i+32576
240 letq=i+33576
350 letp=peek(p)
360 letq=peek(q)
370 pokev,p
380 pokec,q
390 leti=i+1
400 ifi<1000then210
500 leti=0
510 letk=peek(1000)
520 leth=8192+i
530 letm=24576+i
540 letm=peek(m)
550 pokeh,m
552 ift=1then560
554 lets=0
555 lets=s+1
556 ifs<wthen555
560 leti=i+k
570 ifi>8191then2000
580 letq=q+1
590 ifq<8400then520
800 goto4000
810 rem************************
2000 leti=i-8191
2010 goto580
4000 leti=0
4010 leth=i+8192
4020 letm=i+24576
4030 letm=peek(m)
4040 pokeh,m
4050 leti=i+1
4060 ifi<8000then4010
4100 stop
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →