Hi Rich,
I am trying to better understand the EXECRH function in execrh.asm <https://github.com/FDOS/kernel/blob/66df13c4d867b49558a85929a13432df63cf5ac 0/kernel/execrh.asm> . Could someone help me understand the call being made in EXECRH of "call far[.dhp]"? To where is it calling, and should I have done something in my BIOS or elsewhere to support this call? Additional Details: During boot on my 286 build the system hangs...
* The rqblockio() function then calls execrh() [execrh.asm].
Well, this is how the kernel calls drivers. Apart from the detail that it does STI, CLD as a side effect, which should not disturb other parts of the kernel, it will call some kind of disk I/O driver in the context you describe. You write that you use a custom built BIOS for your 286, and a compact flash card on IDE adapter as drive. So I suggest that you do some testing of the BIOS itself, without DOS. You could write a small test case and install it as boot sector. Maybe the BIOS has issues with the mentioned flag changes or maybe it simply does not yet have sufficiently foolproof disk error handling, so it fails when there is more disk access? Does the BIOS support both CHS and LBA? Which one is used for booting? You can pass options to SYS to force one of the other and you can use SYS CONFIG to patch the kernel to force that as well. It might also be some issue related to stack usage, DMA or the address ranges used by DOS, disk I/O and maybe other drivers? Interesting project in any case, I like to hear about your progress when you got FreeDOS to boot on your custom BIOS! Regards, Eric PS: CF cards in the past were meant to access few, large files. So they had few I/O per seconds. Sometimes they had hiccups. _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel