Filesystem, memdisk and IDE is merged into master now. It turns out our 28-bit PIO in bootloader sets a maximum size for how big the sections we can load are. So memdisk can't support "big" images, and that is OK, but I had to fix up our IDE driver to support selecting slave for our images. Now we have FAT16, FAT32 (and FAT12 kinda works, I just havent really tested it, sorry!). There are decent tests for all relevant modules right now. The filesystem is read-only, intended primarily for immutable infrastructure and microservices.
This is what it looks like in the tests:
It's the classic lambda spam due to async programming. Or I'll have to stop myself from going too depth with the lambdas and go back to using functions with real names occasionally.
The filesystem is auto-mounted if no partition is specified, and from there the 3 (!) filesystem functions are available: ls, stat and read. They all come in variants of sync and async, so I guess in total there's 6 commands. Now, I can't think of any other filesystem commands to implement. Honest. So, did I miss any?