★ APPLICATIONS ★ DIVERS ★ WONCODE (SCHNEIDER AKTIV) ★![]() |
| Woncode (Schneider Aktiv) | Applications Divers |
BASIC-TRICKKISTE Die CPC-Serie verfügt über ein ausgeklügeltes Betriebssystem, in dem ungeahnte Fähigkeiten schlummern. Diese können auch vom BASIC ausgeschöpft werden, wobei das Handbuch nur spärlich Hilfestellung leistet. Aber zum Glück gibt es ja SCHNEIDER AKTIV, das dieses Manko wieder ausbügelt. WINDOWS WERDEN ZU ROLLADEN Bildschirmfenster sind eine feine Sache, würden sie nicht den aktuellen Hintergrund überschreiben und damit vergessen machen. Viel schöner wäre es, wenn man sie — vergleichbar mit einem Rolladen — vor der Screen herunter- und wieder herauflassen könnte. Aber dem CPC kann geholfen werdenl WONCODE stellt ein System von 5 RSX-Befehlen dar, mit dessen Hilfe Fensterbereiche in einen Zwischenspeicher ein- und wieder ausgelesen werden können. Der zentrale Befehle ist: WON (Window-ON), mit dem der Fensterbereich fest gefegt wird. In seinem Gefolge stehen 7 Parameter. Zuerst muß bestimmt werden, ob es sich um einen ,aktiven4 oder um einen ,stillen' Befehl handelt. Ersterers wird mit einer 1 festgelegt und hat zur Folge, daß der zu überschreibende Screen-Bereich in den Puffer eingelesen wird und dann das davorliegende Fenster in der geforderten Papierfarbe erscheint. Der zweite Fall wird mit einer 0 bestimmt und übergibt ohne äußere Auswirkungen die Fenstergrenzen dem Betriebssystem. In beiden Fällen können die Fenster nach der Initiierung mit #1-Operationen bearbeitet werden. Danach folgen analog zur Syntax des WINDOW- Befehls die Fenstergrenzen: Linke Spalte, rechte Spalte, obere Zeile, untere Zeile. Abschließend werden die Farbstift-Nummern von PAPER und PEN des Fensters übergeben. Noch 'mal im Zusammenhang: |WON , [0/1], (links),(rechts),(oben),(unten),(Paper),(Pen) Viel einfacher sind die restlichen Befehle: |WEX (Window-Exchange) tauscht den Screen- und den Pufferbereich wechselseitig aus. Nach einem |WON,1,...- Befehl bedeutet dies, daß das Fenster verschwindet und der ursprüngliche Bildschirm wieder hergestellt wird. Ein erneuter |WEX- Befehl schaltet das Fenster wieder ein. |WIN (Window-IN) kopiert den aktuellen Fensterinhalt in den Speicher. Die im Speicher enthaltene Information geht verloren. |WOUT (Window-OUT) ist das Gegenstück zu :WIN. Der aktuelle Speicherinhalt wird in das Fenster zurückkopiert. In Zusammenhang mit dem |WON,0...- Befehl ergeben sich eine Vielzahl von Austausch-, Duplikations- und Verschiebemöglichkeiten, die sicher auch in Action-Spielen ihre Anwendung finden. Eine kleine Auswahl hiervon bietet das mitgelieferte Demo-Programm. Schließlich bleibt noch die Speicherorganisation. Der Zwischenspeicher wird unmittelbar unterhalb der Routine angelegt, wobei dessen Größe naturgemäß recht unterschiedlich ausfällt. Nach einem |WON- Befehl können seine Startadresse und Länge mit : DAT als Hexadezimaiwerte abgerufen werden. Damit kann der Puffer zum einen mit ,MEMORY (Start)-1 geschützt und zum anderen mit ,SAVE (Name),b,(Start),(Länge' abgespeichert werden. An anderer Stelle kann er dann wieder geladen werden und, nachdem mit |WON,0... das Fenster festgelegt ist, mit |WOUT‘ wieder ausgegeben werden. Natürlich muß das neue Fenster die gleichen Abmessungen haben wie das ursprüngliche Fenster, da ansonsten fehlerhafte Ergebnisse die Folge wären. Noch ein paar Worte zum Basic-Lader: Mit seiner Hilfe kann die Routine an beliebiger Stelle innerhalb der zentralen 32KByte, d.h. ab &4000, abgelegt werden — sie wird entsprechend angepaßt. Soll WONCODE eine Ergänzung zum EXTENDED BASIC aus ‘Schneider Aktiv' 5/86 darstellen, sollte als Startadresse &9AB0 verwendet werden. In den gekennzeichneten Programmzeilen müssen Sie alle diejenigen Operationen ein-fügen, die HIMEM herabsetzen, und auf die sie in Ihrer späteren Anwendung zurückgreifen wollen. Ein Beispiel hierfür sind die Anfangszeilen des Demo-Programmes. Der Basic-Lader gibt dann den aktuellen RAMTOP aus und Sie können durch die Eingabe einer geeigneten Startadresse den Code direkt. Unter die Decke hängen ”. Sollte es zu Kollisionen kommen, wird dies angezeigt. Nach dem Poking kann die Routine auf Band oder Diskette gesichert werden. Für das Demo-Programm ist ein Zugriff auf einen Code ab &9500 erforderlich.
|