MEMPAK is a static filesystem generator which supports volumes of up to 16MB in size.
As of version 1.1z, it's available under the zlib license.

Volume Structure
$00-$05 "MEMPAK" ${4D,45,4D,50,41,4B}
$06 Number of files (Lo,Hi)
$08+ Directory entries in the following format :
$00-$01 ASCII file type (Default is 'FX')
$02-$04 Starting address of the file data (Lo,Md,Hi)
$05-$07 Size of the file in bytes (Lo,Md,Hi)
The remaining memory after the directory entries is used for file data.

Packing Options
-f infile.x Pull more MEMPAK arguments from infile.x
-e ex Set file type to 'ex' (default is 'FX').
-a sweep.csv Use amplitude sweep for 8-Bit DAC bias & step correction.
-b bittable Rearrange the bits in each byte (ex. '32107654').
-m bitmask Mask the bits of each byte (decimal, $hex, or %bin).
-r y/n Reverse the order of all file bytes (default is n/no).
Note that source data and options may be interleaved, for example :
mempak outfile.bin -b 01234567 source_a.bin -b 32107654 source_b.bin
This would yield a binary where the first file has the bits of each byte in reverse, but the second has the nibbles of each byte swapped.

MEMPAK 1.1z 8-9-2016 Added : zlib license, file reverse (-r) option, support for Linux targets.
MEMPAK 1.0 1-18-2014 Initial Release

All content by Osman D. Celimli unless otherwise noted.
Not all of said content guaranteed to be useful. Some is probably quite old and dumb.
Oh my, here's a YouTube and Twitter.