FAT12/16/32 and exFAT lib and tools for classic Amiga (AmigaOS 2.04+)
  • C 84.9%
  • Python 11.9%
  • Makefile 2.8%
  • Assembly 0.2%
  • PHP 0.1%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Anders Milton 5753577ade Reorganize documentation around getting started
Add installation and first-mount walkthroughs to the README and both AmigaGuide manuals. Move detailed reference, testing, development, and validation history into focused pages, and refresh navigation and diagnostic guidance.
2026-09-09 09:30:59 +02:00
config/fatfs Update FatFs and reorganize sources 2026-08-13 09:00:37 +02:00
docs Reorganize documentation around getting started 2026-09-09 09:30:59 +02:00
guide Reorganize documentation around getting started 2026-09-09 09:30:59 +02:00
icons Integrate authored Workbench icon layouts 2026-08-23 22:17:11 +02:00
installer Integrate authored Workbench icon layouts 2026-08-23 22:17:11 +02:00
misc Reorganize documentation around getting started 2026-09-09 09:30:59 +02:00
patches/fatfs Pass mounted disk context through FatFs 2026-08-13 10:54:58 +02:00
src Add removable media monitor and typed scans 2026-08-21 20:16:26 +02:00
third_party Modularize Amiga installers and documentation 2026-08-23 10:05:10 +02:00
tools Integrate authored Workbench icon layouts 2026-08-23 22:17:11 +02:00
.gitignore Ignore generated local artifacts 2026-07-23 11:12:44 +02:00
.gitmodules Update FatFs and reorganize sources 2026-08-13 09:00:37 +02:00
LICENSE Release 0.1-alpha5 2026-07-21 23:05:20 +02:00
Makefile Integrate authored Workbench icon layouts 2026-08-23 22:17:11 +02:00
README.md Reorganize documentation around getting started 2026-09-09 09:30:59 +02:00
THIRD_PARTY_NOTICES Modularize Amiga installers and documentation 2026-08-23 10:05:10 +02:00
TODO.md Reorganize documentation around getting started 2026-09-09 09:30:59 +02:00
VERSION Release 0.1-alpha11 2026-08-16 22:19:10 +02:00

fatso

Fatso lets AmigaOS read and write FAT12, FAT16, FAT32, and exFAT media as normal AmigaDOS volumes. You can browse them in Workbench or use familiar Shell commands such as List and Copy.

Fatso is alpha software, intended for AmigaOS 2.04 or newer. Start with disposable media or an emulator hardfile, and keep a backup of anything important. The recorded emulator tests cover AmigaOS 2.05, 3.1, and 3.2.2.1; real-device coverage is listed in Support and validation.

Getting started

This walkthrough installs Fatso and opens an already formatted PC/MBR disk. It does not format or repartition the disk. All commands below run in an Amiga Shell.

1. Install the handler and tools

Extract the release archive and enter its drawer. These examples use 0.1-alpha11; substitute your archive's version if different.

lha x fatso-0.1-alpha11.lha RAM:
CD RAM:fatso-0.1-alpha11

In Workbench, open the extracted drawer and double-click Install Fatso. The standard Commodore Installer command must already be available. Keep the default core installation for your first run; select Fatso Manual as well if you want the AmigaGuide documentation installed. Leave DOSDriver examples and startup changes unchecked until you have confirmed your device settings.

If Installer is unavailable, copy the core files from the extracted drawer:

Copy L/#? L:
Copy C/#? C:

This installs L:fatso and the fatso-mount, fatso-monitor, and fatso-format commands. Diagnostics are a separate optional package.

The combined fatso-complete-<version>.adf offers the same installation from a distribution disk, including an optional compactflash.device driver. It is not a boot disk. See installation options.

2. Mount one known device

Identify the block-device name and unit for your disk. Run one of these examples only if it matches your setup:

Setup Amiga Shell command
PCMCIA CompactFlash using compactflash.device, unit 0 fatso-mount scan mbr compactflash.device 0
Emulator MBR hardfile attached as uaehf.device, unit 0 fatso-mount scan mbr uaehf.device 0

Change the device or unit to match your configuration. The underlying driver must be installed and usable. Do not mount a partition that another filesystem handler or DOSDriver already has mounted for writing.

The scan finds FAT/exFAT partitions and assigns available device names such as FAT0: and FAT1:. Use the name printed by the scan in the next step. Specifying a unit keeps the scan focused on that disk; omitting it scans units 0–15.

For a raw volume with no partition table, use a matching DOSDriver. For a Fatso RDB/hybrid disk, use RDB discovery or import.

3. Open the volume

If the scan reported FAT0:, run:

Info
List FAT0:

You should see the mounted volume and its directory contents. Its volume icon should also be available in Workbench. Once this works, use the volume with normal file commands.

If it does not work, start with Troubleshooting. Do not format the disk to fix a mounting error.

4. Optional: check it or mount automatically

For a read-only health report, install the separate fatso-diag-<version>.lha package and run:

fatso-check FAT0:

The report should identify Fatso, the filesystem type, and the mounted media. See Testing and diagnostics for write tests and deeper checks.

After a successful manual mount, you can configure a removable-media monitor or a static DOSDriver for startup. Use one mounting method for each writable partition.

What to expect

Fatso supports long filenames, file and directory operations, volume labels, Workbench volume icons, and FAT/exFAT formatting. It can mount PC MBR partitions and import Fatso RDB/hybrid disks.

The main limits are:

  • File data access: at most 2 GiB minus one byte per file, even on exFAT.
  • Names: Western 8-bit character conversion; arbitrary Unicode names are not fully supported.
  • Media: 512-byte sectors and the MBR address model; GPT is unsupported. Access beyond a 4 GiB device offset depends on the block driver.
  • Amiga features: full native metadata and using Fatso as a SYS: boot volume are not supported workflows.

See limits and compatibility before choosing media or relying on a particular feature.

Documentation

I want to… Read
Install, mount, format, or troubleshoot User guide
Check a volume or run regression tests Testing and diagnostics
Read the manual on an Amiga Fatso Manual in the release; AmigaGuide source
Use the diagnostic manual on an Amiga Fatso Diag. Manual in the diagnostic release
Build the programs or release packages Development guide
Find tested systems and remaining gaps Support and validation
See changes in previous releases Release notes
Update the manuals Documentation authoring
Follow planned work TODO and future designs

The AmigaGuide manuals cover the same getting-started steps and user workflows. Open them with an AmigaGuide viewer or MultiView where available. Workbench 2.0 needs a compatible third-party viewer.

About and license

Copyright (c) 2026 Anders Milton/UHC for the original Fatso code and documentation. Copyright in later contributions remains with their respective authors.

Fatso-owned code and documentation use the MIT License. Fatso uses Elm-Chan FatFs (Copyright © ChaN) under the terms retained in its source files. The optional combined ADF also includes LGPL compactflash.device from Jaroslav Pulchart's maintained fork, with its corresponding source snapshot. See third-party notices for details.