Skip to contentSkip to conversation

A20 Address line - XMS issue

DISCUSSION Stas Sergeev 1 participant 1 message Dec 6, 2002

lore
Share & tools
lore
#0 lore raw

Hello.

Quoted 1 line · S.Gopi

not possible and I was advised to use XMS and EMS settings available under DOSEmu. But I read from FAQs is that I cannot use them if my program uses VCPI

Not "them", you can't use *dosemu* if your program uses VCPI. Use bochs instead. The reason is already described in the nearby message.

Quoted 1 line

or some other method to access high memory access.

Not exactly. XMS and EMS are both supported so you can use them for accessing a high memory. DPMI is also supported (16bit and 32bit) so that you can run your programs in protected mode.

Quoted 2 lines

after some quick hack into dos code I found that DOSEmu is explicitly disabling A20 line and denying any further interrupt calls on that (i guess it is int15,0x87 and 0x88) May i know why is it so?

I think it is because there is no use to control a20 under dosemu. It is emulated however, so I think dosemu may not be so picky about that.

Quoted 1 line

If DOSEmu can allow these interrupts then programs like himem.sys can use of this

himem uses so called "Big Real Mode". To enable this mode it must be started from real mode. himem cannot start in v86 by any means.

Quoted 1 line

and provide the memory manager suppor

Internally provided by dosemu.

Quoted 1 line

with VCPI support etc.

himem have nothing to do with VCPI.

Quoted 1 line

Is there any technical difficulty or memory blocking issues with this or it is disabled for some anonymous reasons.

A20 emulation was implemented much later than an xms support, I think this is a reason why that emulation is not fully used.

Quoted 1 line

Is there any alternative way for this.

Internal XMS support of dosemu is a good alternative to himem.
If you have the program that uses int15/ah=0x87 for memory transferrs and that fails under dosemu, then I think this can be fixed, but I need this program to expirement with.