Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
homecomputer:ac1:kassetteninterface [2023/01/04 11:18] 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 101: Zeile 167:
 [11] Klein, R. D.: Basic Interpreter, Franzis Verlag, München\\ [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]] [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.1672831119.txt.gz
  • Zuletzt geändert: 2023/01/04 11:18
  • von volkerp