Closed xandark closed 1 year ago
Hi xandark,
This was very much a tool I wrote for myself and decided to throw on GitHub in the off chance someone else could use it. I didn't realize it was mentioned in Juiced.GS. Neat.
Yes, this is Windows only. I figured the Visual Studio 2022 requirement for building would make that clear, but I'll see about adding a bit more detail to the readme. Thanks for the note.
As for where the resource names come from, as the Golden Gate docs mention, on Windows, GG uses the NTFS file system and writes the IIgs resource info to the alternate data stream of the file, which is an NTFS-specific thing. I don't know how this works on Linux or other file systems. The names are standard Apple names for these things, and are also found in the Golden Gate source, or simply by using a utility that will display alternate data streams on an NTFS file.
Anyway, sorry for the confusion, I'll try to update the readme/add some code comments when I get some time.
Thanks, Brian
Updated the readme with Windows/NTFS requirements.
Okay thanks for the clarification, and I've found an alternate tool for Linux.
Do you have a link? I can add it to my readme, maybe it'll help someone else in the future.
Yes, the Cadius tool by Brutal Deluxe. The "ADDFILE" sub-command can add resource forks.
Actually, this is a better link because it has a Linux release:
Thanks, I'll add some links soon. Cadius, on Windows at least, expects the resource forks to be in separate files, which isn't how Golden Gate operates, hence why I wrote this utility. It would be nice if Cadius were Golden Gate-aware...maybe I'll look into creating a PR for that at some point.
Thanks!
On Linux, if you want to have resource forks that are larger than 64K, you have to reconfigure and compile GG to separate the resource forks into a separate file that begins with ._
I realize this is very very niche, so I'm not pressing others to add support to their utilities. I'm just happy that Cadius allows me to construct a full fat file piece by piece.
I heard about this utility when it was mentioned in Juiced.GS and I thought it was the answer to what I needed: a way to combine the executable and resource fork into a IIgs disk image. Except this only runs on Windows it seems and there's no documentation in the main cpp file. Where is the resource fork stored? In the ._(filename) file? In some data stream of the file? Who knows?
All I see is:
What does AFP_Resource mean here?
I ultimately put this down after compiling the dependent libs on Linux and then realizing that this depends on Windows API so that's that.