I'm writing a protected mode microkernel and having problems with VESA in hi-res and the docs are a bit unclear to me.
Upon initialization the kernel is in real mode where the mode is set to 0x4113 (mode 0x113 with the 14th bit set which is the flag to use linear/flat frame buffer).
Next it gets the video info block with function 0x4f01.
Next it gets the pmode function table with function 0x4f0a, does some offset calculations then enters protected mode.
The remainder of the kernel is in C with inline assembler.
I'm having trouble with the pmode functions returned from 0x4f0a.
I've tried calling function 7 sub function 1 (get display start) but its failing with ax==0x0100.
I'm debugging the kernel with bochs.
Can someone provide me with info for using VESA in this manner?
I need some example code that uses a linear frame buffer and plots a pixel in pmode without V86 or exiting pmode.
Start Free Trial