Short: Write Atari ST .ST/.MSA images to disk Author: Fabrice LABATUT Uploader: fabrice labatut club-internet fr Type: disk/misc Version: 0.1.0 Architecture: m68k-amigaos >= 2.0 Distribution: Aminet URL: https://github.com/OoZe1911/st2disk-amiga st2disk writes Atari ST disk images (.ST and .MSA) directly to physical 3.5" DD floppy disks using the Amiga's internal drive. The resulting disks are readable on Atari ST, STe, Mega ST and TT machines. The tool produces IBM MFM tracks at the raw flux level via trackdisk.device TD_RAWWRITE, with proper CRC-16/CCITT, IDAM/DAM address marks and gap profiles derived from the official Atari FDC documentation. After each write a verify pass reads the track back, decodes every sector and compares it to the source image; failed tracks are automatically retried up to 8 times. No CrossDOS or pre-formatting required. SUPPORTED FORMATS .ST raw sector dump (geometry inferred from file size) .MSA Magic Shadow Archiver (RLE-compressed, header-defined geometry) Geometries handled: 9 sectors/track, 1 or 2 sides, 80-81 tracks (720 KB standard, 360 KB) 10 sectors/track, 1 or 2 sides, 80-81 tracks (FastCopy 800 KB) 11 sectors/track, 1 or 2 sides, 80-81 tracks (FastCopy 880 KB) The 11-sector profile pushes against the physical 12500-byte track budget at 300 RPM; it relies on real-drive tolerance and may need retries, exactly like FastCopy did in the day. USAGE st2disk [--no-verify] [unit] unit floppy unit number (0 = DF0:, 1 = DF1:, ...). Default 0. --no-verify skip the read-back verify pass (faster, less safe) st2disk dump [unit] [len_bytes] Hex+ASCII dump of a physical track for debugging. Read-only. Examples: st2disk myimage.msa st2disk --no-verify game.st 1 st2disk dump 0 0 REQUIREMENTS AmigaOS 2.0 or later (Kickstart V36+) 68020 or higher CPU Standard DD 3.5" floppy drive About 1 MB free FAST RAM for the largest images About 50 KB CHIP RAM for the MFM track buffers Blank DD floppy in the target drive LIMITATIONS - DD only. HD 1.44 MB Atari format is not supported (and most Amiga drives are DD-only hardware anyway). - No support for copy-protected disks. Anything that needs flux-level encoding (.STX/Pasti, custom track formats, weak sectors, long tracks, no-flux areas) is out of scope. Use Gotek+FlashFloppy or Greaseweazle for those. - No verify-after-write tolerance for bit-shifts. The verify decodes sectors rather than comparing raw MFM, so small alignment drift on real hardware is fine, but persistent verify failures indicate a real problem. BUILDING FROM SOURCE Source is available at https://github.com/OoZe1911/st2disk-amiga Cross-compilation from macOS or Linux using Bebbo's amiga-gcc toolchain (https://github.com/bebbo/amiga-gcc) is supported and is the primary development path. Native compilation on AmigaOS works too if you have a GCC port installed; see the included Makefile. gmake amiga cross-compile m68k AmigaOS binary gmake host local test binary (algorithm verification) gmake test run host tests against Python reference THANKS Jean Louis-Guerin (DrCoolZic) at info-coach.fr for the definitive Atari floppy format documentation, which was decisive in getting the gap profiles right. The Amiga retrocomputing community for keeping trackdisk.device documentation alive across three decades. HISTORY 0.1.0 Initial release. Verified on Amiga 1200 (PiStorm) writing .ST and .MSA images, both confirmed readable on a real Atari 1040 STe.