APPLICATIONSDISQUE ★ Von Disk zu Disk — per Kassette ★

SuperTape: Von Disk zu Disk (Computer Technik)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 ★ 

CP/M-SuperTape am Beispiel Schneider CPC

Auch im Zeitalter der Diskette ist die Kassette noch nicht 'out'. So kann sie als preiswertes Medium für Sicherungskopien (Backups) dienen. SuperTape rettet bei 3600 Baud immerhin etwa 2,3 MByte auf eine C90-Kassette. Außerdem ist das einheitliche SuperTape-Format für den Software-Austausch — ohne Schwierigkeiten wegen unterschiedlicher Diskettengrößen und -formate.

Die hier vorgestellten CP/M-Programme für SAVE und LOAD bestehen aus zwei Teilen: einem allgemeinen Teil, der für jeden CP/M-Rechner gilt, und einem SuperTape-'BIOS', das das Timing und die I/O-Ports des jeweiligen Rechners berücksichtigt. Treue c't-Leser werden sich erinnern, daß schon vor einem Jahr eine CP/M-Version von SuperTape erschienen ist (c't 11/84: Formatprobleme ade!), allerdings in dem etwas ungeliebten 8080-Code. Die neue Version ist erheblich erweitert, wesentlich komfortabler und auf den Z80-Prozessor zugeschnitten.

Das SuperTape-‘BIOS' bedient sich der Parameter, die das Hauptprogramm in einem gemeinsamen Puffer ablegt, und sorgt dann für das Laden, Retten oder Vergleichen der gewünschten Datei. Dafür sind die drei Routinen ‘LDBLO', ‘SVBLO' und ‘LDVER' verantwortlich.

Schneiderfamilie

Ein Beispiel für ein SuperTape-‘BIOS' sind die in c't 11/84 abgedruckten Routinen für CP/M-Rechner allgemein, ein anderes die für den Schneider CPC (c't 9/85). Dieser neue Star am CP/M-Himmel arbeitet zwar mit der Z80-üblichen Taktfrequenz von 4 MHz, das Timing wird aber durch Wait-Zyklen gebremst (siehe c't 9/85: Vertrackte Warte-Takte). Außerdem benutzt er eine unübliche 16-Bit-Portadressierung.

Die genannten Routinen für den CPC 464 lassen sich ohne Änderung übernehmen, da das CP/M-Programm die gleichen Parameter- und Routinennamen verwendet. Die Unterprogramme MOTON und MOTOFF, die den Motor einbeziehungsweise abschalten, wurden allerdings geändert, damit sie auch auf den neueren CPC-Modellen 664 und 6128 lauffähig sind.

Mit dem eingebauten Kassetten-Interface (lahme Elektronik) kann jedoch der CPC 664 selbst bei einem guten Recorder nur die 3600 Baud bewältigen. Um mit 7200 Baud die Aufnahmekapazität der oben erwähnten C90-Kassette auf über viereinhalb Megabyte zu verdoppeln, sollte man das in c't 9/85, Seite 81, für den CPC 464 vorgestellte Interface einbauen. Hierfür benötigt man dann aber auch einen Recorder mit HiFi-Qualität.

Das vorliegende — etwas längliche — Listing ist der Quellcode für den M80-Makro-Assembler. (Wer sich nicht der Mühe des Eintippens unterziehen will, kann auch den Software-Service nutzen.) Es enthält den sogenannten Include-Befehl, der den Assembler an weist, die in der bezeichneten Datei stehenden Programmzeilen mit in die Übersetzung einzubeziehen. Mit Hilfe des Include-Befehls kann man zum Beispiel auf ein bestehendes Unterprogrammpaket zurückgreifen. Im vorliegenden Fall betrifft das die für SAVE und LOAD gemeinsam benötigten Unterprogramme (Dateien STUPZ.MAC und STMOT.MAC), die Wertzuweisungen (Equates, Datei STEQU.MAC) und die Super-Tape-‘BIOS'-Routinen aus Heft 9.

Ab gehl's

Hat man die beiden Files STLZ.COM und STSZ.COM erst einmal auf Diskette, muß man nur noch wissen, wie man damit umgeht. Heutzutage kommt man ja meist leichter an die Software — auf oftmals verschlungenen Wegen — als an eine brauchbare Bedienungsanweisung.

Die Bedienung ist beim CP/M-SuperTape ganz einfach:

STSZ name.typ

schreibt eine Datei mit 3600 Baud aufs Band, und

STLZ name.typ

liest sie wieder ein. Name und Typ dürfen die ‘wildcard'- oder Joker-Zeichen und '?' enthalten (bei STSZ nicht unbedingt sinnvoll). Wird bei STLZ weder Name noch Typ angegeben, entspricht das der Eingabe ‘STLZ *.*'

Damit ist bereits alles gesagt, was man wissen muß, um die beiden Programme anzuwenden. Aber auch hier gibt es die berühmten Feinheiten, ohne die sich die wahren Fähigkeiten gar nicht erst offenbaren. Zunächst einmal kann man dem Dateinamen — wie bei CP/M üblich — die Laufwerksbezeichnung voranstellen. Der glückliche Besitzer zweier

Laufwerke kann also die SuperTape-Programme auf einer Diskette haben und von einer anderen beziehungsweise auf eine andere kopieren. Des weiteren steht eine Reihe von Steuerparametern zur Verfügung, die, durch mindestens ein Leerzeichen abgesetzt, hinter dem Dateityp einzugeben sind:

  • A (STSZ und STLZ) steht für ‘ASCII-Datei' und bewirkt, daß in der von der Diskette oder vom Band geladenen Datei bei jedem Byte das höchstwertige Bit gelöscht wird, bevor die Datei auf dem jeweils anderen Medium landet. Dieser Parameter entspricht dem *Z' des CP/M-Kopierprogramms PIP.
  • N (nur STSZ) bedeutet ‘Name wie angegeben'. Dazu muß man wissen, daß SuperTape zwölf Zeichen lange Namen verwendet. Normalerweise schreibt STSZ in die gegenüber einem CP/M-Namen ‘überstehenden' vier Zeichen die Sonderkennung ‘-CPM'. Dies wird mit ‘N' unterbunden.
  • Q (nur STSZ) oder ‘Quick' läßt STSZ mit 7200 Baud schreiben.
  • : (STSZ und STLZ) mit einer Hex-Zahl dahinter hat bei STSZ und STLZ unterschiedliche Bedeutung. Bei STSZ kann man damit die Startadresse der SuperTape-Datei, die im Parameterblock der Aufzeichnung enthalten ist, explizit vorgeben; ohne diesen ‘Eingriff' ist sie 100h. Dabei wird ‘N' automatisch mitgesetzt. Bei STLZ kann man damit die Ladezeitkonstante für 3600 Baud im CPC-Super-Tape-‘BIOS' verändern (siehe c't 9/85, Seite 80). In beiden Fällen kann man führende Nullen weglassen, gibt man mehr Stellen an als nötig (vier bei STSZ, zwei bei STLZ), gelten nur die hinteren. Ist dies nicht der letzte Parameter, muß auf die Zahl wiederum mindestens ein Leerzeichen folgen.
  • C (nur STLZ) hat zur Folge, daß STLZ ausdrücklich die Kennung '-CPM' verlangt. Ansonsten sind die letzten vier Zeichen des SuperTape-Namens ohne Belang.
  • D (nur STLZ) ist die SuperTape-Directory-Option. Der angegebene Name wird ignoriert.
  • P (nur STLZ) schreibt den vollständigen Parameterblock mit auf die Diskette, und zwar in den ersten 128-Byte-Sektor der Datei. Um kenntlich zu machen, daß es sich hierbei um etwas Besonderes handelt, erhält eine Datei mit Parameterblock die Typenbezeichnung ‘-ST'. Man kann auch noch einen Kommentar eingeben (bis zu 63 Zeichen), bevor STLZ die Aufzeichnung ‘zu den Akten' legt.
  • V (nur STLZ) schließlich ist die vermutlich schon vermißte Aufforderung, einen Verify-Durchlauf zu starten.

Das ist aber noch nicht alles. STSZ und STLZ sind nämlich als Schleifen programmiert, was bedeutet, daß man bei umfangreicheren Kopieraktionen nicht jedesmal alles neu eingeben muß. Bei STSZ erstreckt

Und dann?

sich diese Möglichkeit allerdings nur auf Mehrfachkopien ein und derselben Datei. STLZ dagegen ist in der Lage, auch Dateien mit unterschiedlichen Namen in einem Rutsch zu laden: Wenn STLZ im Namen oder Typ Joker-Zeichen entdeckt, meldet es sich nach dem Abspeichern auf Diskette mit ‘Noch einmal?' wieder. Bei Verify ist jedoch bereits nach dem ersten erfolgreichen Durchlauf Schluß.

Wie bei jedem ‘ordentlichen' Programm gibt cs natürlich auch Fehlermeldungen. ‘Eingabefehler' weist entweder auf einen ungültigen Parameter hin oder auf ein falsches Ziffernzeichen nach dem (erlaubt sind ‘0'...‘9' und ‘A'...‘F'). STSZ und STLZ nehmen die Arbeit dann gar nicht erst auf, desgleichen, wenn die CP/M-Datei zu lang ist (sie muß vollständig in den Speicher passen) oder nicht gefunden werden konnte. Die Fehlermeldungen beim Laden der SuperTape-Datei erklären sich selbst; sofern wenigstens der Parameterblock erfolgreich geladen werden konnte, gibt STLZ Namen und Länge (in KByte) der Datei aus. Sollte jedoch einmal die Meldung ‘Panne bei PC = xxxx' auftreten, ist mit dem Programm irgend etwas nicht in Ordnung.

Abschließend sei noch bemerkt, daß man jedesmal, wenn die Programme eine Reaktion vom Benutzer erwarten, auch Control-C oder Control-P für Abbruch beziehungsweise Einschalten des Druckers — so man hat — eingeben kann.

c't

★ PUBLISHER: Computer Technik (c't)
★ YEAR: 1985
★ CONFIG: CP/M
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHORS: Johannes ASSENBAUM , Andreas STILLER
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» SuperTape-Disk  zu  Disk    (Computer  Technik)    (ASM-SOURCE)    GERMANDATE: 2024-03-08
DL: 25
TYPE: PDF
SiZE: 732Ko
NOTE: Supplied by archive.org ; 4 pages/PDFlib v1.6

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

Lien(s):
» Applications » Tape Control
» Applications » Ditacopy: Compact Copy from Disc to Tape
» Applications » Disctape (CPC Amstrad International)
» Applications » Amstrad Tape Backup (Your Computer)
» Applications » TapeCopy
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» 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 424 millisecondes et consultée 98 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.