Mail Archives: djgpp/1996/10/15/02:03:20
From: | "John F. Bell" <jbell AT xmission DOT com>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | __djgpp_conventional_base
|
Date: | Sun, 13 Oct 1996 15:23:46 -0600
|
Organization: | XMission Internet (801 539 0900)
|
Lines: | 27
|
Message-ID: | <32615DE2.4928@xmission.com>
|
Reply-To: | jbell AT xmission DOT com
|
NNTP-Posting-Host: | slc154.modem.xmission.com
|
Mime-Version: | 1.0
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
how often does __djgpp_conventional_base change in a program?
I am using the method of enabling near pointers to access video memory
and I access it by unsigned char *video_buffer=(unsigned char
*)0xA0000+__djgpp_conventional_base;
Is this the fastest way to access video memory?
Do I need to declare video_buffer as
unsigned char *video_buffer=(unsigned char *)0xA0000;
and access it by *video_buffer[__djgpp_conventional_base]?
Also, I tried to write a screen filler function in assembly, but it
only fills up the first half of the screen or so. Here it is
__asm__ __volatile__ ("
movl %1, %%edi
movb %0, %%al
movw 64000, %%cx
rep
stosb"
:
:"g" (color), "g" (0xA0000+__djgpp_conventional_base)
:"ax","cx","di","memory"
);
What's wrong with this?
Thanks in advance.
John F. Bell
<no email currently>
- Raw text -