APPLICATIONSDIVERS ★ PRINTER BASIC ★

Printer Basic (CPC Amstrad International)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 ★ 

Bei Printer-BASIC handelt es sich um eine RSX-Befehls-erweiterung für alle CPC's in Verbindung mit dem DMP 2000. Unter anderem steht eine Hardcopyroutine zur Verfügung; eine 8-Bit-Schnittstelle wie aus Heft 5/86 wird unterstützt. Die Programme:

P-BASIC (Heft und Databox) ist der Lader für die Maschinenroutine und stellt die verfügbaren Befehle am Bildschirm dar. Diese Maschinenroutine ist im Heft als Datagenerator vorhanden; die Databox enthält die fertige Binärdatei.

Die Befehle:

|CHAR,c : Druckt das Zeichen mit dem ASCII-Code c im Grafikmodus des DMP aus; Quelle der Matrix (8x8) ist der Zeichensatz des Rechners, somit hat man auf einfache Weise 256 selbstdefinierbare Zeichen zur Verfügung. Folgende Zeile druckt den gesamten Zeichensatz des CPC's aus:

FOR n=0 TO 255:|CHAR,n:NEXT:PRINT#8 : Die Steuercodes 0-31 werden hier als Grafikzeichen gedruckt; so ist z.B. über |CHAR,10 kein Zeilenvorschub zu erreichen. Dem |CHAR- und |LPRINT-Befehl sollte also immer ein PRINT#8 folgen.

|LPRINT,@a$ : Druckt den Inhalt des Strings a$ aus (siehe auch |CHAR)

|PMODE,m[,b(DE)] : Legt den Grafikmodus m, die Breite b und die Invertierung fest. Der |PMODE-Befehl gilt für alle Ausgaben mittels |CHAR und |LPRINT sowie für den |SHAPE-Befehl. Bei letzterem Fall gilt b jedoch nicht für ein einzelnes Zeichen, sondern für die Anzahl der Zeichen in einer Zeile. Standardwert von b ist eins, ansonsten kann b folgende Werte annehmen:

  1. b= 1 - 15: Breite 1-15, Invertierung aus
  2. b=(1 - 15) +16: Breite 1-15. Invertierung an
  3. b= 0: Invertierung aus, Breite bleibt
  4. b= 16: Invertierung an, Breite bleibt

Durch m wird einer der sieben zur Verfügung stehenden Grafikmodi des DMP angewählt. Mögliche Werte für m und deren Bedeutung: m=0: einfache Dichte. 480 Pkt./Zeile

  • m=1: doppelte Dichte, 960 Pkt./Zeile
  • m=2: dopp. Dichte, dopp. Geschw.. 960 Pkt./Zeile
  • m=3: vierfache Dichte, 1920 Pkt./Zeile
  • m=4: CRT-Grafik, 640 Pkt./Zeile
  • m=5: Plottergrafik, 576 Pkt./Zeile
  • m=6: CRT-Grafik, 720 Pkt./Zeile
  • Wird m=7 gesetzt, so wird eine Betriebsart gesetzt, in der die Nutzung der selbstdcfinierbaren Zeichen ermöglicht wird.

|DEFCHAR,c,b1,b2...b8 : Mit diesem Befehl können 16 verschiedene Zeichen selbst definiert werden. Parameter c stellt die Nummer des Zeichens dar (0 - 15). Die Werte bl - b8 definieren die Zeichenmatrix. Zu beachten ist hierbei, daß Druckerzeichen nur sechs Punkte breit sind; bl - b8 dürfen somit nur im Bereich von 0 bis 63 liegen. Nach einem |PM0DE,7-Befehl können die vorher definierten Zeichen wie folgt ausgedruckt werden:

|CHAR,n (n= 0-15 bzw. 16 - 31) oder

|LPRINT,@a$ ASC(a$)= 0-15
|SHAPEJ,@a$

Dient zur Erzeugung großflächiger Muster und Symbole. Parameter 1 definiert den linken Rand, also die Zeichenposition, ab der der Druck beginnen soll. Am Ende des Ausdrucks wird das Papier wieder an die ursprüngliche Zeile zurückgescrollt. Damit ist die Möglichkeit gegeben, mehrere Shapes in der gleichen Zeile unterzubringen. Ein Beispiel:

10 a$="******CPC** &. **DMP********
20 inv%=16
30 FOR n=0 TO 70 STEP 10
40 |PMODE,4,5,+inv%
50 inv%=inv% XOR 16
60 |SHAPE,n,@a$
70 NEXT

Hierbei wählt |PMODE den Grafikmodus 4 mit 640 Punkten/Zeile und die Breite 5 sowie die Invertierung. Die Breite gibt an, wieviele Zeichen aus dem String aS in einer Zeile ausgegeben werden sollen.

Die Höhe eines Shapes ergibt sich aus der Länge des Strings geteilt durch die Breite im |PMODE-Befehl. Zu beachten ist, daß die Stringlänge immer ein Vielfaches der Breite sein muß. Weiterhin bleibt die Definition des linken Randes nach Beendigung des |SHAPE-Befehls erhalten, so daß man diesen vordem normalen Drucken wiedereinstellen muß.

|SPOOL,n,mem : Dieser Befehl aktiviert einen Druckerspoolcr mit einem n kByte großen Puffer ab Adresse mem. Der DMP 2000 verfügt zwar intern über einen 2kB großen RAM-Puffer, trotzdem wird der Rechner bei einem Ausdruck eines längeren Programms lange blockiert. |SPOOL erlaubt die Einrichtung eines maximal 32kB großen Puffers, aus dem die Daten direkt an den Drucker übergeben werden; der Rechner kann während des Ausdrucks schon wieder benutzt werden. Folgendes Beispiel richtet einen 16kB großen Puffer ein:

— MEMORY HIMEM - 16384
— |SPOOL,16,HIMEM+1

|SPOOL,0 : Beendet den Spoolvorgang, sobald sich kein Byte mehr im Pufferspeicher befindet

|SPOOL : Beendet den Spoolvorgang sofort |TEXTCOPY

Gibt eine Kopie aller Textzeichen vom Bildschirm auf den Drucker aus. Grafik kann nicht abgebildet werden, ebensowenig Zeichen, die durch Grafik verunstaltet wurden oder nicht in der aktuellen PEN-Farbe dargestellt sind.

|HARDCOPY,inv: Erzeugt eine Hardcopy des Bildschirms unabhängig vom Modus mit einer Auflösung von 960 Pkt./Zeile. Der Inhalt von inv bestimmt, ob die Hardcopy invers (inv=l) oder normal (inv=0) ausgedruckt werden soll. Das Format des Ausdrucks entspricht etwa DIN A5 quer.

|PROT.ON und |PROT.OFF : Sämtliche Textausgaben können hiermit auf dem Drucker protokolliert werden, z.B. | PROTON :CAT: | PRO T.OFF

druckt parallel zur Bildschirmausgabe das Directory oder alle folgenden Kassettenmeldungen.

|BIT7 und |BIT8 : In Zusammenarbeit mit der 8-Bit-Schnittstelle aus Heft 5/ 86 erlauben diese Befehle die Umschaltung zwischen dem Original-Druckerport der CPC's und einem vollwertigen 8-Bit-Centronicsport.

Dies macht sich hauptsächlich bei der Arbeit mit |CHAR, |LPRINT und |SHAPE bemerkbar, da die durch diese Befehle erzeugten Zeichen bei Verwendung von nur sieben Bits eine komplette Punktreihe entbehren müssen.

CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGAGE: ???
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1986
★ AUTHOR: Thomas Fippl
COMPATIBILITE: DEMO/ROM BASIC 1.1
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-Printer  Basic    (CPC  Amstrad  International)DATE: 2013-01-11
DL: 273
TYPE: ZIP
SiZE: 9Ko
NOTE: Extended DSK/40 Cyls
.HFE: Χ

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

Lien(s):
» Applications » RSX Check / Checksummer (CPC Amstrad International)
» Applications » RSX DFILL (Schneider Aktiv)
» Applications » RSX PutKey (Amstrad Action)
» Applications » Bank - Rsx (CPC Amstrad International)
» Applications » RSX Screenswap (Schneider Aktiv)
» Applications » RSX Rota (Amstrad User)
Je participe au site:
» Vous avez des infos personnel ?
» 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
Page créée en 379 millisecondes et consultée 1691 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.