wagner@uw-june (Dave Wagner) (01/29/86)
Recently some people have remarked about an annoying feature of Wyse terminals: namely, that the escape sequences for starting and stopping display enhancements leave an extra space on the screen. Why can't this be worked around by simply appending a backspace to the TERMCAP entries for se, so, ue, and uo? I hope this works, because I just bought a Wyse 30! (I don't have my modem yet; I'll try it first chance I get and post the results - unless someone else does it first.) Dave Wagner University of Washington Comp Sci Department wagner@washington.arpa {ihnp4,decvax,ucbvax}!uw-beaver!wagner "Many people would rather die than think; in fact, most do." - Bertrand Russell
freak@nsc.UUCP (Curt Mayer) (01/31/86)
In article <312@uw-june> wagner@uw-june (Dave Wagner) writes: >Recently some people have remarked about an annoying feature of Wyse >terminals: namely, that the escape sequences for starting and >stopping display enhancements leave an extra space on the screen. >Why can't this be worked around by simply appending a backspace to >the TERMCAP entries for se, so, ue, and uo? the way the wyse and televideo terminals work is that the magic cookie is a marker. if you wipe out the marker, you lose the attribute. one way this really shows up is if you have a begin reverse marker on line 3 and an end marker on line 7. now scroll the screen 3 lines, and all of a sudden, the 4 lines which were in reverse video return to normal video. ugly. curt
ccrdave@ucdavis.UUCP (Lord Kahless @ Imperial Propoganda) (02/01/86)
> Recently some people have remarked about an annoying feature of Wyse > terminals: namely, that the escape sequences for starting and > stopping display enhancements leave an extra space on the screen. > Why can't this be worked around by simply appending a backspace to > the TERMCAP entries for se, so, ue, and uo? > wagner@washington.arpa > {ihnp4,decvax,ucbvax}!uw-beaver!wagner Believe me, it doesn't work, at least not on a 75. I tried using backspace. I tried using ^[D to move the cusor to the left. I tried everything. The screen would freak out horribly. I also tried to get around this on the Televideo mode of a Wyse 50, but couldn't find a solution there either. It's a stupid feature. Magic cookies should have died along with Beehive International. {dual,lll-crg,ucbvax}!ucdavis!vega!ccrdave +-----------------------------------------------------------+ | "I've seen things you people wouldn't believe. | | Attack ships on fire off the shoulder of Orion. I watched | | C-Beams glitter in the dark near the Tannhauser Gate. All | | those moments will be lost in time, like tears in rain. | | Time to die." -- Roy Baty, Nexus6, N6MAA10816, Combat | +-----------------------------------------------------------+
jc@sdcsvax.UUCP (John Cornelius) (02/03/86)
The reason terminals have magic cookies is because the internal character size is insufficient to hold data about video attributes. Terminals without magic cookies typically have 4 or 5 extra bits in the internal character representation. Each bit indicates the state of 1 video attribute for that character only. Terminals with magic cookies may have 1 bit which indicates that the current character sets video attributes and the character contents itself gives the video attributes. Video attributes remain effective until another such character is encountered. Since there is a 1:1 mapping of data bytes (in memory) to screen position the effect of a backspace following a set attribute command is often described by the manufacturer as unknown. Magic cookies allow the manufacturer to hype a large number of video attributes and make his terminal look glitzy while keeping the terminal cheap to design and manufacture. The manufacturing cost savings are enormous, about $10.00, when compared to the total manufacturing cost of the terminal, about $140.00 to $200 for most ascii terminals. A true VT-200 emulating ANSII terminal (no magic cookie) costs $180.00 POE West Coast to bring to market. An ADM-3 look alike costs about $140.00 to bring to market under the same conditions. The $40.00 difference means about $120.00 by the time it gets to the end user. John Cornelius Western Scientific
chris@umcp-cs.UUCP (Chris Torek) (02/04/86)
In article <1374@sdcsvax.UUCP> jc@sdcsvax.UUCP writes: > ... Terminals with magic cookies may have 1 bit which indicates > that the current character sets video attributes and the character > contents itself gives the video attributes. I suspect that in most, there is no extra bit, and they use control codes; but the idea is the same. > Video attributes remain effective until another such character is > encountered. But not in all; in some, `end of line' resets the attributes (as does `end of screen' in all). This makes dealing with such attributes even more difficult than it might have been. There are a number of embedded attribute terminals that do not use up screen space for the attributes. I believe the HP 26xx series is an example (though I am uncertain that these are truly embedded attribute machines). The 262x and 264x series are rather successful; most can even keep up with 9600 baud for most purposes. Somewhat less successful is (was?) the Tektronix 4025. This machine has something called a `display tracker', which interprets `commands' for each `line'. A line starts with a cursor position code. If the code is zero (or was it > 80?), the line has no cursor; otherwise there is a cursor in the corresponding column. After that come characters and/or commands. Commands include end-of-line, jump, `nop', and `antinop'. The last three are used to implement blinking attributes: Nops are ignored on `even' frames and act as `skip next three bytes' instructions on `odd' frames; antinops do the same but for odd and even frames respectively. A jump instruction is followed by a 16 bit address from which the next set of commands is to be taken. The screen draws `even' frames for half a second, then `odd' frames for another half second, then back to even. To make characters that blink between inverse video and normal video, you embed a nop followed by a jump followed by the text. The jump directs the tracker to a `switch to inverse' command followed by another jump back to the text. All this is fine in theory. The problem is that the tracker is time constrained. It must put characters onto the screen at the screen draw rate. If you insert too many jumps, it falls behind and `gets lost' until the next end-of-line command. Putting up a large number of attributes on one line makes that line `break', usually becoming two lines (with a cursor in an odd place on the second line). Worse, if the jumps are behind a nop or antinop, the screen `bounces' every half second. This looks quite odd, to say the least. I strongly suspect that had the 4025 used 16 bits for each character, the firmware would have been less buggy too. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 1415) UUCP: seismo!umcp-cs!chris CSNet: chris@umcp-cs ARPA: chris@mimsy.umd.edu
mdf@osu-eddie.UUCP (Mark D. Freeman) (02/07/86)
Summary: >In article <1374@sdcsvax.UUCP> jc@sdcsvax.UUCP writes: > Video attributes remain effective until another such character is > encountered. I had to make a program of mine work on a Televideo 950, so anytime I sent some text to the screen I figured out the length of the string to be printed, then figured out where the last character would appear when it was sent to the screen. Then I sent it this way: Position cursor to column after where text ends, print <end-attribute>. Position cursor to column before where text stars, print <begin-attribute>. Print text. This was the only way to keep the whole screen from changing to underlined text while I printed one underlined word near the top of the screen. As soon as the <begin-underline> got to the screen, everything until the next <end-attribute>, or the end of the screen if there aren't any, changes to underline. Then the text prints, then the <end-attribute> is sent, and everything after the <end- attribute> that changed to underlining (as a result of the magic cookies), changes back. So the net effect is that major portions of the screen FLASH underlines, inverse, and other things while you are doing screen updates. Very ugly. My way of doing things solved the problem, but it involved rewriting all my screen output code. -- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mark D. Freeman Guest account at The Ohio State University StrongPoint Systems, Inc. mdf@osu-eddie.UUCP 209 Olentangy Street Mdf@Ohio-State.CSNET Columbus, OH 43202-2340 Mdf%Ohio-State@CSNET-RELAY.ARPA !cbosgd!osu-eddie!mdf I disclaim even my very existance. Acceptance without proof is the fundamental characteristic of Western religion, Rejection without proof is the fundamental characteristic of Western science. -- Gary Zukav from "The Dancing Wu Li Masters" <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>