PVH>Yo All,
PVH>I've setup a 640x480x256 VESA mode with a lineair framebuffer.
PVH>VBE2 tells me that I can find the lfb at location 30000000h.
PVH>I tried to write something to it, I tried several methods :
PVH>1. GS:30000000h (in PMODE with GS pointing to absolute 0000)
Pointing to 0000 or having a value of 0000? In protected mode there IS a
difference there, as 0000-0003 are considered null selectors...
PVH>2. 3000:0000 (seeing it as a realmode address)
If you want to use it as a real mode address while in protected mode, you
ave
to use the DPMI function "Segment to Descriptor" (Probably can be found on
he
Interrupt List)
PVH>3. 30000000h - start32 (start32 points to begin of my prog)
PVH>4. 30000000h + start32 (it won't hurt to try, desperate as I am...)
PVH>5. ...
PVH>...
PVH>but my computer always crashes or resets, so I think it's because I'm
PVH>writing to a location for which I don't have access rights.
PVH>How do I make such a structure (in GDT,...) to give me those rights ?
PVH>I'm using PMODE v2.1232 by Tran of Renaissance.
PVH>My video card is an S3TrioV64+ (for the lfb).
You can't take the 30000000h directly.... Unless you had 1.5 GB of physical
memory, which is only practical on a Supercomputer... for a computer with
6MB
ram, the highest physical address you could get is 00FFFFFFh. (even though
32-bit protected mode would allow 4GB of LOGICAL address space.)
((Cloud))
MauveCloud@juno.com
* OLX 2.2 * Monday is soon coming to a calendar near you!
--- PCBoard (R) v15.3/M 10
---------------
* Origin: Next time, Dial The Wrong Number! (209) 943-1880 (1:208/205)
|