Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
homecomputer:ac1:kassetteninterface [2018/08/21 09:38] – angelegt volkerp | homecomputer:ac1:kassetteninterface [2024/12/05 12:49] (aktuell) – [USB .Z80-Dateien] 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] | ||
vorgestellten Kassetteninterface. Die dort angegebene Interfaceschaltung wurde | vorgestellten Kassetteninterface. Die dort angegebene Interfaceschaltung wurde | ||
- | dem Grundmodul des " | + | dem Grundmodul des " |
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 | ||
+ | - ' | ||
+ | - Vorton 256x 00-Bytes [Zeit für Namensdarstellung beim Einlesen] | ||
+ | - Datenblöcke: | ||
+ | - ' | ||
+ | |||
+ | Die Startadr wird nach Einlesen nur angezeigt und in ARG1 abgelegt, das Programm startet nicht automatisch! | ||
+ | Mit J: wird das Programm gestartet. | ||
+ | |||
+ | Datei: | ||
+ | |||
+ | <a2s> | ||
+ | # | ||
+ | | vorton | E6 | U Name | vorton | < Block | < Block | < Block | ... | < Block | x sadr | | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Daten-Block '<': | ||
+ | |||
+ | max 256 Datenbytes. Obwohl jeder Block in der Anzahl variieren kann, | ||
+ | hat nur der letzte Block < 256 Bytes | ||
+ | |||
+ | <a2s> | ||
+ | # | ||
+ | | < | len | byte 0 | ... | byte255 | cks | | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Beispielprogramm CLIST@ von der Musterkassette. Der Datenstrom besteht aus 4 Blöcken (Name + 256x00, 256 Datenbytes, 224 Datenbytes, Startadresse). Das ist Dump des Bytestreams, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | :!: 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 | ||
+ | |||
+ | <a2s> | ||
+ | # | ||
+ | | vorton | E6 | Name | D3 | laenge | Programm | | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | |||
+ | Beispielprogramm LOCATO von der Musterkassette, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **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 126: | ||
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 | + | OPV-Typen erprobt. Die Funktion der Schaltung läßt sich leicht |
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 165: | ||
bei einer Speichererweiterung sinnvoll ist. | bei einer Speichererweiterung sinnvoll ist. | ||
+ | [10] Krake, H.: ZETBUG - ein komfortabler Z-80-Monitor, | ||
+ | [11] Klein, R. D.: Basic Interpreter, | ||
+ | [12] Selenko, G.; Panov, W.; Popov, S.: Mikroprozessoren und Mikrorechner für den Funkamateur, | ||
+ | |||
+ | ===== 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: | ||
+ | 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: | ||
+ | |||
+ | <a2s> | ||
+ | # | ||
+ | | vorton | Header | vorton | Block | Block | Block | ... | Block | | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Block: | ||
+ | |||
+ | <a2s> | ||
+ | # | ||
+ | | 0000 | word0 | ... | word15 | cks | | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Kopfblock: | ||
+ | |||
+ | Im Kopfblock ist Dateiname (16 Zeichen), Anfangs- und End-Adresse und der Dateityp (1 Zeichen) enthalten. | ||
+ | Eine Startadresse gibt es nicht! | ||
+ | |||
+ | <a2s> | ||
+ | # | ||
+ | | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | | ||
+ | |' | ||
+ | # | ||
+ | | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F | | ||
+ | | .. aufgefüllt (16 Zeichen) | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Aufbau des Kopfblocks: | ||
+ | ^ Byte ^ Bedeutung | ||
+ | | 0-7 | Turbo-Kennung (8x D' | ||
+ | | 8-23 | Dateiname, mit Leerzeichen aufgefüllt | ||
+ | | 24,25 | ': ' | ||
+ | | 26 | Dateityp (z.B. " | ||
+ | | 27,28 | Endadresse | ||
+ | | 29,30 | Endadresse | ||
+ | | 31 | ' | ||
+ | |||
+ | |||
+ | 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, | ||
+ | |||
+ | !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. | ||
+ | |||
+ | <a2s> | ||
+ | # | ||
+ | | Header | Programm | | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Kopfblock: | ||
+ | |||
+ | Im Kopfblock ist Dateiname (16 Zeichen), Anfangs- und End-Adresse und der Dateityp (1 Zeichen) enthalten. | ||
+ | |||
+ | <a2s> | ||
+ | # | ||
+ | | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | | ||
+ | | | ||
+ | # | ||
+ | | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F | | ||
+ | | | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | der freie Bereich ist mit " | ||
+ | |||
+ | Es werden 4 Dateitypen unterschieden: | ||
+ | * P Lauffähiges Maschinenprogramm (z1013: C !!) | ||
+ | * D Maschinendatei | ||
+ | * B Basicprogramm | ||
+ | * F Datenfeld (BASIC) | ||