Page 1 of 1

Big Real Mode

Posted: Sun Sep 22, 2002 10:12 am
by PlayOS
Hi,

I am not sure if I understand "Big Real Mode" does putting the processor in this state allow me to access memory above 1MB, while still being able to call the BIOS?

If so, how is it done?

Thanks.

Re:Big Real Mode

Posted: Sun Sep 22, 2002 11:34 am
by Slasher
Yes! This is possible because you perform a particial switch to protected mode,modify 1 or more segment registers(es,fs,gs etc) and then switch back to real mode.
normally, each segment register has a limit of 0xffff (1mb) but if you switch to protected mode and change the limit to say (2mb,4mb or even 4gb) and then switch back to real mode, you can then use the modified segment register to access memory above 1mb

Re:Big Real Mode

Posted: Mon Sep 23, 2002 12:42 am
by Pype.Clicker
there are more infos (and setup code) about this in this forum in Crazybuddah's "Baby steps" serie ...

Re:Big Real Mode

Posted: Mon Sep 23, 2002 1:20 pm
by Tim
The big drawback with this method is that you're still restricted to 64KB in CS and SS -- if you make CS and SS big, then you really are in protected mode.

Re:Big Real Mode

Posted: Wed Sep 25, 2002 7:09 am
by PlayOS
The reason I wanted this was so that I could load my kernel above 1MB and use the BIOS to read the kernel from disk, this way I wouldn't have to worry about having a disk driver so early and I wouldn't be limited to a kernel of 500KB+, even though it may never get this big. ;)

Re:Big Real Mode

Posted: Thu Sep 26, 2002 12:02 am
by Pype.Clicker
an alternative option is to use BIOS int 15h (if i remember well) services to copy chunks of datas into high memory (this is done through a switch to pmode & back that is performed by the BIOS itself ;)