Drucker-Spooler für CPC Bei der langsamen Druckgeschwindigkeit der meisten an den CPC angeschlossenen Drucker werden die Programme und das Handling immer wieder durch die Wartezeiten auf den Drucker unterbrochen. Hier die langersehnte Abhilfe. Lassen Sie sich nicht Ihre Zeit nehmen, wenn Zeichen an den Drucker geschickt werden (durch PRINT # 8, LIST # 8 oder Sprung auf MC WAIT PRINTER). Dieses Programm läuft nach kurzer Zeit weiter, während der Drucker arbeitet. Die Eingabe Damit das Programm lauffähig wird, muß zuerst das Startprogramm SPOOLER.BAS (Listing l) abgetippt und gespeichert werden. Dann muß der BASIC-Lader SPOOLER.LAD (Listing 2) eingegeben werden. Dieser wird abgespeichert, gestartet und anschließend die Binärdatei SPOOLER.BIN. erzeugt. Bei Kassettenbetrieb muß darauf geachtet werden, daß sofort nach SPOOLER.BAS die Binärdatei SPOOLER.BIN folgt. Im Text wird das RSX-Zeichen (SHIFT + @) durch das ! dargestellt. Die Bedienung - Das Programm wird durch RUN “SPOOLER.BAS“ geladen und gestartet.
- Der RSX-Befehl |SPON,Startadresse,Endadresse bewirkt die Aktivierung der Spoolerfunktion. Er definiert außerdem einen Puffer von Startadresse bis Endadresse und aktiviert den Interrupt. Der Puffer sollte durch HIMEM geschützt sein. Größte End-Adresse ist &A3FF.
Beispiel: MEMORY &8FFF: |SPON,&9000,&A3FF definiert einen Puffer von &9000-&A3FF. Hinweis: Wenn Spooler aktiviert worden ist, darf es nicht nochmals aufgerufen werden! - Alle Daten, die nun zum Drucker geschickt werden sollen (durch PRINT#8, LIST #8, CALL MC WAIT PRINTER etc.), werden nun in den Puffer geschrieben und von dort aus per Interrupt ausgelesen, wenn der Drucker dazu bereit ist.
- Der RSX-Befehl |FLUSH leert den Puffer vollständig (alle Zeichen aus dem Puffer werden an den Drucker weitergegeben).
- Der RSX-Befehl |SPOFF schaltet die Spoolerfunktion wieder aus (Puffer wird vorher geleert). HIMEM kann wieder auf den alten Wert zurückgesetzt werden.
Beispiel: |SPOFF:MEMORY &A3FF schaltet den Spooler wieder aus und gibt den verbrauchten Platz wieder frei.
Funktionsbeschreibung Das Maschinenprogramm “SPOOLER.BIN“ hat folgenden Aufbau (s. Assemblerlisting): - Definition der Betriebssystemroutinen.
- Variablen.
- Initialisierungsteil.
- Routine für SPON.
- Routine für SPOFF.
- Druckroutine (wird anstelle von MC WAIT PRINTER bei PRINT #8, LIST # 8 etc.) angesprungen (Label-DRU:).
- Interruptroutine zum Ausgeben der Zeichen an den Drucker (Label ACTION:).
- Routine für FLUSH (Puffer leeren).
Teil 3 wird bei RUN“SPOOLER.BAS“ angesprungen und initialisiert die RSX-Befehle und den Eventblock. Teil 6 schreibt die übergebenen Daten in den Puffer. Teil 7 liest sie dort wieder aus, wenn der Drucker bereit ist. Guido Wimmel/cd , CPCAI ★ AMSTRAD CPC ★ DOWNLOAD ★ |
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 377 millisecondes et consultée 667 foisL'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. |
|
|
|