Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bu-cs!acm From: acm@bu-cs.BU.EDU (ACM) Newsgroups: comp.sys.ibm.pc Subject: Re: Screen Base Address Message-ID: <14253@bu-cs.BU.EDU> Date: Mon, 12-Oct-87 19:47:08 EDT Article-I.D.: bu-cs.14253 Posted: Mon Oct 12 19:47:08 1987 Date-Received: Wed, 14-Oct-87 00:53:39 EDT References: <5326@jhunix.UUCP> <2789@bnrmtv.UUCP> <1664@homxc.UUCP> Reply-To: madd@bucsb.bu.edu Followup-To: madd@bucsb.bu.edu Organization: Boston University ACM Lines: 31 Keywords: DOS Video address In article <1664@homxc.UUCP> djs@homxc.UUCP (D.SPATHIS) writes: >In article <2789@bnrmtv.UUCP>, perkins@bnrmtv.UUCP (Henry Perkins) writes: >> In article <5326@jhunix.UUCP>, ins_agwa@jhunix.UUCP (Gunther Wil Anderson) writes: >> > Does anyone know how to determine the screen base address from >> > within DOS, independent of screen type (i.e. not by determining >> > the screen type and then assuming that the base address is what >> > it should be for that type)? >> >> The screen base address isn't dependent on DOS; it's dependent on >> the display board you're using, and the BIOS which supports it. > . . . . . >> {hplabs,amdahl,ames}!bnrmtv!perkins --Henry Perkins > > >One thought for finding the screen address goes something like this: > >IF one possible place for the screen buffer is B000:1000 then read this >absolute memory location saving the data byte that is there. Now write >some other non-blank value there. Call a BIOS clear screen function. >Lastly, check the location again - if blank it's part of the active >screen buffer. Repeat with more gueses for screen address until happy. Yea, that works ok but it's not too reliable. The way that I usually do it is to ask the BIOS what the default screen mode is; if it's color, I use $B800:0000 and if it's mono I use $B000:000. Now, this isn't completely reliable but it very, very seldom fails. It would be better to ask the board where its buffer is but I never did figure out how to do that. jim frost madd@bucsb.bu.edu