Inhalte und Formate von cas-Dateien
Inhalte und Formate von cas-Dateien
von eda70 » Mo 11. Jul 2005, 10:24
Ich bin gerade dabei ein paar alte Kassetten zu archivieren/restaurieren.
Dazu "lese" ich die Files als wav ein und versuche diese dann mittels wav2cas zu konvertieren.
Soweit so gut.
Wie kann ich dann dem entstandenen cas-file ansehen, was drin ist? Also ob es sich um ein Autoboot oder um ein mit csave oder aber mit enter c: gespeichertes Programm handelt.
Leider hat das Inhaltsverzeichnis der Kassetten nicht die Zeit überdauert.
Bzw. funktioniert das cas2wav auch für Basic-Programme?
Denn irgendwie bekomme ich die cas-Dateien im Emulator nicht geladen...
von CharlieChaplin » Di 12. Jul 2005, 23:52
Hmmm,
die antwort für dein Problem lautet wahrscheinlich, dass du fälschlicherweise das Turbo-(Tape-) format verwendest. Normale Cass. Programme haben kein Inhaltsverzeichnis, laden sehr langsam aber werden dann als CAS-Files von einigen Emus (Ape, Atari 800 etc.) geladen. Turbo-Tape Programme laden schnell und haben eine Dir. aber sie werden halt von den Emus (bisher) nicht unterstützt. Zudem gibt es versch. Turbo-Tape formate (ostdeutsche, poln., tschech.) mit unterschiedl. Baudraten und ebenso unterschiedl. Loadern...
Ergo, wenn du unbedingt CAS-Files produzieren und mit dem Emu nutzen willst (anstelle von gecrackten Disk-File-Versionen), dann musst du die standard Baudrate für Tapes (600 Baud) benutzen...
Nebenbei, das CAS2WAV Programm erzeugt CAS-Files, die nachher nicht mehr auf dem original Atari laufen, da hier nicht nur 128 Datenbytes, sondern auch alle anderen Bits und Bytes (z.B. Start- und Stoppbits) übertragen werden. Ausserdem wird die Baudrate noch mitgespeichert. Nutzt man mit dem XL/XE einen C-Simulator, so kann dieser zwar *.CAS Files laden - aber nur solche, die auch mit dem XL/XE kreiert wurden (jene die mittels WAV2CAS erzeugt wurden laufen nicht)... -Andreas Magenheimer.
von eda70 » Mi 13. Jul 2005, 08:50
Isch abe gar kein Turbo...
(noch nicht mal im Auto

)
Ergo, wenn du unbedingt CAS-Files produzieren und mit dem Emu nutzen willst (anstelle von gecrackten Disk-File-Versionen), dann musst du die standard Baudrate für Tapes (600 Baud) benutzen...

es gibt gecrackte Versionen von meinen Basic-Programmen? Ich bin entsetzt ;o)
Nein im Ernst, ich dachte, mann könne mit einem Editor o.ä. die cas-files öffnen und sehen, was drinne ist.
Gerade bei Basic hatte ich vermutet, dass einfach der Programm-"Text" auf Kassette geschrieben wird.
Den dritten Absatz habe ich komplettamente nicht verstanden.
von CharlieChaplin » So 17. Jul 2005, 23:37
Wie, was,
selbstgeschriebene Basic-Programme ?!? Das sind dann im allg. keine .CAS Files, auch wenn sie auf Tape vorliegen. Höchstwahrscheinlich handelt es sich dabei nämlich nicht um selbstbootende Programme - oder ?!?
1) Hattu mit CSAVE gespeichert, muttu mit CLOAD laden;
2) Hattu mit SAVE"C:" gespeichert, muttu mit LOAD"C:" laden (oder RUN"C:" falls du das Programm gleich starten willst)
3) Hattu mit LIST"C:" gespeichert, muttu mit ENTER"C:" laden
Zum umkopieren einfach ein DOS vorladen, dann ins Basic gehen, Programm von Tape laden und dann via SAVE"D:Filename.EXT" abspeichern. Wenn du dir den Inhalt als eine Art Textdatei ansehen willst (im klartext), dann speichere mit LIST"D:Filename.LST" ab und schaue dir das PRogramm dann später a) via DOS Funktion an (z.B. unter Turbo-DOS mit TYPE Filename.LST oder unter DOS 2.5 C; Return; Filename.LST,E:; Return; die Strichpunkte natürlich nicht eingeben), b) via Texteditor (irgendein ATASCII-Texteditor und der Funktion LOAD"D:Filename.LST" ) oder c) einem Menüloader (der auch Texte einlädt) auf dem Screen an...
Sollte dein Programm zufälligerweise den speicher des DOS im RAM überschreiben, dann klappt das mit dem umkopieren via DOS natürlich nicht. Stattdessen kannst du dann einen C/D Kopierer verwenden, es gibt recht viele davon, alle speichern aber nur im normalen SAVE format auf Disk ab (so dass sich der PRogramminhalt dann nicht als klartext anzeigen läßt)...
LAst not least, CAS-Programme sind im allgemeinen selbstbootende oder ladende ML-Programme (man hält beim Booten von Tape lediglich die Start bzw. START+OPTION Taste/n gedrückt und betätigt Play am Datenrekorder und Return am Computer, der Rest geht dann von selbst). Erzeugt man CAS-Files auf dem XL/XE via umkopieren von Tape auf Disk (z.B. mit einem C-Simulator oder via C/D Kopierer), so werden die Daten dabei stets als 128 Byte lange blöcke abgelegt. Erzeugt man CAS-Files via PC und/oder Emulator, so werden dort die CAS-Files mit etwas längeren Blöcken abgelegt (mind. 131 oder mehr Bytes pro Datenblock), da der PC halt noch etwas mehr speichert, als der reale Atari braucht - und eben das erzeugt die Inkompatibilität von CAS-Files des XL/XE vs. CAS-Files des PC bzw. Emu...
Genug gelabert, Basic-Files sollten doch besonders einfach von Tape auf Disk zu übertragen sein... Andreas Magenheimer.
von andreasb » Mo 18. Jul 2005, 01:19
Welche Ladefunktionen es gibt wenn das Format unbekannt ist, steht auch in der Einsteigerhilfe. -> "Programme per Kassette"

von eda70 » Fr 5. Aug 2005, 15:51
Ja, danke, wie files von Kassette geladen werden ist mir klar.
Mir geht es um mit dem Tool wav2cas gewandelte-Files.
1. ist da die Problematik, ich weiß nicht was drauf ist und
2. ob das wav2cas-Tool auch für Basic-Progs funktioniert.
Vielleicht war die Bezeichnung *.cas-Datei irreführend.
Ich benutze sie synonym für Dateien,
die mit dem wav2cas-Tool erstellt wurden.
von HiassofT » Fr 5. Aug 2005, 18:37
Das .cas Format (ich meine hier auch Files, die mit wav2cas erstellt wurden) ist eigentlich relativ einfach:
Das ganze File ist einfach eine Anreihung von Blöcken. Jeder Block beginnt mit einem 8 Byte Header.
Die ersten 4 Bytes des Header geben den Typ an, danach folgen 2 Bytes die die Länge des Datenblockes enthalten, und dann gibt es noch 2 zusätzliche Bytes die verschieden genutzt werden.
Nach dem Header folgt direkt der Datenblock.
Es gibt nun 3 verschiedene Block Typen:
"FUJI" ist sozusagen das Erkennungsmerkmal aller CAS Files. Im Datenteil ist dann die Text-Beschreibung gespeichert.
"baud" legt die Baudrate fest. Dieser Block hat keinen Datenblock, die Baudrate ist in den Bytes 7 und 8 des Headers gespeichert.
"data" enthält nun die eigentlichen Kassetten-Daten:
Die Bytes 7 und 8 geben an, wie gross die Pause vor dem Datenblock ist. Der Datenblock selber ist nun genauso abgespeichert wie die Daten auf der Kassette selber. Also mit $55 $55 am Anfang, dann $FA oder $FC oder $FE, dann 128 Byte Daten und zum Schluss noch ein Byte Prüfsumme.
Wenn Du nun die eigentlichen Daten extrahieren möchtest, musst Du nur die Datenblöcke genauer unter die Lupe nehmen:
Ist das 3. Datenbyte $FA, so handelt es sich um einen Datenblock mit weniger als 128 Bytes. Im letzten Byte der Nutzdaten steht dann die Länge dieses Blockes in Bytes.
Ist das 3. Byte $FC, sind volle 128 Bytes Daten vorhanden.
$FE im 3. Byte bedeutet nun "End of File". Den Datenbklock kannst Du ignorieren, es folgen einfach 128 leere Bytes.
Ich habe mal ein C Programm geschrieben, dass ein .CAS File einliest und die eigentlichen Nutzdaten in ein File schreibt. Wenn Du möchtest, kann ich Dir das Programm per Mail zukommen lassen.
so long,
Hias
von eda70 » Di 30. Aug 2005, 15:36
Ich glaube ich kann den Kern meiner Frage nicht verständlich rüberbringen. Ein letzter Versuch mit einer etwas spezifizierten Frage:
1. Kann man einem cas.file (vom wav2cas.exe) ansehen (mittels eines Editors) was gespeichert ist? Also ist am cas-file erkennbar, ob das file ursprünglich mit csave, mit save c oder mit list c gespeichert wurde bzw. ob es sich um ein Autostart-file handelt?
Zum Beispiel müßte doch jedes Austostart-file mit einer Angabe starten, wo im RAM das Programm abgelegtwerden soll und wo die Startadresse ist.
Bei Basic verwaltet sicher der Rechner das WO des Speicherns, oder?
2. Funktioniert das wav2cas auch für basic-Programme? Hat da jemand Erfahrungen gemacht?
Vielen Dank.