Dies ist eine alte Version des Dokuments!


Kassetteninterface

Zur Aufzeichnung der Information wird ein Frequenzmodulationsverfahren benutzt. Dabei existieren drei Zustände: Vorton (Trennzeichen), logisch „0“ und logisch „1“. Jeder Zustand wird durch eine Periode mit bestimmter Dauer charakterisiert.

Die Übertragungsrate beträgt etwa 1800 Baud.

Typ Frequenz Periode CTC-Konstante
Trennzeichen 600 Hz 1667 µs 80h
0-Bit 1200 Hz 833 µs 40h
1-Bit 2400 Hz 417 µs 20h

Zeitkonstantenberechnung: 2,4576 Mhz (Takt) / 16 (CTC-Vorteiler) / 2 (DL074) / 600 Hz = 80h

Jedes Zeichen wird durch eine volle Periode aufgezeichnet.

Die Übertragung erfolgt blockweise, jeder Block hat 128 Bytes. Vor jedem Block wird ein langer Vorton gesendet. Innerhalb eines Blockes werden die Bytes durch kurze Vortöne getrennt. Die Organisation der Blöcke sowie die Umwandlung der Information in Perioden bestimmter Dauer wird softwaremäßig realisiert.

a) Dateiaufbau:

Block 0 Dateikopf
Inhalt ist der komplette FCB (siehe 2.3.4.)
Block 1, …, n Daten der Datei
Block FFH letzter Datenblock der Datei
Endeblock

b) Blockaufbau:

Vorton Folge von 1 - Bit mit abschließendem Trennzeichen
Block 0: 6000
sonst 160
Blocknummer 1 Byte
Daten 128 Bytes
Prüfsumme 1 Byte (durch Addition aller Datenbytes gewonnen)

c) Byteaufbau:

Information 8 Zeichen
Trennzeichen 1 Zeichen

Bei der Ausgabe jedes Bits wird der Kanal 0 des CTC (21D) initialisiert. Der Ausgang dieses Kanals steuert den Takteingang des D-Flip-Flops (19D), welches aus dem CTC-Signal einen Rechteckimpuls formt. Die Flanken dieses Impulses werden durch die RC-Kombination (R25, C70) abgeschliffen. Der nachfolgende Spannungsteiler (R26, R27) verringert den Pegel des Ausgabesignals auf max. 45 mV an RL = 10 kOhm. Dieses Signal wird dann über die Diodenbuchse X5 dem Kassettengerät zugeführt.

Beim Lesen vom Kassettengerät wird das Signal über ein Filter zum Operationsverstärker (24A) geführt, der das Signal in einen Rechteckimpuls umformt, der durch den nachfolgenden Widerstand und Diode (R24, V4) in ein TTL-Signal umgewandelt wird.

Die jetzt folgende Verzögerungskette mit dem Exklusiv-Oder (20A) am Schluss liefert bei jedem Flankenwechsel einen kurzen Impuls, der im Monoflop (22A) ein Signal von ca. 2 µs Länge erzeugt, welches über den Eingang ASTB der PIO1 (24D) einen Interrupt erzeugt. Softwaremäßig wird jetzt die Zeitdauer zwischen den PIO-Interrupts gemessen und der ermittelte Wert den entsprechenden Zuständen logisch „0“, „1“ oder Vorton zugeordnet.


Audiosignal Eingang und hinter OPV, rechts Nulldurchgangsimpulse an Monoflop 22A/4

Kassettenformate

Das Kassetten-Magnetband-Interface des Z9001, ein Diphase-Verfahren, wurde von Dr. Ulrich Kordon entwickelt, als ausreichend sicher gefunden und auf alle DDR-HC übernommen.

Deshalb benutzt der Z9001 im Prinzip das gleiche Kassettenaufzeichnungsformat wie auch die Mühlhauser Rechner HC900 und Nachfolger. Aber - leider nur im Prinzip:

  • Systemprogramme beginnen mit dem Block Nummer 0 und haben als Endekennung den Block Nummer 255 (0FFh). Beim HC900 beginnen Systemprogramme mit dem Block Nummer 1. Das übersehen leider viele Tools und Emulatoren.
  • Der HC900 interpretiert den Kopfblock anders: Hier können bis zu 9 Parameter genutzt werden; beim Z9001 sind es 3 (AADR, EADR, SADR).
  • Basic-Programme beginnen mit dem Block Nummer 1.
  • Ab dem KC 87.2x werden Basic-Programme mit einem willkürlichen Block Nummer 0 begonnen, dann folgt das BASIC-Programm, dann folgt manchmal noch ein willkürlicher Block Nummer 255. Diese Außenblöcke stören nur und können gefahrlos entfernt werden.
  • Es gibt Programme, die nicht die Systemroutinen zum Speichern nutzen und die aufeinanderfolgende Blocknummerierung durcheinanderwirbeln. Hierzu gehören z.B. relokatible Programme wie OS-SAVE.

Basic-Programme

Basic-Programme haben am Anfang 3x dasselbe Zeichen: 0D3h für Basic-Programme, 0D4h für Basic-Data-Feld-Dateien, 0D5h für ASCII-Listings. Wurde ein SAVE-Schutz mittels POKE 861,<>0 eingeschaltet, erhalten die BASIC-Programme die Codenummern 0D7h, 0D8h bzw. 0D9h. Dann folgen 8 Zeichen für den Dateinamen (mit Leerzeichen aufgefüllt).

Neben dem Standardformat zum Speichern aus Kassette gibt es eine Reihe weiterer Formate:

  • BASICODE
  • TURBO (mit doppelter Frequenz sichern)
  • TURBO (dem C64 nachempfunden - mit flackerndem Bildschirmrand)
  • z9001/software/os/kassetteninterface.1398266135.txt.gz
  • Zuletzt geändert: 2014/04/23 15:15
  • von volkerp