APPLICATIONSUTILITAIRES RSX/LIGNE DE COMMANDE ★ Disc Basic v3.0 ★

Disc Basic|CPC Amstrad International)Applications Utilitaires Rsx/ligne De Commande
★ 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 ★ 

Das Amsdos der Floppy-station DDI-1 bietet über die bekannten Floppybefehle ziemlich wenig Möglichkeiten, eine vernünftige Diskettenprogrammierung vorzunehmen. Assemblerkenntnisse und eine gute Orientierung im Floppy-ROM. sind Voraussetzung dafür, möglichst effizient und sicher zu arbeiten.

Den Anwendern, denen M-Code und die Mysterien des siebten ROM's des CPC jedoch ein Buch mit sieben Siegeln sind, bleiben die, im Grunde genommen, fantastischen Möglichkeiten dieser, in der Anfangszeit als schneller Kassettenrekorder verschrieenen, Diskettenstation verschlossen.

Um Anfängern und Profis den Umgang mit den Routinen des Controllers zu ermöglichen bzw. zu erleichtern, veröffentlichen wir an dieser Stelle das Disc-Basic V3.0, welches ein ausgewogenes Maß an Befehlen bereithält. Insgesamt 20 neue Befehle für Hobby und professionelle Anwendung stehen nach Eingabe des ca. 1KB großen MC-Programmes zur Verfügung. Diese Befehle lassen sich in Gruppen unterteilen. Da sind zunächst einmal die Floppy-spezifischen Befehle wie:

READ, DRIVE, TRACK, SEKTOR
WRITE, DRIVE, TRACK, SEKTOR
SETBUF, ADRESSE EXAMINE, DEVICE FORMATEX, DRIVE, TRACK, OFFSET

Die nächste Gruppe von Befehlen stellt Instruktionen und Routinen bereit, die in Programmen recht nützlich sein können und bereits vorhandene Floppyoperationen verbessern.

FORMAT, FORMATOFFSET
FAST
SLOW
CLEAN
DELCAT
PC AT

Außerdem gibt es noch Hilfsroutinen, die zwar eigentlich nichts mit Floppyoperationen zu tun haben, jedoch die Programmentwicklung mit dem Disc-Basic V3.0 erleichtern.

BHELP
INIT
WAIT

Und als zusätzlichen Bonus für MC-kundige Programmierer einige Miniaturbefehle, die das Laden eines Assemblers oder Monitors bei Kurzroutinen ersparen sollen.

AKKU, BYTE
HL, BYTE, BYTE
BC, BYTE, BYTE
DE, BYTE, BYTE
SYS, ADRESSE
HDUMP, START, ENDE, DEVICE

Alle diese Befehle sind sogenannte RSXen (Resistent System Extensions) und müssen mit einem vorangestellten Strich, den Sic über die Tastenkombination [SHIFT] [@]


erreichen, eingegeben werden. Will man beispielsweise den Akku mit dem Wert 7 laden, so ist die korrekte Syntax für den Befehl |AKKU,7

Vergessen Sie den RSX-Strich, so wird die System-eigene Fehlermeldung SYNTAX ERROR ausgegeben, schreiben Sie den RSX-Befehl falsch, so erscheint UN-KNOWN COMMAND und für das Weglassen eines unbedingt benötigten Parameters hat das Disc-Basic die eigene Fehlermeldune !!! PARAMETERFEHLER!!! Der Basiclader schreibt das Listing in den Speicherbereich &8000 und sichert ihn danach auf Diskette. Mit folgendem kleinen Loa-der, kann das Basic danach direkt in den Speicher geladen, die Memory-Grenze gesetzt und die Initialisierungsroutine aufgerufen werden.

10 MEMORY &7FFF
20 LOAD "DB.BIN",&8000
30 CALL &8000
40 |BHELP

Im nachfolgenden werden die einzelnen Befehle genau erklärt, die Referenz zur Speicherbelegung unter Disc-Basic V3.0 sowie eine Routine, die dem Anwender hilft, auf einer mit |FORMATEX formatierten Diskette etwas wiederzufinden.

Befehlsbeschreibung:

1. READ
SYNTAX :|READ,DRIVE, TRACK, SEKTOR

FUNKTION:

Der Befehl dient zum Lesen eines Sektors auf Spur 0 bis 42 mit frei wählbarem Offset.
Bei einer nicht formatierten Spur oder einem falschen Offset erfolgt die Disc-eigene Fehlerabfangroutine. Diegelesenen Daten werden in den Disc-Basic-Sektor Buffer geschrieben und haben eine Länge von 512 Bytes. Ob die Spur vorhanden ist und mit welchem OfTset sie gekennzeichnet ist, können Sie über das Hilfsprogramm SEKTOR MAP (Listing 2) ermitteln. Beispiel:

Zum Lesen des Sektors &41 auf Spur 2 des DrivesOgeben Sie ein:

|READ,0,2,&42

2. WRITE

SYNTAX :lWRITE,DRIVE, TRACK,SEKTOR

FUNKTION:

Der Befehl dient zum Schreiben des Sektor-Buffers aufei-nen Sektor in Spur 0 bis 42 mit frei wählbarem Offset. Bei einer nicht formatierten Spur oder einem falschen Offset erfolgt die Disc-eigene Fehlerabfangroutine. Die zu schreibenden Daten haben eine Länge von 512 Bytes. Ob eine Spur vorhanden ist und mit welchem Offset sie gekenn-zeichnet ist, können Sie über das Hilfsprogramm SEKTOR MAP (Listing 3) ermitteln. Beispiel:

Zum Schreiben des Buffers auf Sektor &41 der Spur 2 im
Laufwerk 0. geben Sic ein: |WRITF.,0,2,&41

3. SETBUF SYNTAX :|SETBUF, ADRESSE

FUNKTION:

Festlegen der Startadresse des 512 Bytes großen SEKTOR BUFFERS.

Beim Start des Disc-Basic steht dieser Buffer ab Adresse &A000.

In diesem Buffer werden die Lesedaten bei IREAD und IWRITE abgelegt bzw. entnommen.

Beispiel:

Sie wollen eine Routine, die ab Adresse &5000 steht, auf Sektor &41, Spur 2, Laufwerk 0 schreiben, so geben Sic ein:

|SETBUF,&5000

1 WRITE,0,2,&41

4. EXAMINE SYNTAX : |EXAMINE, DEVICE

FUNKTION:

Ausgabe des momentanen SEKTOR BUFFER's auf die vorgewählte Device. Das Ausgabegerät kann entweder Monitor [0] oder Drucker [1] sein. Je nach angewähltem Mode, wird mit unterschiedlicher Spaltenbreite ausgegeben. Die Adresse der Bufferzeile wird mit ausgegeben. Neben den Hexwerten der Adressen, werden am rechten Bildschirmrand auch noch die entsprechenden ASCII-Zeichen ausgegeben. Beispiel:

Der Directorysektor einer, im Data-Format beschriebenen Diskette, soll auf Drucker mit 16 Zeichen Breite ausgedruckt werden. Sie geben ein:
MODE 2
|READ,0,0,&C1
|EXAMINE,1

5. FORMATEX SYNTAX : lFORMATEX, DRIVE,TRACK,OFFSET

FUNKTION:

Formatieren eines einzelnen Tracks mit beliebigem Offset. Mit diesem Befehl sollte man vorsichtig umgehen - überformatierte Daten sind unwie-derruflich verloren. Allerdings ist diese Routine auch sehr nützlich beim Retten von Disketten, auf denen eine Spur durch Magnetismus oder ähnliches verlorengegangen ist. Die Tracks (Spuren) können im Bereich 0 - 42 liegen. Auch zum Schützen von Disketten ist dieser Befehl sehr nützlich. Eine nicht formatierte Spur, odereine mit falschem Offset läßt sich nicht mehr so ohne weiteres kopieren. Der Offset wird vom Anwender bestimmt Standard-Offsets sind &41 [Systemformat-CP/M], &C1 ¡Data Onlyj und &01 [IBM Format). Die Lage der Sektoren auf der Spur wird vom Programm bestimmt. Hier sind keine Manipulationen möglich. Die Ablage erfolgt nach Standard und sieht am Beispiel IBM Format folgendermaßen aus: &01 &06 &03 &07 &04 &08 &05 &09 Beispiel:

Zum Formatieren einer Diskette im IBM Format bis zur Spur 42 geben Sie ein:
10 FOR TRACK = 0 TO 42
20 PRINT TRACK
30 |FORMATEX,0,TRACK, &01
40 NEXT TRACK
RUN [ENTER]


6. FORMAT

SYNTAX :|FORMAT,FORMATOFFSET
FUNKTION:

Der Befehl Format stellt eine von Basic aus aufrufbare Routine zur Verfügung, die eine Diskette, je nach gewähltem Offset, komplett formatiert und somit das Booten von CP/M abdingbar macht. Das Formatoffset kann im Data Only[l] oder Vendor Format [O] erfolgen. !! ACHTUNG !! Diese Routine hat im Gegensatz zu FORMAT.COM ihrer CP/M-Masterdiskette keine Sicherheitsabfrage und legt sofort nach Hingabe los. Beispiel:

Eine Diskette soll im Vendor Format formatiert werden. Sie geben ein: |FORM AT,0

7. FAST

SYNTAX : |FAST 
FUNKTION:

Dieser Befehl spezifiziert die Timingtabelle der Floppy neu und ermöglicht einen bis zu 20 % schnelleren Zugriff auf alle Floppyoperationen.

8. SLOW

SYNTAX : |SLOW
FUNKTION:

Wiederherstellen der alten Timingtabelle nach |FAST.

9. CLEAN
SYNTAX : |CLEAN
FUNKTION:

Der Befehl dient dazu, auf einer überfüllten Diskette Platz zu schaffen, indem alle BAK-Dateien gelöscht werden.

10. DELCAT
SYNTAX : lDELCAT 
FUNKTION:

Der Befehl setzt die Usernummer des Drives auf &E5 und führt einen Catalog aus. Auf der USER befinden sich alle gelöschten Files. Mit POKE & A 701 E5: LOAD "DATEINAME":POKE &A701,0:SAVE "DATEINAME" [ENTER] kann ein irrtümlich gelöschtes File wieder in das normale Directory gebracht werden.

11. PCAT
SYNTAX : |PCAT
FUNKTION:

Der Befehl verbiegt die Bildschirmausgaberoutine auf den Drucker, führt ein CAT aus und stellt den Screen Vektor danach wieder zurück. Dadurch erhält man einen Ausdruck des über |USER angewählten Directorys auf Drucker. Beim NLQ401 muß der DIP-Schalter für AUTO LINE FEED auf ON stehen, da sonst kein Zeilenvorschub ausgeführt wird. Beispiel:

Das Directory der Usernummer 3 soll auf Drucker ausgegeben werden. Sie geben ein:

|USER,3
|PCAT
|USER,0

12. BHELP
SYNTAX : |BHELP
FUNKTION:

Dieser Befehl ist eine reine Hilfsroutine für das Disc-Basic V3.0 und gibt eine Liste sämtlicher Befehle und Parameterübergaben auf dem Bildschirm aus. Dies funktioniert in MODE 1 und MODE 2. In MODE 0 sollte dieser Befehl nicht angewendet werden, weil alles ein wenig unübersichtlich aussieht.

13. INIT
SYNTAX : |INIT
FUNKTION:

Der Befehl UNIT bewirkt eine komplette Initialisierung der Text-VDU des Screen- und Keyboard-Managers. Eine Anwendung findet sich darin, daß bei veränderten Farben und Zeichensatz wieder der Normalzustand des Rechners hergestellt werden kann. Empfehlenswert ist es. diesen Befehl mit

KEY 128,"|INIT"+CHR$(13)

auf die 0 des Zchnerblocks zu legen.

14. WAIT
SYNTAX : |WAIT
FUNKTION:

Der Befehl |WAIT unterbricht den Programmablauf solange, bis irgendeine Taste gedrückt wird.

15. AKKU
SYNTAX : |AKKU,BYTE
FUNKTION:

Das Register A wird mit dem Wert (BYTE) geladen und in einem temporären Speicher abgelegt. Siehe hierzu auch den Befehl |SYS.

16. HL
SYNTAX :|HL,BYTE1, BYTE 2
FUNKTION:

Das Register H wird mit dem Wert (BYTE1) geladen, das Register L mit dem Wert (BYTE2). Beide Werte werden in einem TEMP abgelegt. Siehe hierzu auch den Befehl ISYS.

17. BC
SYNTAX :|BC,BYTE1,BYTE2
FUNKTION:

Das Register B wird mit dem Wert (BYTE1) geladen, das Register C mit dem Wert (BYTE2). Beide Werte werden in einem TEMP abgelegt. Siehe hierzu auch den Befehl ISYS.

18. DE
SYNTAX : |DE,BYTE1, BYTE 2
FUNKTION:

Das Register D wird mit dem Wert (BYTE1) geladen, das Register E mit dem Wert (BYTE2). Beide Werte werden in einem TEMP abgelegt. Siehe hierzu auch den Befehl |SYS.

19. SYS
SYNTAX :|SYS, ADRESSE
FUNKTION:

Alle Register werden mit den. über die Befehle AKKU, HUBC, DE gefüllten TEMPS geladen und danach die Adressen angesprungen. Dadurch ist es möglich, ohne Einladen eines Assemblers aufeinfache Weise Werte für Firmwarcroutinen zu übergeben.

20. HDUMP
SYNTAX : |HDUMP,START,ENDE,DEVICE
FUNKTION:

Der Befehl HDUMP arbeitet ähnlich wie der Befehl EXAMINE. Hier lassen sich jedoch Start- und Endadresse festlegen und so ein Hex-ASClI-Dump eines Speicherbereiches ausgeben. Die Parameter für Device werden genau wie bei EXAMINE übergeben. Auch für di< Bildschirmmodi gilt hier da; gleiche. Eine Unterbrechung des Ausdrucks ist nicht mö glich.

Das Programm liegt al Adresse &8000 und sollte voi dort auch nicht verschöbet werden, da es sich seinen in ternen Directorybuffer al Adresse &9000 bis &A000 an legt. Ab &A000 liegt danr noch ein 512 Bytes große Sektor 10 Buffer, der jedoch von Basic aus über SETBUr an eine beliebige Stelle ge legt werden kann. Wie bei al len verschobenen Buffern muß jedoch darauf geachte werden, daß er das eigentliche Disc-Basic nicht überschreibt.

Durch einen einfachen CALL nach &85EB kann beispielsweise jede Bildschirmausgabe auf den Drucker umgeleitet werden. Eine Anwendung besteht darin, sich das Directory der gelöschten Files auf Drucker ausgeben zu lassen, indem Sie eintippen: CALL &85EB IDELCAT CALL &8600

Als letztes Tool zum Disc-Basic gibt es noch das Programm SEKTOR MAP. welches einen weiteren Basic-Befehl zur Verfügung stellt, der jedoch nur Anwendung in diesem Hilfsprogramm findet und deswegen nicht in Disc-Basic mit aufgenommen wurde. SEKTOR MAP erstellt ein Inhaltsverzeichnis der Spuren einer Disk und gibt an, ob ein Track nicht formatiert wurde. Da sich eine nicht formatierte Spur schlecht lesen läßt und dies nur über Manipulationen der Fehlermeldungen und der Anzahl der Leseversuche verwirklichen ließe, ist diese Routine nicht gerade schnell. Jemand, der seine Disketten jedoch mit FORMATEX behandelt hat, wird rasch den praktischen Wert des Pro-grammes erkennen. SEKTOR MAP liegt ab &500Ö und kann sich gleichzeitig mit dem Disc-Basic im Speicher befinden, ohne sich gegenseitig zu behindern. Bei einigen 664 und6128 Versionen kann es durch geänderte Ausgaberoutinen zu leichten Schwierigkeiten kommen. Hängen Sie in dem Fall einfach hinter die erste FOR-NEXT-Schleife noch ein CHR$(13). Das Programm arbeitet zwar einwandfrei, der Bildschirmaufbau ist jedoch etwas verschoben.

TM, CPCAI

★ PUBLISHER: CPC AMSTRAD INTERNATIONAL
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LICENCE: LISTING
★ AUTOR: THOMAS MORGEN

★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» RSX-Disc  Basic  v3.0    GERMANDATE: 2013-09-03
DL: 75 fois
TYPE: ZIP
SIZE: 22Ko
NOTE: 40 Cyls
.HFE: OUI

Manuel d'utilisation & doc:
» RSX-Disc-Basic  v3.0    GERMAN    SOURCESDATE: 2014-05-05
DL: 77 fois
TYPE: PDF
SIZE: 1620Ko

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 » Fichier Congélateur/Gestion Congélateur (CPC Revue)
» Applications » Cree Data (CPC Revue)
» Applications » Loader for drive B (RAMDOS) format (CPC Attack)
» Applications » Amstradascii (Amstrad Magazine)
» Applications » Graphic - Double Screen
» Applications » Image binaire d'un caractere

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.7-desktop/cache
Page créée en 101 millisecondes et consultée 880 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.