APPLICATIONSDIVERS ★ Druckerausgabe umgeleitet ★

RSX Select (Schneider Aktiv)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Für jeden Basic-Programmierer ist es eine vertraute Situation: Man hat ein Programm geschrieben und möchte bei einem Probelauf sämtliche Bildschirmausgaben auf den Drucker bringen - oder umgekehrt: man schreibt ein Programm mit Druckerausgabe und möchte während der Entwicklungsphase zur Papier-und Zeitersparnis alle Ausgaben vorerst auf dem Bildschirm haben.

Was kann man da tun? Etwa alle PRINT.#8-Befehle in normale PRINTs ändern? Bei längeren Programmen verursacht das so viel Arbeit, daß man meistens darauf verzichtet. Auch ein WINDOW SWAP 0,8 funktioniert nicht, da mit diesem Befehl nur die Bildschirmfenster 0 bis 7 angesprochen werden können, nicht aber der Drucker (#8) oder der Cassettenrecorder (#9).

Das weiter unten abgedruckte Programm ist die Rettung, denn es erweitert das Schneider-Basic um vier neue RSX-Befehle, mit denen die Ausgabegeräte geändert werden können. Dazu wird dem Bildschirm die Kurzbeschreibung SC für SCREEN zugeordnet, dem Drucker PR wie PRINTER. Die RSX-Befehle beginnen wie üblich mit einem senkrechten Strich, nämlich dem geshifteten Klammeraffen. Darauf folgt der Name "SELECT" und ein Punkt, als nächstes das Ausgabegerät, von dem die Ausgabe weggelenkt werden soll, wieder ein Punkt, und dann das neue Zielgerät.

Was sich jetzt recht kompliziert anhört, ist in Wirklichkeit völlig logisch aufgebaut und leicht zu merken:

|SELECT.PR.SC lenkt alle Druckerausgaben auf den Bildschirm um.

|SELECT.PR.PR gibt alle für den Drucker bestimmten Daten wieder dort aus.

|SELECT.SC.PR gibt alle Bildschirmbefehle direkt an den Drucker.

|SELECT.SC.SC setzt die Ausgabe wieder auf den Bildschirm zurück.

Eine Einschränkung gibt es: Meldungen von der Cassettenverwaltung werden weiterhin auf dem Bildschirm ausgegeben. Diese Ausgaben
ebenfalls umzulenken, hätte einen erheblich höheren Programmumfang verursacht.

Achten Sie bei |SELECT.SC.PR aber immer darauf, daß der Drucker wirklich eingeschaltet und ONLINE ist; der Computer wartet nämlich in einer Endlosschleife auf das Ready-Signal des Druckers.

Eine Abwandlung des LIST #8-Befehls können Sie z.B. mit |SELECT.SC.PR:LIST und danach |SELECT.SC.SC erreichen; Sie können aber selbstverständlich auch die normalen Druckerbefehle weiterverwenden - wenn Sie nicht vorher ISELECT.PR.SC eingegeben und damit die Druckerausgabe auf den Bildschirm geschaltet haben!

Funktionsweise des Programms

Der Schneider CPC 464 ist ja inzwischen berühmt geworden für seine Sprungvektoren: Routinen des Betriebssystems werden nicht direkt aufgerufen, sondern über indirekte Sprünge, die in Tabellen zusammengefaßt sind. Da diese Tabellen im RAM stehen, kann man sie verändern und somit wichtige Systemfunktionen durch eigene Programme ersetzen. So bestehen die SELECT-Befehle auch nur aus LDIR-Kopierkommandos, mit denen die Vektoren für- Druckerausgabe (MC PRINT CHAR) und Bildschirmausgabe (TXT OUTPUT) im RAM hin- und hergeschoben werden.

Die Bildschirmausgabe wird, wie aus dem Quellcode des Maschinenprogramms zu ersehen, durch SCNOUT ersetzt. Dieses Unterprogramm gibt nicht nur ein Zeichen auf dem Bildschirm aus, sondern setzt auch das Carry-Flag im Z80-Prozessor. Dieses dient nämlich bei der Druckerausgabe als Zeichen für einen erfolgreichen Druckversuch und wird von PRINT,#8, WRITE.#8 und LIST,#8 ausgewertet.

PRNOUT ersetzt nach dem Befehl |SELECT.SC.PR die Druckerausgabe. Es wird hier in einer Endlosschleife versucht, das Zeichen auszudrucken, bis der Drucker empfangsbereit ist. Erst dann erfolgt der Rücksprung von dieser Routine.

(Kl), SA

★ PUBLISHER: Schneider Aktiv
★ YEAR: 1985
★ CONFIG: AMSDOS + 64K
★ LiCENCE: LISTING
★ COLLECTION: SCHNEIDER AKTIV 1985
★ LANGUAGE:
★ AUTHOR: Martin Kotulla
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» RSX-Select    (Schneider  Aktiv)    GERMANDATE: 2021-06-08
DL: 148
TYPE: ZIP
SiZE: 4Ko
NOTE: Dumped by Johnny Farragut ; 40 Cyls
.HFE: Χ

» RSX-Select    (Schneider  Aktiv)    LISTING    GERMANDATE: 2021-06-08
DL: 141
TYPE: PDF
SiZE: 191Ko
NOTE: 1 page/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Routines du C.C.C : RSX Modeur (CPC Infos)
» Applications » RSX - Helpbasic/Helpbase (Amstar&CPC)
» Applications » RSX Input (Computer Partner)
» Applications » RSX Binking (CPC Amstrad International)
» Applications » RSX Laufschrift (Schneider Aktiv)
» Applications » Bonzo's Flash Pack/Big Flasher/Nemesis Flash Basic
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 002 millisecondes et consultée 742 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.