ruby-slowfat - FAT library for Ruby designed for slow links/media


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 ="test_fat16.img", 'r')
fs = img, base: 0x7E00)
print fs.dir("WINDOWS").to_s
print fs.file("WINDOWS/SETUP.TXT").contents

Full Documentation

YARD docs included, also available on