DocJade создала файловую систему Fluster на языке программирования Rust для запуска игры Factorio с 1250 3.5-дюймовых дискет. Factorio, требующая установки объемом 1–1.5 ГБ, была запущена благодаря дискетоемкой системе. В качестве источника использовались старые пробные дискеты AOL.
How Fluster works: A video tutorial
Как работает Fluster
Fluster делит каждую дискету на блоки по 512 байт, всего 2,880 блоков каждой. Заголовки системы ограничивают количество дискет до 65,000, что составляет около 90 ГБ. Последние четыре байта каждого блока резервируются для контрольной суммы CRC. Система использует указатели и головки дисков для отслеживания блоков и файлов, позволяя файлы делить на части и размещать на разных дискетах.
Технические сложности и решение
Переход с Windows на Windows Subsystem for Linux потребовал внедрения FUSE-файловой системы, что привело к проблемам с USB-пережатками. Начальные эксперименты DocJade дошли до необходимости полмиллиона физических замен дискет, но благодаря кэшированию число замен сократилось до 1,500 на загрузку игры.
Достижения и перспективы
Загрузка Factorio с 1250 дискет требует более недели дневной работы. Хотя некоторые функции Fluster остаются незавершенными, такие как поддержка заблокированных файлов, DocJade удалось завершить игру в течение девяти часов. Fluster опубликована как открытое ПО, открывая возможности для дальнейших разработок.



