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/26 08:08] – [AC1-Standard] volkerphomecomputer:ac1:kassetteninterface [2024/12/05 12:49] (aktuell) – [USB .Z80-Dateien] volkerp
Zeile 12: Zeile 12:
 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 "AC1" angepaßt. Die Software dazu wurde neu geschrieben, das+dem Grundmodul des "AC1" angepasst. 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: Aufbau:
Zeile 28: Zeile 30:
 Datei: Datei:
  
-<ditaa noedgesep+<a2s
-+--------+----+--------+--------+---------+---------+---------    +---------+--------++#--------#----#--------#--------#---------#---------#---------    #---------#--------#
 | vorton | E6 | U Name | vorton | < Block | < Block | < Block | ... | < Block | x sadr | | vorton | E6 | U Name | vorton | < Block | < Block | < Block | ... | < Block | x sadr |
-+--------+----+--------+--------+---------+---------+---------    +---------+--------+ +#--------#----#--------#--------#---------#---------#---------    #---------#--------# 
-</ditaa>  +</a2s>  
  
 Daten-Block '<': Daten-Block '<':
Zeile 39: Zeile 41:
 hat nur der letzte Block < 256 Bytes hat nur der letzte Block < 256 Bytes
  
-<ditaa noedgesep+<a2s
-+---+------+--------+-----+--------+------++#---#------#--------#-----#---------#-----#
 | < | len  | byte 0 | ... | byte255 | cks |  | < | len  | byte 0 | ... | byte255 | cks | 
-+---+------+--------+-----+--------+------+ +#---#------#--------#-----#---------#-----# 
-</ditaa>+</a2s>
  
 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! 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!
Zeile 49: Zeile 51:
 {{:homecomputer:ac1:ac1-programm.png|}} {{:homecomputer:ac1:ac1-programm.png|}}
  
-:!: Das 8K-Basic verwendet einen eigenen Dateiaufbau !!!+:!: Das **8K-Basic 1.1** verwendet einen eigenen Dateiaufbau !!!
  
   - 512 x 00-Byte Vorton   - 512 x 00-Byte Vorton
Zeile 58: Zeile 60:
   - xxx Bytes   - xxx Bytes
  
-<ditaa noedgesep+<a2s
-+--------+----+------+----+--------+----------++#--------#----#------#----#--------#----------#
 | vorton | E6 | Name | D3 | laenge | Programm |  | vorton | E6 | Name | D3 | laenge | Programm | 
-+--------+----+------+----+--------+----------+ +#--------#----#------#----#--------#----------# 
-</ditaa>  +</a2s>   
  
 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! 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|}} {{: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 181: Zeile 186:
 Datei: Datei:
  
-<ditaa noedgesep+<a2s
-+--------+--------+--------+-------+-------+-------    +-------++#--------#--------#--------#-------#-------#-------    #-------#
 | vorton | Header | vorton | Block | Block | Block | ... | Block | | vorton | Header | vorton | Block | Block | Block | ... | Block |
-+--------+--------+--------+-------+-------+-------    +-------+ +#--------#--------#--------#-------#-------#-------    #-------# 
-</ditaa>  +</a2s>  
  
 Block: Block:
  
-<ditaa noedgesep+<a2s
-+------+-------+-----+--------+-----+ +#------#-------#-----#--------#-----# 
-| 0000 | word0 | ... | word15 | cks |  +| 0000 | word0 | ... | word15 | cks | 
-+------+-------+-----+--------+-----+ +#------#-------#-----#--------#-----# 
-</ditaa>+</a2s>
  
 Kopfblock: Kopfblock:
Zeile 200: Zeile 205:
 Eine Startadresse gibt es nicht! Eine Startadresse gibt es nicht!
  
-<ditaa noedgesep+<a2s
-+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----++#----#----#----#----#----#----#----#----#----#----#----#----#----#----#----#----#
 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | | 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 ..   +|'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 | | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F |
 |  .. aufgefüllt (16 Zeichen)           |':' |' ' |typ | eadr    | aadr    |'L' | |  .. aufgefüllt (16 Zeichen)           |':' |' ' |typ | eadr    | aadr    |'L' |
-+-------------------------------------------------------------------------------+ +#-------------------------------------------------------------------------------# 
-</ditaa>+</a2s>
  
 Aufbau des Kopfblocks: Aufbau des Kopfblocks:
Zeile 231: Zeile 236:
 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): 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.   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.
 +
 +<a2s>
 +#--------#----------#
 +| Header | Programm |
 +#--------#----------#
 +</a2s>  
 +
 +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 |
 +|   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                 |
 +#-------------------------------------------------------------------------------#
 +</a2s>
 +
 +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.1674720498.txt.gz
  • Zuletzt geändert: 2023/01/26 08:08
  • von volkerp