Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!uflorida!mailrus!cornell!uw-beaver!tektronix!tekcrl!tekgvs!toma From: toma@tekgvs.LABS.TEK.COM (Tom Almy) Newsgroups: comp.binaries.ibm.pc.d Subject: Re: nnansi problems Message-ID: <5447@tekgvs.LABS.TEK.COM> Date: 26 Jun 89 16:35:37 GMT References: <1363@ethz.UUCP> <414@nbires.nbi.com> <24452@srcsip.UUCP> Reply-To: toma@tekgvs.LABS.TEK.COM (Tom Almy) Distribution: comp Organization: Tektronix, Inc., Beaverton, OR. Lines: 55 THE AUTHOR SPEAKS. In article <24452@srcsip.UUCP> rogers@falcon.UUCP (Brynn Rogers) writes: >I have some problems with nnansi that no one has mentioned yet. >1) goeslings emacs has the cursor a couple of lines away from inserted text. > [my boss uses this because he needs mock lisp. is there any other > emacs that uses lisp or mock lisp on a PC??] One of the following usually fixes these problems: 1. Do a CLS first. 2. Recompile with TakeBIOS set to 0. 3. Recompile with fast set to 0 (but only as a last resort). >2) I have a Orchid Prodesigner (now +) and it has a number of usefull text > modes supported by BIOS. [...] > BUT, in these modes (and 132 column modes) every line on the > screen begins and ends with a blinking block. [I use epsilon which is happy > in any mode] EXPLAINATION OF WHATS GOING WRONG: nnansi needs to know if the display is in a character or graphic mode. Currently it checks memory location 40:49H (crt_mode) and if it has a value greater than 3 then it assumes graphics. The various cards that I have here when placed into high res character modes (132 column modes, for instance) would put a "3" into 40:49, even though that was not the mode. Just today I got an Orchid Prodesigner, and sure enough, it puts the actual mode at location 40:49. This means that nnansi treats these high res character modes like graphic modes, which is a *very bad thing*. FIX FOR ORCHID OWNERS, AND POSSIBLY OTHERS: Well, since none of these modes are standard, I can't simply change nnansi to check out the individual mode numbers and call them character or graphic. But on the other hand *YOU* can! The easiest fix, that at first attempt seems to work is to write a little program which sets 40:49 to "3", and run it immediately after setting a high res character mode. When I tried this, the problems went away, and the display performance became very fast (as it should be). The harder fix is to edit file nnansi.asm. There is one place in this file that sets gmode_flag based on the value in 40:49. It is your job, if you accept it, to modify that code so that the hires charcter modes set gmode_flag to zero, yet the hires graphic modes set it non-zero. Good luck! BTW, you won't have to change the place in nnansi_f.asm that sets the flag. Tom Almy toma@tekgvs.labs.tek.com Standard Disclaimers Apply, except as noted above.