APPLICATIONSDIVERS ★ Dieses Programm ist auf dem CPC-464 und CPC-664 lauffähig ★

RSX Druckerausgabe des Diskettenkatalogs (Computing Programming Using)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 ★ 

Directory-Ausgabe auf dem Drucker

Beim Schneider CPC-464 und CPC-664 stehen zwei Befehle zur Ausgabe des Disketten-Directory zur Verfügung: |DIR und CAT. Doch beide funktionieren nur mit Bildschirmausgabe, nicht jedoch auf dem Drucker. Dieses Maschinenprogramm für beide Schneider-Computer erweitert das Locomotive-Basic um zwei neue RSX-Befehle, mit denen das Disketten-Inhaltsverzeichnis auf dem Drucker ausgegeben werden kann.

Bei der Programmeingabe gibt es zwei Wege: Sie können entweder den Quellcode des Maschinenprogramms abtippen und assemblieren lassen oder den Basic-Loader eingeben.

Falls Sie einen CPC-664 besitzen und den Quellcode eingeben wollen, beachten Sie bitte die Zeilen 280 bis 300: Dort müssen, die im Kommentarfeld angegebenen Konstanten-Referenzen für DSKOFF, GETMEM und RELMEM statt der
originalen, links davon stehenden Werte, eingegeben werden. Beim Basic-Loader ist dies viel einfacher: Nach dem Programmstart wird eine kurze Anleitung ausgegeben und der Maschinencode eingelesen. Danach werden Sie gefragt, welchen der beiden Computer Sie besitzen. Dementsprechend werden die Sprungadressen an die unterschiedlichen-ROM-Versionen des Basic-Interpreters angepaßt.

Der Maschinencode ist zwar nicht frei relokatierbar, das Loader-Programm paßt aber alle internen absoluten Adressen an. Somit wird das Maschinenprogramm immer direkt unter HIMEM gelegt und nimmt den geringstmöglichen Speicherplatz weg.

Sobald die RSX-Erweiterung geladen ist, verfügen Sie über zwei neue Befehle:

|PDIR - entspricht dem normalen |DIR-Befehl

|PCAT - entspricht dem normalen Disketten-CAT

Achten Sie aber darauf, daß der Drucker empfangsbereit ist, denn der Computer wartet auf jeden Fall, bis der Katalog ausgegeben werden kann.

Für Programmierer soll hier noch kurz die Funktionsweise des Programms erläutert werden: Wie inzwischen allgemein bekannt ist, werden die Hauptfunktionen des Betriebssystems in den CPCs über Vektoren gesteuert, die im RAM stehen. Dadurch können diese Sprungvektoren verändert werden. Beide Katalogbefehle, als |DIR und CAT verwenden, sobald eine Diskettenstation angeschlossen ist, zur Ausgabe des Disketteninhalts die Betriebssystem-Routine TXT OUTPUT, mit der jeweils ein Buchstabe auf den Bildschirm gebracht werden kann. Das Programm verändert nun diesen Zeiger auf ein eigenes Unterprogramm hin, das statt des Bildschirms den Drucker ansteuert. Nach der vollständigen Ausgabe des Katalogs werden die Vektoren wieder auf die ursprünglichen Werte zurückgesetzt.

Bleibt nur noch das Problem, die Befehle CAT und !DIR im Floppy-ROM aufzurufen: Bei CAT ist dies relativ einfach, da hier wie bei TXT OUTPUT ein Sprungvektor im Hauptspeicher verwendet wird. Somit kann das Unterprogramm mit dem Z80-Befehl CALL aufgerufen werden. CAT hat aber die „unangenehme“ Eigenschaft, den Katalog nicht nur auf den Bildschirm zu schreiben, sondern auch eine Kopie davon in den Speicher. Dazu muß der Routine ein Zeiger auf einen 2K-Buffer übergeben werden. Diesen zu suchen, vor Basic zu schützen und nachher wieder freizugeben, würde eine Menge Programmieraufwand verursachen; darum verwendet das

Programm Hilfsroutinen im Basic-ROM, was aber zu neuen Problemen führt:

Da das Programm auch mit dem CPC-664 funktionieren soll, dort aber das komplette Basic-ROM überarbeitet wurde, müssen alle drei Einsprünge in den Basic-Interpreter in der 664-Version umgeändert werden -der Basic-Loader macht dies automatisch.
Der |DIR-Befehl legt keinen Pufferspeicher des Katalogs an, ist dafür aber auch nicht einfach mit CALL aufzurufen. Das Betriebssystem verwaltet solche RSX-Befehlserweiterungen mittels miteinander verknüpfter Sprungtabellen. Die RSXen können dann anhand ihres Namens mit der Betriebssystem-Routine KL FIND COMMAND in allen Speicherbereichen gesucht werden.

Als Ergebnis dieser Suche befindet sich die RSX-Routinen-adresse im HL-Register, der ROM-Status im C-Register. Diese Registerwahl ist recht geschickt gemacht, denn genau diese Register werden auch von KLFARPCHL benötigt, das jeden beliebigen Sprung in den RAM oder eines der 252 Erweiterungs-ROMs durchfuhren kann. Auch hier wird nach erfolgter Druckerausgabe der OUTPUT-Vektor wiederhergestellt, und das Programm kehn zum Basic zurück.

Martin Kotulla , CPU

★ PUBLISHER: Computing Programming Using
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Martin KOTULLA



★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-Druckerausgabe  des  Diskettenkatalogs    (Computing  Programming  Using)    GERMAN    LISTINGDATE: 2025-08-27
DL: 49
TYPE: PDF
SiZE: 2168Ko
NOTE: Supplied by archive.org ; 6 pages/PDFlib v1.6

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

Lien(s):
» Applications » Catalog Tricks
» Applications » Datalogie (CPC Infos)
» Applications » Super Katalog (CPC Amstrad International)
» Applications » Catalogue to Variables
» Applications » Cassette Catalogue
» Applications » Cat-disk (CPC Revue)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» 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.732-desktop/c
Page créée en 600 millisecondes et consultée 185 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.