APPLICATIONSDIVERS ★ Programme zum Erstellen von RSX-Befehlen für den CPC 464 ★

Rsx - Programme zum Erstellen von Befehlen für Den CPC 464 (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 ★ 

Sie haben in letzter Zeit öfters RSX-Befehle in Ihrer Zeitschrift »Schneider CPC International« vorgestellt. Alle diese RSX-Befehle haben jedoch den Nachteil, daß man immer nur eine RSX zur Verfügung hat. Wenn man mehrere benötigt, so muß man sich die Routinen selbst zusammenstellen, was teilweise, auf Grund der Sprungadressen, sehr aufwendig ist. Das brachte mich nun auf die Idee, den HEX-Code der RSX-Befehle separat abzuspeichern, und bei Bedarf, die für ein Programm benötigten RSX-Befehle einfach nurzusammen-zulinkcn.
Ich habe aus dieser Überlegung heraus zwei Programme geschrieben.

  1. INPUTRSX.BAS: Es dient zum Abspeichern des Assembler-codes auf Diskette oder Cassette.
  2. CREATRSX.BAS: Es linkt die jeweils benötigten Assembler-routinen von der Diskette zusammen, und erstellt die Sprungadressen und die Tabellen für das Betriebssystem des Schneider CPC
Ablauf:
Als erstes wird das Programm INPUTRSX.BAS geladen. Es fragt nach dem Namen der RSX. Dieser muß ohne Strich für die RSX eingegeben werden. Danach wird das Auswahlme-nue angezeigt.
  • 1 = NEU ANLEGEN
  • 2 = ANLISTEN
  • 3 = ÄNDERN
  • 4 = LADEN CREATRSXBAS

Bei Auswahl 1 werden einfach die HEX-Zahlen ohne das &-Zeichen eingegeben. Zur Kennzeichnung einer relativen Adresse in der Routine, muß

vor dem LOW-BYTE der Adresse — eingegeben werden. Das LINK-Programm benötigt diese Referenz, damit es die absolute Adresse während des Zusam-menlinkens berechnen kann. Alle anderen Adressen, zum Beispiel die Adressen der Firmware-Routinen, müssen ohne diese — eingegeben werden. Als Abschluß müssen zwei * eingegeben werden. Danach werden die HEX-Werte mit der Länge der Routine abgespeichert.

WICHTIG: Alle Referenzen, die sich auf Adressen innerhalb der Routine beziehen, müssen so angegeben werden, als würde die Routine an der Adresse HEX 0000 beginnen. Das sind die Adressen, die mit — gekennzeichnet werden müssen.

Die Auswahl 2 lädt die Routine neu ein und listet sie auf dem Bildschirm an. Das Anlisten kann mit der Leertaste gestoppt und mit der ENTER-Taste abgebrochen werden. Die Auswahl 3 ist ein einfacher Editor. Mit ihm können die eingeladenen, RSXen bearbeitet werden. Es stehen die Funktionen Ändern, Löschen und Einfügen zur Verfügung. Nach dem Ändern der Routinen wird gefragt, ob die Routine abgespeichert werden soll, und wenn ja, unter welchem Namen. Hier kann, im Gegensatz zu Auswahl 1, ein anderer Name gegeben werden. Der dreistellige Index nach dem Namen ist jedoch in jedem Fall .RSX , da das Programm CREATRSX.BAS auf diesen Namen referenziert. Der Index darf beim Eingeben des Namens nicht angegeben werden. Er wird vom Programm automatisch angehängt. Die Auswahl 4 lädt das Programm CREATRSX.BAS.

Mit ihm kann die RSX gleich nach dem Eingeben geladen und getestet werden.

Das Programm CREATRSX.BAS fragt als erstes nach der Anzahl der zusammenzustellenden Routinen. Danach wird nach den Namen gefragt. Hier darf lediglich der Name der RSX-Befehle ohne den Anhang .RSX angegeben werden. Danach liest das Programm aus allen diesen Dateien den ersten Wert aus: die Länge der Routine. Nun wird die Länge der gesamten Routine und damit der Startpunkt der Routine im Speicher berechnet. Wenn der Benutzer zum Beispiel SYMBOL AFTER in seinem Programm benutzt, so muß er diesen Befehl vor dem Aufruf des Programms einmal eingeben, damit der Speicherplatz dafür reserviert werden kann. Nach der Berechnung der Startadresse wird sie vom Programm angezeigt, und der Programmierer gefragt, ob er die Adresse nach unten korrigieren möchte. Das kann sinnvoll sein, um eine gerade Startadresse zu erreichen. Danach sucht sich das Programm die Routinen von der Diskette zusammen, berechnet die Adressen und stellt die Sprungtabellen und Namenstafeln für das System zusammen. Nachdem diese in den Speicher gepoked wurden, wird nach dem Namen gefragt, unt^r dem die RSX als BIN-Datei abgespeichert werden soll. Zuvor gibt das Programm die Adresse an, ab der der Speicher mit dem MEMORY-Bcfchl gesichert werden muß. und die Sprungadresse, mit deren Aufruf die RSX nach dem Einladen in den Speicher mit CALL aktiviert werden muß.

Sie kann zum Test nach dem Erstellen aktiviert werden, da der Speicherbereich für das Einpoken gesichert wurde.

Als Test sind hier drei Routinen mit abgedruckt. Die Routine LINE.RSX, ist die von J. Miehle erstellte RSX aus der Ausgabe vom August. Sie ist lediglich auf die Belange dieses Programms zusammengestrichen.

Die Routine SWAP.RSX schaltet den Bildschirm-Speicher von der normalen Adresse #C000 auf #4000, und beim zweiten Aufruf wieder zurück. Um mit der Routine zu arbeiten, muß nach der Eingabe der Routine die Speicherobergrenze auf #3FFF gesetzt werden.

Mit der Routine ist es möglich, zwei Bildschirmseiten zu benutzen, und sie mit dem Befehl :SWAP hin- und herzuschalten Die Routine SWAPMODE.RSX macht im Prinzip das gleiche, nur wird ihr beim Aufrufen noch der MODE mitgegeben. Syntax :SWAPMODE,x, wobei x eine Zahl zwischen 0 und 2 ist Falsche Zahlen werden nicht berücksichtigt. Wurde keine Zahl eingegeben, so wird der MODE auf 0 gesetzt. Beim Arbeiten mit verschiedenen MODEs erfolgt das Schreiben auf den Schirm jedoch immer in dem MODE, der mit dem normalen MODE-Kommando gesetzt wurde. Das heißt, ein bereits beschriebener Schirm wird richtig angezeigt, beim Beschreiben sieht das Ganze etwas seltsam aus.

H.-J. Ringel, CPCAI 8512

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1982
★ AUTHOR: H.-J. Ringel
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-Befehlen    (CPC  Amstrad  International)    GERMANDATE: 2012-12-16
DL: 257
TYPE: ZIP
SiZE: 8Ko
NOTE: 40 Cyls
.HFE: Χ

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

Lien(s):
» Applications » Transmat + R.S.X Clock (Pride Utilities )
» Applications » RSX Circulo (Amstrad User)
» Applications » Rsx - Basic Aid Plus (Amstrad Action)
» Applications » RSX-Lib: The RSX Library Utility (Amstrad Computer User)
» Applications » Printer buffer
» Applications » Blinkender Cursor und Tastenklick (CPC Magazin)
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/c
Page créée en 502 millisecondes et consultée 2032 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.