Skip to content

A macOS utility that prevents writes on FAT16 volumes

License

Notifications You must be signed in to change notification settings

izzyreal/macos-fat16-mount-blocker

 
 

Repository files navigation

macOS FAT16 Mount Blocker

Small background utility that prevents macOS from writing to FAT16 volumes while the utility is active. There is no configuration. Just launch the app and your FAT16 volumes are protected.

It is forked from https://github.com/aburgh/Disk-Arbitrator with some slight modifications to hide configuration options and enforce the default behaviour we need.

Download and setup

Download here.

Simply start the utility to prevent macOS from corrupting your MPC2000XL media. Optionally enable auto-start:

image

Background

The Akai MPC2000XL integrated sequencer/sampler uses a tweaked version of the FAT16 filesystem. The tweak consists of allowing file names of up to 16 characters, as opposed to 8 characters, which is standard for FAT16. This is why MPC2000XL sound names can be 16 characters long.

Now, what happens when you insert your MPC2000XL CF card or other media in a Mac, is that macOS will write new files to it: files for Spotlight and for fseventsd. Part of writing new files to a volume includes rewriting what was already there in the file allocation table -- something that macOS does not know how to do in the Akai-tweaked way.

What was means in practice is that your 2KXL CF and other media will be corrupted the moment you put them in a Mac, if they have files with names longer than 8 characters. The SND files in question will still be there, but their names have become mangled, so any PGM files that depend on these SND files having long file names will no longer find its sounds.

By mounting FAT16 volumes as read-only, FAT16 Mount Blocker protects your MPC2000XL's CF and other media from this kind of corruption.

About

A macOS utility that prevents writes on FAT16 volumes

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 60.2%
  • Perl 25.5%
  • C 8.2%
  • C++ 5.4%
  • Shell 0.7%