parora@gpu.utcs.toronto.edu (Pavneet Arora) (01/24/88)
Could someone post what the latest Uniterm version number is? Is this the one archived at oregon? If so then this is another request to please post it on the binaries newsgroup for all of us who don't have FTP.
hakanson@mist.cs.orst.edu (Marion Hakanson) (01/29/88)
The latest that Simon Poole has distributed is 2.0a 006. Since he emails them directly to me, I generally have the latest (and make them available for FTP here when they unpack and run ok). Simon has repeatedly asked people to NOT post UniTerm to the net, and to leave it to him to do that, since only he knows when he will come out with a newer version. As an example, I just got a note saying 2.0a 017 is on its way here. If I had posted 006 (even a couple weeks ago), the effort and Usenet resources (UniTerm has grown to be quite large, especially if you include the whole manual) would have been wasted. This is the kind of situation we try to avoid. When Simon thinks v2.0a is stable enough, I'm sure he will post it to the net. And you can be sure that I will not post UniTerm unless Simon asks me to do so. Meanwhile, if you can send email to a BITNET site, you can retrieve UniTerm from LISTSERV@CANADA01.BITNET. Sorry I couldn't help more. Oh, and just to whet people's appetites (I'll put this up for FTP as soon as I get the whole thing here): Date: Thu, 28 Jan 88 16:23:32 GMT From: K538915%CZHRZU1A.BITNET@cunyvm.cuny.edu ReadMe for UniTerm V2.0a 017 <-| ---------------------------- | |This number is displayed on the 'About UniTerm...' dialog box and indicates the "Edit Number" Changes 2.0 to 2.0a -------------------- General: At last colour works again. The colour registers are saved and restored, so there shouldn't be any mixing up of your normal color settings anymore (this is important, since in some future version of UniTerm more fancy things may be done :-)). V2.0a 003 --------- Fixed an error in loading the setup file (the tabs didn't get set). V2.0a 004 --------- The tab dialog trashes (for some deep unknown reason in GEM) the line-a variable source_y, fix: set it before every invocation of txtblt. Expanding and shrinking box added before and after each (nearly) dialog (this is really stupid, since it just slows things down). V2.0a 005 --------- <Alternate> works slightly different again (Meta mode stays the same): If no command value is defined (command = 0) for the key, the character provided by the BIOS is used for output, hopefully this will set an end to all the various complaints about the way it worked previously. V2.0a 006 --------- One file didn't get recompiled after I sorted one of the dialogs in UNITERM.RSC, lead to a major distortion of the popup :-). Fixed for most people with a patch and for myself with recompiling. V2.0a 007 --------- Changed a few internal things in Kermit, which may lead to some user-visible changes one day........ V2.0a 008 --------- The problem with the cursor disapearing now and then (happend sometimes after a change in the LED's), has hopefully been fixed. V2.0a 009 --------- <Shift><F5> couldn't be used as a downloadable key, due to a typo in the code. V2.0a 010 --------- Changed the 'Show Space' code so that it uses the same critical error handler as the fileselectors, one less place where you can bomb UniTerm (just to show off, find any other program that you can't bomb by using a fileselector on an empty floppy drive!). The Light<->Dark buttons in the Terminal Setup 1 dialog have changed from totally useless, to semi-useless. This switch is really redundant since from V2.0a on UniTerm actually keeps it's own complete copy of the color pallette, so it's much more resonable to change fore- and background color with the control panel, none the less V2.0a 010 has been fixed so that changing the state of the buttons inverts the screen (but there is no fixed relationship to what is dark and light). V2.0a 011 --------- Changed a few things in the organisation of the internal screen buffer, double height/width characters should work more consistent with the different character sets available, in particular implementing NRC sets should be a lot easier now. Some useless tech info: Information stored per character (50 Rows * 132 Columns): 1 byte : character 1 word : character set and attribute info: ------------------------------------- | Bit | Function | ------------------------------------- | 15 | 1 = Protected | ------------------------------------- | 14 | | | 13 | Unused | | 12 | | ------------------------------------- | 11 | Character Set (nibble value)| | 10 | currently values from 0 to 8| | 9 | are legal (but not all are | | 8 | used) (this is what changed)| ------------------------------------- | 7 | Attribute | | 6 | 0 : no attributes | | 5 | 1 : bold | | 4 | 2 : blink | | 3 | 8 : underscore | | 2 | 32 : inverse | | 1 | | | 0 | | ------------------------------------- The first VT300 escape sequences have been implemented: ESC?67h Backspace sends ASCII BS and Delete sends DEL ESC?67l Backspace sends DEL and Delete sends BS this is not quite how it's implemented on a VT3XX, since there it only effects the Backspace key. V2.0a 012 --------- New macro commands: %MESSAGE(string) Displays 'string' on the statusline. If 'string' is empty the normal statusline is restored. %SUSPEND() Displays 'Press any key...' on the statusline and waits for a keypress (particulary useful for people that want to have a single key noscroll button). %INLINE(mode) Reads a line from the keyboard (until <Return> is pressed or a maximum of 80 characters are read), if 'mode' is TRUE the characters are echoed. The line read is copied into $TEMP. V2.0a 014 --------- Small changes to the dialer: - if the number and macro field is emtpy, the dialer returns straight away - if the number field is empty, but the macro field has an entry the macro file is executed A tip for people that want the macro to handle the waiting for the CONNECT or whatever it may be message, just leave out the 'Connect msg' entry. The dialer will then immediatley start the macro file after sending the number string (this is not 014 specific!). V2.0a 015 --------- At last I've produced a documented interface to the internal buffers etc. of UniTerm. Access is through the macro variable $VARBLOCK (short $V), to see how it works have a look at the stupid sample program, to start the program reserve something like 20kB of system memory and put the following string on one of the function keys: %RUN('UNITEST.TOS',$V) Don't try this if you have started UniTerm from the CCD/OSS Pascal manager, it's sure to go wrong (this is not a bug in UniTerm!). $VARBLOCK is a string containing the decimal address of following Pascal record (should be no problem using a C struct instead): {ParmBlock contains buffer addresses etc. to be passed on to other processes} ParmBlock = Record PBLength : Integer; {Length of ParmBlock in bytes, handy as a version check} PBFlags : Long_Integer; {Not used yet} PBTextScreen : Long_Integer; {Address of text screen} PBGraphScreen : Long_Integer; {Address of graph screen, same as PBTextScreen if not available} PBScreenBuffer : Long_Integer; {Address of buffer for screen ops etc.} PBTransBuffer : Long_Integer; {Address of buffer used for the various file transfer protocols} PBTransSize : Long_Integer; {Size of the transfer buffer (in bytes)} PBTransPtrAdr : Long_Integer; {Address of the pointer to the current position in the buffer} PBHistBuffer : Long_Integer; {Address of the history buffer} PBHistSize : Long_Integer; {Size of the history buffer} PBHistBotAdr : Long_Integer; {Address of the pointer to the current bottom of the history buffer} PBHistPtrAdr : Long_Integer; {Address of the pointer to the current position in the history buffer} End; New fields will be added at the end of the record, so applications just have to check the length field to know what facilities are available. More information will follow under seperate cover...... V2.0a 016 --------- Initialized cursor properly after ESC Pu.....ESC\ command (host command to have a line executed by UniTerm's macro processor). One remark to this escape sequence: it is a bit of a security hole: a nasty person could get UniTerm to delete you entire disk this way.......... Added a call to form_error after a PExec that goes wrong, is not very helpful (TOS Error #39 is not enough memory). V2.0a 017 --------- Checked that every 'Case' statement has an 'Else' label if the range of the selector variable is larger than the range of case labels. This started causing trouble with release 2.0 of OSS/CCD Pascal, prior to 2.0 non-matched values just caused a fall-through, in 2.0 depending on how the the compiler is feeling this causes a lot of bombs (possibly random code being executed). One place where the problem turned up was in the escape sequence ESC[2m , 2 is actually an illegal value which didn't have a corresponding case label (BTW there were only 5 'Else's missing in 500kB of Pascal source). ************************************************************************** Marion Hakanson Domain: hakanson@cs.orst.edu CSNET : hakanson%cs.orst.edu@relay.cs.net UUCP : {hp-pcd,tektronix}!orstcs!hakanson