Ruby class/gem to access FAT filesystems (currently only FAT16) over slow links or media, such as serial connections. Prioritizes minimum I/O whenever possible, and flexible backing (anything subclassed from IO that can seek and read).
- FAT16 support
- Read and format directory listings
- Read contents of files
- FAT12 support
- Write support
- Optimize a couple places where we might do more I/O than required
require 'slowfat'
img = File.open("test_fat16.img", 'r')
fs = SlowFat::Filesystem.new(backing: img, base: 0x7E00)
print fs.dir("WINDOWS").to_s
print fs.file("WINDOWS/SETUP.TXT").contents
YARD docs included, also available on RubyDoc.info