Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
homecomputer:ac1:kassetteninterface [2018/08/21 09:38] – angelegt volkerphomecomputer:ac1:kassetteninterface [2023/02/02 07:23] (aktuell) volkerp
Zeile 1: Zeile 1:
 ====== Kassetteninterface ====== ====== Kassetteninterface ======
 +
 +Der AC1 benutzt in seiner originalen Ausbaustufe (FA, Monitor 3.1) ein eigenes Aufzeichnungsformat,
 +dass an den ZETBUG angelehnt ist.
 +
 +Von F.Ludwig (SCCH) stammt ein Turbo-Tape, dass das Aufzeichnungsverfahren des Poly-Computers und des Z1013 nutzt,
 +aber mit abweichenden Zeitkonstanten.
 +
 +
 +===== AC1-Standard =====
  
 Das Prinzip entspricht dem in [12] Das Prinzip entspricht dem in [12]
Zeile 5: Zeile 14:
 dem Grundmodul des "AC1" angepaßt. Die Software dazu wurde neu geschrieben, das dem Grundmodul des "AC1" angepaßt. Die Software dazu wurde neu geschrieben, das
 Aufzeichnungsformat entspricht etwa den in [10] verwendeten. Aufzeichnungsformat entspricht etwa den in [10] verwendeten.
 +
 +Achtung: Das Kassettenaufzeichnungsformat des AC1 enthält nicht nur Speicherbereiche. Vielmehr ist es ein Containerformat mit verschiedenen Abschnitten (so gibt es z.B. auch Ladebilder). BASIC-Programme zum großen Basic V1.1 müssen als Audio-Datei geladen werden, ein Laden eines binären Dumps ist nicht direkt möglich. 
 +
 +Aufbau:
 +  - Vorton 512x 00-Bytes
 +  - Synchronisationsmuster E6h
 +  - 'U' [Kennung Name] 6(16) Zeichen Dateiname, mit Leerzeichen aufgefüllt
 +  - Vorton 256x 00-Bytes [Zeit für Namensdarstellung beim Einlesen]
 +  - Datenblöcke: '<' [Kennung Block], je 1 Byte Blocklänge + max. 256 Byte Daten + 1 Byte Prüfsumme, Blocklänge 0 == 256 Byte
 +  - 'x' [Kennung Startadr] 2 Byte  startadr.
 +
 +Die Startadr wird nach Einlesen nur angezeigt und in ARG1 abgelegt, das Programm startet nicht automatisch!
 +Mit J: wird das Programm gestartet.
 +
 +Datei:
 +
 +<ditaa noedgesep>
 ++--------+----+--------+--------+---------+---------+---------+     +---------+--------+
 +| vorton | E6 | U Name | vorton | < Block | < Block | < Block | ... | < Block | x sadr |
 ++--------+----+--------+--------+---------+---------+---------+     +---------+--------+
 +</ditaa>  
 +
 +Daten-Block '<':
 +
 +max 256 Datenbytes. Obwohl jeder Block in der Anzahl variieren kann,
 +hat nur der letzte Block < 256 Bytes
 +
 +<ditaa noedgesep>
 ++---+------+--------+-----+--------+------+
 +| < | len  | byte 0 | ... | byte255 | cks | 
 ++---+------+--------+-----+--------+------+
 +</ditaa>
 +
 +Beispielprogramm CLIST@ von der Musterkassette. Der Datenstrom besteht aus 4 Blöcken (Name + 256x00, 256 Datenbytes, 224 Datenbytes, Startadresse). Das ist Dump des Bytestreams, wie er auf Kassette abgelegt wird, und KEIN Binärdump des Programms im Speicher!
 +
 +{{:homecomputer:ac1:ac1-programm.png|}}
 +
 +:!: Das **8K-Basic 1.1** verwendet einen eigenen Dateiaufbau !!!
 +
 +  - 512 x 00-Byte Vorton
 +  - E6 Syncbyte
 +  - 6 Byte Name
 +  - D3 Kennung Basic
 +  - 2 Byte Laenge (hi, lo)
 +  - xxx Bytes
 +
 +<ditaa noedgesep>
 ++--------+----+------+----+--------+----------+
 +| vorton | E6 | Name | D3 | laenge | Programm | 
 ++--------+----+------+----+--------+----------+
 +</ditaa>  
 +
 +Beispielprogramm LOCATO von der Musterkassette, Länge Programmblock 0F92h Bytes. Das ist Dump des Bytestreams, wie er auf Kassette abgelegt wird, und KEIN Binärdump des Programms im Speicher!
 +
 +{{:homecomputer:ac1:basic8-programm.png|}}
 +
 +**Beschreibung aus dem FA:**
  
 Die Aufzeichnungsgeschwindigkeit beträgt 1500 bit/s. Das bedeutet, daß bei einer Die Aufzeichnungsgeschwindigkeit beträgt 1500 bit/s. Das bedeutet, daß bei einer
Zeile 59: Zeile 125:
 entsprechenden Ausgangstreiber vor der Zerstörung. Bei der Verwendung des B 176 entsprechenden Ausgangstreiber vor der Zerstörung. Bei der Verwendung des B 176
 D ist R3 mit zu bestücken. Dieser Schaltungsteil wurde mit beiden angegebenen D ist R3 mit zu bestücken. Dieser Schaltungsteil wurde mit beiden angegebenen
-OPV-Typen erprobt. Die Funktion der Schaltung läßt sich leicht überptüfen, wenn+OPV-Typen erprobt. Die Funktion der Schaltung läßt sich leicht überprüfen, wenn
 man z.B. den Kennton vom Band an den Eingang anlegt. Das Eingangssignal sollte man z.B. den Kennton vom Band an den Eingang anlegt. Das Eingangssignal sollte
 man dem Lautsprecherausgang des Geräts entnehmen, um eine einwandfreie man dem Lautsprecherausgang des Geräts entnehmen, um eine einwandfreie
Zeile 98: Zeile 164:
 bei einer Speichererweiterung sinnvoll ist. bei einer Speichererweiterung sinnvoll ist.
  
 +[10] Krake, H.: ZETBUG - ein komfortabler Z-80-Monitor, Funkschau 52 (1980), H.11\\
 +[11] Klein, R. D.: Basic Interpreter, Franzis Verlag, München\\
 +[12] Selenko, G.; Panov, W.; Popov, S.: Mikroprozessoren und Mikrorechner für den Funkamateur, [[http://archive.radio.ru/web/1983/09/035/|RADIO, Heft 9/1983, Seite 32 bis 35]]
 +
 +===== Turbo-Tape =====
 +
 +Von F.Ludwig (SCCH) stammt ein Turbo-Tape, dass das Aufzeichnungsverfahren des Poly-Computers und des Z1013 nutzt,
 +aber mit abweichenden Zeitkonstanten.
 +
 +Im SCCH-Monitor V8 ist Turbo-Tape neben dem originalen Aufzeichnungsverfahren vorhanden; im
 +SCCH-Monitor 1088 findet sich nur noch Turbo-Tape.
 +
 +Die Übertragungsrate beträgt ca. 4000 Bit/s.
 +
 +Im wesentlichen gelten die Ausführungen von [[z1013:kassettenformate|Z1013-Kassettenformate]].
 +Es gibt einen Kopfblock (Header), der nicht zum Z1013-Headersave kompatibel ist, sondern einen eigenen Aufbau besitzt.
 +Dieser Kopfblock und der erste nachfolgende Datenblock
 +haben einen langen Vorton, die anderen Datenblöcke einen kurzen Vorton.
 +
 +Datei:
 +
 +<ditaa noedgesep>
 ++--------+--------+--------+-------+-------+-------+     +-------+
 +| vorton | Header | vorton | Block | Block | Block | ... | Block |
 ++--------+--------+--------+-------+-------+-------+     +-------+
 +</ditaa>  
 +
 +Block:
 +
 +<ditaa noedgesep>
 ++------+-------+-----+--------+-----+
 +| 0000 | word0 | ... | word15 | cks | 
 ++------+-------+-----+--------+-----+
 +</ditaa>
 +
 +Kopfblock:
 +
 +Im Kopfblock ist Dateiname (16 Zeichen), Anfangs- und End-Adresse und der Dateityp (1 Zeichen) enthalten.
 +Eine Startadresse gibt es nicht!
 +
 +<ditaa noedgesep>
 ++----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 +| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F |
 +|'N' |'N' |'N' |'N' |'N' |'N' |'N' |'N' |       Dateiname, mit Leerzeichen ..   |
 ++----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 +| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F |
 +|  .. aufgefüllt (16 Zeichen)           |':' |' ' |typ | eadr    | aadr    |'L' |
 ++-------------------------------------------------------------------------------+
 +</ditaa>
 +
 +Aufbau des Kopfblocks:
 +^ Byte  ^ Bedeutung                                                          |
 +| 0-7   | Turbo-Kennung (8x D'N'                                       |
 +| 8-23  | Dateiname, mit Leerzeichen aufgefüllt                              |
 +| 24,25 | ': '                                                          |
 +| 26    | Dateityp (z.B. "P": Ausführbares Maschinencodeprogramm)            |
 +| 27,28 | Endadresse                                                         |
 +| 29,30  | Endadresse                                                         |
 +| 31  | 'L' (für Ludwig ?)                                           |
 +
 +
 +Es werden 4 Dateitypen unterschieden:
 +  * P Lauffähiges Maschinenprogramm
 +  * D Maschinendatei
 +  * B Basicprogramm
 +  * F Datenfeld (BASIC)
 +Die Filetypen B und F können nur mit BASIC - Interpreter V.3.2 geladen werden. Im Monitor erfolgt
 +lediglich Anzeige des Namens, Filetyp, Anfangs- und Endadresse.
 +
 +Im Kopfblock gibt es keine Startadresse. Nach dem Laden überprüft der Computer aber das Programm auf eine **Autostart-Sequenz**. Ist diese vorhanden, erfolgt der Autostart auf entsprechender Adresse. Die Autostartsequenz muss an der Anfangsadresse stehen (5 Byte):
 +  53 43 48 xx xx ; xx xx = Startadresse.
 +
 +===== Autostart-Tape =====
 +
 +Speichern eines Programms auf Kassette (mit optionalem Startbild) und selbstständigem Start nach dem Einlesen, B.Nickel, 1988 
 +
 +Es wird nicht nur der reine Speicherbereich auf Kassette gespeichert. Das Aufzeichnungsformat ist ein sog. Container-Format, wo man ein Startbild einbinden und einen Autostart aktivieren kann. Der Autostart war ein effektiver Kassetten-Kopierschutz (nach 5x umkopieren ging nichts mehr) und wurde auch so genutzt.
 +
 +!TODO!
 +
 +===== Super-Tape =====
 +
 +E.Ludwig 
 +
 +!TODO!
 +
 +===== USB .Z80-Dateien =====
 +
 +Von Ralph Hänsel stammt Software zur Nutzung eines VDIP-Moduls + USB-Stick. Hier werden Dateien im Z1013-.Z80-Format abgelegt. Auch der JKCEMU nutzt dieses Format zum Speichern und Laden von AC1-Programmen.
 +
 +Es gibt einen Kopfblock (Header), der zum Z1013-Headersave kompatibel ist.
 +
 +<ditaa noedgesep>
 ++--------+----------+
 +| Header | Programm |
 ++--------+----------+
 +</ditaa>  
 +
 +Kopfblock:
 +
 +Im Kopfblock ist Dateiname (16 Zeichen), Anfangs- und End-Adresse und der Dateityp (1 Zeichen) enthalten.
 +
 +<ditaa noedgesep>
 ++----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 +| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F |
 +|   aadr  |   eadr  |  sadr          frei/Autor/CRC       | Typ| D3 | D3 | D3 |
 ++----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 +| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F |
 +|                      Programmname, mit Leerzeichen aufgefuellt                |
 ++-------------------------------------------------------------------------------+
 +</ditaa>
 +
 +der freie Bereich ist mit "AC1RWTP" "MO11.0", "DVU21 " o.ä. gefüllt.
 +
 +Es werden 4 Dateitypen unterschieden:
 +  * P Lauffähiges Maschinenprogramm (z1013: C !!)
 +  * D Maschinendatei
 +  * B Basicprogramm
 +  * F Datenfeld (BASIC)
  
  • homecomputer/ac1/kassetteninterface.1534844321.txt.gz
  • Zuletzt geändert: 2018/08/21 09:38
  • von volkerp