APPLICATIONSDISQUE ★ SYSDISC -Ein Diskettensystem ★

SYSDisc (CPC Magazin)Applications Disque
★ 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 ★ 

RSX-Befehlserweiterung für Disketten- und Speicherzugriffe

Dieses Programm erweitert die Disketten- und Speichermanipulationsbefehle unter Basic. Folgende RSX-Befehle werden installiert:

  1. |OPEN, |CLOSE, |RECORD, |GET, |PUT, |SEC.WR, |SEC.RD, |FORMAT
  2. |SYSTEM, |ROM, |LDIR, |LDDR, |CHIR, |RESULT, |AKKU, |FLAG, |DOKE und |CALLSTR, |WRITE

Mit den Befehlen der ersten Gruppe ist man in der Lage, eine Relative Dateiverwaltung zu betreiben und Sektoren einzeln anzusprechen. Der zweite Teil ermöglicht es, Systemroutinen in den ROMs aufzurufen, die Register zu laden und abzurufen sowie Speicherverschiebungen vorzunehmen.

Form und Funktion der Befehle
|FORMAT bzw. |FORMAT, flagFormatiert die Diskette im DATA-Only-Format bzw., wenn flag'1, im Vendor-Format (CP/M ohne Systemspuren).
|SEC.RD, drive, track, sector, buffeHolt einen Sektor vom Diskettenlaufwerk A/B (0/1) von Track 0...39 undder Sektornummer &C1 ...&C9 (&41 ...&49 im CP/M-Format) in einen 512-Byte-Buffer.
|SEC.WR, drive, track, sector, bufferEntsprechend zu ISEC.RD, nur daß aus dem 512-Byte-Buffer auf die Diskette geschrieben wird.
|OPEN, < Länge der Records >Übergibt der Routine die Record-Länge (Länge' 2,4, 8,16...512).
|CLOSESchreibt den aktuellen Record auf die Diskette und beendet den Zugriff.
|RECORD,Liest den Record mit dieser Nummer (falls nötig) ein, macht ihn für Zugriffe bereit und speichert zuvor den alten auf der Diskette ab.
|GET, @ , @ < Str-Var >,...Holt die String-Variable(n) aus dem aktuellen Record.
|PUT, @ , @ < Str-Var >,...Legt die String-Variable(n) im aktuellen Record ab.
|SYSTEM, Adresse, FA, BC, DE, HL, IX, IYRuft eine Routine im RAM/ROM auf und lädt die Register mit den angegebenen Parametern (FA: Flags'High-Byte, Akku'Low-Byte).

Beispiel:

|SYSTEM, &BB06Holt ein Zeichen von der Tastatur.
|SYSTEM, &BB5A, ASC (”A”)Schreibt A auf den Bildschirm.
|SYSTEM, &BBF6,0,0,320,200Zeichnet eine Linie zum Punkt 320/200.
|ROM, ROM-NrWählt für |SYSTEM, |LDIR, |LDDR das RAM bzw. ROM aus:   
0000-3FFFC000-FFFF
|ROM, 0... ROM, 251RAMZusatz-ROM 0...251
|ROM, 7RAMCP/M, AMSDOS
|ROM, 252BetriebssystemBasic
|ROM, 253RAMBasic
|ROM, 254BetriebssystemRAM
|ROM, 255RAMRAM
|LDIR, Quelladr., Zieladr., AnzahlVerschiebt einen Speicherbereich aufwärts zählend von der Quelladresse zur Zieladresse.

Beispiel:

|ROM, 7: |LDIR, &C000, &C000, &4000Schreibt den Inhalt des AMSDOS-ROM in den Bildschirmspeicher.
|ROM, 255: |LDIR, &C050, &C000, &3F50Scrollt den Bildschirm eine Zeile höher.
|LDDR, Quelladr., Zieladr., AnzahlEntsprechend |LDIR, nur wird hier abwärts zählend verschoben.
|CHIR, Adr.1, Adr.2, AnzahlDie beiden Speicherbereiche ab Adresse 1 und Adresse 2 werden vertauscht.

Beispiel:

|CHIR, &4000, &C000, &3FFFTauscht den Bildschirmspeicher mit dem Speicherbereich 4000H-7FFFH.
|CHIR, @a$, @b$, 3Tauscht die beiden String-Variablen.
|CHIR, @a%, @b%, 2 Tauscht die beiden Integer-Variablen.
|CHIR, @al, @b!, 5 Tauscht die beiden Real-Variablen.
|RESULT, @BC%, @DE%, @HL%,@IX%, @IY%Füttert die Integer-Variablen BC bis IY nach Aufruf eines ISYSTEM-Befehls mit den Werten der entsprechenden Register.

Beispiel:

|SYSTEM, &BB69Holt die Größe des aktuellen Textfensters.
|RESULT,@UR%,@UR%, @OL%Füttert UR% mit dem Wert von DE, also rechts'High, unten'Low, und OL% mit dem Wert von HL, also links'High, oben'Low.
|AKKU, @A% Füttert A% mit dem Wert des Akkus nach dem letzten |SYSTEM-Befehl.

Beispiel:

|SYSTEM, &BB06: lAKKU, @CHARWartet auf ein Zeichen von der Tastatur und speichert es in CHAR% ab.
|FLAG, @F%Füttert F% mit dem Wert des Flag-Registers nach dem letzten |SYSTEM-Befehl. Die Bits stehen für folgende Flags:

BitBedeutung
0/1CÜbertrag, 1'C,0'NC
1/2NAdditions-/Subtraktions-Fla
2/4P/VParität/Überlauf, 1'PO, 0'PE
3/8 Keine Bedeutung
4/16HHalbübertrags-Flag
5/32 Keine Bedeutung
6/64ZNull-Flag, 1'Z,0'NZ
7/128SVorzeichen-Flag, 1'M,0'P

Beispiel:

|SYSTEM, &BD2E: |FLAG, @busy% : busy%'(busy% AND 1)'1Stellt fest, ob der Drucker empfangsbereit ist (busy%'0), sonst busy%'&FFFF
|CALLSTR, @program$ oder
|CALLSTR,< Program in ASCII-Zeichen >
Ruft eine Routine auf, die in einem String gespeichert ist (sie muß verschiebbar sein: relative Sprünge).
|WRITE, Quelladr., AnzahlSchreibt den Inhalt des Speicherbereichs als ASCII- oder Sonderzeichen auf den Bildschirm.

Beispiel:

|ROM, 252: |WRITE, &738, &3EGibt die Firmen, die den CPC vertreiben, auf dem Bildschirm aus.

Dieter Deifel , CPC Magazin

★ PUBLISHER: CPC Magazin
★ YEAR: 1987
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ TAG: /PRINT/DMP/NLQ/
★ LICENCE: LISTING
★ AUTHOR: Dieter Deifel

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» SYSdisc    (CPC  Magazin)    GERMANDATE: 2020-06-13
DL: 25 fois
TYPE: ZIP
SIZE: 6Ko
NOTE: 40 Cyls
.HFE: NON

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 » WACCI PD Disc #03
» Applications » Disc Utility II
» Applications » Supercat (CPC Revue)
» Applications » Cassette Catalogue
» Applications » Disc Manager
» Applications » Modification et Listage des Secteurs d'Une Disquette (Cahier de l'Amstrad)

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 760 millisecondes et consultée 168 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.