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 er- scheinen! 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, Bild- schirmfarben 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 "be- leben" 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 Hinter- grund 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 ver- schiedenen 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 Laufschrift- zeichen. 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 x- bzw. 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 - An- oder 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 Kleinbuch- staben eingegeben werden. Die An- fü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 Zeichen- satz 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)