This shows you the differences between two versions of the page.
— |
blog:pushbx:2024:0827_ldos_fat32_fsiboot5_experimental_revision [2024-08-27 18:50:04 +0200 Aug Tue] (current) ecm created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== lDOS FAT32 + FSIBOOT5 experimental revision ====== | ||
+ | |||
+ | Copied from [[https:// | ||
+ | |||
+ | ===== ===== | ||
+ | |||
+ | On at 2024-06-02 19:45 +0200, E. C. Masloch wrote: | ||
+ | > On at 2024-06-02 13:31 +0200, Bernd Böckmann via Freedos-devel wrote: | ||
+ | |||
+ | [...] | ||
+ | |||
+ | >> | ||
+ | >> Thinking of this LBA, non-LBA thing we might investigate if it is possible to merge the LBA and non-LBA FAT32 VBR code into one. But that is for another topic. We also might replace the loaders with some other one. If I remember correctly ECMs lDOS loaders have the capability... | ||
+ | > | ||
+ | > As we say, speak the devil' | ||
+ | > | ||
+ | > I prepared an overview of the lDOS FAT32 + FSIBOOT4 loaders on my blog: https:// | ||
+ | > | ||
+ | > Comments and additional questions are welcome both in this thread or in the comment thread of the blog. | ||
+ | > | ||
+ | > Not listed in the article is the lDOS boot.asm (FAT12/ | ||
+ | > | ||
+ | > As usual, my code is FLOSS and in the case of lDOS boot + instsect + lmacros it builds with only NASM (a recent-ish version of the assembler may be required). | ||
+ | |||
+ | I recently updated my lDOS boot repository, only uploaded in an " | ||
+ | |||
+ | What this does is basically stuff a new handler into the FSIBOOT stage, filling it entirely (0 bytes unused), which aids the first stage loader if it wants to find the size of the usable Low Memory Area. This is required for the _COMPAT_FREEDOS set as implemented so far. Technically a first stage that expects an FSIBOOT4 stage would also work with the FSIBOOT5 stage. The FSIBOOT4-expecting first stage could be patched to accept an FSIBOOT5 stage instead. However, I decided the protocol revision should be incremented to insure that the new entrypoint is present. | ||
+ | |||
+ | (Present doesn' | ||
+ | |||
+ | With the space saved in the first stage, this allows to enable the proper LBA check (int 13.41) as well as the Xi8088 ROM-BIOS bug workaround (setting DS = 40h) ([[https:// | ||
+ | |||
+ | Regards, \\ | ||
+ | ecm | ||
+ | |||
+ | |||
+ | {{tag> | ||
+ | |||
+ | |||
+ | ~~DISCUSSION~~ | ||