Atari 800XL .ATR Files ändern, aber wie???

1, 2

Atari 800XL .ATR Files ändern, aber wie???

von cas » Mi 4. Feb 2004, 22:02
Hi,

vielleicht wäre ein SIO2PC Kabel die bessere, weil flexiblere Alternative.

Der Atari kennt 3 (Haupt-) Dikettenformate
Single Density, 40 Tracks, 18 Sektoren, 128 Byte/Sektor, 1 Seite = 90 KB
Medium/Enhanced Density, 40 Tracks, 26 Sektoren, 128 Bytes/Sektor, 1 Seite = 139 KB
Double Density, 40 Tracks, 18 Sektoren, 256 Bytes/Sektor, 1 Seite = 180 KB

Atari 810 Floppy kann nur Single Density
Atari 1050 kann Single und Medium
Atari XF551 kann Double Density und Quad (2 Seiten DD)
Für die Atari 1050 benötigt man eine Erweiterung (Speedy, Turbo 1050 oder ähnliches), um Double Density lesen/schreiben zu können

Die meisten Boot-Disketten sind Single Density, einige wenige Medium Density.

Um Boot-Disketten in ausführbare Dateien (COM-Dateien) umzuwandeln, ist ein gutes Kopierprogramm, ein Maschinensprachemonitor und einiges an Know-How notwendig.

Eine ATR Datei ist normalerweise immer ein 1 zu 1 Abbild einer Atari Diskette (also 90, 130 oder 180 KB gross). Es gibt im Internet spezielle, abgespeckte ATR Dateien, die mit den Emulatoren zusammenarbeiten.

Ich kann aber nicht sagen, ob diese Dateien der ATR Spezifikation genügen und auch mit den ATR-Programmen (APE oder SIO2PC) zusammenarbeiten oder nicht.

Wenn Du in NRW wohnst komm doch zur Hobbytronic in Dortmund kommende Woche, dort können wir Dir direkt und live helfen :)

Ober komme zu einem der regionalen Treffen.

Viel Erfolg!

Carsten

P.S.: Den ABBUC Mitgliedsbeitrag hat man ganz schnell, z. B. durch die guten Preise bei einer Sammelbestellung, wieder heraus. Ansonstan bekommt hier jeder eine Antwort, wenn sich jemand findet der diese schreibt. Mitgliedschaft ist dabei egal.

[Editiert am 4/2/2004 von cas]

[Editiert am 4/2/2004 von cas]

Atari 800XL .ATR Files ändern, aber wie???

von cas » Do 5. Feb 2004, 00:13
Ich verstehe nciht ganz. was Du vorhast.

Die meisten Benutzer verbinden heute dern Atari mit einem PC, benutzten den PC als Floppylaufwerk und laden so die ATR Dateien direkt aus den PC. Hierfür gibt es das SIO2PC Kabel (siehe u.a. http://www.abbuc-raf.de/ ). Keine Disketten notwendig. Es sei denn, Du möchtest aus Nostalgiegründen wieder von \"echten\" Disketten booten.

Ciao

Carsten

Atari 800XL .ATR Files ändern, aber wie???

von cas » Do 5. Feb 2004, 13:08
vorredner hat geschrieben: Ein billiges Laptop würde ja helfen, könnte quasi als SIO2PC-Fileserver für den Atari laufen. Aber diese Variante ist teuer und ziemlich verrückt. Wer benutzt schon einen Ferrari, um damit eine Ente durch die Gegend zu bewegen...


Ich benutze einen alten 386 16Mhz mit 40 MB Festplatte. Habe ich beim Sperrmüll an der Strasse gefunden. Kein Ferrari, aber funktioniert gut :)
Solche Rechner bekommt man an jeder Ecke geschenkt (auch 486 oder alte Pentiums). Einfach mal im Bekanntenkreis nachfragen.

vorredner hat geschrieben:
Ideal wäre für uns beide Folgendes: Ein kleines Stück Hardware, welches an den SIO-Port gesteckt wird und eine Floppy emuliert. Das DOS ist auf einem EPROM. Die Daten selbst befinden sich auf einem ganz normalen Memory-Stick. Das wärs doch! Im Prinzip könnte Deine gesamte Software dann auf diesem Stick Platz finden, und Probleme mit der Mechanik dürfte es dann auch nicht mehr geben. Gibt es sowas eigentlich?


Noch nicht, aber ist in Arbeit (siehe USB Cart Projekt im APG Wiki). Dann können wir uns unsere Atari Sammlung um den Hals hängen und überall mit hinnehmen :)

Carsten

Atari 800XL .ATR Files ändern, aber wie???

von HiassofT » Do 5. Feb 2004, 16:21
vorredner hat geschrieben:Meine Frage, gibt es eine Möglichkeit diese .atr Files so zu ändern das mehrere dieser Spiele auf eine Seite passen?


Ich habe mir einige ATR-Images, die ich aus dem Netz geladen habe, einmal etwas genauer angeschaut. Ganz grob kann man die in 3 Klassen unterteilen:
1) Programme, die nachladen, da hat man dann sowieso keine Chance.
2) Programme, die "in einem Stück" als bootbare Disk daherkommen.
3) Programme, die von einem COM/EXE File in ein ATR konvertiert wurden.

Images mit Programmen "in einem Stück" kann man daran erkennen, dass im 18. Byte (also File-Offset 17) des ATR-Files (das ist das 2. Byte des Boot-Sektors) ein Wert grösser ca. $10 steht. Dieser Wert gibt an, aus wievielen Sektoren das Boot-Image besteht. Dieser Wert multipliziert mit 128 gibt die Länge des Boot-Images in Bytes an. Nun kann man einfach die ersten 16 Bytes (das ist der ATR-Header) abschneiden, und auch alles was über die Länge hinausgeht. Falls danach (im ATR-Image) alle Bytes Null sind, dann lädt das Programm ziemlich sicher nicht nach und man dürfte Erfolg haben.

Das so beschnittene File ist dann ein sogenanntes "BIN"-File und kann mit einem entsprechenden Game-Dos (zB meinem MyPicoDos) geladen werden.

ATR-Images, die aus einem COM-File generiert wurden enthalten oft in den ersten 3 Sektoren einen COM-Loader. Das 18. Byte enthält in diesem Fall den Wert $03. Zur Sicherheit sollte man noch überprüfen, ob in Sektor 4 wirklich ein COM-File beginnt. Sektor 4 beginnt im ATR-Image mit dem 401. Byte (also File-Offset 400). Das 401. und 402. Bytes sollten $ff sein, dann handelt es sich mit ziemlicher Sicherheit um ein COM-File. Nun kann man einfach die ersten 400 Bytes abschneiden, und sollte schon mal ein lauffähiges File haben. Es ist allerdings etwas trickreich, die korrekte Länge des COM-Files zu ermitteln, also wie viele Bytes man hinten abschneiden kann. Dazu muss man das File dann per Hand analysieren.

Testweise habe ich mal rund 300 ATR-Files versucht zu konvertieren, ca. 140 liessen sich in ein BIN/COM File konvertieren. Von den BIN-Files hat dann rund die Hälfte funktioniert, die andere Hälfte hat doch von Disk nachgeladen.

Falls Du Linux auf Deinem Rechner hast, oder Cygwin unter Windows installiert hast, hier ein Bash-Script, das alle .atr-Files im angegebenen Verzeichnis überprüft, und ggf. in BIN bzw. COM-Files umwandelt und im aktuellen Verzeichnis ablegt:

<hr><PRE>
#!/bin/sh

if [ $# -ne 1 ] ; then
echo "usage: $0 directory"
exit 1
else
DIR="$1"
fi

for i in $DIR/*.atr ; do
FILE=`basename "$i" .atr`
SECT=`od -t x1 -j 16 -N 16 "$i" | head -1 | cut -f3 -d\' \'`
case $SECT in
03)
COMHEAD=`od -t x1 -j 400 -N 16 "$i" | head -1 | cut -f2-3 -d\' \'`
if [ "$COMHEAD"x == "ff ff"x ] ; then
echo "COM: $i"
dd if="$i" of="$FILE".com bs=1 skip=400
else
echo "unknown: $i"
fi
;;
0*)
echo "unknown: $i"
;;
*)
let LEN=0x$SECT*128
echo "BIN: $i"
dd if="$i" of="$FILE".bin bs=1 skip=16 count=$LEN
;;
esac
done
</pre><hr>

PS: sorry, besser bekomme ich die Formatierung des Skripts nicht hin, die doppelten Leerzeilen einfach dann per Hand löschen.

so long,

Hias

Atari 800XL .ATR Files ändern, aber wie???

von Bernhard » Sa 7. Feb 2004, 09:38
vorredner hat geschrieben:Uups schon wieder Bernhard? Na der wird sich freuen, ist er mich Nervensäge doch gerade erst losgeworden.


Jo Willie, lange nichts gehört. Kannst ja erst mal die Website ansehen, und wenn was nicht klar ist kannst du immer noch mailen.

Die bessere Lösung ist aber trotdem das Forum. Denn auch hier lese ich fast jeden Tag und kann dir antworten. Aber hier können auch andere (die ja auch immer neugierig sind) lernen und oder antworten. Es gibt mit Sicherheit immer jemanden der noch etwas zur Problemlösung beitragen kann. Ich weiß ja auch noch lange nicht alles.

vorredner hat geschrieben: Wenn man eine Festplatte als D2: laufen hat ist diese zwar riesig groß aberwie steuert man dann darauf die .atr autoboot files? Das müßte ja wieder nur mit .com .bin Files gehen.


Autoboot-Files sind BIN Files. Das wäre etwas kompliziert, die mit einem Game-DOS von Festplatte/CompactFlash zu starten. Das habe ich auch noch nicht probiert. Hier wäre ein BIN-Loader nach dem Prinzip von FSELECT nicht schlecht. Weiss nicht ob es sowas schon gibt.

Atari 800XL .ATR Files ändern, aber wie???

von Bernhard » So 8. Feb 2004, 23:45
Du kannst unter Atari800win bis zu 4 PC-Verzeichnisse als Atari-Laufwerk (H1: bis H4:) einrichten. Anschließend kannst du dann die COM-Files mit einem DOS von z.B. H1: nach D1: kopieren.

Atari 800XL .ATR Files ändern, aber wie???

von HiassofT » Di 10. Feb 2004, 01:08
vorredner hat geschrieben:Gibt es da noch rechtliche Verletzungen bei den originalen Games?


Bis auf wenige Ausnahmen (wenn nämlich der ürsprüngliche Autor bzw Copyright-Holder die Programme freigegeben hat) sind alle diese ATRs/COMs/... illegal.

Selbst wenn Copyright-Vergehen zur Zeit nicht verfolgt werden, befindet man sich bestenfalls in einer rechtlichen Grauzone.

Sites mit (illegalen) Atari-Programmen im Netz zu finden ist nicht allzu schwer. Einfach Google mit den richtigen Wörtern füttern und man findet (so ziemlich) alles.

so long,

Hias

Atari 800XL .ATR Files ändern, aber wie???

von andreasb » Di 10. Feb 2004, 06:11
vorredner hat geschrieben:Ich weiß nur nicht ob es hier gern gesehen wird wenn man Links zu Software angibt die nicht Share/Freeware ist?


Ich bitte davon Abstand zu nehmen.

ABBUC Ressort Internet
Webmaster
1, 2