First post, by videogamer555
I was reading about how to get 32-bit memory access in real-mode, and discovered there's a hidden mode called "unreal" mode, that's not actually an official mode. It works like this. You set up the global descriptor, load the GDT, switch to protected mode, set the data segment register so that it uses the GDT, then switch back out of protected mode, and make sure you don't do anything to set the data segment register again. It then retains its use of the 32-bit data segment, letting you access 4GB of memory without needing to keep setting the data segment register to reference the specific 64kB block of memory that you want at a given time.
However I'm not sure if this mode is supported by DosBox. At least the debugger version of DosBox seems to not support it. Every time I try to use a 32-bit memory accessing instruction, it says "illegal opcode", because it thinks I'm trying to use a 32-bit memory access instruction in 16-bit real mode. It doesn't seem to realize that I've switched to what's basically 32-bit real mode.
Can anybody tell me here tell me if officially DosBox is supposed to support this mode? I'd like to know, because I have a number of ideas of games or apps I could develop using this mode. It would make memory access a LOT easier.