Hello Eric,

On at 2021-05-27 12:38 +0200, Eric Auer wrote:
Sorry but given that my best guess is that you have misunderstood
the problem, you are not yet an experienced JEMMEX programmer.

Again, I ask you to use the "do not load EMM386" workaround for
now. If the topic is REALLY exciting for you, you can start by
learning how to use the protected mode features 386SWAT, IDEBUG
or other advanced debugging tools which let you trace across
real and protected modes: real mode, vm86 mode, protected mode
to understand what your BIOS is doing, or even how the internal
workings of EMM386 are. But I warn you, those are quite complex.

I'm not aware of any debugger called "IDEBUG". However, presumably you meant to refer to "lDebug" (first letter is noncapital L). And regarding lDebug, you would not be able to inspect "the internal workings of EMM386" with it. Let me quote my announcement of 2021-05-05:

> It runs in Real or Virtual 86 Mode, as a DOS application,
> DOS TSR, or bootloaded instead of an OS kernel. The DPMI-
> capable lDebugX also can run as a DPMI client.

EMM386 does not run as a DPMI client, so lDebug cannot debug it. 386SWAT may be able to debug an EMM, it seems to be more advanced in the modes in which it can operate.

Does it reserve a block at linear address 58000? If you use
my manual MCB edit trick, will more DOS apps work without a
crash? Which apps will keep crashing nevertheless?

Those are exciting questions which do not require the extreme
skill level of debugging protected mode usage conflicts which
you can easily avoid anyway by NOT loading EMM386 and JEMMEX.

Note that this is mostly of academic interest: NORMAL people
would just assume that if 5800:0 is reserved, the BIOS does
not cooperate sufficiently with DOS. They would install Linux
or Windows as next step and run DOS inside dosemu2 or dosbox.

I created a little script to allocate an MCB at an arbitrary address. I uploaded it to [1]. Usage: Install lDebug (release 2) from the FreeDOS package or the zipball or tarball [2]. Start LDEBUG.COM or LDEBUGU.COM in the directory you have the reserve.sld script file, then enter the following:

r v4 := 5800
r v5 :=  100
y reserve.sld

This should reserve an S MCB at "0x0000000000058000-0x0000000000058fff" if possible. You can also run the lDebug command "dm" before and after using reserve.sld to verify that it allocated the correct block.

Regards,
ecm

[1]: https://pushbx.org/ecm/test/reserve.sld
[2]: https://pushbx.org/ecm/download/ldebug/


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to