Orlando Llanes wrote:
Does anyone have any working code to access the VGA segment using only a base address? I'm looking to see if it's possible to access the VGA segment without having to load a segment register under GPC's asm().
Which platform, please? I suppose DJGPP or EMX...
Don't they use memory mapping so that each process has its own address space? In this case it might help to call some memory mapping function, and then you get the linear base address you want.
E.g. for DJGPP: __djgpp_map_physical_memory in dpmi.h (NOTE: I haven't done anything like this myself, I've just grepped the DJGPP includes, so I don't know if this is the correct thing...)
On Mon, 29 Dec 1997, Frank Heckenbach wrote:
Which platform, please? I suppose DJGPP or EMX...
Sorry :} DJGPP
Don't they use memory mapping so that each process has its own address space? In this case it might help to call some memory mapping function, and then you get the linear base address you want.
Patrice gave me some code on how to do that, but you still need a register. I'll take a look at dpmi.h tho. According to what I've seen so far, I don't think I could eliminate that prefix unless I add that section of memory to %ds (now THAT would be nice :).
E.g. for DJGPP: __djgpp_map_physical_memory in dpmi.h (NOTE: I haven't done anything like this myself, I've just grepped the DJGPP includes, so I don't know if this is the correct thing...)
If you're referring to DPMI function AX=0002 I did use that. As mentioned in the previous e-mails tho, it won't work without a segment register so I'm just going to set %gs: once and forget about it.
See ya! Orlando Llanes
"Hey, we all did the drug thing, we all did the money thing, and eventually you find out that none of that stuff fixes anything, and we have nowhere else to go except to evolve spiritually and intellectually" -- Meredith Brooks
"Look out fo' flyeeng feet" O__/ a010111t@bc.seflin.org /|____. O <__. /> / \ ____________|_________ http://ourworld.compuserve.com/homepages/Monkey414