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/25 16:13] – [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>
  
-:!: Das 8K-Basic verwendet einen eigenen Dateiaufbau !!!+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   - 512 x 00-Byte Vorton
Zeile 54: 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! 
 + 
 +{{: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 173: 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 192: 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'  Programmname, 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 |
-| ... aufgefuellt (16 Zeichen)          | :  |' ' |typ | eadr    | aadr    |'L'+ .. aufgefüllt (16 Zeichen)           |':|' ' |typ | eadr    | aadr    |'L'
-+-------------------------------------------------------------------------------+ +#-------------------------------------------------------------------------------# 
-</ditaa>+</a2s>
  
 Aufbau des Kopfblocks: Aufbau des Kopfblocks:
Zeile 213: Zeile 226:
  
  
-Es werden 4 Filetypen unterschieden:+Es werden 4 Dateitypen unterschieden:
   * P Lauffähiges Maschinenprogramm   * P Lauffähiges Maschinenprogramm
   * D Maschinendatei   * D Maschinendatei
Zeile 223: 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.1674663209.txt.gz
  • Zuletzt geändert: 2023/01/25 16:13
  • von volkerp