mihaip / infinite-mac

A classic Mac loaded with everything you'd want
https://infinitemac.org
Apache License 2.0
1.2k stars 73 forks source link

Make a floppy image with DART #346

Open sean-gugler opened 1 month ago

sean-gugler commented 1 month ago

I found some floppy images on a 1992 CD I'd like to examine. They are in compressed DART format (Disk Archive and Retrieval Tool) so I tried mounting the CD in infinitemac and running the vintage DART 1.5.1 software to extract them. Apparently it requires a floppy device; on app startup I get an error popup "Drive Status1 error -56". The software runs anyway, but the target drives are grayed out.

If someone knows of other (more modern?) software that can decode these image files, that would be great! Meanwhile, I'd love to know how to attach a virtual blank disk to an emulated floppy drive in infinite mac, or if that's not yet possible then consider this a feature request.

Link to Infinite Mac with CD mounted from archive.org https://infinitemac.org/1994/System%207.5?cdrom=https%3A%2F%2Farchive.org%2Fdownload%2Fapple-technical-information-source-cd-tech-i.-s.-3.0-september-1992%2FApple%2520Tech%2520I.S.%25203.0%2520%2528Sept-1992%2529.toast

Path to DART: Tech I.S. 3.0 > Apple Software Library > Apple Utilities > DART 1.5.1 Path to floppy images: Tech I.S. 3.0 > Apple Software Library > Apple II Software

DART startup DART grey drive

that-ben commented 1 month ago

Hi! The "Disk Copy" app can mount those, even Disk Copy 6 which is included in the InfiniteMac emulator hard drive can, but unfortunately, there seems to be a bug in this InfiniteMac release that makes it crash with an index out of bounds exception whenever you attempt to mount those ProDOS disk images with Disk Copy.

I have archived one of those Apple IIgs disk images found in the Apple II Software folder that you mentioned using CompactPro (found in Infinite HD > Utilities) then exported the .cpt archive out of InfiniteMac using the "The Outside World > Uploads" trick, then I launched my native Basilisk II app on my iMac M3, imported the .cpt.zip file and I could successfully expand the ZIP, extract the .cpt and mount the resulting ProDOS disk image for Apple II Basic using Disk Copy 6, so I know it works, just not in IM for some reason that @mihaip will probably know:

Screenshot 2024-10-09 at 9 34 08 AM Screenshot 2024-10-09 at 9 30 41 AM

If you want to try the failing Disk Copy route in IM, you will find Disk Copy 6.1.3 under Infinite HD > Utilities > Disk Copy:

Screenshot 2024-10-09 at 9 13 01 AM

BTW, this is semi-unrelated, but ShrinkWrap also mounts ProDOS disk images, plus it can mount a whole lot more, so I don't undertstand why it's not part of the InfiniteMac utilities folder. I think it would make a great addition to IM and it would also allow to make binary safe disk images inside of InfiniteMac, which could then be exported and unzipped under Windows and other OS'es without any risk of losing the rsrc fork (because there isn't any in DiskDup+ disk image format that ShrinkWrap can make).

Screenshot 2024-10-09 at 9 41 36 AM
sean-gugler commented 1 month ago

Thanks, @that-ben ! Turns out Disk Copy can not only mount them, it has a menu item to convert them into uncompressed raw sector images, which is exactly what I need.

I had trouble running Disk Copy with my earlier link, but moving up to the newest machine that Infinite Mac supports with BasiliskII emulation (1998 machine with OS 8.1) allowed me to decompress every file in the Apple II Software folder. I was then able to export them to my Windows host machine. Success!

This emulated machine still has trouble running DART directly though, for the same reason of lacking an emulated floppy, so I'll leave this github issue open for the maintainers to decide how to handle it.

https://infinitemac.org/1998/Mac%20OS%208.1?cdrom=https%3A%2F%2Farchive.org%2Fdownload%2Fapple-technical-information-source-cd-tech-i.-s.-3.0-september-1992%2FApple%2520Tech%2520I.S.%25203.0%2520%2528Sept-1992%2529.toast

that-ben commented 1 month ago

Great 👍 Yes, the out of bounds exception does NOT occur on native Basilisk II running System 7.5.3 so maybe Mihai can take a look at it.