Tetron klingt zwar irgendwie futuristisch. Dennoch handelt es sich um ein altbekanntes Spiel, das gerne bei Unterrichtsausfall in der Schule gespielt wird, denn Rechenpapier und Bleistift hat jeder dabei.
Bei dem Programm Tetron hanielfeldgr{CBM-C}{CBM-V}e Feuer. Dr{CBM-X}ckt man auf der rechten Bildschirmh{CBM-F}lfte Feuer, kann ein bereits begonnenes Spiel fortgesetzt werden.
Das Spielfeld ist in einzelne Felder aufgeteilt. Zwei Spieler spielen gegeneinander. Ziel des Spieles ist es, alle Felder des Spielfeldes zu besetzen; gewonnen hat, wer die meisten Felder mit seiner Farbe gef{CBM-X}llt hat. Gelb spielt gegen Blau, Gelb beginnt. Beide Spieler ziehen abwechselnd, indem sie einen Strich zwischen zwei Felder setzen. Ein Feld wird von einem Spieler dann beserden, wenn man den Cursor auf sie bewegt.
Mit "Neustart" wird ein Spiel gestartet. Nach dem Anw{CBM-F}hlen dieses Men{CBM-X}punktes mu{CBM-V} die Spielfeldgr{CBM-C}{CBM-V}e festgelegt werden. Dazu bewegt man den Cursor auf der linken Bildschirmh{CBM-F}lfte und dr{CBM-X}ckt bei der gew{CBM-X}nschten Sptzt, wenn er es durch seinen Zug einschlie{CBM-V}t, das hei{CBM-V}t, wenn ein Quadrat um das Feld gebildet wird. Hat man ein Feld eingenommen, mu{CBM-V} man noch einmal ziehen.
Der Men{CBM-X}punkt "Computerzug" erlaubt es, den Computer einen Zug ausf{CBM-X}hren zu lassen. Mit "Zur{CBM-X}ck
{CBM-R}{CBM-D}{CBM-D}{CBM-R}l{CBM-R}bb{CBM-R}bb{CBM-R}lpP0{CBM-A}{CBM-R}ppl{CBM-R}{CBM-D}{CBM-D}{CBM-R}bb{CBM-R}l{CBM-R}{CBM-D}{CBM-D}{CBM-R}{CBM-I}{CBM-I}{CBM-R}l{CBM-R}bbpTTTl{CBM-R}{CBM-I}{CBM-I}{CBM-R}{CBM-I}{CBM-I}{CBM-R}l{CBM-R}{CBM-I}{CBM-I}{CBM-R}bb{CBM-R}lllTTlTTlllTTlTT<bt{$7c},{$7c}tblll2l2lll<t@j@t<l{CBM-R}j{CBM-R}{CBM-R}lTllll{CBM-W}{CBM-W}llldpR33pRlttttttttlll{CBM-W}{CBM-W}lllll{CBM-W}{CBM-W}lllll{CBM-W}{CBM-W}lllllllll{CBM-W}{CBM-W}ll{$7c}{$7c}{$7c}{$7c}{$7c}{$7c}{$7c}{$7c}@@@@@@@@lll{CBM-D}{CBM-C}TttttpcklllttT{CBM-C}{CBM-D}lll{CBM-W}{CBM-W}{CBM-D}<TpbkookbpT<{CBM-D}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-W}" wird um einen Zug zur{CBM-X}ckgeschaltet. Im Men{CBM-X}punkt "n Spieler" wird ausgew{CBM-F}hlt, ob man zu zweit oder alleine spielen m{CBM-C}chte. Im letzteren Fall {CBM-X}bernimmt der Computer eine Spielfarbe. Mit "Info" kann eine Zwischenbilanz des Spieles gezogen werden, mit "En
kde" wird ein Reset ausgef{CBM-X}hrt. Dazu ist Feuer einige Sekunden zu halten.
um das Feld gebildet wird. Hat man ein Feld eingenommen, mu{CBM-V} man noch einmal ziehen.
Der Men{CBM-X}punkt "Computerzug" erlaubt es, den Computer einen Zug ausf{CBM-X}hren zu lassen. Mit "Zur{CBM-X}ckieler" (n=Spieleranzahl), "Info" und "Ende" besteht. Ein Men{CBM-X}punkt wird angew{CBM-F}hlt, indem man den Cursor auf das entsprechende Feld bewegt und dann Feuer (bei der Maus: linke Maustaste) dr{CBM-X}ckt. Es k{CBM-C}nnen nur Men{CBM-X}punkte ausgew{CBM-F}hlt werden, die invertiert weLLL{CBM-P}{CBM-F}{CBM-W}SSSSSSSS{CBM-W}{CBM-W}{CBM-W}{CBM-H}{CBM-C}{CBM-P}{CBM-Q}{CBM-Q}PtMMtP{CBM-W}MUUM{CBM-W}{CBM-Q}{CBM-Q}UU{CBM-Q}{CBM-Q}{CBM-W}{CBM-J}{CBM-J}{CBM-J}{CBM-J}{CBM-J}{CBM-J}{CBM-J}{CBM-J}{CBM-F}{CBM-P}L{CBM-P}{CBM-F}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}ll{CBM-Q}{CBM-Q}{CBM-Q}SSSS{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-A}E{CBM-W}lL{CBM-D}{CBM-C}{CBM-H}{CBM-A}{CBM-R}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}cccccccc{CBM-W}{CBM-W}{CBM-W}{CBM-W}lllll{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}lSSSSSSSS{$7f}{$7f}{$7f}{$7f}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{$7f}{$7f}lmokcsS3{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-D}{CBM-D}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-C}{CBM-C}{CBM-C}{CBM-C}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-D}{CBM-D}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}kk{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}ll{CBM-W}{CBM-W}{CBM-W}{CBM-D}{CBM-D}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}ll{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}ll{CBM-Q}{CBM-Q}j{CBM-W}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-Q}oo{CBM-Q}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}oo{CBM-Q}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-Q}ll{CBM-Q}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}ll{CBM-Q}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-Q}oo{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}oo{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-Q}ll{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}ll{CBM-Q}{CBM-Q}{CBM-Q}llllllll{CBM-C}{CBM-C}{CBM-C}{CBM-C}{CBM-C}{CBM-C}{CBM-C}{CBM-C}llll{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}llllllllllllll{CBM-W}{$7f}{$7f}{$7f}{$7f}oooooooollll{$7f}{$7f}{CBM-W}{CBM-R}{CBM-A}{CBM-H}{CBM-C}{CBM-D}Looooooootttsstttllllcccctttssllllll{CBM-H}{CBM-H}tttllllll{CBM-W}{CBM-W}lllsstttttt{CBM-W}{CBM-W}llj
der 2 oder mit einer Proportionalmaus in Port 1 gesteuert werden kann. Alle drei Steuerm{CBM-C}glichkeiten werden gleichzeitig abgefragt. Auf dem rechten Bildschirmteil ist ein Men{CBM-X} zu sehen, das aus den sechs Punkten "Computerzug", "Zur{CBM-X}ck", "Neustart", "n Spj{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}kk{CBM-Q}{CBM-Q}{CBM-Q}SSSSSSSSssssssss{CBM-H}{CBM-H}{CBM-H}{CBM-H}{CBM-H}{CBM-H}{CBM-H}{CBM-H}ll{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}lll{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-W}lll{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}{CBM-A}ll{CBM-W}{CBM-W}{CBM-W}{CBM-W}cccc{CBM-C}{CBM-C}{CBM-C}{CBM-C}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}kk{CBM-W}{CBM-W}{CBM-W}cccc{CBM-W}{CBM-W}{CBM-W}{CBM-W}cccc{CBM-C}{CBM-C}{CBM-C}{CBM-C}PU{$ed}{$ed}UP{CBM-R}{CBM-I}{CBM-I}{CBM-R}{CBM-I}{CBM-I}{CBM-I}l{CBM-R}{CBM-I}{CBM-I}{CBM-R}{CBM-I}{CBM-I}{CBM-R}l{CBM-R}{CBM-D}{CBM-D}{CBM-D}{CBM-D}{CBM-D}{CBM-R}l{CBM-A}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-A}l{CBM-R}{CBM-D}{CBM-D}{CBM-R}{CBM-D}{CBM-D}{CBM-R}l{CBM-R}{CBM-D}{CBM-D}{CBM-R}{CBM-D}{CBM-D}{CBM-D}l{CBM-R}{CBM-D}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-R}l{CBM-I}{CBM-I}{CBM-I}{CBM-R}{CBM-I}{CBM-I}{CBM-I}lTTTTTTTlbbbbb{CBM-I}{CBM-R}l{CBM-I}{CBM-I}{CBM-I}{CBM-H}{CBM-I}{CBM-I}{CBM-I}l{CBM-D}{CBM-D}{CBM-D}{CBM-D}{CBM-D}{CBM-D}{CBM-R}l{CBM-I}{CBM-R}{CBM-R}{CBM-I}{CBM-I}{CBM-I}{CBM-I}l{CBM-R}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}l{CBM-R}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-R}l{CBM-R}{CBM-I}{CBM-I}{CBM-R}{CBM-D}{CBM-D}{CBM-D}l{CBM-R}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-R}{CBM-R}k{CBM-R}{CBM-I}{CBM-I}{CBM-R}{CBM-@}j
{CBM-W}{CBM-W}ll{$7c}{$7c}{$7c}{$7c}{$7c}{$7c}{$7c}{$7c}@@@@@@@@lll{CBM-D}{CBM-C}TttttpcklllttT{CBM-C}{CBM-D}lll{CBM-W}{CBM-W}{CBM-D}<TpbkookbpT<{CBM-D}{CBM-W}{CBM-W}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-Q}{CBM-W}{CBM-W}{CBM-W}delt es sich um ein f{CBM-X}r den C64 in Maschinensprache geschriebenes Strategiespiel. Es wird mit LOAD "TETRON".8 geladen und mit RUN gestartet. Etwa in der Mitte des Bildschirmes erscheint jetzt der Cursor, ein blinkender Pfeil, der mit Joystick in Port 1 o9A
rch die Kombinationen Ctrl-X beziehungsweise Ctrl-Y wird alles bis zur beziehungsweise ab der Cursorposition gel{CBM-C}scht. Um eine komplette Zeile zu l{CBM-C}schen, wird Ctrl-Z eingegeben. Bei allen L{CBM-C}schfunktionen bleibt die Cursorposition unver{CBM-F}ndert.
@{$7d} Von H I G H S C O R D********************************"rf$
H8
{$ee}8G(147);:53280,0:53281,0:646,1
9{CBM-T}250)"Weil Du ueber \ 25000"
19&{CBM-T}50)"Schulden hast , pfaen-
q90{CBM-T}50)"den Deine Glaeubiger"
S9:{CBM-T}50)"das Schiff , und deine"
9d{CBM-T}50)"Reise ist zuende !!!"
9n316
r
A1{CBM-T}49)"--------"
Y1{CBM-T}82)"Gesamt \";gr
{$e2}1101
{$ed}1{CBM-+}g{CBM-R}g{CBM-Q}gr
{$fb}1{CBM-A}g{CBM-W}0{CBM-M}5060
2{SHIFT-@}1880
+2DG(147);:53280,0:53281,0:646,1
j2N{CBM-T}250)"Da Du zuwenig Geld"
I2X{CBM-T}50)"hast , die Rechnung"
2{$e2}{CBM-T}50)"zu bezahlen , musst"
{CBM-+}2{$ec}{CBM-T}50)"Du die Reise been-"
{CBM-O}2{$f6}er Ctrl-9, worauf ein reverses R rechts von der Zeile erscheint. Aufgehoben wird diese Funktion durch erneutes Dr{CBM-X}cken derselben Tastenkombination.
Blockoperationen (Ctrl-C,O,W):
------------------------------
Die Blockoperationen funktionieren nur zeil1){CBM-R}{CBM-J}({CBM-F}(1){CBM-D}16)
Etistar besitzt {CBM-X}ber die bisher beschriebenen Funktionen hinaus noch einen Disk-Befehl (Ctrl-F), ein umfangreiches Help-Men{CBM-X} (Ctrl-H), in dem mit Ctrl-H weitergebl{CBM-F}ttert wird, eine Infon
3({CBM-T}5)"$ H"s2$"E"s2$"R"s2$"Z"s2$"L"s2$"I"s2$"C"s2$"H"s2$"E N $"
{CBM-Q}32{CBM-T}5)"$ enweise. Geben Sie die Nummer der Zeile an, die bearbeitet werden soll, sowie die Nummer der Zeile, die das Ziel der Operation darstellt. Es gibt drei verschiedene M{CBM-C}glichkeiten: Beim Kopieren (mit Ctrl-C oder Stop) wird die entsprechende Zeile kopiert,
{CBM-M} s${CBM-R}" Liverpool"
P6^se${CBM-R}"3"{CBM-M} s${CBM-R}" London"
{$ef}6Hse${CBM-R}"4"{CBM-M} s${CBM-R}" Newcastle"
7Rse${CBM-R}"5"{CBM-M} s${CBM-R}" Southampton"
7{$7c}
,7" "
b7" "
k7670
Q7{CBM-@}G(147);:53280,6:53281,6:646,7
7{CBM-S}" ";ne$;" Schiffahrtsgesellschaft"
T7{CBM-U}seite (Ctrl-I) mit Autorenhinweis, eine komplette Neustartfunktion (Ctrl-N), eine Farbwahl (Ctrl-U) und die M{CBM-C}glichkeit, den hohen Ton an- oder abzustellen (Ctrl-V). Eine vollst{CBM-F}ndige Befehls{CBM-X}bersicht folgt weiter unten.
{CBM-R}4N{CBM-T}44)"und kannst Dich jetallerdings ohne die reversen "R". Weiterhin k{CBM-C}nnen zwei Zeilen vertauscht (Ctrl-W) oder verschoben werden (Ctrl-O). Beim Verschieben wird die Zeile an der urspr{CBM-X}nglichen Position gel{CBM-C}scht.
L{CBM-C}schoperationen (Ctrl-X.Y,Z):
------------------------------
Du"R"s2$"M"s2$"***"
{$e4}"{$f8}101
{$fc}"
{CBM-F}(1){CBM-E}.5{CBM-A}lp{CBM-R}50{CBM-M}3450
#
G(147);
#
{CBM-T}240)
4#
{CBM-T}90)"Ein Sturm ist aufge-"
t#*
{CBM-T}50)"kommen,und wir mues-"
U#4
{CBM-T}50)"sen ueber die Haelfte"
#>
{CBM-T}50)"der Ladung ueber Bord"
{CBM-U}#h
{CBM-T}50)"werfen ! (schade drum)"
{$f9}#r
lp{CBM-R}lp{CBM-N}(a{CBM-Q}{CBM-J}(ur{CBM-X}ck vom Testbildschirm
{CBM-L}. {CBM-T}50)"Du machst mit dem a{CBM-Z}2)){CBM-N}(w{CBM-Q}{CBM-J}(w{CBM-Z}2)){CBM-N}(k{CBM-Q}{CBM-J}(k{CBM-Z}2)){CBM-N}(r{CBM-Q}{CBM-J}(r{CBM-Z}2)){CBM-N}(e{CBM-Q}{CBM-J}(e{CBM-Z}2))
{SHIFT-POUND}&{$7e}{CBM-T}50)"und musst die Reise"
{SHIFT-*}&{CBM-T}50)"beenden !!!"
I--------------------------------
sz Anzahl der Texte
text$(o) Text-Array
bg Background
zs Zeichensatz
Zeit Zeit Lesedauer
zw Zwischenzeit
F1 Farbe Schrift
F2 Farbe Bild
F3 Farbe Rand
So {CBM-F}hn,{CBM-T}240)
{$fc}6{CBM-T}130)"Deine Mannschaft be-"
@{CBM-T}50)"nutzt die Kanone vom"
7j{CBM-T}50)"schwarzen Jack "
@t101
m^G(147);
_H{CBM-F}(1){CBM-E}.3{CBM-M}3000
JR{CBM-T}240)
{$7c}{CBM-T}130)"Die Kanone ist leider"
{CBM-T}50)"kaputt !"
{SHIFT-POUND}101
{CBM-L}G(147);
{SHIFT-*}{CBM-@}ke{CBM-R}0
J{CBM-S}2610
U{CBM-U}Zeichensatz an. Er wird wie im Punkt "Farbe" mit dem Joystick ausgew{CBM-F}hlt. "Zeichensatz-Demo" zeigt mit einer Testschrift alle m{CBM-C}glichen Zeichens{CBM-F}tze. Zur Auswahl stehen Normal, DIN, Outline und Altenglisch. Men{CBM-X} verlassen f{CBM-X}hrt zur{CBM-X}ck zum Men{CBM-X} "Effekte".Schrift-Farbe
Bild-Farbe
Rand-Farbe
Nach Auswahl der Farbe kann sie durch Druck auf den Feuerknopf gewechselt werden. Durch Bewegen des Joysticks nach unten k{CBM-C}nnen die anderen Farben gew{CBM-F}hlt werden. Der letzte Men{CBM-X}punkt schlie{CBM-V}t die Farbauswahl ab, Punkt gelangt man wieder in das Men{CBM-X} "Effekte".
6.0 Disk
---------
Er{CBM-C}ffnet ein neues Men{CBM-X} mit zwei weiteren Punkten.
6.1 Disk-Operationen
---------------------
Dieser Men{CBM-X}punkt bedarf keiner ausf{CBM-X}hrlichen Erkl{CBM-F}rung. Mit "Directory" wird der Inhalt dne ein- beziehungsweise ausgeblendet. Hierbei hat aus dem Men{CBM-X} "Farbe" nur die eingestellte Randfarbe G{CBM-X}ltigkeit. Text- und Bildfarbe liegen fest.
4.2 Schrift langsam aufbauen
-----------------------------
Dieser Effekt zeigt die Texte in einzelnen Buc
des Feuerknopfes erfolgt der Ausdruck.
7.0 Ende
---------
Im letzten Men{CBM-X}punkt kann das Programm nach einer Sicherheitsabfrage verlassen werden.
Die Einsprung-Adressen der Routinen sind aus dem Programm-Listing ersichtlich. Das Programm TBG/GVF ist das----------------------
10 Hauptmen{CBM-X}
300 Info
800 Men{CBM-X}-Farben {CBM-F}ndern
1000 Uprg. Schrift-Farbe {CBM-F}ndern
1050 Uprg. Bild-Farbe {CBM-F}ndern
1090 Uprg. Rand-Farbe {CBM-F}ndern
1300 Text-Eingabe
1800 Men{CBM-X}-Effekte
2300 Men{CBM-X}-Disk
2800 Ende-
4.6 Men{CBM-X} Backgrounds
---------------------
Die Auswahl der Backgrounds erfolgt wie beim Men{CBM-X} "Zeichens{CBM-F}tze". Die zur Verf{CBM-X}gung stehenden Backgrounds sind Sternenhimmel, Wellenschrift und Spectralbalken. Auch hier werden bei der Demo alle Backgrounds d
und das Programm kehrt zum Hauptmen{CBM-X} zur{CBM-X}ck.
3.0 Text
---------
Zuerst wird gefragt, wie viele Texte erstellt werden sollen. Dann erfolgt die Eingabe der Texte, die nicht l{CBM-F}nger als 36 Zeichen lang sein d{CBM-X}rfen. Das Programm weist bei Falscheingabe daraer eingelegten Diskette angezeigt, und "Formatieren" erstellt nach Eingabe des Diskettennamens eine neue Arbeitsdiskette.
6.2 Video-Operationen
----------------------
Das vorletzte Men{CBM-X} er{CBM-C}ffnet die Videodatei-Bearbeitung. Die ersten drei Punkte erkl{CBM-F}rhstaben. Sie werden nebeneinander nach rechts aufgebaut.
4.3 Schrift feststehend
------------------------
Hier werden die Texte nacheinander angezeigt und nach einer eingestellten Zeit wieder gel{CBM-C}scht.
4.4 Schrift nach unten
-----------------------
I Lade-Programm. Mit dem Befehl RUN"TGB*" wird der Lader geladen und gestartet. Nach kurzer Zeit erscheint das Titelbild. Nach Druck auf eine beliebige Taste wird das Hauptprogramm A geladen und gestartet. Der Hauptbildschirm baut sich nach kurzer Zeit miProgramm verlassen
3000 Men{CBM-X}-Zeit einstellen
3080 Ein- und Ausblenden
3300 Schrift feststehend
3500 Schrift langsam aufbauen
3800 Schrift nach unten
7000 Rahmen-Daten
7100 Rahmen zeichnen
7300 Video-Operationen
7550 Daten ladenurchlaufen. Die 0 bedeutet ohne Background.
4.7 Men{CBM-X} verlassen
-------------------
F{CBM-X}hrt zur{CBM-X}ck zum Hauptmen{CBM-X}.
5.0 Zeit einstellen
--------------------
Um die Video-Vorsp{CBM-F}nne sehen zu k{CBM-C}nnen, m{CBM-X}ssen folgende Zeiten eingestellt werden: Die Aufbauzeit uf hin. Ist der letzte Text eingegeben und mit Return abgeschlossen, geht es zur{CBM-X}ck zum Hauptmen{CBM-X}.
Hinweis:
Um weitere Fehlermeldungen bei der Texteingabe zu vermeiden, sollte auf Zeichen wie Punkt, Komma, Semikolon und Doppelpunkt verzichtet werden.
4en sich selbst. Die Besonderheit ist, da{CBM-V} die Videodatei-namen und der Diskettenname in einem Fenster angezeigt werden. Eine Datei kann nun mit dem Joystick und Druck auf den Feuerknopf ausgew{CBM-F}hlt werden.
Bei Anwahl des Punktes "Liste drucken" erscheint
m letzten Effekt wird der Text durch Aufbau von einzelnen Buchstaben von oben zur Mitte des Bildschirmes angezeigt.
4.5 Men{CBM-X} Zeichens{CBM-F}tze
----------------------
Das Untermen{CBM-X} ist f{CBM-X}r die vier Zeichens{CBM-F}tze zust{CBM-F}ndig. Der erste Punkt w{CBM-F}hlt den aktuellen t dem Hauptmen{CBM-X} auf, und die Arbeit kann beginnen.
Noch ein Tip:
Auf einer Arbeitsdiskette sollten sich alle Files bis auf A und TGB/GVF.. befinden, um Fehlermeldungen des Programmes zu vermeiden.
Hartmut Jathe
Zeilennummern der Unterroutinen
---------
7650 Daten speichern
8000 Disk-Operationen
8300 Directory
8400 Formatieren
9100 Zeit einstellen-Aufbauzeit
9200 Zwischenzeit einstellen
9300 Window f{CBM-X}r Test
9400 DIN-Zeichensatz an/aus
9500 Zusatz-Zeichens{CBM-F}tze an/aus
9600 Zbezieht sich auf den Textaufbau. Die Lesezeit ist die Standzeit des Textes auf dem Bildschirm.
Der Men{CBM-X}punkt "Test" zeigt das erstellte Video mit allen Parametern. Zum Starten und Beenden der Testphase mu{CBM-V} der Feuerknopf gedr{CBM-X}ckt werden. Mit dem letzten .0 Effekt
-----------
Dieses Men{CBM-X} bildet das Kernst{CBM-X}ck des TBG. Hier befinden sich die Effekte, das Zeichensatz- und das Background-Men{CBM-X}.
4.1 Ein- und Ausblenden
------------------------
Die vorher erstellten Texte werden {CBM-X}ber die verschiedenen Graut{CBM-C}eine Auswahltafel.
6.3 Video-Daten drucken
------------------------
Nach Abfrage, ob die Liste mit oder ohne Daten gedruckt werden soll, werden die Daten von Diskette eingelesen. Dann erscheint die Aufforderung, den Drucker einzuschalten. Nach Dr{CBM-X}cken Skyfox
Rettungsaktion im Labyrinth
Etwas Geschick und Fingerspitzengef{CBM-X}hl ben{CBM-C}tigen Sie bei diesem Spiel. Es gilt, ein Flugzeug durch f{CBM-X}nf Levels zu man{CBM-C}vrieren, um einen waghalsigen Wanderer aus einem t{CBM-X}ckischen Labyrinth zu befrei Decke
oder den Boden ber{CBM-X}hrt,
c) der Skyfox das st{CBM-F}ndig auf- und
zugehende Tor ber{CBM-X}hrt,
d) der Skyfox mit einer Rakete oder
einem Felsbrocken kollidiert.
Die Anzahl der Skyfox-Flugzeuge sieht man im Feld "Lives" unter dem Feld "Score".
Der t dem Flugzeug den Wandersmann zu retten, hilfeheischend mit den Armen "wedelt". Dazu gen{CBM-X}gt eine einfache Ber{CBM-X}hrung mit dem Skyfox. Allerdings d{CBM-X}rfen Sie nichts anderes ber{CBM-X}hren, da das Flugzeug sonst explodiert.
Ist die Rettungsaktion gegl{CBM-X}ckt, bekommeegl{CBM-X}ckt ist, explodiert der Skyfox, und ein "Leben" ist verloren.
In den Bildern des Spiels hat der Bonus folgende Werte:
Bildnr. Bonuswert
-------------------
1 100
2 200
3 100
4 700
5 200
Im er
wesentliche Bedeutung.
M{CBM-C}chte man das Spiel unterbrechen, dr{CBM-X}ckt man einfach kurz (!) die RUN/STOP-Taste. Ein weiterer Druck auf dieselbe Taste startet das Programm wieder.
Punkte:
-------
Der Spieler bekommt w{CBM-F}hrend des Spiels st{CBM-F}ndig einen Punkt zu s Titelbild-Generator C128
M{CBM-C}glichkeit oder Utopie?
Der Titelbildgenerator, kurz TBG, ist ein Programm, mit dem Sie Ihren eigenen Videovorspann erzeugen k{CBM-C}nnen. Es bietet neben vier verschiedenen Effekten Zeichens{CBM-F}tze und drei Backgrounds, also en.
Das Spiel "Skyfox" wurde f{CBM-X}r den C64 geschrieben und ist kein Ballerspiel, obwohl der Name darauf schlie{CBM-V}en l{CBM-F}{CBM-V}t. Es wird mit dem Joystick gesteuert und wurde f{CBM-X}r den Ein-Spieler-Modus konzipiert.
Laden von Skyfox:
-----------------
Zum Laden geben
Level:
----------
Im Feld "Level" (unter dem Feld "Lives") sieht man den aktuellen Spielelevel in Form einer einstelligen Zahl. Befindet sich der Spieler im ersten Bild, so zeigt der Level die Zahl "1". Befindet man sich im zweiten Bild, erscheint die Zan Sie einen Bonus von 1000 Punkten. Nach einer kurzen Wartezeit werden Sie dann in den zweiten Level versetzt, in dem Sie wieder - wie bei allen anderen Levels auch - den Wanderer befreien m{CBM-X}ssen.
Steuerung von Skyfox:
---------------------
Gespielt wirsten Bild ist der Bonus sehr knapp bemessen, so da{CBM-V} Anf{CBM-F}nger ihre Schwierigkeiten haben werden, diesen Level zu schaffen. Doch nach einiger Zeit bekommt man {SHIFT--}bung.
Ende des Spiels:
----------------
Das Spiel ist zu Ende, wenn alle "Leben" verbraucht sineiner Gesamtpunktzahl addiert. Hat er einen Level geschafft, erh{CBM-F}lt er einen Bonus von 1000 Punkten. Die Gesamtpunktzahl wird im obersten rechten Feld unter der Schrift "Score" angezeigt.
Anzahl der Flugzeuge ("Leben"):
-------------------------------
ZHintergrundeffekte.
Das, was mit den gro{CBM-V}en Br{CBM-X}dern Amiga 500 und 2000 m{CBM-C}glich ist, die Erzeugung von Videovorsp{CBM-F}nnen, ist jetzt auch mit dem C128 realisierbar. Das Programm TBG ist voll men{CBM-X}gesteuert und wird, bis auf die Texteingabe, ausschlie{CBM-V}lich mi Sie LOAD"SKYFOX",8 ein. Nach einer kurzen Wartezeit starten Sie das Programm mit RUN.
Skyfox l{CBM-F}dt jetzt die Programme PCTR.LVL, INIT.HLP, MAIN.MAP und HELP.HLP automatisch nach und startet das Hauptprogramm nach dem Laden.
Starten von Skyfox:
---------hl "2" und so weiter.
Insgesamt gibt es f{CBM-X}nf verschiedene Levels, also f{CBM-X}nf Bilder.
Der Spieler kommt automatisch in den n{CBM-F}chsten Level, wenn er den unvorsichtigen Ausfl{CBM-X}gler ber{CBM-X}hrt hat. Hat er den f{CBM-X}nften Level geschafft, f{CBM-F}ngt das Spiel nach kurzer Wad mit einem Joystick in Port 2. Der Skyfox kann in alle acht Richtungen gesteuert werden. Er "f{CBM-F}llt" in allen Bildern bei Ruhestellung des Joysticks nach unten. Diese "Erdanziehungskraft"l{CBM-F}{CBM-V}t sich beschleunigen, indem man den Stick nach unten (oder unten
{CBM-I}d. Man sieht dann den Schriftzug "Game Over!" mit der aktuellen Punktzahl. M{CBM-C}chte man zur{CBM-X}ck ins Titelbild, dr{CBM-X}ckt man einfach eine beliebige Taste der Tastatur.-
1 100
2 200
3 100
4 700
5 200
Im eru Beginn des Spiels hat man f{CBM-X}nf "Leben" (f{CBM-X}nf Skyfox-Flugzeuge). Sind diese Leben verbraucht, ist das Spiel zu Ende.
Jeweils ein Flugzeug verliert der Spieler, wenn
a) der herabz{CBM-F}hlende Bonus die
Zahl "000" erreicht hat,
b) der Skyfox die Wand, diet dem Joystick in Port 2 bedient.
Vom Hauptmen{CBM-X} aus k{CBM-C}nnen Sie folgende Men{CBM-X}punkte erreichen:
1.0 Info
---------
Hier werden der Programmautor und die Versionsnummer angezeigt.
2.0 Farbe
----------
Es erfolgt die Auswahl der
verschiedenen Farben:
----------
Wenn Sie im Titelbild die Feuertaste des Joysticks (Port 2) dr{CBM-X}cken, beginnt das Spiel. Auf dem Bildschirm erscheint die Schrift "Get Ready!", die nach kurzer Zeit verschwindet. Sie sehen nun das erste von f{CBM-X}nf Bildern.
Ihre Aufgabe ist es, mirtezeit und Gratulation wieder von vorne an.
Der Bonus:
----------
Im untersten rechten Feld steht "Bonus". Darunter befindet sich eine dreistellige Zahl, die mehr oder weniger schnell "abl{CBM-F}uft". Hat die Zahl den Wert "000" erreicht, bevor die Rettung g links oder unten rechts) zieht. Durch Druck auf den Feuerknopf springt der Computer zur "Erdanziehungsroutine", das bedeutet, da{CBM-V} der Skyfox wie bei der Ruhestellung des Joysticks langsam nach unten f{CBM-F}llt. Der Feuerknopf hat somit f{CBM-X}r dieses Spiel keine-----------------
"tR"bitte geben sie die funktion ein. y = "
2t{$7c}{$fe} 3,3,32,8
rt eingabefenster definieren
At e$"m"e$;
{CBM-@}t input-fragezeichen und aufrollen verhindern
{CBM-Z}t a$
{CBM-V}t{CBM-@}{$fe} 0,0,39,24
{CBM--}t{SHIFT-POUND}" eingebefenster l koordinatensystem zeichnen --------------------------
~VeVeV{SHIFT-+}O{SHIFT-+}OO;;O;;{SHIFT-+}VeVeV{SHIFT-+}O{SHIFT-+}OO;;O;;{SHIFT-+}VeVeV{SHIFT-+}O{SHIFT-+}OO;;O;;{SHIFT-+}VeVeV{SHIFT-+}O{SHIFT-+}OO;;O;;{SHIFT-+}VeVeV{SHIFT-+}O{SHIFT-+}OO;;O;;{SHIFT-+}VeVeV{SHIFT-+}O{SHIFT-+}OO;;O;;{SHIFT-+}VeVeV{SHIFT-+}O{SHIFT-+}OO;;O;;{SHIFT-+}VeV(0 bis 360 grad)"
Jetzt k{CBM-C}nnen Sie 17 & 4 gegen Ihren C64 spielen und es ihm so richtig zeigen. Schlie{CBM-V}lich hat er Sie auch schon ge{CBM-F}rgert, stimmt's?
Bei 17&4 sind folgende Karten im Spiel: die Zahlenkarten von 2 bis 9 sowieaetzlich
{$fe}B{$e3}"wird ihr einsatz verdoppelt.
$L{$e3}" verstanden? (j/n)"
:V{$e3}{CBM-K} a$:a${CBM-R}""{CBM-M}58230
h{$e3}a${CBM-R}"j"{CBM-M}
[{$e3} a${CBM-R}"n"{CBM-M}58000
F{$e3}58230
{$f6} 169,0,141,32,208,141,33,208,141,0,4,141,1,4
E"{$f6} 141,2,4,169,149,141,0,221,169,5,141,24
{$ee},{$f6} 208,
ils
L{$e2}"zehn punkte, as 11 punkte, aber wenn 21
5V{$e2}"ueberschritten werden, nur 1 punkt.
D{SHIFT-+}{$e2}"die zahlen zaehlen ihren eigenwert. wer
{$e2}"die hoechste punktezahl (max.21!) er-
{CBM-Y}{$ea}{$e2}"reicht (c64 oder sie), gewinnt.
X{$f4}{$e2}" verstanden (j/n--------------------
Sie haben die M{CBM-C}glichkeit, zus{CBM-F}tzlich zu den beiden Karten, die Sie erhalten, eine weitere zu ordern. Sie m{CBM-X}ssen die Frage nur mit "J" beantworten. Tippen Sie "D" ein, bekommen Sie sogar zwei. Sinnvoll ist das nicht immer. Die H{CBM-C}chst{$f7}t{$f7}tU~tt{$f7}t
^~^~h{CBM-*}{CBM-*}]^~~~h~h{$fd}~\~h~h{$fd}~^~h~h~~__~h~h Bube, Dame, K{CBM-C}nig, As. Bube, Dame und K{CBM-C}nig z{CBM-F}hlen zehn, die Asse elf Punkte. Wer als erster die H{CBM-C}chstpunktzahl erreicht (egal, ob Sie oder Ihr C64 wobei wir nat{CBM-X}rlich Ihnen die Daumen dr{CBM-X}cken), hat gewonnen. Doch ganz so einfach, wie es sich anh{CBM-C}rt, i
_169,128,141,136,2,133,56,96,96
6{$f6}i{CBM-R}50000{CBM-@}50035:a:i,a:
$ j{$f6}50000:G(147):G(5)
* t{$f6}
N die frage, ob sie noch eine
{$7d}d{$e3}"karte wollen, statt mit 'j' wie ja mit
{CBM-D}n{$e3}"'d' wie doppelt beantworten, dann erhal-
{SHIFT-+}x{$e3}"ten sie eine weitere karte, zus)"
{$ed}{$fa}{$e2}{CBM-K}a$:a${CBM-R}""{CBM-M}58106
~{$fb}{$e2}a${CBM-R}"j"{CBM-M}58110
{$fc}{$e2}58000
:{$fe}{$e2}"sie erhalten zwei karten und koennen so-
H{$e3}"viele nachziehen wie sie wollen, aber
{$e3}"sie duerfen 21 punkte nicht ueberschrei
H{$e3}"ten, sonst verlieren sie. gleiches gilt
{$f6}&{$e3}"fuer tpunktzahl ist schnell {CBM-X}berschritten, und dann ist's Essig mit dem gro{CBM-V}en Geld.
Sie k{CBM-C}nnen einen Einsatz bis zum Limit von 25.000 Mark wagen. Nach Programmende wird Ihr Kontostand mit einem entsprechenden Kommentar eingeblendet. Viel Spa{CBM-V} beim Spielen, jE@{$f7}@{$f7}@E~@@{$f7}@
Mit dem Composer entworfene Musikst{CBM-X}cke laufen interruptgesteuert ab und k{CBM-C}nnen deshalb als Hintergrundmusik ganz einfach in eigene Programme eingebunden werden.
Manche M{CBM-C}glichkeiten des C64 werdst es nicht: Es sollten maximal 21 Punkte sein, denn bei jedem Wert dar{CBM-X}ber haben Sie Ihren gesamten Einsatz, nach dem Sie vor Spielbeginn gefragt werden, verloren.
---------------------------------------
H{CBM-C}chstens 21 Punkte
-------------------en von vielen nicht genutzt, da sie nicht einfach zu programmieren sind. Neben den grafischen F{CBM-F}higkeiten meinen wir in diesem Fall die Sound- und Musikbefehle. Ohne PEEKs und POKEs geht da leider nicht viel, ganz zu schweigen von der richtigen Auswahl dden c64. wenn sie das spiel been-
#0{$e3}"den wollen, setzen sie bitte null dm!
o:{$e3}"wenn sie die frage, ob sie noch eine
{$7d}d{$e3}"karte wollen, statt mit 'j' wie ja mit
{CBM-D}n{$e3}"'d' wie doppelt beantworten, dann erhal-
{SHIFT-+}x{$e3}"ten sie eine weitere karte, zus
Vund wenn's nicht geklappt hat, keine Sorge: Uns ist kein C64 bekannt, der seine Forderungen jemals eingetrieben hat.
rdern. Sie m{CBM-X}ssen die Frage nur mit "J" beantworten. Tippen Sie "D" ein, bekommen Sie sogar zwei. Sinnvoll ist das nicht immer. Die H{CBM-C}chsen" gew{CBM-F}hlt, so l{CBM-F}{CBM-V}t sich eines der beiden Musikst{CBM-X}cke, die sich ebenfalls auf der Diskette befinden, in den C64 holen. (Es sind die Demofiles "Silent Running" und "Wishing".) Geben Sie nur das Dollarzeichen ($) ein, so wird das Inhaltsverzeichnis Ihrer 55 Achtelnoten zur Verf{CBM-X}gung des "Komponisten" (das entspricht bei einem 4/4-Takt genau 32 Takten).
So entstandene Melodien lassen sich problemlos auf Diskette speichern und wieder laden.
Einfache Handhabung des gesamten Programms durch Window-er Notenwerte laut Handbuch.
Mit dem Programm "Composer" ist das jetzt vorbei. Sie k{CBM-C}nnen damit dreistimmige Musikst{CBM-X}cke erstellen und sie dann interruptgesteuert zu Ihren eigenen Programmen laufen lassen oder sie sich einfach nur anh{CBM-C}ren. Interruptgesth vorne springen, (wenn Sie die Taste "N" dr{CBM-X}cken), h{CBM-F}ngt von der Dauer ab. Ist hier zum Beispiel "1/2" eingestellt, so springt die Anzeige um vier Achtelnoten auf Note Nummer 5, bei einem Wert f{CBM-X}r eine Dauer von "3/4" auf Note Nummer 7. So k{CBM-C}nnen jeweil
, das Ihnen weitere Hinweise zu dieser Funktion gibt.
Das Programm arbeitet mit Achtelnoten und hat die einzelnen Werte auf den Funktionstasten liegen, so da{CBM-V} diese zur Eingabe der Notenwerte verwendet werden sollten: F1 = ein Achtel, F2 = zwei Achtel unge: 1/4.
Die Meldung "Note Nr." zeigt an, bei welcher Achtelnote Sie sich gerade befinden. Wollen Sie einen Takt, der aus acht Achtelnoten besteht, eingeben, so sind Sie danach bei der neunten Achtelnote angelangt. Zur sp{CBM-F}teren {SHIFT--}berpr{CBM-X}fung, ob Sie beispDiskette auf dem Bildschirm gezeigt (Directory). Beim Auswahlpunkt "Neue Melodie eingeben" gilt es, die Anzahl der Achtelnoten anzugeben, ebenso beim Editieren der Noten. Die Nummer der zu {CBM-F}ndernden Note k{CBM-C}nnen Sie ausrechnen oder sich {CBM-X}ber den Men{CBM-X}punkt
Technik und Men{CBM-X}-Steuerung.
Die selbsterstellten Melodien ben{CBM-C}tigen nur wenig Speicherplatz, und zwar in dem von BASIC nicht genutzten Bereich von $C000 (49152) bis $CD14 (52500).
Alle Musikfiles laufen auch ohne das Hauptprogramm und werden mieuert hei{CBM-V}t, da{CBM-V} der Computer neben dem Abspielen der Musik noch andere Dinge erledigen kann (wie Sie wissen, ist das in BASIC normalerweise nicht m{CBM-C}glich).
Hier kurz die F{CBM-F}higkeiten des Programms:
Die erstellten Melodien laufen auch ohne das Hauptps bis zu acht Achtelnoten {CBM-X}bersprungen werden.
Bevor Sie den Men{CBM-X}punkt 9, "Ausdrucken", w{CBM-F}hlen, sollten Sie sicherstellen, da{CBM-V} der Drucker auch eingeschaltet ist. Da auf Escape-Sequenzen, (die sich nicht bei allen Druckern gleich auswirken), verzichtet wd so weiter bis F8.
---------------------------------------
Werte auf Funktionstasten
---------------------------------------
Hierzu ein Beispiel, um einen Takt f{CBM-X}r das Programm Composer umzusetzen:
1. Note C - Oktave: zwischen 1 und 8 (no rmalielsweise in Takt neun einen Fehler gemacht haben, w{CBM-F}hlen Sie den Punkt "Noten zeigen" und geben den Bereich der zu {CBM-X}berpr{CBM-X}fenden Achtelnoten ein. Der errechnet sich nach der Formel: 8 * (Takt-1) + 1, also bei Takt neun w{CBM-F}ren das die Noten 49 bis 56. Sie "Noten zeigen" ausgeben lassen.
Beispiel: Sie wollen Note Nummer 15 {CBM-F}ndern. Also w{CBM-F}hlen Sie Men{CBM-X}punkt 7 ("Neue Melodie eingeben") und teilen dem Computer die Anzahl der Achtelnoten mit. Nun zeigt die Anzeige Note Nummer 1. Um wieviel Achtelnoten Sie nac
t LOAD"(Name der Melodie)",8,1 geladen und mit der Anweisung SYS 52000 gestartet.
---------------------------------------
Einfache Handhabung
---------------------------------------
Hinweise zur Bedienung: Haben Sie im Hauptmen{CBM-X} den Punkt "Ladrogramm und k{CBM-C}nnen problemlos in eigene Programme eingebaut werden.
Alle Register des SID (Musik-Chip im C64) lassen sich ver{CBM-F}ndern, ebenso die Geschwindigkeit und die Lautst{CBM-F}rke, allerdings nicht die Filtereinstellung.
F{CBM-X}r jede Stimme stehen 2urde, m{CBM-X}{CBM-V}te das Programm mit nahezu allen bekannten Druckertypen zusammenarbeiten. Je nach L{CBM-F}nge des Musikst{CBM-X}ckes nimmt der Ausdruck nat{CBM-X}rlich eine gewisse Zeit in Anspruch. Zum jeweils von Ihnen gew{CBM-F}hlten Men{CBM-X}punkt wird ein Fenster (Window) eingeblendet 4).
L{CBM-F}nge: 1/4 (entspricht zwei Achtelnot en), ben{CBM-X}tzen Sie bitte die Funktions tasten F1 bis F8.
2. Note C - Oktave: siehe 1.
L{CBM-F}nge: 1/8.
3. Note A - Oktave: eine niedriger als i n 1. und 2.
L{CBM-F}nge: 3/8.
4. Note C - Oktave: wie 1.
L{CBM-F}n sehen, ein wenig sollte man schon von Musik verstehen ...
Wenn Sie ein Musik-File innerhalb eines eigenen Programms laden und starten wollen, benutzen Sie bitte folgende Zeile (mit Zeilennummer davor): SYS (57812) "(Name)<169>,8,1: POKE 780,0: SYS 65493
Das ebenfalls auf der Diskette vorhandene Maschinenprogramm COMP MC wird vom Composer-Hauptprogramm nachgeladen und ist f{CBM-X}r sich allein nicht lauff{CBM-F}hig.
nach der Formel: 8 * (Takt-1) + 1, also bei Takt neun w{CBM-F}ren das die Noten 49 bis 56. Sie~@~p~t~t~t~p~p~p{CBM-*}t~p{CBM-*}t{CBM-*}tj~p{CBM-*}@{CBM-*}x{CBM-*}h{SHIFT-+}@{CBM-*}p{CBM-*}x{SHIFT-+}ht{CBM-*}b{CBM-*}h{SHIFT-+}X@{CBM-*}@{CBM-*}@{CBM-*}hp{CBM-*}@{SHIFT-+}x{CBM-*}h@{CBM-*}@{CBM-*}{$fd}{CBM-*}hp{CBM-*}@{CBM-*}~{CBM-*}xp{CBM-*}@{CBM-*}h{CBM-*}x@
[{CBM-@}{$e7}============================t in konventionellem BASIC-Programmierstil, eines nach dem anderen. Hier h{CBM-F}tte eine professionellere Fileauswahl zwar f{CBM-X}r mehr Komfort sorgen k{CBM-C}nnen. So aber ist das Programm {CBM-X}bersichtlicher und daher besonders gut nachzuverfolgen. Der Programmierstil unhreibschutzes sowohl f{CBM-X}r die ganze Diskette als auch f{CBM-X}r einzelne Files. Weiterhin k{CBM-C}nnen Filetypen umbenannt, zus{CBM-F}tzliche Directoryeintr{CBM-F}ge geschaffen sowie der Diskettenname und die ID umge{CBM-F}ndert werden. Au{CBM-V}erdem lassen sich nat{CBM-X}rlich s{CBM-F}mtliche Floppyb
e{CBM-R}1 {CBM-M}
Qr{$f3} ,2,11: " "
\{$f3} ,2,11: vi$(c)
F{$f3} 62240
{CBM-L}{$f6}===============================
N"{$f6} programm saven
{$f3},{$f6}===============================
6{$f6}pn${CBM-R}"a": 15,8,15
c;{$f6} G(14):" Das Programm A.BACKUP wird geloescht."
0{$f2}===============================
1{$f2} disknamen einlesen
{CBM-P}2{$f2}===============================
Q3{$f2} ,2,11," "
{$e1}:{$f2}li{CBM-R}1:{$fe} 1,0
{$fe}d{$f2} 1,8,15,"i": 2,8,2,"#"
n{$f2}1,"u1 2 0 18 0"
&x{$f2}1,"b-p 2 144"
1B{$f2}dn${CBM-R}""
vL{$f2} i{CBM-R}1 {CBM-@} 20:{CBM-K}#2,a$:dn): ,16,20,"D I N"
{$e8} zs{CBM-R}1 {CBM-M} zs$d die Gliederung in kurze, {CBM-X}berschau bare Routinen machen das Programm besonders f{CBM-X}r denjenigen als Studienobjekt interessant, der selbst programmiert und gerne wissen m{CBM-C}chte, wie sich solche {SHIFT-+}nderungen im Directory realisieren lassen. Daher wird im folgefehle eingeben.
Das Programm ist einfach und klar geschrieben. Die Auswahl der einzelnen Optionen erfolgt {CBM-X}ber ein Men{CBM-X} durch Bet{CBM-F}tigung der Funktionstasten. Die Handhabung ist einfach. Die Auswahl einzelner Files, etwa zum Umbennen des Filetyps, erfolg
{$e6}_@{$f6}15,"s0:"{CBM-N}pn${CBM-N}".backup"
e{$f6}" Das Programm A wird in A.BACKUP umbenannt."
t4096,cpv1.1t. Diese Kanalnummer ist nicht die logische Ger{CBM-F}teadresse, sondern entspricht der Sekund{CBM-F}radresse, die beim Befehl OPEN8,8,8,"#" verwendet wurde. Dies wird hier im Programm nicht ganz deutlich. Ein solcher Pufferspeicher braucht vom Computer nicht als gaBuchstaben A, der das richtige Format f{CBM-X}r unsere Diskettenstation kennzeichnet. Wenn dieser Buchstabe durch einen anderen ausgetauscht wird, etwa durch X, verweigert die Diskettenstation Schreibzugriffe auf die Diskette. Zum direkten Lesen und Beschreibel stattgefunden hat, besonders wenn die ID dieser Diskette dieselbe ist, sorgt der Initialize-Befehl OPEN15,8,15,"I" daf{CBM-X}r, da{CBM-V} die BAM der neuen Diskette auch wirklich in den BAM-Pufferspeicher der Diskettenstation gelangt.
F{CBM-X}r {SHIFT-+}nderungen des Directorie
2: Diskettenschreibschutz aufheben
F3: Schreibschutz f{CBM-X}r einzelne Files
setzen und l{CBM-C}schen
F4: Floppybefehle eingeben
F5: Filetyp festlegen. Es kann zwischen
PRG, REL, SEQ, DEL und USR gew{CBM-F}hlt
werden
F6: File offen/geschlossen (Leseschutznitialize-Befehl in Zeile 900 sorgt daf{CBM-X}r, da{CBM-V} die BAM neu eingelesen wird und dadurch der Schreibschutz sogleich wirksam ist. Die beiden ge{CBM-C}ffneten Kan{CBM-F}le sind jetzt nur noch zu schlie{CBM-V}en, und das Werk ist vollbracht. Das Aufheben des Diskettenschreibscmc,"syscon64"
nzes gelesen oder beschrieben werden, es kann der Zugriff auch auf einzelne Bytes darin erfolgen. Das geschieht mit Hilfe eines Pufferzeigers, der mit dem Befehl B-P nach Belieben positioniert werden kann.
In Zeile 870 wird der Pufferzeiger von Datenkanan von Diskettenbl{CBM-C}cken mu{CBM-V} die Information erst in einen Pufferspeicher der Diskettenstation gebracht werden, bevor sie vom Computer eingelesen oder auf die Diskette geschrieben werden kann.
User-Befehle U1 und U2:
-----------------------
Das Lesen und s gibt es keinerlei spezielle Befehle, so da{CBM-V} mit Direktzugriffen auf Spuren und Sektoren gearbeitet werden mu{CBM-V}. Bevor dies geschehen kann, ist ein Datenkanal f{CBM-X}r den Direktzugriff zu {CBM-C}ffnen. Das erfolgt hier durch OPEN8,8,8,"#". Angaben {CBM-X}ber das Diskett)
F7: ID {CBM-F}ndern. Bis zu f{CBM-X}nf Buchstaben
sind m{CBM-C}glich
F8: Disknamen {CBM-F}ndern
In den Zeilen 90 bis 195 erfolgt die Ausgabe des Men{CBM-X}s auf den Bildschirm. Daran schlie{CBM-V}en sich in den Zeilen 200 bis 220 die Tastaturabfrage und die Tastenauswertung an. Dehutzes vollzieht sich analog zum Set zen. Allerdings gibt es dabei eine Schwierigkeit. Da die Diskette schreibgesch{CBM-X}tzt ist, kann das ver{CBM-F}nderte Formatbyte nicht so einfach wieder durch den richtigen Wert ersetzt werden. Um dies dennoch bewerkstelligen z
t4096,cpv1.1l 8 auf Byte Nummer zwei gesetzt. In Zeile 880 wird dieses Byte mit dem Buchstaben X f{CBM-X}r falsches Format {CBM-X}berschrieben. Danach braucht in Zeile 890 der Pufferinhalt nurmehr auf die Diskette in Spur 18 und Sektor 0 zur{CBM-X}ck geschrieben werden. Der erneute ISchreiben von der Diskette in den Pufferspeicher geschieht mit dem User-Befehl U1, das Schreiben des Pufferspeichers auf die Diskette mit dem User-Befehl U2. In Zeile 860 wird Spur 18, Sektor 0 von Laufwerk 0 in den Pufferspeicher f{CBM-X}r den Kanal 8 gebrachenformat, Diskettennamen und ID sowie die BAM-Belegungtabelle finden sich in Spur 18 Sektor 0.
F{CBM-X}r das Schreibsch{CBM-X}tzen einer Diskette ist besonders das Byte Nummer zwei aus diesem Sektor interessant. Normaler weise handelt es sich bei diesem Byte um den r Ansprung der gew{CBM-F}hlten Option erfolgt {CBM-X}ber eine Sprungleiste in Zeile 220.
Diskette schreibsch{CBM-X}tzen:
-------------------------
Die Routine dazu befindet sich in den Programmzeilen 850 bis 910. F{CBM-X}r den Fall, da{CBM-V}, was anzunehmen ist, ein Diskettenwechseu k{CBM-C}nnen, m{CBM-X}ssen wir wissen, da{CBM-V} eine ganz bestimmte Speicherzelle im RAM der Diskettenstation 1541 das Formatkennzeichen enth{CBM-F}lt. Bevor die Diskette wieder berichtigt werden kann, mu{CBM-V} erst in die Speicherstelle $101 die richtige Formatkennung A oder chrZeilen 460 bis 610 wieder zur{CBM-X}ckgeschrieben. Eine Information ist noch wichtig, damit wir die Filenamen am Bildschirm anzeigen k{CBM-C}nnen: Der Dateiname steckt in den Bytes drei bis 18, das hei{CBM-V}t im vierten bis 19ten Byte der Variablen DD$. Beim Scratchschutist der Abstand, der 32 Bytes betr{CBM-F}gt. Die L{CBM-F}nge eines Eintrages betr{CBM-F}gt 30 Bytes, die beiden restlichen Bytes sind uninteressant.
In den Programmzeilen 380 bis 400 wird der Directoryeintrag in die Variable DD$ eingelesen. F{CBM-X}r das Sch{CBM-X}tzen von Files und chenergebnis m{CBM-X}ssen wir anhand der ersten beiden Verweisbytes die erforderliche Anzahl von Sektoren, deren Reihenfolge beliebig sein kann, nach vorne bl{CBM-F}ttern, bis wir schlie{CBM-V}lich den richtigen Sektor in Zugriff haben. Das wird durch die Schleife von ZeiEintr{CBM-F}ge, jedoch zwei Eintr{CBM-F}ge, die uns sagen, wo das Inhaltsverzeichnis beginnt. Byte Nummer null gibt die Spur an, Byte Nummer eins den Sektor. Die Sektoren des Inhaltsverzeichnisses enthalten in den ersten beiden Bytes ebenfalls einen Zeiger auf die F
$(65) geschrieben werden. Das geschieht durch den Memory-Write-Befehl in Zeile 980. Danach ist das L{CBM-C}schen des Schreibschutzes kein Problem mehr.
{SHIFT-+}nderung von Diskettenname
und Disketten-ID:
--------------------------
Der Diskettenname und die Diskettenle 1560 sollten wir die IF-Anweisung weglassen und nur schreiben: HH$=CHR$(ASC(HH$)AND15). Nicht ordnungsgem{CBM-F}{CBM-V} geschlossene Files k{CBM-C}nnen nicht geladen werden, so da{CBM-V} sie lesegesch{CBM-X}tzt und so vor neugierigen Blicken sicher sind.
Zus{CBM-F}tzlich zu unseren Infoz-Setzen wird in Zeile 1130 mit 64 geodert, beim Schratchschutz-L{CBM-C}schen werden 64 wieder subtrahiert. In der Zeile 1400 wird der Programmtyp addiert. Vorher h{CBM-F}tte er nicht so umst{CBM-F}ndlich zu r{CBM-X}ckgesetzt zu werden brauchen. HI=HI AND 15 h{CBM-F}tte dasselbe voll
das {SHIFT-+}ndern der Filetypen ist das erste Byte oder Byte Nummer null des Eintrages interessant. Ein Wert von 0 bis 127 kennzeichnet eine nicht ordnungsgem{CBM-F}{CBM-V} abgeschlossene Datei, ein Wert von 128 bis 191 eine normal abgeschlossene, h{CBM-C}here Werte eine schreible 350 verursacht.
In diesem Sektor mu{CBM-V} sodann der gew{CBM-X}nschte Direktoryeintrag ausfindig gemacht werden. Hierzu wird der beim Teilen entstandene Rest ben{CBM-C}tigt. Dieser ist mit der L{CBM-F}nge 32 eines Directoryeintrages zu multiplizieren. Au{CBM-V}erdem ist der Wert ortsetzung in den anderen Sektoren. Wenn uns weiterhin bekannt ist, da{CBM-V} ein Directoryeintrag aus 32 Bytes besteht und ein Sektor acht solcher Eintr{CBM-F}ge enth{CBM-F}lt, sollte die Position eines Direktoryeintrages leicht auffindbar sein.
Zuerst mu{CBM-V} der richtige S-ID sind wie die Formatkennung in Spur 18, Sektor 0 vorzufinden. Der Diskettenname ist sechzehn Zeichen lang. Bei k{CBM-X}rzeren Namen wird der Rest mit geshifteten Leerzeichen aufgef{CBM-X}llt. Der Diskettenname belegt die Bytes von Nummer 144 bis 159, die Diskette
rmationen sollten Sie Ihr Floppyhandbuch zu Rate ziehen, da wir im Hinblick auf dieses Buch unsere Ausf{CBM-X}hrungen etwas knapp gehalten haben.im Programm etwas schiefgelaufen zu sein. Statt OR 64 m{CBM-X}{CBM-V}te es in Programmzeile 1540 richtig hei{CBM-V}en: OR 128. In Zeibracht wie die Zeilen 1370 bis 1390.
Beim Verwandeln von ordnungsgem{CBM-F}{CBM-V} abgeschlossenen Files in nicht abgeschlossene und umgekehrt scheint im Programm etwas schiefgelaufen zu sein. Statt OR 64 m{CBM-X}{CBM-V}te es in Programmzeile 1540 richtig hei{CBM-V}en: OR 128. In Zei
- und l{CBM-C}schgesch{CBM-X}tze Datei. Zu diesen Werten 0, 128 oder 192 ist der Dateityp zu addieren:
0 = DEL
1 = SEQ
2 = PRG
3 = USR
4 = REL
Scratchschutz und Typ{CBM-F}nderungen k{CBM-C}nnen somit bewerkstelligt werden. Nach den {SHIFT-+}nderungen wird der Directoryeintrag in den Zwei zu addieren, da die Eintr{CBM-F}ge erst nach den beiden Verweisbytes beginnen. Die Positionierung des Pufferzeigers erfolgt in Zeile 370.
Auch wenn wir vorher gesagt haben, die L{CBM-F}nge eines Directoryeintrages sei 32 Bytes, so ist dies nur halb richtig. Es ektor gefunden werden. Dies erreichen wir, indem wir die Nummer des Direktoryeintrages um eins erniedrigen und durch acht teilen. Das geschieht in Zeile 280. Danach wird in Zeile 290 der Sektor 0 von Spur 18 in den Puffer gelesen. Entsprechend unserem Ren-ID die Bytes Nummer 162 bis 166. Die beiden Routinen finden Sie im Programm von Zeile 620 bis 810.
Directory-Eintr{CBM-F}ge:
-------------------
Die Eintr{CBM-F}ge des Disketteninhaltsverzeichnisses befinden sich auf der Spur 18. Der Sektor 0 enth{CBM-F}lt dabei keine W{CBM-X}rthele's Expanded BASIC
BASIC-Erweiterung ohne Speicherverlust
Es gibt sehr viele BASIC-Erweiterungen f{CBM-X}r den C 64. Alle bieten neue Befehle, aber fast alle "schlucken" etwas vom Speicherplatz. "W{CBM-X}rthele's Expanded BASIC" bietet jedoch mehr Speeraus starten wollen. "W{CBM-X}rthele's Expanded BASIC" bietet mehr Speicher, als normal f{CBM-X}r das BASIC ben{CBM-C}tigt wird. Zus{CBM-F}tzlich kann ein eigener Zeichensatz und ein Grafikbildschirm verwendet werden, wobei immer noch gen{CBM-X}gend Platz f{CBM-X}r eigene Sprites bleibt. n, sind Demos, die bei Verwendung der BASIC-Erweiterung geladen werden k{CBM-C}nnen. Etwas Besonderes hat die Erweiterung zu bieten. So ist die Integrierung von "No-Border-Sprites" kein Problem. Das mitgelieferte Demo "EB CLOCK SHOW" beweist das sehr anschauli als normalerweise. Erreicht wird dies durch die Bildschirmspeicherverschiebung ins RAM oberhalb der Adresse 49152. Wer also nicht auf den Datasettenbetrieb verzichten will, gibt folgendes nach dem Installieren von "WEB" ein:
Poke 43,254:Poke 44,3:Poke prites
werden im vierten VIC-Block
abgespeichert
- erweiterte Befehle (GOTO Variable)
- bei Textmodus (keine Grafikseite)
64 Sprites-Bl{CBM-C}cke verf{CBM-X}gbar
- sonstige Erweiterungen
Insgesamt stehen Ihnen 17 neue Befehle sowie verbesserte GOTO- und LI
entnehmen Sie bitte der Tabelle 1.
Bei IF...THEN-Konstruktionen ist zu beachten, da{CBM-V}, sofern auf THEN ein "WEB"-Befehl folgt, dieser vom THEN-Statement durch einen Doppelpunkt abzutrennen ist. Ein Beispiel:
IF a=4 THEN:@B6
Ebenfalls neu ist der @!-Befeicher, als im normalen Betrieb f{CBM-X}r das BASIC gebraucht wird.
Die BASIC-Erweiterung wird absolut (LOAD "WEB",8,1) geladen und anschlie{CBM-V}end mit SYS49152 gestartet. Wenn Sie sie aus unserem Disclader heraus laden, ben{CBM-C}tigen Sie die SYS-Anweisung nicht, da wDer somit gr{CBM-C}{CBM-V}ere freie Speicherplatz kann auch f{CBM-X}r eigene Routinen benutzt werden. Der komplette ROM-Bereich wird, wenn es nicht f{CBM-X}r das BASIC verwendet wird, gen{CBM-X}tzt. Auf der Diskette ist zus{CBM-F}tzlich noch das Programm "EB Anweisung" enthalten, in dem Si
ch. "WEB", die Kurzform von "W{CBM-X}rthele's Expanded BASIC", verf{CBM-X}gt {CBM-X}ber sehr schnelle Grafikbefehle, die sogar die Geschwindigkeit von "Simons's BASIC" {CBM-X}bertreffen.
Die Benutzerf{CBM-X}hrung
-------------------
"WEB" ist nach dem Installieren nur f{CBM-X}r reinen Flo1021,0:New
Die BASIC-Erweiterung bietet einige neue und n{CBM-X}tzliche Befehle, die dem Programmierer ungeahnte Vorteile bringen:
- Grafikbefehle (Linien, Punkte etc.)
- eigener Zeichensatz m{CBM-C}glich ohne
Speichereinschr{CBM-F}nkungen
- Sprite-Handling
- No-BoST-Befehle zur Verf{CBM-X}gung.jDer RAM-Speicher des C64 kann mit "WEB" fast vollst{CBM-F}ndig gen{CBM-X}tzt werden. Die RAM-Bereiche unterhalb des ROMs werden f{CBM-X}r die Bitmap, den Zeichensatz und die Sprites genutzt, der Rest steht dem BASIC-Speicher zur Verf{CBM-X}gung.jjDurchhl.
Dieser kann nur im Direktmodus eingegeben werden. Im Notfall kann dadurch ein abgest{CBM-X}rztes Programm wieder listbar gemacht werden. Es handelt sich allerdings nicht um ein 100prozentiges RENEW.
Mit SYS50231 k{CBM-C}nnen Sie sich den Diskstatus beziehungswei
ir einen kleinen Programmlader (web.loader), der das eigentliche Programm nachl{CBM-F}dt und es startet, auf der Diskette abgespeichert haben. Verwenden Sie also am besten immer diesen kleinen Lader, auch wenn Sie das Programm nicht aus unserem Diskettenmen{CBM-X} he alle wichtigen Befehle der Erweiterung erkl{CBM-F}rt bekommen.
Sie sollten sich deshalb, bevor Sie richtig mit dem Programm arbeiten wollen, die Anleitung mit ihren Demonstrationen anschauen. Alle Programme auf der Diskette, die mit "EB" im Filenamen beginneppybetrieb vorgesehen. Der Kassettenpuffer wird als BASIC-Speicher verwendet. Wer dennoch mit Kassette arbeiten will, mu{CBM-V} den BASIC-Speicher nach 1022 hochlegen und opfert dadurch einige Bytes Speicherplatz. Dennoch steht mehr Speicherplatz zur Verf{CBM-X}gungrder-Sprites werden unterst{CBM-X}tzt
- Komfortabler Directory- und List-
Befehl
- gr{CBM-C}{CBM-V}erer BASIC-Speicher als normal,
auch wenn Grafikschirm, eigener
Zeichensatz und Sprites voll aus-
gesch{CBM-C}pft werden, sogar wenn die
Datasette benutzt wird. Alle S die Erweiterung werden die bereits im C64 enthaltenen BASIC-Befehle nicht beeintr{CBM-F}chtigt, das hei{CBM-V}t alle alten Befehle des C64 bleiben erhalten.
Die neuen Befehle beginnen immer mit dem @-Zeichen (Klammeraffe).
Die genaue Auflistung aller neuen Befehle se den Fehlerkanal #8 ausgeben lassen. Dieser Befehl ist ein Teil des Directory-Befehls und kann auch so angesprochen werden, quasi noch eine zus{CBM-F}tzliche Erweiterung des Befehlssatzes.
Hinweise f{CBM-X}r Programmierer
--------------------------
Zur Anpassung opage) m{CBM-X}ssen vor dem Benutzen gerettet und nach der erstellten Routine wieder mit dem alten Wert geladen werden.
Vorsicht beim Interrupt-Programmieren! Wenn der Expanded Border Mode angeschaltet ist, wird der Interrupt daf{CBM-X}r umgeleitet und in eine zeitk (1 = setzen, 0 = l{CBM-C}schen)
"WEB" vertr{CBM-F}gt sich mit einigen Fastloadern. Es ist aber zu beachten, da{CBM-V} zuerst "WEB" installiert werden mu{CBM-V}, danach der Fastloader mit dem entsprechenden SYS-Befehl. Das ist deshalb n{CBM-C}tig, da "WEB" den LOAD-Vektor verbiegt, chwarzblende {CBM-X}ber den erweiterten Rahmen legen.
F{CBM-X}r Z gelten folgende Parameter:
Z = 0 Schwarzblende aus
Z = 255 Schwarzblende ein
W{CBM-F}hlen Sie f{CBM-X}r Z einen Wert, der zwischen Null und 255 liegt, k{CBM-C}nnen Sie die Bits der Schwarzblende setzen Programm mit dem Autostart:
Sichern Sie Ihr Programm und verlassen Sie die BASIC-Erweiterung entweder durch einen Reset-Schalter, oder schalten Sie Ihren C64 einfach ab. Danach laden Sie den Autostarter ("AUT.STG.V4") im normalen BASIC absolut, also mit
einiger BASIC-Programme, die in den Bildschirmspeicher poken, sollten Sie zur Adresse den Wert 51200 dazuz{CBM-F}hlen (aus 1024 wird 52224).
Bei der Spritebenutzung legen Sie die Sprites ab Adresse 61440 ab, die Spritezeiger sind dann im Bereich 53240 bis 5324 gedr{CBM-X}ckter Taste ein Buchstabe oder Ausdruck gelistet.
Wenn Sie in Maschinensprache programmieren wollen, k{CBM-C}nnen Sie neben "WEB" auch Maschinenspracheroutinen benutzen. Dazu betrachten Sie unsere Tabelle 2, die Ihnen eine genaue Speicher{CBM-X}bersicht liefer ritische Routine verzweigt.
Ein paar n{CBM-X}tzliche Hinweise
---------------------------
F{CBM-X}r eine Kreis-Funktion fehlte innerhalb von "WEB" der Platz. Der folgende Dreizeiler erledigt das:
10 FORG*.7:Z=INT(SQR(1-(G/R))*R)
20 @PM,G+X,Y+Z:@PM,X+G,Y-Z:@PM,X-G,
um im Falle des Expanded Border Mode die Rahmenfarbe w{CBM-F}hrend des Ladevorgangs der Hintergrundfarbe anzupassen, damit ein Flimmern verhindert wird.jBeim Installieren von "WEB" mit SYS49152 durchl{CBM-F}uft das Programm automatisch den @R-Befehl. Wollen Sie dies und l{CBM-C}schen. Dadurch lassen sich recht interessante Effekte erzielen.
Das Autostartprogramm
---------------------
Auf Ihrer Diskette befindet sich auch ein zu "WEB" geh{CBM-C}render Autostartgenerator. Damit lassen sich alle Programme, die unter "WEB" erstell ",8,1". Anschlie{CBM-V}end geben Sie SYS49152 ein. Es erscheint eine Meldung, da{CBM-V} nun dieselbe Speicherkonfiguration wie unter "WEB" geschaffen wurde. Das "WEB" ist aber nicht installiert. Nun laden Sie Ihr erstelltes "WEB"-Programm. Beachten Sie, da{CBM-V} das Prog 7 anstatt im Bereich 2040 bis 2047 zu finden.
Im "W{CBM-X}rthele's Expanded BASIC" d{CBM-X}rfen auf den GOTO-Befehl auch Variablen oder mathematische Ausdr{CBM-X}cke folgen. Beispiel:
GOTO VA+4/INT(RND(1))
Der LOAD-Befehl gleicht im Expanded Border Mode Hintergrund- und
t. In diesem Fall verringern Sie am besten den BASIC-Speicher (zum Beispiel {CBM-X}ber Adresse 55/56). Sie k{CBM-C}nnen die 72 beziehungsweise 15 freien Bytes unter oder {CBM-X}ber den BASIC-Speicher als Zwischenspeicher verwenden. Andere Adressen (zum Beispiel in der Zer Y-Z:@PM,X-G,Y-Z:@PM,X-G,Y+Z:@PM,X+Z,Y+G:@PM,X+Z,Y-G
30 @PM,X-Z,Y-G:@PM,X-Z,Y+G:NEXT:RETURN
Der Aufruf erfolgt hier in unserem Beispiel durch GOSUB 10. Folgende Parameter werden verwendet:
x,y = Koordinaten des Kreismittelpunktesr = Radius
m = Modus vermeiden, so k{CBM-C}nnen Sie auch erst bei der Adresse $COBB (dezimal 49339) in das Programm einspringen. N{CBM-X}tzlich ist das, wenn Sie einen eigenen Zeichensatz im Speicher nicht {CBM-X}berschreiben wollen.
Im Expanded Border Mode k{CBM-C}nnen Sie mit
POKE65535,Z
eine S t wurden, mit einem Autostarter versehen. Das hei{CBM-V}t, alle damit bearbeiteten Programme k{CBM-C}nnen nach der Installation von "WEB" geladen und automatisch gestartet werden. Dadurch entf{CBM-F}llt das l{CBM-F}stige Eintippen des RUN-Befehls.
Und so versehen Sie Ihr "WEB"-!ramm im Augenblick nicht lauff{CBM-F}hig ist.
Mit dem Befehl SYS49342 gelangen Sie in das Autostart-Generator-Men{CBM-X} (der SYS-Befehl wird in der Meldung mit angegeben). Hier w{CBM-F}hlen Sie nun den Namen des Programmes, das den Autostart bekommen soll. Anschlie{CBM-V}end w Rahmenfarbe einander an, um ein Flackern im Split zu vermeiden. Mit dem LIST-Befehl k{CBM-C}nnen Sie das Listen mit einer beliebigen Taste anhalten, mit der Funktionstaste F7 wird die LIST-Funktion weiter ausgef{CBM-X}hrt. Wurde das Listen angehalten, wird je nach !r
--------------------
Rahmenfarbe x
@F x Foreground Color
----------------------
Vordergrundfarbe x (x bedeutet den Wert der gew{CBM-X}nschten Farbe, siehe Handbuch)
ZWEIPARAMETRIGE BEFEHLE
@M x,z Modify Bitmap's Color
-----------------------------
Der !setzt (LSB/HSB wird automatisch gesetzt)
@P m,x,y
--------
PLOTPOINT: Ist m gleich eins, so wird der Punkt x,y in der Bitmap gesetzt. Ist m gleich null, so wird er gel{CBM-C}scht
@L m,x,y,z,t
------------
LINEPRINT: m ist gleich in Punkt n) beschrieben. Es w!ensatz in Gro{CBM-V}/Grafik- oder Gro{CBM-V}/Kleinschrift-Modus geschrieben. Wenn kein eigener Zeichensatz erstellt wurde, so haben die Wert drei und eins sowie vier und zwei jeweils dieselbe Wirkung.
--------------------------------------
TABELLE 2
-!ird das Autostart-Programm erstellt. Bei sehr langen Programmen kann dies eine Weile dauern, also haben Sie bitte etwas Geduld. Dieser Autostart-Generator fand aus Speicherplatz-Gr{CBM-X}nden keinen Platz mehr in der eigentlichen BASIC-Erweiterung. In der vorl!
ch, die Einblendung erst
vorzunehmen, wenn die Bildschirm-
maske des Programmes fertig ist.
Dadurch geben Sie Ihren Programmen
einen professionellen Touch.
Noch ein Tip, wie Sie in bereits bestehende Programme die Zeile null einf{CBM-X}gen k{CBM-C}nnen.!7, mit anderer Taste warten
@E Expand Border
-----------------
schaltet erweiterten Rahmen ein
@G Graphic Mode
----------------
schaltet den Grafikschirm an
@I Invert Bitmap
-----------------
invertiert den Grafikbildschirm
@N Normal Text Mode
--!Textschirm wird mit Zeichen gef{CBM-X}llt, die bei eingeschaltetem Grafikmodus der Farbwahl Zeichenfarbe x auf Hintergrund x entspricht. Im Textmodus kann der Bildschirm mit denselben Zeichen gef{CBM-X}llt werden.
@M 0,2
------
l{CBM-C}scht den Textbildschirm
DREI- UND!
ird von x,y nach z,t eine Linie gezogen
@T m,b,x,y,a$
-------------
TEXT IN BITMAP: Der String a$ wird in die Bitmap in Zeile x, Spalte y geschrieben. Auch darf der String in Anf{CBM-X}hrungszeichen folgen.
Ist m eins, so wird der String "normal" ausgegeben. !-------------------------------------
SPEICHER{SHIFT--}BERSICHT
00000 - 00694 Zeropage beziehungs-
weise Systemadressen
00695 - 00767 72 Bytes frei
00768 - 00819 Vektoren und System-
speicher, Sprung-
adres!iegenden Form kann der Generator auch sehr lange Programme verwalten.
Folgendes ist beim Autostart-Generator zu beachten:
1. Die erste Zeile mu{CBM-V} immer die
Nummer "0" tragen
2. RUN-STOP/RESTORE ist blockiert.
Soll die Funktion dennoch frei-
ge! Dazu geben Sie einfach POKE808,237:POKE53265,27 ein. Alles ist dann genau so, als w{CBM-F}re ein "normales" Programm geladen und mit RUN gestartet worden. Wir w{CBM-X}nschen Ihnen viel Spa{CBM-V} beim Ausprobieren und Experimentieren.
-----------------------------------!
------------------
Textschirm, Gegenteil zu d)
@O Old Border
--------------
Normalschirm, Gegenteil zu c)
@R Redfine Charset
-------------------
setzt als aktuellen Zeichensatz den normalen C=-Zeichensatz
EINPARAMETRIGE BEFEHLE
@B x Border's Colo! MEHRPARAMETRIGE BEFEHLE
@A x,z,a$
---------
PRINTAT: Der String a$ (darf auch in Anf{CBM-X}hrungszeichen direkt folgen) wird in Spalte y und Zeile x auf den Bildschirm geschrieben
@S a,x,y
--------
SPRITESET: Das Sprite Nummer a wird an die Position x ,y ge!Ist m zwei, wird er revers geschrieben.
Mit b wird der Textmodus geregelt. Ist b eins, so wird der normale Gro{CBM-V}/Grafik-Modus eingeschaltet. Ist b zwei, wird der Gro{CBM-V}/Kleinschrift-Modus eingeschaltet. Ist b drei beziehungsweise vier, wird der eigene Zeich"sen
00820 - 40960 40139 Bytes BASIC-
Speicher frei
40961 - 49151 BASIC-ROM, im RAM
darunter
die Grafik-Bitmap
49152 - 52223 Hauptprogramm
UNTERROUTINEN:
52224 - 53224 Bildschirmspeicher
53225 - 53!geben werden, so geben Sie
POKE808,237 ein, und die Abfrage
wird wieder eingeschaltet
3. Der Bildschirm ist beim Start des
Programmes ausgeblendet. Mit
POKE53265,27 k{CBM-C}nnen Sie den Bild-
schirm wieder einblenden. Weiterhin
ist es m{CBM-C}gli!---
TABELLE 1
--------------------------------------
PARAMETERLOSE BEFEHLE
@C Clear Bitmap
----------------
l{CBM-C}scht den Grafikschirm
@D Display Directory
---------------------
zeigt das Inhaltsverzeichnis einer Diskette an. Abbruch mit F"?{$7e}
N{$7e}{$ea} " R = i*p/N / ( 1 - (i/N+1)^(-N*Y)) "
T{$7e}{$f4}
{$7e}{$fe} " R = regelm{CBM-F}{CBM-V}ige Zahlungen"