Benchmarko Logo
Benchmarko Logo
Home
Projekte
CPCEMU
Software
Download
Kontakt
Links

Englisch
 
zurück

Copymate - Das Kopierprogramm

Anleitung zu Copymate (v3.2)

Copymate Menü

Zur Navigation können Sie auch auf das Bild klicken!

Inhaltsverzeichnis

 


 

Copymate Logo

Einführung

Copymate (v3.2) Jan.1991 ist ein PD-Kopierprogramm und darf (soll sogar) frei kopiert werden. Copymate ist geeignet für alle CPC 464/664/6128 (464,664 möglichst mit 64K-Speichererweiterung); es wird ein Joystick benötigt.

Copymate ist ein komplettes Kopiersystem mit vielen Funktionen und einfacher Bedienung.

 

Einige Vorbemerkungen:

Wichtig:

  • Die Programme dürfen nur komplett weitergegeben werden.
  • Die Programme dürfen nicht kommerziell eingesetzt werden.

Ich übernehme keinerlei Garantie für Schäden irgendwelcher Art, die durch Benutzung der Software oder der Informationen auf der Diskette entstehen.

 

Copymate-Files

  • DISC.BAS mit DISCANI.BIN (Animationsdaten)
  • COPY.BAS mit COPY.BIN (Copymate-Programm)
  • COPYDOC.BAS mit COPYDOC1.LOC, COPYDOC2.LOC (Anleitung), COPYUSER (Kurzanleitung)
  • COPYEX.BAS (definiert Extended-Format unter AMSDOS)

 

Copymate starten

Starten Sie COPYMATE durch RUN"DISC .

Die Animation können Sie durch <SPACE> abbrechen. Dann wählen Sie Anleitung/Einführung und darin die Kurzanleitung/Einführung. Sie gelangen in eine Copymate-ähnliche Oberfläche, in der Sie sich mit den Menüs vertraut machen können. Vergessen Sie nicht, die ausführliche Anleitung zu lesen.

Copymate benutzt keine Betriebssystem-Routinen und greift direkt auf die Hardware zu. Nur die Zeichenmatrizen werden aus dem Rom geholt. Dadurch erreicht es eine enorme Geschwindigkeit (der Interrupt ist dauernd ausgeschaltet).

Bei der Eprom-Version entfällt das Laden und es stehen einige Zusatzbefehle zum Aufruf zur Verfügung (z.B. Freezer mit automatischem Aufruf von Copymate...)

 

Viel Spaß beim Experimentieren ...

Marco Vieth

Stand: 26.4.1991

 


 

Überblick

--(1)-- Besonderheiten

COPYMATE ist ein möglichst flexibles aber doch nicht zu kompliziertes Kopier- Manipulier- und Analysierprogramm für Diskette und Kassette. Es bietet dem Anfänger wie dem Profi Operationen an, die sich sehen lassen können. So ist nicht nur einfaches Kopieren von Files beliebig zwischen Diskette und Kassette möglich, auch sogenannte "headerlose" Files (Kassette) und Sektoren (Diskette) lassen sich direkt (oder sogar nachdem sie in Files umgewandelt wurden) kopieren. Dabei hat der Benutzer genauste Kontrolle über die Speicherbereiche, in denen die Daten abgelegt werden.

Bei der Programmierung wurde vor allem Wert auf Geschwindigkeit und Unabhängigkeit vom Betriebssystem gelegt, was sich optisch durch einen superschnellen Bildaufbau äußert.

 

COPYMATE gibt es in zwei Public Domain-Versionen (dürfen frei kopiert werden):

1. Diskettenversion (v3.2) mit allen beschriebenen Operationen und allen Diskettenformaten

2. (EP)ROM - Version (v3.2) mit folgenden zusätzlichen Features:

  • jederzeit verfügbar (auch nach Reset)
  • größerer freier Speicherbereich
  • RSX-Zusatzbefehl |COPYON,Adresse <ENTER> nach diesem Befehl wird durch Drücken der <TAB>-Taste COPYMATE gestartet! (Adresse kann z.B. &BE80 oder &BF00 sein und ist für die 42-Byte lange Interruptroutine)
  • Durch Drücken der <X>-Taste beim Reset wird Copymate nicht installiert, falls bestimmte Programme sonst nicht funktionieren (Anmerkung: <X> funktioniert nur bei CPC 664/6128)
  • Durch Drücken der <C>-Taste beim Reset wird Copymate vor dem BASIC gestartet! Dadurch kann der noch nicht gelöschte Speicherbereich &40-&88DD (normales Ram) analysiert und abgespeichert werden !! (Daten im Zusatzram werden nach einem normalen Reset nicht gelöscht und können immer abgespeichert werden).
  • Tip: Wird Copymate aus einem Programm gestartet, sollte vorher MEMORY &88DD eingegeben werden.

 

--(2)-- Start von COPYMATE

COPYMATE wird bei allen Versionen durch den Befehl |COPY <ENTER> (|=der senkrechte Strich über dem Klammeraffen) gestartet, wobei bei den Disketten-Versionen das Programm natürlich erst durch RUN"COPY" <ENTER> geladen werden muß.

Sie sollten sich unbedingt mit den Menüs von COPYMATE mittels der Kurzanleitung vertraut machen, bei der zu jedem angewählten Menüpunkt eine kurze Erklärung gegeben wird. Wenn sie damit fertig sind, finden sie hier weitere Informationen.

 

--(3)-- Allgemeine Hinweise

Bei Editierfunktionen (Text oder Zahl) wird der aktuelle Inhalt angezeigt und kann verändert werden.

Kommandos aller Editierfunktionen:

  • <HOCH> = eine Zeile hoch
  • <RUNTER> = eine Zeile runter
  • <LINKS> = ein Zeichen nach links
  • <RECHTS> = ein Zeichen nach rechts
  • <DEL> = letztes Zeichen löschen (Cursor muß danebenstehen)
  • <CLR> = Zeichen unter Cursor löschen (andere verschieben)
  • <ENTER> = <FEUER> = Eingabe übernehmen, bestätigen
  • <ESC> = Eingabe abbrechen (alter Inhalt bleibt erhalten ! )

Zahleneingabe dezimal oder hexadezimal (mit vorangestelltem "&")

Nahezu alle Operationen lassen sich mit <ESC> abbrechen.

 

--(4)-- Aufbau des Hauptmenüs

Zuerst begrüßt Sie COPYMATE mit einem (auf dem ersten Blick) umfangreichen Menü, dessen Punkte Sie mit dem Pfeil anwählen können.

Dieses Menü ist folgendermaßen unterteilt:

  1. Das Lademenü beinhaltet Operationen zum (einzelnen) Laden von Daten.
  2. Das Savemenü beinhaltet Operationen zum (einzelnen) Speichern von Daten.
  3. Das 3-teilige Zwischenmenü beinhaltet Operationen zum Analysieren und Manipulieren von Daten.
  4. Das Hilfsmenü beinhaltet automatische Kopieroperationen (Filecopy, Seitencopy) und verschiedene Hilfsoperationen (Formatieren, Headeredit, Rename, Erase).

 

--(5)-- Ergänzende Hinweise (hierauf wird später verwiesen)

 

Fileauswahl

Bei bestimmten File-Operationen mit Diskette erfolgt eine sogenannte "Fileauswahl".

Dabei werden alle Files des Disketteninhaltsverzeichnisses in alphabetischer Reihenfolge ausgegeben: "00 Filename.Ext DIR R/W 10 K"

  • "00" = Usernummer des Files
  • "DIR" = File ist im Directory(Verzeichnis) zu sehen oder "SYS" = File ist System-File (versteckt)
  • "R/W" = File ist "read/write" (läßt sich überschreiben) oder "R/O" = File ist "read only" (schreibgeschützt)
  • "10K" = Länge des Files in Kilo-Bytes

Einzelne Files können markiert und entmarkiert werden.

Außerdem gibt es folgende Zusatzoperationen :

  • "nächste Seite": Weiterblättern im Verzeichnis, falls möglich
  • "Ende": Beenden der Fileauswahl
  • "alles": Markieren aller Files
  • "nichts": Entmarkieren aller Files

 

Disk-Systemfenster (unten links)
Nach bestimmten Disketten-Operationen wird in diesem Fenster die Position auf Diskette angegeben, die zuletzt bearbeitet wurde, z.B. "05 / C5"
  • "05" bedeutet Tracknummer 5 (in dezimaler Form)
  • "C1" bedeutet Sektornummer &C1 (in hexadezimaler Form)

 

Kass-Systemfenster (unten links)
Bei allen Kassettenoperationen ist in diesem Fenster eine Kontrolle über die gerade geladenen oder gespeicherten Bytes zu sehen. So kann man feststellen, ob z.B. beim Laden Daten erkannt werden.

Wie lassen sich Files kopieren, die nicht ganz in den Speicher passen?

  • "Diskette": automatische Kopieroperationen (Filecopy)
  • "Kassette":
    1. Teil laden, bis Meldung "Überlauf" oder letzter Block
    2. "erste Blocknummer" und "letzte Blocknummer" auf die des gesamten Files setzen (bei "Headeredit"+"Blocknummer")
    3. Teil (auf Kassette) abspeichern
    4. falls noch nicht letzter Block, weiter bei 1.

 

--(6)-- Fehlermeldungen bei Diskettenoperationen

  • "Diskette voll": Es ist beim Speichern nicht mehr genug Platz auf der Diskette.
  • Verzeichnis voll: Das Verzeichnis der Diskette ist voll, so daß keine Files (genauer Extents) mehr eingetragen werden können.

Bei den folgenden Fehlern wird noch der Track und Sektor angezeigt, bei dem der Fehler aufgetreten ist (Track dezimal / Sektor hexadezimal):

  • "Laufwerk nicht ok": Es liegt keine Diskette im Laufwerk --> Diskette einlegen und Nochmal=Ja wählen.
  • Schreibschutz: Speichern ist unmöglich, da der Schreibschutz der Diskette gesetzt ist --> Diskette entschützen und Nochmal=Ja.
  • "Prüfsumme falsch": Man kann es zwar noch einmal versuchen, aber höchst wahrscheinlich muß man die Lade-Operation abbrechen.
  • "Control Mark": Ein gelöschter Sektor wurde gefunden, den COPYMATE automatisch lädt, AMSDOS aber ignoriert.
  • "Sektor falsch": Beim Fileladen ist jetzt besser abzubrechen, beim Sektorladen können meistens weitere Daten in einem anderen Format geladen werden.
  • Fehler: sonstiger Fehler bei Diskettenzugriffen.

 

--(7)-- Fehlermeldungen bei Kassettenoperationen

  • "Überlauf": Beim Laden passen die Daten nicht alle in den Speicher. (Siehe auch: Wie lassen sich Files kopieren, die nicht ganz in den Speicher passen).
  • "Error A - Flanke": wie READ ERROR A / WRITE ERROR A (Flankenfehler)
  • "Error B - Checksum": wie READ ERROR B (Prüfsummenfehler)

 

--(8)-- Wen es interessiert

COPYMATE ist aus TAPECOPY entwickelt worden, einem Kassetten-Kopierprogramm speziell für den CPC 464, dessen Ursprünge bis 1986 zurückreichen. In den folgenden Jahren wurde es ständig verbessert und auch für den CPC 6128 umprogrammiert.

 

--(9)-- Wichtig

  • Ich lehne ausdrücklich jede Haftung für Folgen und Schäden ab, die durch unsachgemäße Handhabung des Programms entstehen und weise auch darauf hin, daß gemäß des Urheberschutzgesetzes (UrhG) "... die Vervielfältigung eines Programmes für die Datenverarbeitung oder wesentlicher Teile davon nur mit Einwilligung des Berechtigten zulässig..." ist.
  • Ich behaupte nicht, daß COPYMATE alle Kopierprobleme löst! So gibt es manchmal Probleme mit der SuperSeitenCopy bei "exotischen" Formaten. Neuerdings gibt es auch kopiergeschützte Disketten, die sich von der Hardware her nicht kopieren lassen (anderer FDC verwendet).

 

--(10)-- Bezugsquelle

...

Anmerkung zur Eprom-Version:

Es wird nur eine Eprom-Platine benötigt, z.B. von ROMBO, DOBBERTIN oder eine selbstgebastelte.

  • (Stand 19.08.1991)
  • (Stand 27.12.1991)
  • (Stand 18.09.1992)

 

Copymate-Quellcode

Der COPYMATE-Quellcode enthält viele meiner recht optimierten Assembler-Routinen.

Obwohl der Quellcode jetzt veröffentlicht ist, sollte jeder, der Teile daraus in seinen eigenen Programmen verwendet, dabeischreiben, woher er sie hat! Ansonsten darf der Quellcode beliebig für Bekannte weiterkopiert werden.

Zusammenhang der Files:

Haupt-Files:

  • COPY1 mit COPYDEF, INCLUDE3.S (allgemeine Routinen)
  • COPY2 mit COPYDEF, COPY2.INC, COPY2.IN2 (Diskettenroutinen)
  • COPY3 mit COPYDEF (Kassettenroutinen)
  • COPY4 mit COPYDEF (Hilfsroutinen)
  • COPY5 mit COPYDEF, INCLUDE2.S (ROM, zentr.RAM-Proz.)
  • COPY6 mit COPYDEF, INCLUDE1.S (zentr. RAM.Proz.)

COPY1..COPY5 sind also fürs ROM geeignet! Nur COPY6 muss im zentralen RAM stehen.

Zu den Include-Files

  • COPYDEF(Headerfile für alle Teile COPY1..COPY6) verbindet alle COPYx. - Teile miteinander (Prozeduren,Variablen)
  • INCLUDE1.S .. INCLUDE3.S betriebssystemunabhängige Grund-Routinen zur Tastaturabfrage, Zeichenausgabe, PD-Windowverwaltung, ...
  • COPY2.INC, COPY2.IN2 sind Disketten-Include-Files, dabei enthaelt COPY2.INC mehr die hardwarenahen Teile (FDC-Routinen) und COPY2.IN2 mehr die logischen Teile (File/Block-Handling)

Marco Vieth, 18.9.1992

 

My next project is a CPC-Emulator on PC. (It works already!) Write me if you have a fast PC (386 with VGA) and want to see it... If you have a selfmade ROM which could be used instead of the original AMSTRAD ROM it would be nice. If you have interesting sources (CPC) or want some more, you can write me, too.

 


 

Das Lademenü

 

--(1)-- Einstellen der Ladeart

(<FEUER> = Wechsel zwischen zwei Zuständen)

Die gewählte Ladeart gilt auch für das Laden bei automatischen Kopieroperationen (Filecopy, Seitencopy).

  • "DISKETTE": Wahl des Ladedatenträgers "Diskette" oder "Kassette"
  • "NORMAL": Normales Fileladen mit Namen, Header
  • "System": Sektorladen (Disk) oder headerloses Laden (Kassette)
  • "A": Wahl des Lade-Laufwerks : "A" / "B"
  • "0": Wahl der Lade-Diskettenseite : "0" / "1" (Anmerkung: Nur bei Doppelkopflaufwerken wirksam)

 

--(2)-- Die Ladeoperationen und Parametereinstellungen

 

LADEN

Laden von Daten in der gewählten Ladeart. Bei Fehlermeldung "Parameter falsch" die Ladeparameter ändern. Es erfolgt keine Aufforderung, die Diskette einzulegen oder das Band zu positionieren.Nach dem Laden sind die Saveparameter gesetzt und geben den Speicherbereich an, wo die Daten zu finden sind.

Je nach gewählter Ladeart erfolgt das Laden unterschiedlich:

  • "Diskette"+"Normal":
    1. siehe Fileauswahl, aber nur 1 File auswählen, sonst wird nur das 1. File korrekt geladen!
    2. Der "Header" wird angezeigt und das File geladen
  • "Diskette"+"System": (Gewünschter "Read-Track" bei LadeArtParameter gewählt)
    1. Wahl des 1. Sektors (siehe Sektor ID), ab dem geladen werden soll.
    2. Der durch Ladeparameter festgelegte Speicherbereich wird gefüllt. Anschießend : siehe Disk-Systemfenster
  • "Kassette"+"Normal": Es werden Blöcke geladen, bis der letzte Block erreicht ist oder der durch Ladeparameter festgelegte Speicherbereich voll ist. (Siehe auch bei Files>64K) Siehe Kass-Systemfenster
  • "Kassette"+"System": Es wird ein Block geladen, wobei das Satzkennzeichen automatisch erkannt wird und bei LadeArtParameter zur Verfügung steht. Falls der Block nicht paßt, wird das Laden abgebrochen. Siehe Kass-Systemfenster.

 

LADEPARAMETER

Diese Parameter geben den Bereich an, der für alle Ladeoperationen zur Verfügung steht und immer(!) eingehalten wird. Sie bestehen aus Anfangs- und Endadresse des Adressbereichs im normalen Speicher oder im im 64K-Zusatzspeicher. Mit ihnen ist es z.B. möglich, einzelne Files oder Datenblöcke) zusammen in den Speicher zu laden und danach in einem File (oder Datenblock) zu speichern.

Setzen Sie die Ladeparameter danach möglichst wieder auf ihre altenWerte zurück, sonst brauchen Sie sich nicht zu wundern, wenn Sie z.B. bei Seitencopy die Diskette 10 mal anstatt 2 mal umtauschen müssen (bei einem Laufwerk).

Parameter im normalen Ram:

  • &0040-&4FA0 (Diskette) oder &0040-&88DD (Eprom)

Parameter im Zusatzram:

  • &0000-&FFFF

 

KATALOG

Der Katalog wird je nach eingestellter Ladeart ausgegeben:

  • "Diskette"+"Normal": siehe Fileauswahl (Auswahl unwirksam)
  • "Diskette"+"System": siehe Fileauswahl, aber ohne Sortierung und K-Anzeige zu den Files (Auswahl unwirksam)
  • "Kassette"+"Normal":
    1. Anzeige des geladenen Headers des Blocks
    2. Kontrollieren der Daten auf Ladefehler (siehe auch Kass-Systemfenster)
  • "Kassette"+"System": Wie bei Kassette/Normal, nur ohne Kontrolle der folgenden Daten (--> nach dem Header ohne Fehlermeldung Weiterspulen möglich)

 

LADEARTPARAMETER

Festlegen grundlegender Parameter zur jeweiligen Ladeart.

  • "Diskette"+"Normal": "letzte Blocknr" = letzte Blocknummer bei einem unbekannten Format (normalerweise 0), nur beim Abspeichern und beim Katalog wichtig
  • "Diskette"+"System":
    • "Read-Track": 1. Track, der geladen werden soll
    • "Read-OpCode": Lade-Befehl für den Floppy-Disc-Controller, der bei jeder Lade-Operation von Diskette benötigt wird. Nicht unüberlegt verändern!
  • "Kassette"+"Normal/System":
    • "Baudrate": Baudratenwert, mit der die Daten auf Kassette geschrieben werden.
    • "Vorprüflg": Vorprüflänge, je nach Baudratenwert und Kassettenmaterial zu wählen. Richtwerte:
      • 1000 (&3E8) Baud - Vorprüflänge ca. 25 (&19)
      • 2000 (&7D0) Baud - Vorprüflänge ca. 50 (&32) (Standard)
      • 3600 (&E10) Baud - Vorprüflänge ca. 10 (&0A)
      • (Es können auch Zwischenwerte angegeben werden.)
    • "Satzkennzeichen" = Kennzeichen eines Datenblocks auf Kassette (muß normalerweise bei jeder Ladeoperation mit angegeben werden, COPYMATE erkennt es automatisch und benötigt es nur beim Speichern.

 


 

Das Savemenü

 

--(1)-- Einstellen der Saveart

(<FEUER> = Wechsel zwischen zwei Zuständen)

Die gewählte Saveart gilt auch für das Saven bei automatischen Kopieroperationen (Filecopy, Seitencopy).

  • "DISKETTE": Wahl des Savedatenträgers "Diskette" oder "Kassette"
  • "NORMAL": Normales Filesaven mit Namen, Header
  • "System": Sektorsaven (Disk) oder headerloses Saven (Kassette)
  • "A": Wahl des Lade-Laufwerks "A" / "B"
  • "0" Wahl der Lade-Diskettenseite "0" / "1" (Anmerkung: Nur bei Doppelkopflaufwerken wirksam)

 

--(2)-- Die Saveoperationen und Parametereinstellungen

 

SAVEN

Saven von Daten in der gewählten Saveart. Der Datenbereich wird durch die Saveparameter angegeben. Bei Fehlermeldung "Parameter falsch" die Saveparameter ändern Es erfolgt keine Aufforderung, die Diskette einzulegen oder das Band zu positionieren.

  • "Diskette"+"Normal"
    1. Falls in der Art "System" geladen und noch kein Headeredit aufgerufen wurde, wird dies jetzt nachgeholt.
    2. Die Daten werden als File auf Diskette gespeichert.
  • "Diskette"+"System" (gewünschter Track als "Write-Track" bei SaveArtParameter)
    1. Wahl des 1. Sektors (siehe Sektor-ID), ab dem gespeichert werden soll.
    2. Die Daten werden ab dem gewählten Sektor gespeichert. (siehe Disk-Systemfenster)
  • "Kassette"+"Normal":
    • Die Daten werden in Blöcken (mit Header) abgespeichert. Der letzte Block wird als solcher markiert, falls er mit der angegeben letzten Blocknummer übereinstimmt (Normalfall). Siehe auch Kass-Systemfenster.
  • "Kassette"+"System":
    • Die Daten werden in einem Block (headerlos) abgespeichert. Siehe auch Kass-Systemfenster.

 

SAVEPARAMETER
Diese Parameter bestehen aus Anfangs- und Endadresse des Adressbereichs im normalen Ram bzw. im 64K-Zusatzspeicher. Sie geben den Bereich an, der bei SAVEN gespeichert wird. Damit ist es z.B. möglich, die Datenlänge zu verlängern, wenn z.B. 2 Files zusammengefügt werden sollen (siehe auch Ladeparameter).

 

KATALOG

Der Katalog wird je nach eingestellter Saveart ausgegeben:

  • "Diskette"+"Normal": siehe Fileauswahl (Auswahl unwirksam)
  • "Diskette"+"System": siehe Fileauswahl, aber ohne Sortierung und K-Anzeige zu den Files (Auswahl unwirksam)
  • "Kassette"+"Normal":
    1. Anzeige des geladenen Headers des Blocks
    2. Kontrollieren der Daten auf Ladefehler (siehe auch Kass-Systemfenster)
  • "Kassette"+"System":
    • Wie bei Kassette/Normal, nur ohne Kontrolle der folgenden Daten --> nach dem Header Weiterspulen ohne Fehlermeldung möglich.

 

SAVEARTPARAMETER

Festlegen grundlegender Parameter zur jeweiligen Saveart.

  • "Diskette"+"Normal"
    • "letzte Blocknr": maximale Blocknummer bei einem unbekannten Format (normalerweise 0) (nur beim Abspeichern und beim Katalog wichtig)
  • "Diskette"+"System"
    • "Write-Track": 1. Track, ab dem gespeichert werden soll
    • "Write-OpCode": Schreibbefehl für den Floppy-Disc-Controller, der bei jeder Schreib-Operation auf Diskette benötigt wird. Nicht unüberlegt verändern! (OpCode = OperationsCode)
  • "Kassette"+"Normal/System"
    • "Baudrate": Baudratenwert, mit der die Daten auf Kassette geschrieben werden.
    • "Vorprüflg": Vorprüflänge, je nach Baudratenwert und Kassettenmaterial zu wählen Richtwerte:
      • 1000 (&3E8) Baud - Vorprüflänge ca. 25 (&19)
      • 2000 (&7D0) Baud - Vorprüflänge ca. 50 (&32) (Standard)
      • 3600 (&E10) Baud - Vorprüflänge ca. 10 (&0A)
      • (Es können auch Zwischenwerte angegeben werden.)
    • "Satzkennzeichen": Kennzeichen eines Datenblocks auf Kassette (muß normalerweise bei jeder Ladeoperation mit angegeben werden, COPYMATE erkennt es automatisch und benötigt es nur beim Speichern).

 


 

Das Zwischenmenü

Das Zwischenmenü ist in 3 Untermenüs unterteilt:

 

DUMP

Analysieren und Ändern von Speicherbereichen (auch im Zusatzram).

  • "sehen": Durch Speicherbereiche blättern
  • <HOCH>: eine Seite zurück
  • <RUNTER>: eine Seite vor
  • <LINKS>: eine Zeile zurück
  • <RECHTS>: eine Zeile vor
  • <FEUER>: zurück zum Untermenü
  • "ändern": Verändern einzelner Speicherstellen auf der Seite. Mit dem Cursor auf die gewünschte Speicherstelle fahren und mit Zahlen bzw. ASCII-Zeichen überschreiben.
  • <COPY>: Umschalten zwischen Zahlen-, Ascii-Eingabe
  • <FEUER>: Übernehmen der Seite mit allen Änderungen
  • <ESC>: macht die Änderungen rückgängig
  • "Adresse": Ändern der Anfangsadresse der Speicherseite
  • "mehr": weitere Hilfsoperationen (s.u.)
  • "Ende": Zurück zum Hauptmenü

Dabei bietet "mehr" ein Untermenü:

Alle Operationen dieses Menüs haben folgendes gemeinsam:

"Parameter falsch" bezieht sich auf den Menüpunkt "Param." Sie geben den Speicherbereich an, auf den die Operation wirkt. Sonst erscheint ein "DumpFenster" wie bei "ändern" im vorherigen Menü, in das Sie die für die Hilfsoperation benötigte Zeichenkette oder Bytefolge eintragen können. Dabei haben bestimmte Tasten dieselben Funktionen wie bei "ändern". Wichtig: Das Ende der Zeichenkette/Bytefolge wird mit dem Cursor markiert (Cursor steht auf dem letzten Zeichen)!

  • "suchen": Suchen einer Zeichen-/Bytefolge Falls gefunden, wird die gefundene Zeichenfolge zu Beginn der Speicherseite angezeigt ( Parameter werden aktualisiert ).
  • "fülle": Füllen mit einer Zeichen-/Bytefolge
  • "codier": Kodieren mit einer bestimmten Zeichen-/Bytefolge
  • "Param.": Angabe des Speicherbereichs, auf den die in diesem Menü vorhandenen Operationen einwirken (bei abgeschaltetem Zusatzram unbegingt Bereich einhalten!)
  • "Ende": Zurück zum Dumpmenü

 

BILD

Copymate Bild

Suchen von Bildausschnitten (Grafik) im Speicher

  • "MoveAnf": Verändern der Anfangsadresse mit dem Joystick:
    • <HOCH>: eine Zeile zurück
    • <RUNTER>: eine Zeile vor
    • <LINKS>: eine Spalte zurück
    • <RECHTS>: eine Spalte vor
    • <FEUER>: Zurück zum Menü
  • "MoveAus": Verändern der Ausdehnung mit dem Joystick:
    • <HOCH>: eine Zeile weniger
    • <RUNTER>: eine Zeile mehr
    • <LINKS>: eine Spalte weniger
    • <RECHTS>: eine Spalte mehr
    • <FEUER>: Zurück zum Menü
  • "Fast": Bewegungsgeschwindigkeit "Fast"/"Slow"
  • "Adresse": Wahl der Anfangsadresse der Bildausschnittes
  • "Modus": Bildschirm-Modus (0-2) bei Move-Operationen
  • "Ausdeh.": Wahl der Ausdehnung des Ausschnittes:
    • "y-Ausd": Ändern der y-Ausdehnung (1-200)
    • "x-Ausd": Ändern der x-Ausdehnung (1-80)
    • Dann wird der Ausschnitt automatisch verändert.
  • "sichern": Sichern des aktuellen Bildschirmausschnittes. Der Speicherbereich wird für ADVANCED ART-STUDIO als Window- File hergerichtet, indem 5 Bytes (Bitver., Ausdehnug) angehängt werden. Die Saveparameter entsprechend gesetzt, die Länge wird im Header eingetragen. Im anschließenden Headeredit brauchen Sie nur noch den Namen des Fensters bei "Filename" eingeben (.WIN nicht vergessen). Dann landen Sie im Hauptmenü und können mit "Saven" das Window abspeichern. Fehlermeldung "Parameter falsch" = Überlauf über Adresse &FFFF oder über das Ende der Ladeparameter. --> Fenster ist nicht abspeicherbar, da die 5 Bytes nicht angehängt werden können, also Daten in anderen Speicherbereich laden (oder Ladeparameter anpassen, falls möglich).
  • "Ende" = Zurück zum Hauptmenü

 

ENDE

Beenden von COPYMATE.
  • "Beenden": Rücksprung zu der Ebene, von wo COPYMATE aufgerufen wurde (z.B. BASIC). Anmerkung: Wenn das normale Ram benutzt wurde, kann es eventuell zu Komplikationen kommen. In diesem Fall Speicher &40-... mit 0-Bytes löschen, z.B. mit Dump
  • "Sprung": Sprung zu einer "Sprungadr" (Maschinenprogramm)
  • "Sprungadr": Ändern der Sprungadresse
    • "Rom": Rom-Konfiguration der Sprungadresse
      • 0-251 = gewünschte Rom-Nummer
      • 252 = beide ROMs ein
      • 253 = unteres ROM aus / oberes Rom ein
      • 254 = unteres ROM ein / oberes Rom aus
      • 255 = beide ROMs aus
    • "Ram": RAM-Konfiguration der Sprungadresse
      • &C0 = Zusatzram aus
      • &C1-&C7 = Zusatzram in bestimmte Bereiche einblenden
  • "Ramwahl": Bei Aufruf von COPYMATE wird automatisch das Zusatzram gewählt, falls es vorhanden ist. Hier wird zwischen normalem Ram und Zusatzram umgeschaltet. Meldungen:
    • "Zusatzram nicht gefunden": kein Zusatzram angeschlossen
    • "Zusatzram": Zusatzram gewählt
    • "norm. Ram": normales Ram gewählt
  • "Zurück": Zurück zum Hauptmenü

 


 

Das Hilfsmenü

A

Das aktuelle Hilfs-Laufwerk A oder B für die Hilfsoperationen Formatieren, Rename und Erase.

0

Die aktuelle Hilfs-Diskettenseite für die Hilfsoperationen. (Anmerkung: Nur bei Doppelkopflaufwerken wirksam!)

 

FILECOPY

Diese automatische Kopieroperation funktioniert nur von Diskette auf Diskette, wobei Ladeart und Ladeparameter aus dem Lademenü genommen werden und Saveart aus dem Savemenü genommen wird. Eine "System"-Einstellung bleibt unbeachtet, es können also nur Files kopiert werden.
  1. Wahl der Files siehe Fileauswahl
  2. Automatisches Kopieren aller ausgewählten Files. (Bei einem Laufwerk die Diskette nach Aufforderung umtauschen.)

 

SEITENCOPY

Diese automatische Kopieroperation kopiert eine ganze Seite (oder Teile) einer Diskette. Wie bei Filecopy wird die eingestellte Ladeart, Saveart und die Ladeparameter aus dem Lade- bzw. Savemenü übernommen. "Seitencopy" bietet ein Untermenü:
  • "Starttrack": 1.Track, der kopiert werden soll.
  • "Endtrack": letzter Track, der kopiert werden soll.
  • "Kopiere Normal": Kopiert ungeschützte Tracks, wobei das Diskettenformat mitkopiert wird. Erscheint eine Fehlermeldung, ist das Kopieren mit dieser Operation unmöglich. (Die Kopieroperation für alle normalen Formate).
  • "Kopiere System": Kopiert auch geschützte Tracks, wobei das Diskettenformat mitkopiert wird.
  • "Kopiere Daten": Kopiert nur die Daten ungeschützter Tracks, das Diskettenformat der Save-Diskette bleibt erhalten. (Die BPS (Sektorgröße) beider Formate sollte gleich sein.)
  • "Ende": Rückkehr zum Hauptmenü.

 

FORMATIEREN

Diese Hilfsoperation kann ganze Diskettenseiten (oder Teile) mit den verschiedensten Formaten formatieren. "Formatieren" bietet ein Untermenü:
  • "Formatieren": formatiert Tracks im gewünschten Format. (Voreinstellung ist Data-Format)
  • "Starttrack": 1.Track, der formatiert werden soll.
  • "Endtrack": letzter Track, der formatiert werden soll (normalerweise 39, bei Extended aber 41 !).
  • "DATA": Wahl des Data-Formats
  • "SYSTEM": Wahl des System-Formats
  • "IBM": Wahl des IBM-Formats
  • "Extended": Wahl des Extended-Formats (208K Data-Format) (unter AMSDOS das Zusatzprogramm "EX.BAS" nehmen)
  • "Formatedit": Editieren des gewählten Formats
  • "Ende": Zurück zum Hauptmenü

 

"Formatedit" bietet wiederum ein Untermenü:

  • "Sektorfolge Tausch": Reihenfolge der Sektornummern (ohne Sektoroffset) , entweder "Normal" (1,2,3,4,5,6,7,...) oder "Tausch" (1,6,2,7,3,8,4,9,5,...), der allerdings nur für 9 bzw.10 Sektoren interessant ist und Diskettenzugriffe unter AMSDOS beschleunigt.
  • "Sektoranzahl": Anzahl der Sektoren pro Track (1-18)
  • "Sektoroffset": Offset zu der Sektorfolge (DATA=&C0, SYSTEM=&40)
  • "Füllbyte": Byte, mit der die Tracks gefüllt werden sollen
  • "Lücke #3": GAP(Lücke) zwischen Sektor-ID und Sektordaten
  • "Kopfnummer": Kopfnummer 0-255, je nach Diskettenseite
  • "kodierte BPS": Bytes pro Sektor = Sektorgröße
  • "ID-Edit": Editieren der Sektor-IDs
  • "Ende": Zurück zum Formatiermenü (Bei Wahl einiger dieser Operationen werden eventuelle Änderungen bei ID-Edit rückgängig gemacht.)

Bei "ID-Edit" ist der Aufbau wie bei Fileauswahl: Einzelne Sektor-IDs können angewählt und verändert werden; "Ende"=zurück. (Die Tracknummer wird allerdings beim Formatieren je nach aktuellem Track eingetragen, hier gemachte Änderungen bleiben also wirkungslos.)

 

HEADEREDIT

Editieren des gerade geladenen Fileheaders. Der Header besteht aus folgenden veränderbaren Informationen:
  • "User": Usernummer des Files (0-255, &E5=gelöschtes File)
  • "DIR R/W": aktueller Filestatus, der solange verändert wird, bis "OK"=Ja gewählt wird. Es gibt folgende Zustände:
    • "DIR": File im Directory sichtbar (bei DIR/CAT)
    • "SYS": Systemfile (unter AMSDOS unsichtbar)
    • "R/W": File ist Read/Write (überschreibbar)
    • "R/O": File ist Read/Only (schreibgeschützt) (Diese Informationen sind nur bei Diskette vorhanden und gehören nicht zum Fileheader, sondern zum Disketteninhaltsverzeichnis.)
  • "Filename": der Name des Files einschließlich Extension
  • "Blocknummer": aktuelle Blocknummer des Files; "erste Blocknr" = erste Blocknummer des Gesamtfiles; "letzte Blocknr" = letzte Blocknummer des Gesamtfiles
  • "Filetyp": Die wichtigsten Filetypen sind:
    • 0 = Basic
    • 1 = geschütztes Basic
    • 2 = Binär
    • 8 = Assembler (GENA)
    • 22 (&16) = ASCII
  • "Blocklänge": Länge des aktuellen Blocks (bei Kassette!)
  • "Ladeadresse": Ladeadresse des Blocks
  • "Länge": Länge des gesamten Files
  • "Einsprung": Aufrufadresse bei Maschinenprogrammen
  • "Übernehmen": die im Header gemachten Änderungen übernehmen. (Anm.: Bei <Esc> werden sie nicht genommen.)

 

RENAME

Umbenennen von Files im Disketteninhaltsverzeichnis.
  1. Markieren umzubenennender Files siehe Fileauswahl
  2. Editieren der markierten Filenamen
  3. Die Änderungen werden auf Diskette geschrieben.

 

ERASE

Löschen von Files im Disketteninhaltsverzeichnis.
  1. Markieren der zu löschenden Files
  2. Die markierten Files werden im Diskettenverzeichnis gelöscht.

 


 

Anhang

--(1)-- Aufbau einer Diskette

  • Die Diskette ist in Spuren (Tracks, normalerweise 40, also 0-39 ) und diese sind wiederum in Sektoren (normalerweise 9 Sektoren mit je 512 Bytes) aufgeteilt, auf denen die Daten gespeichert werden.
  • Es gibt jedoch auch Disketten, die völlig anders formatiert sind. Jede Spur kann dabei ihr eigenes Format besitzen. Auch "exotische" Formate z.B. mit 18 Sektoren mit je 256 Bytes sind möglich.
  • Es ist sogar möglich, mit einer einfachen Schreibdichte (anstatt mit doppelter) zu schreiben (dann paßt weniger auf die Diskette).
  • Drei Standardformate werden durch die Sektornummern unterschieden:
    • DATA-Format: Speicherkapazität 178K, Sektornummern &C1-&C9
    • VENDOR-Format: Speicherkapazität 169K, Sektornummern &41-&49
    • IBM-Format: Speicherkapazität 154K, Sektornummern &01-&08 (Speicherkapazitäten nach Abzug der Directory)
  • Zusätzlich gibt es noch das erweiterte Data-Format: EXTENDED-Format: Speicherkapazität 208K, Sektornummern &C1-&CA (bei anderen Diskettenformaten "letzte Blocknr" angeben)
  • Jeder Sektor besitzt eine Sektor-ID mit folgenden Informationen : z.B. ID (0A,00,C8,02) bedeutet:
    • 0A = logische Spurnummer, auf der der Sektor sich befindet (kann von physikalischer Spurnummer abweichen > Fehlermeld.)
    • 00 = Seitennummer, auf der der Sektor sich befindet
    • C8 = Sektornummer, mit der er geladen und gespeichert wird
    • 02 = kodierte Sektorgröße (BPS=Bytes pro Sektor), hier 512 Bytes (512 = 128 * 2 ^ x, x ist hier 02)

Weitere Informationen in der entsprechenden Fachliteratur.

 

--(2)-- Aufbau des Directory (Disketteninhaltsverzeichnis)

Hinweis : Ein Block besteht aus 2 aufeinanderfolgenden Sektoren

Das Verzeichnis belegt normalerweise die ersten 4 freien Sektoren (Block 0 und 1) der Diskette. Darin sind die Files mit den Blocknummern eingetragen, die sie auf Diskette belegen. Die maximale Blocknummer richtet sich dabei nach dem Diskettenformat:

  • DATA-Format: Verzeichnis belegt Sektoren &C1-&C4 auf Spur 0, max. Blocknr =&B3
  • VENDOR-Format: Verzeichnis belegt Sektoren &41-&44 auf Spur 2, max. Blocknr =&AA
  • IBM-Format: Verzeichnis belegt Sektoren &01-&04 auf Spur 1, max. Blocknr =&9B
  • EXTENDED-Format: wie Data-Format, nur max.Blocknr=&D1, da 10 Sektoren und Track 40,41 auch benutzt.

(Die max. Blocknummer kann bei Lade- oder Saveartparameter verändert werden, um z.B. ein "einfach-erweitertes" Data-Format zu beschreiben. Als max.Blocknr. ist dann &BC anzugeben; Track 40,41 müssen dann wie beim Extended-Format auch formatiert sein. Beim Laden ist die max.Blocknummer egal.)

Weitere Informationen im Verzeichnis zu jedem File:

  • User-Nummer: normal 0-15, &E5=gelöschtes File
  • Dateiattribute: normal R/W (read/write) + DIR (in Directory), auch möglich: R/O (read/only) + SYS (System-File). Diese Informationen werden beim Disketten-Katalog angezeigt und lassen sich bei "Headeredit" ändern.
  • Nicht-ASCII-Files besitzen einen (&80 Byte langen) Header, der den Daten vorangestellt und somit im 1. Block des Files zu finden ist.

 

--(3)-- Aufbau der Kassette

  • System
    • Die Daten werden in Blöcken beliebiger Länge abgespeichert. Jeder Block besitzt neben den Daten auch Prüfsummen und ein Kennzeichen (Satzkennzeichen), das beim Laden mit angegeben werden muß, um den Block zu erkennen (COPYMATE erkennt diesen automatisch).
  • Normal
    • Die Daten werden in max. 2 KByte lange Blöcke aufgeteilt und mit einem separat vorangestellten Header abgespeichert, wobei mit dem Satzkennzeichen unterschieden wird zwischen:
      • Header: Länge: &40 Bytes, Satzkennzeichen = &2C
      • Daten : Länge: 1-&800 Bytes, Satzkennzeichen = &16

 

Noch ein Tip

Experimentieren Sie ruhig mit einer Kopie einer Diskette/Kassette herum und lernen die Funktionsweise von COPYMATE kennen. Als normaler Anwender brauchen Sie nur einen Bruchteil der Anleitung verstanden zu haben, das "Profi"-Wissen können Sie dann später nachlesen, falls Sie es benötigen.

Ich wünsche Ihnen viel Erfolg mit COPYMATE.

Marco Vieth

 

Zurück zum Anfang.

 


MV, 04.03.2006 20:51:46