Dies ist eine alte Version des Dokuments!


Kassettenformate

Das Kassetten-Magnetband-Interface des Z1013 ist ein Diphase-Verfahren. Es kam speziell auf dem Z1013 zum Einsatz und ist auf anderen Computern nicht verbreitet.

Aufgezeichnet wird in Blöcken zu je 32 Byte. Jeder Block besteht aus einem Kopf: einem einzelnen Word 0000h, sowie den Daten; gespeichert als 10h Words. Anschließend folgt eine Prüfsumme (wieder ein Word) über den Datenblock. Tatsächlich werden also pro Block 36 Byte aufgezeichnet.

Programm:

----------------------------------     ---------
| vorton | Block | Block | Block | ... | Block |
----------------------------------     ---------

Block:

-------------------------------------
| 0000 | word0 | ... | word15 | cks | 
-------------------------------------

Bei Headersave wird einzusätzlicher Kopf aufgezeichnet. Lässt man diesen Block weg, kann der Rest mit den originalen z1013-Laderoutinen eingelesen werden. Bei Headersave steht im Blockkopf die Speicheradresse des ersten Bytes im Block; also die Adresse, an die der Block (normalerweise) wieder zurückzuladen ist. FFFFh wird als Endeblock erkannt.

----------------------------------------------------     ---------
| vorton | Header | vorton | Block | Block | Block | ... | Block |
----------------------------------------------------     ---------

Headersave-Kopf

---------------------------------------------------------------------------------
| 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 aufgefüllt                 |
---------------------------------------------------------------------------------

Auch beim TINY-BASIC (originales CSAVE-Kommando) wird ein zusätzlicher Header geschrieben. Dieser hat einen einfacheren Aufbau als der von Headersave. Das Tiny-BASIC-Verfahren stand PAte für das von R. Brosig entwickelte Headersave.

Tiny-Basic-Kopf

---------------------------------------------------------------------------------
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F |
|   aadr  |   eadr  |                         alles 00                          |
---------------------------------------------------------------------------------
| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F |
|                      Programmname, mit Leerzeichen aufgefüllt                 |
---------------------------------------------------------------------------------

Neben dem Hausformat gibt es auch 10K-BASIC-Programme im Kassettenaufzeichnungsformat des Z9001 sowie Basicode-Programme im BASICODE3-Kassettenaufzeichnungsformat.

*.z13 Originalformat des Z1013
also Bin-Datei (ohne Kopf) oder Tiny-Basic (Tiny-Basic-Programme haben Kopf ähnlich wie Headersave: nur aadr (1000), eadr und filename)
kein Headersave-Kopfblock

*.z80 Header-Save-Programme
32 Byte Vorblock (aadr, eadr, sadr, 6 byte frei, typ, 3x 0d3h, 16 Zeichen Filename, mit Leerzeichen aufgefüllt. Die 6 freien Byte enthalten den (Programm-)Autor, (z.B. Brosig), Müll, eine CRC-Summe oder andere Identifikatoren, sind aber nicht notwendig)

Sowohl bei *.z13 als auch bei *.z80 werden die Kopf-Daten der Blöcke nicht gespeichert. Die *.z13-Dateien sind damit reine Speicherdumps (außer Tiny-Basic, auch hier gibt es einen Header), bei *.z80 kommt noch der Headersave-Kopf davor.

Gebräuchlich sind eigentlich nur *.z80-Dateien.

*.TAP Arne Fitzenreiter:

  • 16 byte Header mit „KC-TAPE by AF“
  • 129 byte Blöcke mit Blocknummer aber ohne Prüfumme
  • nur für wenige 10K-BASIC-Programme genutzt; gebräuchlicher war HSAVE (Headersave-Aufzeichnung als *.Z80-Datei)
  • z1013/kassettenformate.1316339097.txt.gz
  • Zuletzt geändert: 2011/09/18 09:44
  • von volkerp