Magic Disk 64

home to index to text: MD9004-UTILITIES-COLOR-BASIC-VERSION_V1.2.txt
        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)

Valid HTML 4.0 Transitional Valid CSS!