Board index » delphi » FreePascal Physical -> Linear address mapping (VESA)
Lors
![]() Delphi Developer |
Sat, 09 Jun 2001 03:00:00 GMT
FreePascal Physical -> Linear address mapping (VESA)
Hi there - I recently moved from Borland Pascal to FreePascal and I am
having problems porting my object-oriented VESA units - the problem is I recieve the physical address of the Linear Framebuffer from any given video mode (it tells me it's at 0000E000h) but I can't convert this address into anything useful. I've tried an example from the VESA specification (converting it from C code) but it just causes Win95 to give me protection errors. What I want is either a TSegInfo or just a standard Pointer that I can use as the base address to write to the screen - I +ACo-am+ACo- activating the LFB bit when opening the mode, and the mode does actually open as normal, I just can't write to it. Can anyone post some example code to convert the physical address it gives you into a usable pointer with descriptor etc. (I've deleted my nonworking code, but I could rewrite it and post if requested) Thanks in advance. -- |