APPLICATIONSDISQUE ★ DISCXBAS (SCHNEIDER MAGAZIN)|Schneider Magazin) ★

DISCXBAS (Schneider 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 ★ 

Sicher hat sich schon einmal jeder Diskettenbesitzer gefragt: Warum kann man unter AMSDOS keine Diskette formatieren und keine Tracks sowie Sektoren einiesen? Genau dies brachte mich auf die Idee, DISCXBAS zu schreiben. Es handelt sich dabei um eine Erweiterung, die mit 19 neuen Befehlen das effektive Arbeiten mit der Diskettenstation vereinfacht oder erst ermöglicht. Sie beginnen alle mit dem RSX-Strich. Eine falsche Parameteranzahl führt zur Fehlermeldung "*Parameterfehler*” und zum Programmabbruch.

Die neuen Befehle

|SECREAD - Einen Sektor in den Buffer einiesen
Syntax: |SECREAD, track, sektor+offset
Offset: 65 = Systemformat, 193 = Datenformat, 1 = IBM-Format
Beispiel: |SECREAD, 0, 0+65 (Liest den Sektor 0 auf Track 0 von einer Systemdiskette.)

|SECWRITE - Buffer-Inhalt auf Diskette schreiben
Syntax: |SECWRITE, track, sektor+offset
Offset: siehe |SECREAD
Beispiel: |SECWRITE, 0, 0+65 (Schreibt den Buffer-Inhalt auf Track und Sektor 0 einer Systemdiskette.)

|FORMAT - Gesamte Diskette formatieren
Syntax: |FORMAT, format
format = 0: DATA-Format
format = 1: VENDOR-Format
Beispiel: |FORMAT, 0 (Formatiert die eingelegte Diskette im DATA-Format.)

|TRACKFORM - Einen Track formatieren (Offset beliebig)
Syntax: |TRACKFORM, track, offset
Offset: siehe |SECREAD
Dieser Befehl kann verwendet werden, um eine Diskette vor DISCCOPY oder DISCKIT zu schützen.
Tippen Sie folgendes ein:
|FORMAT, 1 'Formatiere in Vendor
|TRACKFORM, 1,193 'Formatiere Track 1 in DATA-Format
Beim Kopierversuch antwortet DISCKIT mit: DISK ERROR - FORMAT CHANGED

|ID - 9 Sektor-IDs lesen und ausgeben
Syntax: HD, track
Beispiel: MODE 2: |ID, 0
Hier gibt der CPC jetzt 9*4 Bytes aus. Sie entsprechen dem ID von 9 Sektoren. (Achtung! Die ausgegebenen Werte stimmen nicht mit der Reihenfolge der Sektoren auf der Diskette überein.)

lDRV - Laufwerk für die zuvor genannten Befehle einstellen
Syntax: |DRV, drive
drive = 0 wählt Laufwerk A:
drive = 1 wählt Laufwerk B:
Beispiel: |DRV, 1: |ID, 0 (Liest 9 Sektor-IDs von Track 0 / Laufwerk B:.)

|TRY - Anzahl der Schreib-/Leseversuche festlegen
Syntax: |TRY, anzahl
anzahl = Anzahl der Versuche vor Fehlermeldung
Beispiel: |TRY, 1: |SECREAD, 0, 128 (Die Floppy gibt sich wenig Mühe, den illegalen Sektor zu suchen.)
Beispiel: |TRY, 30: |SECREAD,0,128 (DieFloppy versucht wesentlich öfter, den illegalen Sektor zu laden.)
Diesen Befehl kann man gut verwenden, um auf einer kaputten Diskette noch Daten zu finden.

|AMSEROFF - Hardware-Fehlermeldungen ausschalten
Syntax: lAMSEROFF
Beispiel: 10 |AMSEROFF
20 ON ERROR GOTO 100
30 CAT
40 |AMSERON: END
100 |FDERR = 144 THEN ? "DISKETTE FEHLT”: RESUME 40
Dieser Befehl ist für die 664/6128-User gedacht, die mit DERR und ON ERROR GOTO Diskettenfehler abfangen können.

lAMSERON - Hardware-Fehlermeldungen einschalten
Syntax: |AMSERON
Beispiel: |AMSERON: |B

|USE - User-Nummer wählen (0 bis 255)
Syntax: |USE, user
Beispiel: |USE, 229: CAT (Gibt alle gelöschten Files aus.)

|DUMPBUF - Sektor-Buffer dumpen
Syntax: |DUMPBUF
Beispiel: |SECREAD, 0, 0+65: |DUMPBUF
(Dumpe Boot-Sektor einer Systemdiskette.)
Dieser Befehl erzeugt einen HEX- und ASCII-Dump des Sektor-Buffers. Links wird die aktuelle Adresse relativ zum Buffer-Anfang ausgegeben, danach 16 Bytes Inhalt als ASCII-Dump. Das Dumpen läßt sich mit l*COPY einfrieren, mit 2*COPY abbrechen (wie Basic-Programme mit ESC).

|BUFFER - Adresse für Sektor-Buffer festlegen
Syntax: |BUFFER, adr 'adr = neue Adresse
Beispiel: |BUFFER, &A000: |SECWRITE, 0,0+65 (Schreibt den Speicher ab &A000 auf den Boot-Sektor einer Systemdiskette.)
Normalerweise liegt der Sektor-Buffer ab &9B1B. Er ist 512 Byte lang.

|GETBUF - Buffer-Ad resse ausgeben (in HEX)
Syntax: |GETBUF
Beispiel: |GETBUF
Ergebnis: 9B1B

|GETBUF - Buffer-Adresse in Variable einiesen
Befehl: |GETBUF, @variable%
Syntax: v% = 0: |GETBUF, @v%
Beispiel: a% = 0: |GETBUF, @a%: ? HEX$( a%)
Ergebnis: 9B1B

|AMSDOS - System-Reset und nur ROM 7 initialisieren
Syntax: |AMSDOS
Dieser Befehl ist für User gedacht, die mehr ROMs als nur die Floppy angeschlossen haben. Nach IAMSDOS wird ein Reset durchgeführt, nur die Floppy initialisiert und Basic neu gestartet. Auch problematische Programme müßte man so wieder zum Laufen bringen. (Achtung! Durch das Zurücksetzen des Systems werden auch DISCXBAS und andere Erweiterungen gelöscht.)

|BEEP - Piepton ausgeben
Syntax: |BEEP
Dieser Befehl entspricht vollständig ? CHR$(7);

|KWAIT - Auf Tastendruck warten
Syntax: |KWAIT
Dieser Befehl löscht den Tasten-Buffer, wartet auf einen Tastendruck und löscht ihn dann wiederum.

|CLBUF - Tastaturpuffer löschen
Syntax: |CLBUF
Dieser Befehl löscht den Tastatur-Buffer.

|BEFEHLE - DISCXBAS-Befehlsliste ausgeben
Syntax: |BEFEHLE
Hier werden alle DISCXBAS-Befehle mit ihrem Format und einer eventuellen Kurzbeschreibung angezeigt.

Eintipphilfe

Geben Sie zunächst Listing 1 (Starter) ein und sichern Sie es mit SAVE”DISCXBAS.BAS”. Danach tippen Sie den DATA-Lader ab und speichern ihn mit SAVE ”DISCXBAS.DGN”. Starten Sie ihn nun mit RUN. Fehler in den DATA-Zeilen werden angezeigt. Sie sind nach dem Ready zu korrigieren. Ist alles in Ordnung, wird der Code gesaved. Sie benötigen den DATA-Lader dann nicht mehr. Laden Sie jetzt DISCXBAS mit RUN "DISCXBAS”. Soll dies in einem Programm geschehen, ist nur folgende Zeile einzufügen :

10 MEMORY &94FF: LOAD”DISCXBAS.RSX”: CALL &9500

Stefan Rompf , Schneider Magazin

★ PUBLISHER: Schneider Magazin
★ YEARE: 1987 , 1988
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Stefan Rompf
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» DISCXBAS    (Schneider  Magazin)    GERMANDATE: 2020-06-07
DL: 203
TYPE: ZIP
SiZE: 8Ko
NOTE: 40 Cyls
.HFE: Χ

» DISCXBAS    (Schneider  Magazin)    LISTING    GERMANDATE: 2021-02-02
DL: 166
TYPE: PDF
SiZE: 597Ko
NOTE: 4 pages/PDFlib v1.6

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

Lien(s):
» Applications » Druckereien (CPC Amstrad International)
» Applications » Drucken im Hintergrund
» Applications » Kalenderdrucker (CPC Amstrad International)
» Applications » Abfrage des Druckers (Schneider Aktiv)
» Applications » Druck für NLQ 401 (CPC Amstrad International)
» Applications » Schildchen - Drucker (CPC Amstrad International)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» 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 529 millisecondes et consultée 778 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.