Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utcs!mnetor!seismo!ut-sally!nather From: nather@ut-sally.UUCP Newsgroups: net.micro.pc Subject: Re: What is NANSI.SYS? Message-ID: <5314@ut-sally.UUCP> Date: Sun, 13-Jul-86 12:03:56 EDT Article-I.D.: ut-sally.5314 Posted: Sun Jul 13 12:03:56 1986 Date-Received: Sun, 13-Jul-86 20:25:45 EDT References: <6200040@inmet> Organization: U. Texas CS Dept., Austin, Texas Lines: 38 Summary: It's much better NANSI.sys is a shareware replacement for the MS-DOS screen driver ANSI.SYS and is completely compatible with the original, so far as I have tested it. In addition to the standard escape sequences to clear the screen, underline words and show them in reverse video, change colors etc. it also has escape sequences that let you insert and delete lines and characters on the screen. Cursor motions are also supported. Tabs are set by default every 8 columns but are replaced by spaces on input, so the "insert, delete" character functions behave as if the text had spaces to begin with -- OK sometimes but not others. NANSI.SYS is optimized for multiple-character writes to the screen. It is a smidgen faster for single character writes, but nothing short of spectacular for multiple-character writes. To get the maximum speed from it you must set stdin to "raw" mode -- a set of small routines is included in the package to help you do this -- and then write as many characters to the screen in one gulp as possible. I am writing a Reduced Instruction Set text editor in C which emits escape sequences for NANSI.SYS; I require no other assembly-language "speed-ups" to make it operate acceptably fast -- screen updates for the most part appear instantaneous, including those cases where I must re-write the entire screen. It blinks quickly, and the new text is there to read. I was astonished. The failure to handle tabs "properly" is the only shortcoming I've noticed ... and that is really more a matter of taste than anything else. The popular shareware editor PC-WRITE also replaces tabs with spaces on input. For my application the RISTE must be included as part of another program, and "true" tab action is needed. I found I could re-write a whole screen line from the internal text buffer so fast that single-character operations were completely unnecessary, and "true" tab operations could be included without any speed sacrifice. If you're still using ANSI.SYS you are wasting your time -- literally. -- Ed Nather Astronomy Dept, U of Texas @ Austin {allegra,ihnp4}!{noao,ut-sally}!utastro!nather nather@astro.AS.UTEXAS.EDU