Kassettenformat
Das Kassetten-Magnetband-Interface des POLY-880 ist ein Diphase-Verfahren.
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.
Das Kassetten-Magnetband-Interface wurde auf andere Homecomputer übernommen, teils mit anderer Bitrate. Das Originale Z1013-Aufzeichnungs-Format mit 1MHz gespeichert entspricht dem des POLY-880.
Programm:
Physisches Aufzeichnungsformat
Die Aufzeichnung erfolgt in Blöcken zu je 32 Datenbytes. Jeder Block hat folgenden Aufbau:
- Vorton: 14 Halbschwingung a 1200 Hz (2x Bitdauer), beim ersten Block 2000 Schwingungen
- Trennschwingung: 1 Vollschwingung a 600 Hz (zwei „1“-Bits)
- Blocknummer („Kennzeichenblock“): 16 Bit, beim POLY-880 immer 0000
- Datenbereich: 32 Bytes in Form von 16 Datenwörtern
- Prüfsumme: 16-Bit-Addition über die Blocknummer und die 16 Datenwörter
Die Datenwörter sind Little-Endian-kodiert, d.h. niederwertiges Byte zuerst. Es wird jeweils das Bit 0 zuerst gespeichert.
Bit-Codierung: 0-Bit: 1 Vollschwingung mit 1200 Hz (2 Phasenwechsel) 1-Bit: 1 Halbschwingung mit 600 Hz (1 Phasenwechsel)
Mit Blocknummer und Prüfsumme zusammen besteht ein Block damit aus 36 Byte (= 18 Word).
Es werden immer vollständige Blöcke aufgezeichnet, auch wenn die angegeben Endadresse in der Mitte eines Blocks liegt. Zwischen zwei Blöcken, d.h. zwischen dem letzten Phasenwechsel der Prüfsumme und dem ersten Phasenwechsel des Vortons, gibt es eine etwa 5 ms lange Pause.
Literatur: Bedienhandbuch Kapitel 7
Logisches Aufzeichnungsformat
Die Aufzeichnung enthält ausschließlich den zu sichernden Speicherbereich ohne jegliche Verwaltungsinformationen.
Als Blocknummer wird immer 0000h genommen.
Block:
Beispiel POLY_MUSIC:
d:\hobby3\poly-880>wav2z80_poly880.pl POLY_MUSIK_22050.wav blknr .... 32 Byte Daten, wordweise, also byte-vertauscht! ... prfsum vorton start vorton ende 0000 253E 89D3 403E 89D3 0021 7E41 FE23 2800 4F36 FE7E 28FF E515 4026 80C6 466F FE10 7EDA block ende vorton start vorton ende 0000 4623 1000 E1FD 82DB 04EE 82D3 89DB CBAA 206F 0606 1003 18FE AAD9 0D57 0628 0306 A915 block ende vorton start vorton ende 0000 FE10 CE18 1823 76C4 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 5B03 block ende vorton start vorton ende 0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFF0 block ende vorton start vorton ende 0000 048C 0483 0C70 0275 0D5F 0661 0A56 0C4C 0253 034C 0544 083B 0C31 0733 0334 062C 7238 block ende vorton start vorton ende 0000 0A22 0525 0720 0322 031F 0A13 0B0F 0613 080E 0411 0A07 0D01 0707 010D 020A 0702 6C24 block ende vorton start vorton ende 0000 0503 0403 0303 0203 0103 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0F04 block ende vorton start vorton ende 0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFF0 block ende vorton start vorton ende 0000 300C FF0C 2C0C FF0C 300C FF0C 260C FF0C 1E0C FF0C 260C FF0C 180C FF0C FF18 300C 36CC block ende vorton start vorton ende 0000 FF0C 2C0C FF0C 300C FF0C 260C FF0C 1E0C FF0C 260C FF0C 180C FF0C FF18 300C FF0C 05CC block ende vorton start vorton ende 0000 340C FF0C 360C FF0C 340C FF0C 360C FF0C 300C FF0C 340C FF0C 300C FF0C 340C FF0C 94C0 block ende vorton start vorton ende 0000 2C0C FF0C 300C FF0C 2C0C FF0C 300C FF0C 260C FF0C 300C FF0C FF18 300C FF0C 2C0C 62CC block ende vorton start vorton ende 0000 FF0C 300C FF0C 260C FF0C 1E0C FF0C 260C FF0C 180C FF0C FF18 300C FF0C 2C0C FF0C 05CC block ende vorton start vorton ende 0000 300C FF0C 260C FF0C 1E0C FF0C 260C FF0C 180C FF0C FF18 300C FF0C 340C FF0C 360C 44CC block ende vorton start vorton ende 0000 FF0C 340C FF0C 360C FF0C 300C FF0C 340C FF0C 300C FF0C 340C FF0C 2C0C FF0C 300C 86C0 block ende vorton start vorton ende 0000 FF0C 2C0C FF0C 300C FF0C 260C FF0C 300C FF0C FF18 300C FF0C 2C0C FF0C 300C FF54 3614 block ende vorton start vorton ende 0000 180C FF54 0090 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 17F0 block ende Programm im Speicher abgelegt: 00004000h: 3E 25 D3 89 3E 40 D3 89 21 00 41 7E 23 FE 00 28 00004010h: 36 4F 7E FE FF 28 15 E5 26 40 C6 80 6F 46 10 FE 00004020h: 23 46 00 10 FD E1 DB 82 EE 04 D3 82 DB 89 AA CB 00004030h: 6F 20 06 06 03 10 FE 18 D9 AA 57 0D 28 06 06 03 00004040h: 10 FE 18 CE 23 18 C4 76 FF FF FF FF FF FF FF FF 00004050h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00004060h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ... 00004200h: 0C 18 54 FF 90 00 00