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

Reply via email to