About not esits address

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
tresss
Posts: 21
Joined: Thu Jul 06, 2006 10:52 pm

About not esits address

Post by tresss »

I Set Graphic module:
mov ax,0x4f02
mov bx,0x4114
int 0x10

And I Get Info:
xor bx,bx
mov es,bx
xor
mov di,bx
mov ax,0x4f01
mov cx,0x114
int 0x10
mov eax,[0x28]

The value of eax is 0xE0000000.

Why?
The address must not exists.Why can I write this address and then show shomething?
http://english.writeos.com

My English is not very good
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: About not esits address

Post by Brendan »

Hi,
tresss wrote:The value of eax is 0xE0000000.

Why?
The address must not exists.Why can I write this address and then show shomething?
This is the address of the video card's display memory, which is mapped into the physical address space (in an area that doesn't conflict with RAM or anything else) during BIOS initialisation (i.e. when it configures the resources for AGP/PCI devices). I'd assume the address is perfectly valid.

If you don't want direct access to the video card's memory (it's linear frame buffer), then use the details VBE returns for "window A" and "window B". These windows are in the area from 0xA0000 to 0xBFFFF, and are usually 64 KB in size. This makes them far too small to access all of the video data (for SVGA video modes), so usually there's bank switching involved to change which areas of display memory are mapped into these windows.


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
xsix
Member
Member
Posts: 59
Joined: Tue Oct 24, 2006 10:52 am

Post by xsix »

returned address is video lfb(linear frame buffer) which exists in high memory area. because 32bits cpu can address up to 4gb of memory, video LFB can be anywhere
tresss
Posts: 21
Joined: Thu Jul 06, 2006 10:52 pm

Post by tresss »

OK..Thanks..
I'm understand...
http://english.writeos.com

My English is not very good
Post Reply