TAP-Header

SPC Club Forum

TAP-Header

Beitragvon ZX-Heinz » 26.06.2012, 23:05

Hallo zusammen,

weiss vielleicht jemand, wo ich etwas ueber die Struktur des 25 Bytes langen Headers bei Files (Emulator) vom Typ .TAP finde?

Gruss, Heinz
Benutzeravatar
ZX-Heinz
User
 
Beiträge: 158
Registriert: 05.12.2011, 15:45

Re: TAP-Header

Beitragvon LCD » 03.07.2012, 01:11

Benutzeravatar
LCD
User
 
Beiträge: 123
Registriert: 25.03.2009, 01:36

Re: TAP-Header

Beitragvon Paul » 03.07.2012, 07:32

LCD hat geschrieben:http://www.zxmodules.de/fileformats/tapformat.html

Gruß
LCD

Das ist allgemein eine sehr schöne Spectrum Seite. Danke für den Link :D
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.
Benutzeravatar
Paul
User
 
Beiträge: 659
Registriert: 10.03.2010, 13:01
Wohnort: Germanys west end

Re: TAP-Header

Beitragvon ZX-Heinz » 03.07.2012, 14:46

Hallo LCD,
vielen Dank fuer den Link. Ich hatte ihn auch frueher schon einmal gefunden, aber er passt irgendwie nicht zu meinen Headern. Entweder bin ich zu dumm, oder es sind gar keine TAPs. Sie lassen sich aber problemlos in die Emulatoren ZX-Spin oder SpecEmu laden. Mein Header eines BASIC-Programms sieht z.B. wie folgt aus
[19, 0, 0, 0, 70, 65, 82, 66, 69, 32, 32, 32, 32, 32, 16, 1, 65, 128, 234, 0, 72, 18, 1, 255]

Ein CODE-Header sieht z.B. so aus:

[19, 0, 0, 3, 76, 79, 46, 67, 32, 32, 32, 32, 32, 32, 168, 97, 0, 97, 97, 128, 36, 170, 97, 255]

Alle Header sind 24 Bytes lang und beginnen mit 19, Platz 4 zeigt dann den Programmtyp (0=BASIC), und ab Platz 5 steht der Name (hier: FARBE).
Als letztes Byte des Files steht dann noch etwas, was nicht zum Programm gehört, wahrscheinlich die XORed Bytesumme.

Die TAP-Files auf der Linkseite haben keine 19.
Kannst Du helfen?
Gruss, Heinz.
Benutzeravatar
ZX-Heinz
User
 
Beiträge: 158
Registriert: 05.12.2011, 15:45

Re: TAP-Header

Beitragvon LCD » 16.07.2012, 20:04

Doch, das haben sie. Länge des Blocks für Header (17 Bytes) inklusive des Words für die Länge (2 Bytes)=19. Steht in der zweiten Tabelle von oben.
Letzter Byte ist in der tat die gexorte Prüfsumme aller Bytes ohne die ersten zwei.
Ist mir immer eine Freude zu helfen :).
Benutzeravatar
LCD
User
 
Beiträge: 123
Registriert: 25.03.2009, 01:36

Re: TAP-Header

Beitragvon LCD » 16.07.2012, 20:07

Paul hat geschrieben:
LCD hat geschrieben:http://www.zxmodules.de/fileformats/tapformat.html

Gruß
LCD

Das ist allgemein eine sehr schöne Spectrum Seite. Danke für den Link :D

Keine Ursache. Klaus, der Betreiber der Seite, ist ein sehr netter Mensch.
Benutzeravatar
LCD
User
 
Beiträge: 123
Registriert: 25.03.2009, 01:36

Re: TAP-Header

Beitragvon ZX-Heinz » 16.07.2012, 23:27

Hallo LCD, hallo Paul,

ich brauche weiteren Anschub, denn ich komme mit der Seite und meinem Header nicht klar. Bitte ganz langsam für mich:

Mit dem Emulator SpecEmu schreibe ich den Befehl:

SAVE "ABC" CODE 0,1.

Der Datenblock ist dann das erste Byte des Speccy-ROMs, also 243.

Das entstehende TAP-File hat die Länge 24+1+1=26. Dies sind die 26 Bytes:

[19, 0, 0, 3, 65, 66, 67, 32, 32, 32, 32, 32, 32, 32, 1, 0, 0, 0, 0, 128, 226, 3, 0, 255, 243, 12]

An vorletzter Position steht das eine Datenbyte 243, an letzter eine Prüfsumme.

Nun von vorn: Lassen wir die 19 und die 0 weg (sind nicht im Link beschrieben).

Dann 0 und 3, entspricht Offset 0 und 1, also Typ CODE.
Bis Offset 11 der Filename ABC und Leerzeichen.
Dann 2+2 Bytes Datenlänge und Startadresse 1, 0, 0, 0.
Nehmen wir 0 und 128 (=32768 ) unused, wie beschrieben, so bleiben aber noch die zum Header gehörenden Bytes 226, 3, 0, 255, mit denen ich nichts anfangen kann.

Was bedeuten diese? Sind sie wichtig?

Gruss, Heinz.
Benutzeravatar
ZX-Heinz
User
 
Beiträge: 158
Registriert: 05.12.2011, 15:45

Re: TAP-Header

Beitragvon ZX-Heinz » 18.07.2012, 19:49

Hallo LCD, hallo Paul,

Ihr habt ja recht mit 2+17+2, aber verstanden habe ich das erst mit dem Link von RoKO:

http://www.nvg.ntnu.no/sinclair/faq/fileform.html

Meine 26 Bytes sind zwei Blöcke, der erste von 1,2,3-21 (letztes ist checkbittoggle), und dann 22,23,24-26 ( letztes ist checkbittoggle).

Nun kann ich einen Konverter von meiner VDRIVE-Variante in TAPs schreiben.

Gruss, ZX-Heinz.
Benutzeravatar
ZX-Heinz
User
 
Beiträge: 158
Registriert: 05.12.2011, 15:45


Zurück zu Spectrum

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste