Skip to content

atariATR 1.0

Choose a tag to compare

@grzegorzzyla grzegorzzyla released this 29 Jul 08:38
· 31 commits to main since this release

First public release. Tools for Atari 8-bit disk images with full support for
large 16 MB images (65535 × 256 B) in MyDOS and SpartaDOS format,
subdirectories included.

Polski opis projektu: README.pl.md

Assets

File What it is
atrtool-1.0-windows-x64.exe command line tool, 64-bit Windows
atrtool-1.0-macos-arm64 command line tool, Apple Silicon
AtrWcx-1.0.zip Total Commander packer plugin (64-bit Windows)
AtrWcx-1.0-macos-arm64.wcx Double Commander packer plugin, Apple Silicon
SHA256SUMS.txt checksums

On an Intel Mac, on Linux, or for a 32-bit Total Commander, build from source —
brew install fpc (or your distro's package) and ./build/build.sh.

What it does

atrtool creates, inspects and modifies ATR/XFD images: formats them as
Atari DOS 2.0S, DOS 2.5, MyDOS or SpartaDOS, adds and removes files, creates
subdirectories, and turns an image into a bootable disk by transplanting a
DOS from a template image you already own — patching the boot record fields that
depend on the target disk, including the sector link mask that MyDOS switches to
AND #$FF for 16-bit links.

atrtool create hd.atr 16m
atrtool format hd.atr mydos
atrtool installdos hd.atr "Mydos 4.50.atr"
atrtool add hd.atr mygame.xex
atrtool list hd.atr -r

The Total Commander plugin opens an .atr file like an archive: browse the
full subdirectory tree, copy files in and out with F5/F6, delete with F8.
Images are recognised by content rather than by extension. It deliberately does
not create images — that needs decisions about geometry and file system, which
belong in atrtool.

Installing

Total Commander: drag AtrWcx-1.0.zip onto a Total Commander window; the
bundled pluginst.inf makes TC offer to install it. Requires 64-bit Total
Commander
— the 32-bit version does not load .wcx64 files at all and will just
open the ZIP.

Double Commander (macOS, Linux): the same plugin, built natively. Take
AtrWcx-1.0-macos-arm64.wcx and add it under Configuration → Options → Plugins →
Packer plugins
, associating the extension atr. On Linux, build it with
build/build-wcx-native.sh.

macOS: the binary is unsigned, so clear the quarantine flag once:

xattr -d com.apple.quarantine atrtool-1.0-macos-arm64
chmod +x atrtool-1.0-macos-arm64

Windows: SmartScreen may warn about an unsigned executable.

How this release was verified

  • Round-trip on 1705 real disk images: 1689 written back byte-for-byte
    identically; the rest have inconsistent headers (reported as such) or are not
    ATR files.
  • 943 images read as file systems with their complete subdirectory trees.
  • 16 MB images created here — MyDOS and SpartaDOS alike — are read and
    byte-exactly extracted by an independent implementation, lsatr from
    mkatr, with free sector counts matching exactly.
  • Writing into a real SpartaDOS X 4.48 image changes exactly 5 bytes of the
    boot sectors (free count, allocation hint, sequence number) — the boot code is
    untouched, so the disk still boots.
  • MyDOS formatting parameters agree with TECH.DOC from the MyDOS 4.51 sources.
  • An 8 MB MyDOS image created by this code boots on real MyDOS in an emulator,
    with its subdirectory visible in the DOS menu.
  • The plugin is exercised by a harness that calls its functions in the exact order
    Total Commander uses — 38 checks on MyDOS and SpartaDOS 16 MB images — and by a
    second test that loads the built library dynamically, the way a file manager
    does, verifying all 19 entry points resolve and that an archive can be walked
    through them.

Known limitations

  • SDFS writing covers 128 and 256 byte sectors; 512 byte sectors (which would
    allow 32 MB images under SpartaDOS X) are read but not written, because one
    superblock field for that case is undocumented and could not be verified.
  • No 32-bit .wcx in this release: FPC cannot cross-compile for i386 from an ARM
    host. Build it on Windows or x86 with build/build-wcx.sh win32.
  • No GUI yet.