Path: utzoo!mnetor!uunet!husc6!think!ames!mailrus!umix!nancy!eecae!super.upenn.edu!dsl.cis.upenn.edu!catone From: catone@dsl.cis.upenn.edu (Tony Catone) Newsgroups: comp.lang.c Subject: Re: FILE I/O & SLOW WINDOWS Message-ID: <3507@super.upenn.edu> Date: 26 Feb 88 22:01:11 GMT References: <11678@brl-adm.ARPA> <105@richp1.UUCP> Sender: news@super.upenn.edu Reply-To: catone@dsl.cis.upenn.edu.UUCP (Tony Catone) Organization: University of Pennsylvania Lines: 20 In article <105@richp1.UUCP> kk@richp1.UUCP (PUT YOUR NAME HERE) writes: > >Monochrome screen memory begins at 0xB000:0x0000 (segment:offset) >and color memory begins at 0xB800:0x0000 (segment:offset). All you have >to do is set a pointer to the beginning of the right kind of memory >(you can find out if you have a color or monochrome from a BIOS call, >but I don't know which offhand) and do a memcpy(buf,screen,4000) to >save the entire screen and memcpy(screen,buf,4000) to restore it. Be forewarned that the BIOS call to return the current display mode (mono or color) is broken in the early BIOS versions of many PC compatibles. This once gave me quite a headache on my Leading Edge Model M, until I tracked down what exactly was wrong. The more reliable way to obtain the video mode is to read the value in the BIOS low memory data table yourself. The exact memory address is commonly obtainable; send me mail if you can't find it and want it. - Tony catone@dsl.cis.upenn.edu catone@wharton.upenn.edu