COLOR-BASIC-VERSION v1.2
Bei COLOR-BASIC handelt es sich um eine
Basic-Erweiterung, die es auch dem
Einsteiger ermöglicht, Rasterzeilen-Interrupt' s zu programmieren.
Aber was nützt Ihnen denn das schönste, selbstgeschriebene Demo, wenn Sie vor
Benutzung des selbigen eine Basic-Erweiterung einladen müssen? NICHTS!
Ihr Demo würde jeglichen professionellen
Touch verlieren und laienhaft erscheinen!
Aus diesem Grund ist COLOR-BASIC, im
Gegensatz zu anderen Programmen dieses
Genres, so konzipiert, daß Sie Ihr Demo
( oder Spiel) zusammen mit dem
Hauptprogramm COLOR-BASIC abspeichern
können ( inklusive Zeichensatz, Bildschirmfarben usw.) .
Sämtliche Effekte, die von der
Interrupt-Routine zur Verfügung gestellt werden, sind frei untereinander
mischbar, solange die Interrupt-Zeit
( Raster-Time) nicht überschritten wird.
Bemerkung: Die Rasterzeit ist die Zeit
zwischen dem aktuellen und dem nächsten
Interrupt!
Sollten Sie diese Zeit trotzdem einmal
überschreiten, so brauchen Sie keine
Sorge tragen, daß sich Ihr Rechner in
endlosen Schleifen " aufhängt", denn mit
einem einfachen RUN-STOP/ RESTORE " beleben" Sie ihn wieder.
Aber jetzt zu den einzelnen Effekten:
Der Effekt mit der höchsten Priorität
ist der BAR-EFFEKT ( BAR= BALKEN), da
dieser niemals verdeckt werden kann.
Diese Farbbalken, mit einer Breite von
bis zu 15 Farblinien, lassen sich frei
auf dem Bildschirm positionieren.
Um die Balken nicht über Basic bewegen
zu müssen, besitzt der COLOR-BASIC- Interrupt eine Routine, mit der Sie die
Balken bewegen können. Diese Routine gibt Ihnen auch die Möglichkeit, jeden
beliebigen Balken mit einer eigenen
Geschwindigkeit zwischen zwei Grenzen
( oben und unten) zu bewegen.
Mit dem zweiten Effekt können Sie
" unter" diesen Balken einen Hintergrund
darstellen.
Der dritte Effekt läßt diesen Hintergrund im oberen Teil " flashen" .
Der letzte Effekt, der mit den
Rasterzeilen in Verbindung gebracht
werden kann, ist die UP-SCROLL- Routine, mit der Sie den INSIDE-Raster in verschiedenen Geschwindigkeitsstufen nach
unten scrollen lassen können.
Wie entwerfen Sie ein Demo?
Als erstes zeichnen Sie einen passenden
Zeichensatz ( Zeichensatzeditor) oder
wandeln eine Hires-Grafik in einen
Zeichensatz um. Diesen verwenden Sie
nun zur Entwicklung des Titelscreens
( Bildschirmmaskeneditor) .
Um später die Laufschrift aktivieren zu
können, zeichnen Sie jetzt mit einem
Spriteeditor die späteren Laufschriftzeichen. Der erste Buchstabe muß dabei
ein " A" sein, der zweite ein " B" usw.
bis zum " Z" . Die letzten fünf freien
Plätze können Sie für Sonderzeichen
benutzen ( Ausrufungszeichen, Punkt . . .) .
Nach dieser Prozedur starten Sie
COLOR-BASIC und laden mit folgenden
Befehlen die einzelnen Files:
! unemld 12288," NAME",8 lädt einen Zeichensatz ! unemld 8192," NAME",8 lädt das Lo-Res- Bild ( Bildschirmmaskeneditor) ! unemld 14336," NAME",8 lädt die Sprites Wenn der Bildschirmmaskeneditor die
Farben in einem zusätzlichen File
ablegt, so laden Sie dieses mit:
! unemld 9216," NAME",8
Zu den Befehlen . . .
Jeder der Befehle beginnt mit einem " !", gefolgt von 6 Buchstaben, die den Befehl
darstellen (" onoff" usw. ist zu
ignorieren) . Die in Klammern gesetzten
Werte geben die obere und untere Grenze
der Parameter an.
! routin onoff (0-1) Dieser Befehl schaltet den Interrupt von
Color-Basic an (1) bzw. aus (0) .
! effect onoff (0-1) Die Effekte lassen sich an (1) oder aus
(0) schalten.
!rflash onoff (0-1) Der RASTERFLASH-Befehl schaltet den Flash-Effekt an (1) bzw. aus (0). POKE 4775, 44 das Flash-Raster bleibt stehen POKE 4775, 206 das Flash-Raster "rutscht" nach unten
POKE 4775,238 das Flash-Raster " fliegt" nach oben
! barenb onoff (0-1) Der BARENABLE-Befehl schaltet die
Darstellungsroutine der Balken an (1) oder aus (0) .
! barmov onoff (0-1) Der BARMOVER-Befehl schaltet die
Balken-Beweg- Routine an (1) oder aus (0)
! scroll onoff (0-1), speed (0-255) Dieser Befehl schaltet den Scroll-Text
( Laufschrift) an (1) oder aus (0) und
spielt ihn mit der Geschwindigkeit
" speed" auf dem Bildschirm ab. Wenn Sie
die Geschwindigkeit der Laufschrift
verändern möchten, ohne daß selbige von
Anfang an startet, so verwenden Sie
diesen Poke: POKE 832, Geschwindigkeit
!txtspr mlt(0-1),xexp(0-1),yexp(0-1), prior(0-1),col1(0-255),col2,col3
Dieser " etwas" komplizierte Befehl
definiert die Sprites, aus denen die
Laufschrift bestehen soll.
mlt - Multicolor an (1), aus (0) xexp & yexp - Spritevergrößerung in xbzw. y-Richtung prior - Priorität (1= Darstellung hinter
dem Text,0= vor dem Text) col1,2,3- definieren der Spritefarben
! barset brnr (0-6), onoff (0-1), line (0-150) Der BARSET-Befehl schaltet einen BAR
( BALKEN) mit der " brnr""0-6" an oder
aus ( onoff) und setzt ihn auf Position
" line" .
! movpar brnr (0-6), onoff (0-1), speed(0-255), gru(0-255), ri(0-1), line (0-150) Dieser Befehl setzt die MOVEPARAMETER
für die Barmove-Routine fest:
brnr - Balkennummer onoff - Anoder ausschalten?
speed - Bewegungsgeschwindigkeit " GRO"&" GRU" definieren die Grenzen, in
denen sich die Balken bewegen sollen.
ri - Richtung, in die der Balken als erstes bewegt wird.
line - Startposition des Balkens
!textin Mit diesem Befehl lesen Sie Ihren Scrolltext ein. BEISPIEL: 10 PRINT"PROGRAMMANFANG":POKE 53280,0 20 !textin 30 "hier geben sie" 40 "ihren eigenen" 50 "scrolltext ein." 60 "das ende markieren" 70 "sie mit einem 'klammeraffen'." 80 print"PROGRAMMFORTSETZUNG"
Der Scrolltext darf nur in Kleinbuchstaben eingegeben werden. Die Anführungszeichen sind unbedingt not- wendig, da es sonst zu einem unschönen
SYNTAX ERROR kommt.
Außerdem dürfen Sie nicht vergessen, am
Ende Ihres Scrolltextes einen KLAMMER-AFFEN zu setzen. Im Beispiel wäre das
hinter " einem" in der Zeile 70 .
! bakcol line (0-150), color (0-255) Es wird in der Rasterzeile " line" die
BAKCOL-Farbe auf " color" gesetzt.
! inscol line (0-150), color (0-255) Die INSIDECOLOR in der Rasterzeile
" line" wird auf " color" gesetzt.
! flscol line (0-30), color (0-255) In Rasterzeile " line" werden die FLASH-COLOR- Farben gesetzt.
! vgrcol line (0-150), color (0-255) Die VGR-Farben werden auf " color" gesetzt. Natürlich geschieht diese
Angelegenheit in Rasterzeile " line" .
! barcol brnr (0-6), line (0-15), color (0-255) Dieser Befehl setzt im Balken " brnr" die
Rasterzeile " line" auf " color" .
! pictre onoff (0-1) Mit " pictre" schalten Sie den Zeichensatz inklusive LORES-Bild ( PICTURE) an
oder aus.
! unicpy rom(0-1), anfang(0-65535), ende (0-65535), ziel (0-65535) Der UNIverselle COPY-Befehl kopiert
beliebige Speicherbereiche von " anfang" bis " ende" nach " ziel" . Mit dem
Parameter " rom" bestimmen Sie, ob das
ROM eingeschaltet bleibt (0) oder
ausgeschaltet wird (1) . Es wird übrigens
das gesamte ROM abgeschaltet, also auch
der Bereich unter 53248, so daß 24 KByte
für UNICPY zur Verfügung stehen. Wird
allerdings das ROM abgeschaltet, so
muß auch der Interrupt abgeschaltet
werden, da dieser eine Routine im ROM benutzt ($ ea31) .
! unemld anfang (0-65535)," NAME",8 Diesen Befehl benutzen Sie wie den
normalen LOAD-Befehl. Sie müssen nur die
Adresse " anfang" angeben, an die das
Programm geladen werden soll.
! unemsv anfang, ende," NAME",8 Der Speicherbereich " anfang" bis " ende" wird unter dem Namen " NAME" auf Diskette
abgespeichert.
! psprnt x (0-39), y (0-24)," text" Den PoSITIONS-PRINT- Befehl verwenden Sie
wie den herkömmlichen Print-Befehl.
Allerdings können Sie festlegen, in
welcher Zeile ( y) und Spalte ( x) der
Text erscheinen soll.
! parrst Der PARAMETERRESET-Befehl setzt alle
Effekte auf 0 !
! barwde w (0-15) Der Parameter " w" gibt an, wie breit die
Balken sein sollen ( BARWIDE) .
! sprset y (200-255) Mit diesem Befehl legen Sie fest, in
welcher Höhe die Laufschrift scrollen
soll. So können Sie zum Beispiel den
Text hüpfen lassen!
! colour border (0-255), back (0-255), ink (0-255) Dieser Befehl setzt die Farben für die
Einschalt-Meldung von COLOR-BASIC.
Auch zu diesem Programm sind so einige Tips & Tricks vorhanden, also ... (om)