Path: utzoo!attcan!uunet!husc6!think!ames!ucsd!rutgers!bellcore!tness7!ninja!dalsqnt!rpp386!pigs!haugj
From: haugj@pigs.UUCP (Joe Bob Willie)
Newsgroups: comp.sys.ibm.pc
Subject: Re: How do I point to the frame buffer?
Summary: oh crud, those damned INTEL chips bite again.
Keywords: C, far pointers, frame buffer,ibm pc
Message-ID: <234@pigs.UUCP>
Date: 5 Jul 88 18:31:29 GMT
References: <2784@juniper.UUCP> <222@pigs.UUCP> <11544@agate.BERKELEY.EDU>
Reply-To: haugj@pigs.UUCP (Joe Bob Willie)
Organization: Big "D" Oil and Gas
Lines: 34

In article <11544@agate.BERKELEY.EDU> izumi@violet.berkeley.edu (Izumi Ohzawa) writes:
]In article <222@pigs.UUCP> haugj@pigs.UUCP (Joe Bob Willie) writes:
]>)In article <2784@juniper.UUCP>, dan@juniper.UUCP (Dan Galewsky) writes:
]>)> 0xb800. So I tried the following :
]>)> far char *Screen;
]>)> Screen = (char *)0Xb800;
]>)> 			Puzzled...
]>)Dear Puzzled,
]>)far	char	*Screen = 0xb8000;
]}
]That doesn't work.  At least with Microsoft C, far pointer has
]to be specified in the Segment:Offset format with an unsigned long
]number.  So try;
]}
]far char *Screen = 0xb8000000;

OKAY, let me rephrase what i said,

char	*Screen = 0xb8000;

does work on a '386 running SCO Xenix which uses the Microsoft C
compiler.  the actual location of the screen memory is b800:0000
in 8086 mode.  since the 80386 has 32bit segments, there isn't
much of a need for segment numbers.

i suppose the correct answer is there is no one single correct
answer.

- john.
-- 
 Joe Bob Willie                                             Big "D" Oil and Gas
 UUCP: ...!killer!rpp386!jfh                            jfh@rpp386.uucp :DOMAIN
 **** Trivia question of the day: VYARZERZIMANIMORORSEZASSEZANSERAREORSES? ****
 "You are in a twisty little maze of UUCP connections, all alike" -- fortune