Config loader update!
After exercising with all the helper scripts and tools, here is an image which contains loader & FujiNet CONFIG (and config tools):
As the name indicates the new ZX0 compression is used. With ZX0 the compressed CONFIG is smaller and it loads a bit quicker compared to LZ4 variant.
ZX0 decompression routine was embedded into boot loader. Both Config loader and CONFIG are decompressed while being read from disk.
As it was before, HISIO is enabled as soon as possible to speedup SIO transfers and CONFIG is loaded with banner and growing progress bar.
Build process was automated, "make dist" should do all the hard work. For this purpose I prepared Python script which acts as very simplified SuperPacker (and other script to prepare somehow relocatable code and other script to update final ATR, and ... it was interesting to get all this working together)
As a bonus, once the CONFIG is compressed with ZX0 the file segments are "decorated" to make the result Atari DOS compatible/loadable again. However DOS cannot decompress file segments (there are some exceptions ) so decompression routine is bundled and called prior passing the control to CONFIG. I.e. Same CONFIG file can be loaded by ZX0 capable loader (during boot) with inline decompression and it can be loaded as a regular DOS program later from disk.
Credits: @xxl for ZX0 decompression port to 6502 and boot loader @HiassofT for high speed SIO @bocianu for FujiNet banner @pirx for compression ideas 🙂
Source code: https://github.com/a8jan/fujinet-config-loader - branch "zx0" (If everything works fine, will be glad to move into FN repos)