atr erstellen

Moderator: Rockford

Antworten
Benutzeravatar
Dr. Irata
Beiträge: 890
Registriert: 24.08.2021 14:40
Has thanked: 110 times
Been thanked: 263 times
Kontaktdaten:

atr erstellen

Beitrag von Dr. Irata »

Hallo in die Runde!
Ich nutze ja auf meinem Mac den Atari800Mac Emulator. Hier kann ich jetzt aus einer xex - Datei mit dem Emulator eine atr Datei erstellen. Nun habe ich aber folgendes Problem: Für mein neues Programm brauche ich mindesten DD, da das Programm volle 128 kB benötigt. Ein atr via Mac Emulator zu erstellen geht, aber dies dann zu editieren funktioniert leider nicht. Was tun??

Online
Benutzeravatar
andymanone
Beiträge: 2445
Registriert: 17.08.2021 12:34
Wohnort: Berlin - Suburban
Has thanked: 480 times
Been thanked: 765 times
Kontaktdaten:

Re: atr erstellen

Beitrag von andymanone »

Willst du lediglich "einmalig" was auf das DD ATR bringen oder muss das kontinuierlich editiert werden?

Wenn´s einmalig ist, kann ich das fix für dich machen.

Gtx.,
andY
Ressortleiter Hardware - Save the past and use the future!© andYManOne / Demozoo / Youtube

Benutzeravatar
Dr. Irata
Beiträge: 890
Registriert: 24.08.2021 14:40
Has thanked: 110 times
Been thanked: 263 times
Kontaktdaten:

Re: atr erstellen

Beitrag von Dr. Irata »

ich brauche diese Möglichkeit tatsächlich eigentlich öfters....

Online
Benutzeravatar
andymanone
Beiträge: 2445
Registriert: 17.08.2021 12:34
Wohnort: Berlin - Suburban
Has thanked: 480 times
Been thanked: 765 times
Kontaktdaten:

Re: atr erstellen

Beitrag von andymanone »

Okay,
dann sind hier doch die "angebissenen Apfel"-Fans primär gefragt ;)

Gtx.,
andY
Ressortleiter Hardware - Save the past and use the future!© andYManOne / Demozoo / Youtube

Benutzeravatar
LarsImNetz
Beiträge: 149
Registriert: 24.08.2021 18:27
Has thanked: 105 times
Been thanked: 79 times
Kontaktdaten:

Re: atr erstellen

Beitrag von LarsImNetz »

Moin Peter,

wenn du auf dem MAC Java installiert hast, wäre vielleicht mein "xldir" etwas für Dich.

https://github.com/the-atari-team/lla.xldir.disktool

Damit kann man per Script Dateien auf SD/ED/DD ATR-Dateien kopieren oder von dort extrahieren. Ich hatte es mal in Java selbst geschrieben, um meine ATR-Images auszulesen. Leider kommt es nicht mit allen ATR-Formaten zurecht. Aber den Standard den eine 1050 mit Turbo auch lesen kann, versteht das Teil ganz gut.

ggf. kannst Du den Code auch selbst überarbeiten ;-)

LG
Lars

HiassofT
Beiträge: 128
Registriert: 17.08.2021 11:03
Wohnort: Salzburg, Austria
Has thanked: 11 times
Been thanked: 49 times
Kontaktdaten:

Re: atr erstellen

Beitrag von HiassofT »

Wenn Du einen c++ Compiler (gcc, clang) auf Deinem Mac hast kannst Du recht einfach dir2atr selbst compilieren:

Aktuelle Version (zZt 221009) von hier runterladen: https://github.com/HiassofT/AtariSIO/tags, das zip (oder tgz ) File entpacken, ins "tools" Unterverzeichnis wechseln und dort "make -f Makefile.posix" aufrufen.

Code: Alles auswählen

hias@camel3:/tmp$ unzip AtariSIO-221009.zip
hias@camel3:/tmp/AtariSIO-221009/tools$ make -f Makefile.posix 
g++ -W -Wall -DATARISIO_DEBUG -DPOSIXVER  -o adir adir.cpp DiskImage.cpp FileIO.cpp SIOTracer.cpp FileTracer.cpp Error.cpp AtrImage.cpp AtrMemoryImage.cpp DCMCodec.cpp Dos2xUtils.cpp VirtualImageObserver.cpp Directory.cpp MiscUtils.cpp MyPicoDosCode.cpp
g++ -W -Wall -DATARISIO_DEBUG -DPOSIXVER  -o ataricom ataricom.cpp Error.cpp AtariComMemory.cpp ComBlock.cpp FileIO.cpp
g++ -W -Wall -DATARISIO_DEBUG -DPOSIXVER  -o dir2atr dir2atr.cpp DiskImage.cpp FileIO.cpp SIOTracer.cpp FileTracer.cpp Error.cpp AtrImage.cpp AtrMemoryImage.cpp DCMCodec.cpp Dos2xUtils.cpp VirtualImageObserver.cpp Directory.cpp MiscUtils.cpp MyPicoDosCode.cpp
hias@camel3:/tmp/AtariSIO-221009/tools$ ./dir2atr 
dir2atr 0.30-221009
(c) 2004-2022 Matthias Reichl <hias@horus.com>
usage: dir2atr [-admpSDEPQ] [-b <DOS>] [-B file] [sectors] atrfile directory
  -d        create double density image (default: single density)
  -m        create MyDOS image (default: DOS 2.x)
  -S/E/D/Q  create standard SD/ED/DD/QD image
  -p        create PICONAME.TXT (long filename description)
  -P        create PICONAME.TXT (with file extensions stripped)
  -a        enable MyPicoDos autorun mode
  -b <DOS>  create bootable disk for specified DOS
            Supported DOS are: Dos20, Dos25, OSAplus210, DosXL230
            MyDos4533, MyDos4534, MyDos455Beta4
            TurboDos21, TurboDos21HS, XDos243F, XDos243N,
            MyPicoDos403, MyPicoDos403HS,
            MyPicoDos404, MyPicoDos404N, MyPicoDos404R, MyPicoDos404RN,
            MyPicoDos404B,
            MyPicoDos405, MyPicoDos405A, MyPicoDos405N,
            MyPicoDos405R, MyPicoDos405RA, MyPicoDos405RN,
            MyPicoDos405B, MyPicoDos405S0, MyPicoDos405S1, PicoBoot405
            MyPicoDos406, MyPicoDos406A, MyPicoDos406N
            MyPicoDos406R, MyPicoDos406RA, MyPicoDos406RN
            MyPicoDos406B, MyPicoDos406S0, MyPicoDos406S1, PicoBoot406
  -B <FILE> load boot sector data from <FILE>
Die 3 executables (adir, ataricom, dir2atr) kannst Du dann nach /usr/local/bin, ~/bin , oder wo auch immer so Zeugs am Mac liegen soll kopieren.

Weitere Infos findest Du in den INSTALL-tools und README-tools files
https://github.com/HiassofT/AtariSIO/bl ... TALL-tools
https://github.com/HiassofT/AtariSIO/bl ... ADME-tools

so long,

Hias

Benutzeravatar
Dr. Irata
Beiträge: 890
Registriert: 24.08.2021 14:40
Has thanked: 110 times
Been thanked: 263 times
Kontaktdaten:

Re: atr erstellen

Beitrag von Dr. Irata »

Vielen Dank für die guten Tips!
Einen C++ Compiler habe ich leider nicht drauf. Tatsächlich geht es ja sehr einfach bei Single Density mit dem MacEmulator, für andere Formatierungen scheint er einen echten Bug zu haben. Zum Glück habe ich zumindest auf einem Rechner (Dank Sascha) eine lauffähige Altirra-Version (mit Wine) installiert und damit klappt es!
LG
Peter

Benutzeravatar
JAC!
Beiträge: 115
Registriert: 18.06.2021 23:13
Has thanked: 66 times
Been thanked: 100 times
Kontaktdaten:

Re: atr erstellen

Beitrag von JAC! »

Bis auf diese Warning (evtl. kann Mathias die mal anschauen) gings.
"Jac@mac-wudsn ~/jac/system/macOS/Programming/Repositories/AtariSIO/tools >make -f Makefile.posix
c++ -W -Wall -DATARISIO_DEBUG -DPOSIXVER -o adir adir.cpp DiskImage.cpp FileIO.cpp SIOTracer.cpp FileTracer.cpp Error.cpp AtrImage.cpp AtrMemoryImage.cpp DCMCodec.cpp Dos2xUtils.cpp VirtualImageObserver.cpp Directory.cpp MiscUtils.cpp MyPicoDosCode.cpp
Dos2xUtils.cpp:951:2: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations]
sprintf(name, "%s%c%s", fDirectory, DIR_SEPARATOR, fOrigName[entryNum]);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
^
1 warning generated.
Directory.cpp:148:4: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations]
sprintf(str,"%s%c%s", path, DIR_SEPARATOR, de->d_name);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
^
1 warning generated.
c++ -W -Wall -DATARISIO_DEBUG -DPOSIXVER -o ataricom ataricom.cpp Error.cpp AtariComMemory.cpp ComBlock.cpp FileIO.cpp
c++ -W -Wall -DATARISIO_DEBUG -DPOSIXVER -o dir2atr dir2atr.cpp DiskImage.cpp FileIO.cpp SIOTracer.cpp FileTracer.cpp Error.cpp AtrImage.cpp AtrMemoryImage.cpp DCMCodec.cpp Dos2xUtils.cpp VirtualImageObserver.cpp Directory.cpp MiscUtils.cpp MyPicoDosCode.cpp
Dos2xUtils.cpp:951:2: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations]
sprintf(name, "%s%c%s", fDirectory, DIR_SEPARATOR, fOrigName[entryNum]);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
^
1 warning generated.
Directory.cpp:148:4: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations]
sprintf(str,"%s%c%s", path, DIR_SEPARATOR, de->d_name);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
^
"
Und hier das Ergebnis:
tools-macos-x86_64.zip
(190.83 KiB) 21-mal heruntergeladen
Damit kann Mathias nun die Titel von "Atari Tools for Win32" auf "Atari Tools for Weltherrschaft" ändern :-)
PS: Wäre super, wenn der Github Link auf https://www.horus.com/~hias/atari/#tools-win32 stünde.
Visit https://www.wudsn.com the home of WUDSN IDE.

JoSch
Beiträge: 118
Registriert: 25.08.2021 21:40
Has thanked: 52 times
Been thanked: 47 times
Kontaktdaten:

Re: atr erstellen

Beitrag von JoSch »

Wenn Du sowieso RespeQt benutzt, dann kannst Du zu einem formatierten Atr beliebige Dateien hinzufügen.

HiassofT
Beiträge: 128
Registriert: 17.08.2021 11:03
Wohnort: Salzburg, Austria
Has thanked: 11 times
Been thanked: 49 times
Kontaktdaten:

Re: atr erstellen

Beitrag von HiassofT »

JAC! hat geschrieben:
01.06.2023 00:02
Bis auf diese Warning (evtl. kann Mathias die mal anschauen) gings.
Danke für den Hinweis, da sind mir doch tatsächlich noch ein paar sprintfs durchgerutscht. Hab die auf snprintf umgestellt und die Änderungen auf github gepusht.

Der Github Link steht ein paar Zeilen drüber, im AtariSIO Abschnitt (inkl. Hinweis dass man auch für OSX etc bauen kann). Hab auf der Webseite den AtariSIO Hinweis im win32 tools Abschnitt klickbar gemacht, damit man gleich hinkommt und nicht das Scrollrad bemühen muss :-)

so long,

Hias

Benutzeravatar
atarixle
Beiträge: 268
Registriert: 18.06.2021 21:19
Has thanked: 28 times
Been thanked: 49 times
Kontaktdaten:

Re: atr erstellen

Beitrag von atarixle »

Seit wann gibt es das neuere snprintf?
Mein persönlicher Wunsch wäre es, die Programme auch weiterhin auf dem uralten Leopard / PowerPC kompilieren zu können.

HiassofT
Beiträge: 128
Registriert: 17.08.2021 11:03
Wohnort: Salzburg, Austria
Has thanked: 11 times
Been thanked: 49 times
Kontaktdaten:

Re: atr erstellen

Beitrag von HiassofT »

snprintf gibt's schon seit Ewigkeiten und das verwende ich auch schon ewig in meinem Code.

Nur ein paar Stellen scheinen mir durchgerutscht zu sein in denen ich das unsichere sprintf verrwende. Mit gcc / glibc unter Linux gibt's keine Warnung, clang bzw die libc unter OS X scheinen da pingeliger zu sein - deshalb ist mir das bisher nicht aufgefallen.

Kurzum: sollte alles wie gehabt klappen!

so long,

Hias

Benutzeravatar
JAC!
Beiträge: 115
Registriert: 18.06.2021 23:13
Has thanked: 66 times
Been thanked: 100 times
Kontaktdaten:

Re: atr erstellen

Beitrag von JAC! »

Mich ein git/github einzuarbeiten war wirklich eine der besten Investitionen in mich selbst. Damit wird das alles so viel einfacher...

Ich habe die Windows version und die macOS Versionen für Intel und Apple Silicon in die WUDSN Tools aufgenommen.
https://github.com/wudsn/wudsn-ide-tool ... iSIO/tools

Linux mach ich evtl. auch noch.
Windows habe ich versucht selbst zu bauen (habe VS installiert), aber nach 20 Minuten aufgegeben (CL? Pfade? Optionen? ...) und die Version von Hias's Seite genommen.

@Mathias: was noch klasse wäre, wenn Du das (unsägliche macOS) ".DS_Store" Verzeichnis in .gitignore aufnehmen könntest
Visit https://www.wudsn.com the home of WUDSN IDE.

HiassofT
Beiträge: 128
Registriert: 17.08.2021 11:03
Wohnort: Salzburg, Austria
Has thanked: 11 times
Been thanked: 49 times
Kontaktdaten:

Re: atr erstellen

Beitrag von HiassofT »

JAC! hat geschrieben:
03.06.2023 14:43
Mich ein git/github einzuarbeiten war wirklich eine der besten Investitionen in mich selbst. Damit wird das alles so viel einfacher...
Das kann ich nur unterstreichen - git ist grossartig und ich liebe es seit vielen Jahren.

Wenn man sich denkt, dass ein gewisses Feature praktisch wäre kommt man oft drauf, dass git das schon lange kann :-)

zB kannst Du auch global Files / Verzeichnisse ignorieren (.DS_Store oder auch Verzeichnisse die die IDEs so anlegen) - siehe zB hier:
https://gist.github.com/subfuzion/db7f57fff2fb6998a16c

so long,

Hias

Benutzeravatar
JAC!
Beiträge: 115
Registriert: 18.06.2021 23:13
Has thanked: 66 times
Been thanked: 100 times
Kontaktdaten:

Re: atr erstellen

Beitrag von JAC! »

Das mit globalem .gitignore klingt gut.

Inzwischen habe ich es auch unter Windows 11 geschafft zu compilieren, nachdem ich die richtig (32-bit) Version des g++ Packages in Cygwin aktiviert habe.

Leider schaffe ich es nicht, aus der Linux VM auf Github zu pushen. Meine Versuche irgendwo in Github Desktop einen Personal Access Token anzugeben scheitern alle.
Visit https://www.wudsn.com the home of WUDSN IDE.

Benutzeravatar
JAC!
Beiträge: 115
Registriert: 18.06.2021 23:13
Has thanked: 66 times
Been thanked: 100 times
Kontaktdaten:

Update

Beitrag von JAC! »

Update: Auch die Linux und (Danke an Sanny von AtariAge) die macOS Power PC Version sind nun verfügbar.
https://github.com/wudsn/wudsn-ide-tool ... iSIO/tools
Visit https://www.wudsn.com the home of WUDSN IDE.

Benutzeravatar
pps
Beiträge: 511
Registriert: 18.06.2021 23:05
Has thanked: 112 times
Been thanked: 204 times
Kontaktdaten:

Re: atr erstellen

Beitrag von pps »

Peter, wenn Du schon dabei bist...

Eine native Version für Windows ARM64 wäre auch noch schick. :roll:
PP´s of STARSOFTBerlin__________github|meine Webseite

Benutzeravatar
JAC!
Beiträge: 115
Registriert: 18.06.2021 23:13
Has thanked: 66 times
Been thanked: 100 times
Kontaktdaten:

Re: atr erstellen

Beitrag von JAC! »

So eine Maschine hab ich nicht. Wenn Du sie hast, könntest Du sie selbst bauen. Da Windows 11 ja Window Subsystem Linux (WSL) hat dürfte es reichen das zu aktivieren und dann der Anleitung von hias zu folgen. Das fertige Binary nehme ich dann gerne auf.
Visit https://www.wudsn.com the home of WUDSN IDE.

Benutzeravatar
pps
Beiträge: 511
Registriert: 18.06.2021 23:05
Has thanked: 112 times
Been thanked: 204 times
Kontaktdaten:

Re: atr erstellen

Beitrag von pps »

Dann kann man auch besser die Intel Versionen nehmen. Das ganze Sub System frisst noch mehr Ressourcen als die Intel Emulation.
PP´s of STARSOFTBerlin__________github|meine Webseite

Benutzeravatar
JAC!
Beiträge: 115
Registriert: 18.06.2021 23:13
Has thanked: 66 times
Been thanked: 100 times
Kontaktdaten:

Re: atr erstellen

Beitrag von JAC! »

Ich meinte nur zum Kompilieren aktivieren, danach wieder weg damit.
Visit https://www.wudsn.com the home of WUDSN IDE.

Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 1 Gast