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.