Skip to contentSkip to conversation

A20 Address line - XMS issue

DISCUSSION Stas Sergeev 2 participants 2 messages Dec 6, 2002

lore
Share & tools
lore
#0 lore raw

Hello.

Quoted 3 lines · Bart Oldeman

HIMEM.SYS might be able to
run in DOSEMU if DOSEMU would implement int 0x15/0x87 to copy extended memory though.

It can't.

Quoted 3 lines

HIMEM.SYS might be able to
run in DOSEMU if DOSEMU would implement int 0x15/0x87 to copy extended memory though.

Real mode is an ultimate requirement
for himem to work. You can't set up
the Big Real Mode from within v86.
Here is the source:
http://honors.tntech.edu/~will/fileformat.virtualave.net/programming/himem/xm386.asm
Here is the relevant part:
---
mov bx, descRealBig - OurGDT ; Special 4Gb selector
lgdt qword ptr cs:[GDTPtr]

mov     eax, cr0
or      al,1
mov     cr0, eax         ; Go into Protected Mode

; NOTE: NMIs will kill us!!!
---
Both "lgdt" and "mov cr0" are priviledged.

#1 lore raw
Quoted 7 lines · Stas Sergeev
Quoted 3 lines · Bart Oldeman

HIMEM.SYS might be able to
run in DOSEMU if DOSEMU would implement int 0x15/0x87 to copy extended memory though.

Real mode is an ultimate requirement
for himem to work. You can't set up
the Big Real Mode from within v86.

IIRC himem uses Big Real Mode for the 386, LOADALL for the 286 and int15 if (BRM/LOADALL) fails. Maybe I'm wrong here, but surely 286's have himem but not BRM (aka FRM).

At least FreeDOS HIMEM/FDXMS can use int15 instead of protected mode if the user wants it or pm is privileged.

Bart