I know this has been asked over and over again, but I promise I've tried what I've been told and have even read FAQs.
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().
I tried the following code
... asm( 'movl $0xA0000, %edi' ); asm( 'addl $1000, %edi' ); asm( 'movb $15, (%edi)' ); ...
and even the following code:
VGASel := SegToSelector( $A000 ); GetSegmentBase( VGASel, VGABase ); ... asm( 'movl %0, %%edi' : '=m' (VGABase) ); asm( 'addl $1000, %edi' ); asm( 'movb $15, (%edi)' ); ...
Neither of the two crashes. What's supposed to happen is a white pixel is supposed to show up at about (8,12) but nothing happens. I even got the AT&T Syntax right (instruction source, destination).
Thanks in advance!
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