APPLICATIONSDIVERS ★ SPOOL-464 ★

Spool-464Applications Divers
 ★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se le presenta en su versión original ★ 
 ★ Dieser Text wird in seiner ursprünglichen Fassung Ihnen präsentiert ★ 

Drucken im Hintergrund

Viel Zeit kann man sparen, wenn der schnelle Computer keine Rücksicht auf den langsamen Drucker nehmen muß. Ein Drucker-Spooler entlastet Ihren Schneider vom Warten.

Oft wird bei Computern aller Art durch ungeschickte Programmierung und Systemgestaltung sehr viel Rechenzeit verschwendet. Das ist beispielsweise der Fall, wenn die viel schnellere Zentraleinheit auf ein langsames Peripheriegerät warten muß. Ein Schwachpunkt ist dabei der viel zu langsame Matrixdrucker. Es gibt allerdings Zusatzgeräte, die diesen Fehler beheben. Sogenannte »Spooler«, die einen schnellen Drucker simulieren. Diese Systeme speichern die auszugebenden Daten zwischen, und geben sie langsam an den Drucker weiter.

Der Hardware-Spooler

Der Hardware-Spooler ist genaugenommen ein spezieller Computer mit einem festen Programm. Er wird »hardwaremäßrg« zwischen Muttergerät und Drucker eingebaut. Oer Computer übermittelt dem Spooler die zu druckenden Daten über die normale Schnittstelle Der Spooler speichert die Daten und schickt sie dann unabhängig vom Hauptgerät an den Drucker weiter. Der Vorteil liegt auf der Hand: Für den Computer verhält sich die Erweiterung wie ein echter Drucker—allerdings mit einer Übertragungsrate von 3000 2eichen pro Sekunde und mehr. Viele Drucker haben bereits einen (allerdings kleinen) Hardware-Spooler eingebaut.

Vom Prinzip her macht der Software-Spooler genau das gleiche wie der Hardware-Spooler. Nur ist ein Software-Spooler ein Programm, das zum Speichern der Daten Platz im RAM des Computers benutzt. Um den Unterschied zu verdeutlichen, kann man sagen, daß sich der Software-Spooler zwischen den Software-Schnittstellen des Betriebssystems befindet, während der Hardware-Spooler aut die (physisch reale) Schnittstellen zwischen Computer und Drucker gesteckt wird. Der Vorteil der Softwarelösung ist der geringere Preis (hier sogar kostenlos). Der Nachteil hingegen, daß zum Zwischenspeichern der Daten Speicherplatz des Computers verbraucht wird.

Hier finden Sie nun einen Software-Spooler für den Schneider CPC 464. Sie können selbst entscheiden, wieviel Speicherplatz (zwischen 1 und 8 KByte) für den Datenbuffer reserviert werden soll.

Unser Spooler setzt sich aus zwei Programmen zusammen. Aus dem Basic-Lader »SPOOL.BAS« und der Maschinencode-Routine »SPOOL.BIN«. Zum Installieren müssen Sie das Programm »SPOOL.BAS« starten und die gewünschte Buffergröße eingeben. Der Maschinencode-Teil wird von diesem Programm in den Speicher geladen und der benötigte RAM-Be-reich wird reserviert.

Zum Generieren des Binärprogrammes ziehen Sie das Basic-Programm »BINAR.BAS« zu Hilfe Das Programm »SPOOL.BIN« wird automatisch erzeugt und gespeichert. Die Checksumme überprüft Ihre Eingabe auf Fehler. Benutzt man das Kassettenlaufwerk als Datenspeicher, so sollte das Binärfeld direkt hinter dem Hauptprogramm stehen.

Das Basic-Programm erklärt sich mehr oder weniger von selbst. Auch das Assembler-Listing ist leicht zu verstehen. Wirklich interessant ist das »Umbiegen« des Hardware-Inter-rupts. Beim CPC 464 wird am Z80-INT-Eingang des Gate-Ar-ray 300ma) in der Sekunde ein kurzer Impuls angelegt. Da der Z80 im Interrupt-Modus 1 betrieben wird, veranlaßt der Impuls, daß die CPU eine Routine anspringt, die sich an Adresse 38 hex befindet — die Interruptroutine. Hier steht ein Sprungbefehl zu der Firmware-Interrupt-Routine, die sich unter anderem um die Tastatur-Abfrage kümmert. Zur Realisierung des Spoolers wird dieser Sachverhalt genutzt. Der Firmware-Interrupt-Routine wird eine Befehlsfolge »vorgeschaltet«, die dann 300mal in der Sekunde nachschaut, ob der Drucker »BUSY« ist und dem Drucker ein neues Zeichen überträgt.

Wenn man an der Adresse 38 hex den Sprung auf die neue Routine einfügt, hat das leider nicht sofort den gewünschten Effekt. Das »Patchen« ist nämlich nur im RAM erfolgreich: im parallelen ROM steht immer noch der ursprüngliche Sprungbefehl. Das bedeutet in der Praxis, daß die »vorgeschaltete« Routine nur dann benutzt wird, wenn sie von einem Basic-Programm her aufgerufen wird. Im Ready-Modus wird sie nicht aufgerufen, da hier das untere ROM freigeschaltet ist.

Für einen Spooler ist es aber unbedingt notwendig, daß er auch im Ready-Modus aufgerufen wird, damit der Ausdruck in diesem Modus korrekt erfolgt. Dieses Problem wurde hier etwas »brutal« gelöst. Die ersten Anweisungen der Firmware-Interrupt-Routine. die sich immer im RAM befindet, sind durch einen Sprung auf die neue Druck-Routine ersetzt. Der Effekt ist, daß sie in jedem Falle angesprungen wird, unabhängig davon, ob im unteren Speicherbereich das RAM oder das ROM aktiviert ist.

Die Anwendungsbereiche des Spoolers sind vielfältig. Nicht nur bei Textverarbeitungsprogrammen, sondern auch bei der Entwicklung eigener Software ist er nützlich. Nach einem LIST-Befehl steht der Computer sofort wieder zur Verfügung und ist nicht »lahmgelegt« bis das Listing ausgedruckt ist.

(Thomas Obermair/hg) , Happy Computer

★ PUBLISHER: Happy Computer
★ LIZENZ: LISTING
★ JAHR: 1986
★ CONFIG: ???
★ SPRACHE:
★ AUTHOR: Thomas Obermair

★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» Spool-464__(Happy_Computer)__LISTING__GERMANDATE: 2017-01-21
DL: 2 fois
TYPE: PDF
SIZE: 113Ko
NOTE: Uploaded by hERMOL ; 1 page/PDFlib v1.6

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Idle Meddler (Amstrad Action)
» Applications » C-Disc
» Applications » Master Toolkit
» Applications » Soft-Lok/Softlok
» Applications » Pride Utilities - Fastclone
» Applications » Disc-Copy

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.75-desktop/c
Page créée en 109 millisecondes et consultée 45 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.