*********************************************************************** ************** *************** ************** This file refers to CoComm Revision 6.01 *************** ************** Release date is Sep 19th, 1989 *************** ************** *************** *********************************************************************** *********************************************************************** The 6.01 release of CoComm is for AmigaDOS 2.0 only. It will not run under AmigaDOS 1.3 at all. Numerous fixes have been applied to the review buffer; it should now behave in a 100% reliable manner. The windows all have the new 2.0 "look". No new features, as such. *********************************************************************** *********************************************************************** The 5.08 release of CoComm adds support for serial.device software other then the "standard" CBM serial.device. For instance, Supra corp makes an internal modem called the Supra 2400zi. This release of CoComm adds the capability to directly access the "modem0.device" supplied with the 2400zi, without any modifications to the main program. There are three ways you can set up a "different" serial device. If you start CoComm from the CLI, then do it this way: coco [DeviceName] [UnitNumber] for instance... coco modem0.device 0 Once you have done this, if you save the Default.config file, CoComm will always startup using modem0.device, unless you specify something else (like, serial.device) when you start it. From the WorkBench, the rules are similar, but the location that CoComm gets it's information from is the Icon's tooltypes rather than the CLI or Shell line. In the ICON, you can place a line that says: DEVICE=[DeviceName] and/or one that reads: UNIT=[UnitNumber] for instance: DEVICE=modem0.device UNIT=0 If you do have such a value in the tooltypes, it overrides any saved in the Default.config file. NOTE: If you do not have any unusual serial devices in your computer, or one that is "smart", such as ASDG's, then you need not be concerned with this new feature... the default for these items is "serial.device" and unit 0, the same as it has always been. The device name must be less than 39 characters, and the unit number may be from 0 to 32. If the unit number is larger, CoComm will set it to zero for you. If the name is longer than 38 characters, then CoComm will go after the "serial.device". *********************************************************************** *********************************************************************** The 5.07 release of CoComm is designed to handle to new CoWare on CIS, and to fix a few bugs in the previous releases. There is a newly designed file requester in this release, and a utility program to ensure that you can make CoComm run in a co-operative manner with the CIS navigator program "Whap!". *********************************************************************** About Whapping: In the unzooed archive, you will find a program called "hanger". Hanger does just what it's name implies: It hangs around. You invoke it like this: hanger [Text_String_Without_Spaces] Where the '[]' characters denote the OPTIONAL use of a text string. If the text string is supplied, it is printed in the hanger window, and the window is adjusted to match the string width. The reason that CoComm would not work properly with Whap! is that CoComm "detaches" itself from the calling CLI task; this makes Whap! think that CoComm has terminated when in fact it has not. To get around this easily, and still not cripple CoComm's detach capability, we use the hanger program. Instead of calling CoComm as the terminal program for Whap!, use execute to call the following script: coco hanger Waiting_For_CoComm So, if that was called "dococo', you would have (in Whap!): execute dococo You can also use ARexx the same way; in an Arexx script, you'd put something like this: /* Script to run CoComm with Whap! */ address command; 'coco'; 'hanger Waiting_For_CoComm'; If you'll not be using Whap! with CoComm (or the other way around - whatever) then you don't need to use or think about the hanger program, unless you have another application for a non-time hogging program to tie up an execute function. Whap! is the only program we are aware of that works in this fashion. *********************************************************************** Please note that speech, highlighting, and many other features are only designed to operate when you are in AI CO Mode. When not in co, they are disabled. YOU NEED 20k OF STACK FOR COCOMM - 20K MINIMUM!!!! OR GURU!!!!! You should NOT try to initiate Ai Co mode unless you are in Co on CIS. If you do, CoComm will "hang" until you press a ^C character, at which time it will abort the Ai Co request. Ai Co mode precedes EVERY line with ^U, ^H, ^H, ^H, ^H - if you try and run Ai Co mode anywhere BUT in CIS co areas, you'll confuse the HECK out of whatever host you are trying to communicate with! IMPORTANT: For CIS communications, use 8 bits, 1 stop bit, no parity. Memory requirements: CoComm needs about 316k if the Narrator and Translator libraries are NOT available; If it loads them, it needs about 353k to run. See list at the end of this file for change information for this version *********************************************************************** !!! NOTE !!! Many people experience difficulty using CoComm's function keys, due to the program's using many of the non-alphanumeric keys as meta keys. For SIMPLE use of the function keys, follow these rules: Use the '^' character to create a control character: IE: ^C Use the '|' character to send a newline; Enclose normal text within two " quote characters. ^X"TextToSend"| Hope this helps end some of the confusion! BW Feb/14/88 *********************************************************************** *********************************************************************** To setup CoComm, do the following. FIRST: { zoo e// coco.zoo } NEXT: { In WorkBench, doubleclick on the coco icon; after startup, point mouse at Phone Book gadget and click on it after Phone Book opens, select Projects/Keydefs from menus change the phone#, userid#, and password to YOURS, leave quotes! close keydefs window w/close gadget select Projects/Configure/File Cnf click on the 'Phone" entry in file list click on SAVE gadget. CoComm should now be able to call CIS. } You can also use cocomm from the CLI; however, using this set of example functions, you MUST have the directories created as specified above, and you MUST 'cd' to the directory that CoComm is in before typing "CoCo" that starts the show. You can change the macro keys to make CoComm run using all of it's data files from s:, or anywhere else - however be advised that if CoComm cannot find the configlib dir or drawer, it looks in s: for it's "default.config" file - so at least that will HAVE to be in s: Once started, the default file itself will point cocomm to the correct place where rest of the configs are to be found. *********************************************************************** Some things you might like to know: When you download a new Version of CoComm, it's handy to use the def.config file supplied in the ZOO to build your own default.config file again; This prevents any differences in .config file type from causing you any confusion. If you wish to use your previous file, then make SURE you check ALL of the prefs entries, and ALL of the locator entries to be sure they're ok. If they are not, things can get.... well, funny. The best proceedure to follow is to move the new CoComm where you want it to reside - probably where the last one was. Then start it, either using run, or by clicking on it's icon... It will find your old default.config file, and use it to set itself up. Check the preferences window - make sure that all the new items (assuming there are any) are set as you prefer them to be, then close the prefs window and save a new default.config file. CoComm is uploaded with itself. Make of that what you will. You can close the following windows by pressing the ESC key, if you are NOT entering text into a string gadget at the time, and the window is active (selected): The /sen manager window; The Locator window; The Review Buffer window; In this window, the up-cursor and down-cursor keys will scroll the contents just like the arrow gadgets The Macro Keys window; Be careful - if you have a cursor in a text gadget, and you press the ESC key, then the ESC character will be entered into that text gadget instead of closing the window! The Prefs window; The configure files save the following information: The main windows size (only used on startup) The main windows position (also only used at startup) The Chat windows size (also) The Chat windows position (startup only) The review buffer size (startup only, and only if the review buffer... The review buffer position(...is open when saving the default.config file!) chat status - on or off. all of the names and ppn's in the locator window The baud rate (Only used at startup) parity (Only used at startup) word length (Only used at startup) stop bits (Only used at startup) the palette colors used when cocomm is operating Highlight pen choices for: sen's system msgs normal co message name normal co message contents brackets around co message name Preferences; Your name Review buffer controls Chat window status (on or off) the path to look for capture files the path to look for config files the extension to look for on capture files the character position where the auto word-wrap activates your word-wrap trailer string your hard c/r trailer string Custom screen option Interlaced custom screen option underline, boldface, and italics settings If the program cannot find it's startup file, it will setup some simple defaults. The first thing you should do is change all the settings to ones you approve of, and then save a file called "default.config" either in the ConfigLib subdirectory or in your s: assign. Cocomm initially looks in a directory called ConfigLib, if it can find it. Then it looks in the system assign 's:', so if you have default.config files in both places, it will use the one in ConfigLib, rather than the one in s:. Function keys are not buffered - this means that you can set them up with things like "/u co"| for a status report, and press the key even though you're in the middle of a line in the chat window... it won't disturb you, and the status report will come up in the log window. In the config file supplied with this ARC, you will find comments in each of the function keys. To read them, open the function key window using either Right/Amiga/K or the menu entry, click in each key text area in turn, and scroll the text using the left and right cursor keys. Then study this section to learn how each key is programmed. In a function key definition, you can use the following special characters: ^char - generate a control character out serial port | - generate a c/r out serial port ` - rest of function key is ignored ~ - wait for about 1 second >nn"xxx" - start key 'nn' after 'xxx' tenths of a second < - abort '>' key timer ("AnnSTRING" - watch for STRING, use register 'A', if found start key 'nn' )nn - stop watching with register 'nn' @"filespec" - open capture on file 'filespec' @"" - close capture *"yxSTRING" - send STRING to 'x' (s)peech, (w)indow, (o)utserial, (p)rint \nn"path/file" - load new config as 'path/file'.CONFIG start key 'nn' ["filespec" - initialize user gadget window using 'filespec' { - open user gadget window } - close user gadget window ]"DWPSBBBb" - set (D)uplex, (W)ordlength, (P)arity, (S)topbits, (B)audrate =ESCarexx macro nameESC executes external ARexx script file =ESC"arexx commands"ESC executes arexx commands directly =A - Ai Co Mode On =B - Buffered Chat window On =C - Close Chat window =D - Disable Ai Co Mode =E - Emit chat buffer contents =F - Flash screen =Q - Quit CoComm =R - Review Buffer to Front =S - Workbench Screen to Front =U - Update /sen list =W - CoComm Windows to Front (activated) ?"commandline" - Execute DOS command (with I/o to/from nil:) +"xxx"yyy" - BEEP at tone 'xxx' for time 'yyy' &"filespec" - send file 'filespec' (halt w/ ^C) $x - emit next char as normal char instead of execute function :r+ - increment numeric control register 'r' :r- - decrement numeric control register 'r' :r0 - clear numeric control register 'r' :rLn - (L)oad register 'r' with value 'n' #nn - jump to key 'nn' #:xnn - jump to key 'nn' if numeric register 'x' EQUAL 0 #;xnn - jump to key 'nn' if numeric register 'x' NOT EQUAL 0 #>xnn - jump to key 'nn' if numeric register 'x' GREATER THAN 0 #xnn - call key 'nn' if numeric register 'x' GREATER THAN 0 !" - This starts the function key timer. You can start any funtion key with the timer; Syntax is: >nn"x" where nn is the function key number and x is the time, which is a positive number which may be 1 through 99999 - each unit is 1/10th of a second. If you wish to disable the timer, use the "<" function, described next. When the timer times out (If it does) the function key specified will be started. This timer has a range of over 27 hours. "<" - This stops the function key timer; it will not time out, and the function key specified in the ">" statement will NOT be executed. "(" - this "SETs" a watch string. Syntax is: ("AnnSTRING" A = 1 character, A-Z, upper or lowercase: a match register. nn = 2 digits, 01-20: a macro key number. STRING = ASCII: a text string. Once set, until you execute an UNSET (see next item) for this watch string, EVERY time this string is encountered, except during file transfers, the specified function key will be invoked. There are 26 watch strings, 1 for each letter of the alphabet. IMPORTANT NOTE: match registers A-M are CASE SENSITIVE! match registers N-Z are NOT! So; ("A10testING" Will ONLY match this string: testING But: ("N10testING" Will match any of these: testing, TESTING, TESTing, testING, tEsTiNg, TeStInG. Either one would start key F10 executing upon a match. ")" - this UNSETs a watch string. Syntax is: )A where A is 1 character, A-Z, upper or lower case. Once unset, this watch will no longer be functional until another SET operation occurs for it. "@" - this turns the capture buffer on and off. It is followed by a quoted string; ie: @"df0:capfile" this would begin to capture to the file df0:capfile. To turn capture off, use this syntax: @"" that will close the capture file. "*" - This sends a string to the narrator, the printer, or the screen. The string can be either plain ASCII text followed by a quote, or it can be a 'handle' as recieved by the program on a recent line. Syntax is as follows: *"yxSTRING" where 'x' can be one of the four following options, upper or lower case: S - Speech; Text sent to the narrator. W - Window; Text sent to the window. P - Printer; Text sent to the narrator. O - Output; Text goes to CIS, out serial channel. and where 'y' is an OPTIONAL field that can be one of three things; if an '+', then the text is taken from the LAST input line from a CO level line. If an '-', the text is taken from the LAST input line from a /sen level line. if an ':x', the 'x' is a parameter a-z or A-Z, a numeric register - the text will be "43" if the value in the register is 43. If you use the y option, then the STRING portion is omitted, as the string data will come from internal registers. "\" - This loads a new .config; you can use it to run sequences of function keys limited only by disk space. Syntax: \NN"filename" (.config is added automagically) Where NN is the function key to be started after the load completes. If you use 01-20, then the specified function key will be started immediately after the new config is loaded; if you use '00' there, then the config is loaded, but no key is started. Any other value will cause an error condition. "[" - This initializes the User-definable gadget window. it has one parameter, a file name; use it like this: ["path/filename.extension" This will cause CoComm to attempt to read a control file that contains ascii text in a certain format, and if it is successful, a window will be initialized (not opened, though) with the gadgets specified in the control file. You may then use the '{' and '}' functions to open and close the window, respectivly. Here is the format of the file, as demonstrated by an example: Gadget Window Title - window title 03 - number 01-20 (how many gadgets) 05FKEY #5 - key number 01-20, 21-40, or 41-60 09FKEY #9 - key number 01-20, 21-40, or 41-60 20FKEY #20 - key number 01-20, 21-40, or 41-60 You may have only as many gadget def lines as the number you specify under the window title line; Gadget text names are limited to ten characters; All numeric parameters MUST be two digits; And you MUST have as many gadget definitions as you specify on line 2, or the initialization will fail. Using the range 1-20 to specify the fkey to execute will cause the text in the gadget to be color #1; Using 21-40 will cause it to be color 2; and using 41-60 will cause it to be color 3. Put a little differently, pick an fkey 1-20. then, for color 2, add 20. Or, for color 3, add 40. "{" Opens the window initialized by the '[' function, described previously. "}" Closes the window initialized by the '[' funtion, described previously "]" - This allows you to set up the communications parameters from the macro language. Syntax is as follows: ]"DWPSBBBb" where (D)uplex may be (F)ull or (H)alf (W)ord may be (8) or (7) (P)arity may be (O)dd, or (E)ven, or (N)one (S)topbits may be (1) or (2) (BBBb) is a baudrate specification, all of the following are legal: 000 0000 0300 300 1200 2400 9600 the zero value is a special value - it means "Don't change the baudrate" examples: ]"F8N11200" ]"H7E1300" ]"H7E10300" ]"f7n2000" "=" - This initiates CoComm functions. You place a single character after the "=" character, and it performs a function. These characters may be upper or lower case. ="string" Arexx macro (without use of double quotes allowed) =ESCstringESC ARexx macro (Quotes allowed in string) =A "Ai Co Mode On" =B "Buffered Chat window On" =C "Close Chat window" =D "Disable Ai Co Mode" =E "Emit chat buffer contents" =F "Flash screen" =Q "Quit CoComm" =R "Review Buffer to Front" =S "Workbench Screen to Front" =U "Update /sen list" =W "CoComm Windows to Front (activated)" NOTE: if the Chat Window is open, then it is the window that gets activated; If not, then the main log window is activated. "+" - This controls a 'beep' feature. It has two three-digit numeric parameters; Use it like this: +"xxx"yyy" The 'xxx' parameter is the duration of the note; the larger, the longer it lasts. The 'yyy' is the period, or tone of the note; the larger, the lower the tone. "&" - this controls the send file feature. It is followed by a quoted string; ie: &"df0:sendfile" This would send the complete file to the serial output. Filename required. Operation can be halted by a control C. "$" - this, when placed before another of the special characters, causes that character to be emitted normally; IE, putting $| in a macro will send the "|" char, not a new line. "?" - Followed by a quoted string, this implements a DOS execute facility. Use like this: ?"NewCLI" All I/o is to/from the 'nil:' device, so if you need text output, you'll have to make a newcli and go from there. The return code from the command is placed in numeric register 'Z', and so can be tested for zero or non-zero results. ":" - this is a numeric register control command; you follow it with a register A-Z (not case sensitive) and then one of four items; '+', '-', 'L"number"' or '0'. The + increments the register, the - decrements it, the L"number" loads it with the number, and the 0 clears it. So, you could say: :p0 and that would clear register P. You could say, :T+ and that would increment register T. You could say, :uL"45" and that would load register U with the value 45. values can be up to six digits in length, 1 digit minimum. You use these in conjunction with the "#" jump and "!" call operations, described next. Numeric register 'Z' is used by the ?"" execute statement; the return code from the executed command is placed in the 'Z' register so you can test it and control the macro execution based on the results. "#" - this means that the next two chars choose another macro key; ie; #03 will start key F3 executing.... use 01-20. This is a "jump" operation; meaning that once this has occurred, the key with the #nn instruction will NOT resume operation. Optional conditional jump uses another set of syntax; if the '#' character is followed by one of the following four characters: :, ;, <, or > and then a letter a-z or A-Z, then the jump will only occur if that numeric register is ZERO, NONZERO, LESS THAN ZERO, or GREATER THAN ZERO. Used like this: #:q03 This statement says that IF numeric register Q contains zero, THEN we jump to key number 3. Otherwise, execution continues in this key. If you say, #;t04 this means: IF numeric register T is nonzero THEN we jump to key number 4. if you were to say #>b05 then key 5 would be executed IF register b was greater than zero... if it was zero or less than zero, execution continues in the current key. If you were to say # and then a letter a-z or A-Z, then the call will only occur if that numeric register is ZERO, NONZERO, LESS THAN ZERO, or GREATER THAN ZERO. Used like this: !:q03 This statement says that IF numeric register Q contains zero, THEN we call key number 3. Otherwise, execution continues in this key. If you say, !;t04 this means: IF numeric register T is nonzero THEN we call key number 4. if you were to say !>b05 then key 5 would be called IF register b was greater than zero... if it was zero or less than zero, execution continues in the current key. If you were to say !3.99 4.00 : Compiled with Lattice C ( lost 15k in the process! ) 4.01 : Parity problems fixed - parity settings are now correct, my fault, sorry! One consequence of this is that you MUST sign on to CIS with the following settings if you are going to download or upload: 8 Bits 1 Stop bit No parity 7e2 works, but CIS doesn't like it for file transfers. + Small bug, filerequester sorting OLD lists of data before it read in the new lists, fixed. Now sorts only when it has new info. + Both the /sen manager and the Locator will now function outside of the Co area; however, the locator provides different info outside of co - beacause of the way the forum software works, you only get some information about the person - last time on - not where they are. Sorry, but that's the forum software for you. + 4.00 had QB download problem, engendered by the use of the new Lattice 4.0 compiler - fixed now. + Download abort now works; + Aborting uploads will no longer leave the file open; + You can now specify a CUSTOM screen for CoComm to open into. You cannot change from a custom screen back to the workbench, or vice-versa, while running. Choose the desired option in the preferences window, and save the default.config file... from then on, CoComm will use that screen option. + Additional Screen option: "Lace", short for interlace; you can specify that CoComm open the CUSTOM screen as an interlace screen, for 400 or more lines of video. CoComm should use the same standards as your workbench screen - that means if you have extra rows, or columns, via morerows or PAL, the custom screens CoComm creates should also reflect that. The interlace switch also only takes effect when CoComm first starts. 4.02 : Filerequester modified for much faster sorting of file lists, dir lists, and root lists. + Filerequester "OK" message now includes file/dir/root counts for your convenience. + Review buffer now clears and displays immediately after a LOAD review operation (Dunno how I missed THAT one!) + When a load review buffer operation would overfill the review buffer, the notice requester indicates how many lines bigger than the buffer the file was. allowing you to intellegently re-allocate the buffer, if you desire. + Review buffer load would always leave one line from the previous contents in it - no longer. + In v4.01, if you opened an interlace screen, then modified the Prefs settings for non-interlace, saved them in the default.config file with your windows in positions that are not acceptable for a non-interlace screen, CoComm would be unable to restart using that default.config file. Now fixed - you can even use those .configs that didn't work... they'll be ok now. Sorry. 4.03 : This revision adds the ability to use color highlighting on individual words and phrases. Using an exclamation point followed immediately by a numeral (1,2, or 3) will cause the color of the text in Ai Co mode to be changed. The "!1" color is the default; You use a !1 to return a phrase to the original color of the Co Text highlight. Use !2 and !3 to make the text appear in the other colors. This feature can be disabled in preferences, if you don't want others able to control your color set. These text options cancel themselves at the end of each line, so there is no problem with sending up a phrase like this: "!2Hi, Mom." 4.04 : Fix for "Transmit File" operation. Incoming text characters during a transmit operation were not filtered, so it was possible for your screen to go into the ALT character set; looked like crud, and impossible to read, if it happened. Fixed now. + Extensive rework on the other transmit options; the &"" option in the macro keys, and the review buffer transmit as well. + Added preferences gadget for disabling the color highlighting feature - supposed to be in 4.03, but I forgot to do it. + Not a feature of 4.04, exactly, but good to know about: An ARC file has been created that contains a nifty automatic HELP generator for you to use with other people in CO; the file creates a string of requesters that send your choice of HELP files to the user in Co; Really a super use of the macro keys. Included is a complete explanation of how to use it. 4.05 : Xmodem standard (as opposed to Xmodem CRC) file transfer protocol has been added; this allows CoComm to be used for Amiga->Amiga transfers, and of course almost any bulletin board will support xmodem; You can now use all that macro power on other systems! (limited distribution Version) 4.06 : *"sSPEAK TEXT" string output variation had a bug where calling it multiple time quickly in succession would cause a GURU, due to faulty code that was SUPPOSED to be checking to see if the last speech command had completed but wasn't. all fixed now. + Xmodem CRC added... an additional protocol for use with more sophisticated BBS's and networks. + Additional support for 7-bit use; some internal routines were still seeing the 8th bit, missed it because I never run 7 bits, myself. Sorry. + Added Echo/No echo for CoComm -> CoComm/other term use. + Added Half/Full duplex + Added Incoming C/r = C/r OR C/r-LF + Added Outgoing C/r = C/r OR C/r-LF 4.07 : Both Xmodem AND Xmodem-CRC had nasty bug on receiving files due to XON/XOFF problems throughout CoComm, my mistake. This has been corrected... The problem manifested itself as the program's tendancy to swallow the first $11 character that came along - if you dl'd a text file, you couldn't get past block 16, because the protocol sends a $11 at the beginning of block 17. + Related to the above problem, you can now type ^S and ^Q (XON/XOFF) into the log window and they will be sent as you would expect - CIS (and other systems) will respond appropriately. + Doug: The Prefs window has a new item in it; It's a text gadget called "Pass:" You enter into this gadget all the control characters that you want to pass "through" the chat window; For instance, on CIS, the following control characters are used often: ^C - Aborts the current operation completely ^P - Aborts the current operation locally ^S - Stops output to your screen until ^Q ^Q - Resumes output after ^S If you type SQCP into the "Pass:" gadget, then any time you type ^S, ^Q, ^C, or ^P into the chat window, the control character will be immediatly sent on to the host. Note that you can change these characters to anything - and that this function take precedence over standard chat functions; For instance, ^R normally swaps the characters under the cursor in the chat window; if you enter an R into the Pass: gadget, then typing a ^R will only send the ^R on to the host system - NOT swap the characters anymore. Use judiciously. any or all of the 32 possible control characters may be placed in the Pass: gadget; it scrolls to accomodate more than fit in the little window. Order does not matter, nor does lower/upper case. 00-@ 01-A 02-B 03-C 04-D 05-E 06-F 07-G 08-H 09-I 0A-J 0B-K 0C-L 0D-M OE-N 0F-O 10-P 11-Q 12-R 13-S 14-T 15-U 16-V 17-W 18-X 19-Y 1A-Z 1B-[ 1C-\ 1D-] 1E-^ 1F-_ 4.08 : For v4.08 there is an entirely new function, one that allows you to open a window with from 1 to 20 gadgets in it; You control the text that appears in these gadgets, and how many there are. Each of these gadgets can start a function key; The whole thing is controlled by a "define" file, that contains plain ASCII text you use an editor to build. Details are available in the macto key function explanations. + The cursor in the LOG window is now automatically turned off when you are using the chat window; It only appears when you are using the log window directly. 4.09 : the gadget window added in 4.08 would not open into a custom screen - fixed now. 4.10 : Review Buffer window will now shrink somewhat further - in response to some careful critisism. + The gadget window now has the ability to have user-specifed colors for the text in the gadgets - this allows you to highlight the items you consider of overriding importance. You modify the number of the fkey in the beginning of the line for colors: Use 01-20 for color 1, 21-40 for color 2, and 41-60 for color 3. + CoComm can now optionally execute an fkey when it is started; to choose an autostart fkey, enter a number from 1-20 in the "AutoStart" gadget in the prefs window and save as the Default.config file. + CoComm will now remember where you last "parked" the gadget window, so if you close it, it will re-open where it was when you closed it, instead of always starting in the same position. + Somewhere b4 this rev a bug crept in that would not allow you to change the serial parameters except at startup; That's fixed, you can now select the baud rate, parity, and stop bits on the fly at any time w/o quitting CoComm. 4.11 : To the macro language, added the ']' statement - this allows you to set the communications parameters from a macro key operation. This addition makes the phonebook concept now 100% viable using the gadget windows and macro keys. Examine the phone.config F11 key for an example of it's use - there, it sets you to 8N1, Full duplex, and does NOT change your baud rate... Thus ensuring that your protocol transfers with CIS operate correctly. + added the simple quoted string serial output; To send any text except a double quotation mark, simply enclose it in the double quotes, like this: "send this text" + bug fix: macro keys that had a comment at the end would not 'return' when 'called' from another key - fixed now. + default.config demos restructured to use phonebook gadget window, meta funtion that calls CIS (in phonebook config, now) also restructured for easy modification by the new user. 4.12 : QB proto auto-sense disable added for use of the CoComm program on systems that do NOT handle the QB protocol - IE, anywhere but CIS. 4.13 : Added a menu for use in handling the '.def' files; It kind of offended me that you had to use a text editor to prepare them; It 'feels better' to be able to handle everything right from CoComm. Available menu options are save, load, and edit. The Load function automatically opens the editor. 4.14 : Added a DOS Execute function to the macro language; the '?' character is used for it. The return code from the command is placed in numeric register 'Z'. + Added some other conditions to the conditional jump and call facilities. Previously, you could jump or call (using numeric registers) on zero or non-zero conditions; You can now also jump or call on greater than zero and less than zero conditions. This was added because it was observed that some commands returned a negative return code, and you may need to be able to test for that in order to handle it properly. 4.15 : linked with Lattice 'cback.o', removes extra window upon workbench startup. + Review buffer would not remember it's size and position if it was closed by re-selecting the Review Open option, or with Right/Amiga/0, the equivalent Amiga key sequence. Fixed now, both methods work. + Window Titles for both of CoComm's operating windows changed to reflect buffered/unbuffered status. 4.16 : Internal revision - not released 4.17 : Added smooth scroll to review buffer. Selected via menu item in Project menu. + User-defined gadget window has been rearranged to take much less vertical space. Your old define files will still work, they'll just show up a little differently on the display. 4.18 : Added 'E' option to '=' command. This option causes the chat window buffer to be terminated and emitted to the serial port, as if you had typed a c/r and completed the line manually. This may be used to make the last line in a message go out when you have a programmed signoff in a macro key, for instance. 4.19-4.99 were reserved or unused revisions - not released 5.00 : CW Send menu select - translates what you type in the chat window to morse code. Why? Anne and I wanted it. + Nasty bug that caused CoComm to trample low memory has been squashed. Ahhhhh! Finally! + Crunch menu select - Also from the chat window, takes the text you type and does two things to it - First, it removes any spaces typed, and second, it capitalizes the first letter of each word. it would turn "sample sentence" into "SampleSentence" for instance. Again, I wanted this as it's fun to bug people with in Co. heh heh heh. + Line control (Normal/One Blank/No Blanks) - This option is used to make CoComm strip incoming blank lines out of the display. They still go into the review buffer or capture file, but you won't see them in the main window. This is a great convenience when someone has been thoughtless enough to just FILL a message with blanks, which can make it scroll off quickly, especially at high baud rates. + SEN operations in non AI co mode (in other words, at normal forum levels) no longer send the colored line - that was causing some confusing looking displays. The sens are sent as normal text only now. + ARexx interface added. This is a biggie - It's a simple interface, but one with great possibilities. If you don't have ARexx, you won't need to worry about this - but you SHOULD have ARexx - it's immensely powerful, and it's fun, too! ARexx port name is "CoComm_Port" so for external scripts, you would use: address 'CoComm_Port'; as the ARexx command to attach a script to CoComm. As for internal macros (details on how to do those follows), CoComm is a full-fledged ARexx host, and so when you invoke an ARexx macro from within a CoComm macro key, the address is already set to CoComm_Port, there is no need to use that in the script. On the other hand, it doesn't hurt anything. The issue here is that if you're defining a macro that exists complete within a key (as a quoted string) then, since the space in a macro key is limited, you don't want to have to use any extraneous commands. To place an ARexx macro within a CoComm macro key, you use the '=' key indicator along with the escape key. In the following description, the letters ESC refer to one press of the ESC key, NOT the three letters E, S, and C. To place the word Testing on the screen, enter the following into a macro key: =ESC"msg 'Testing'"ESC This can be used anywhere in a macro key with other CoComm macro functions. The reason the ESC key was used instead of the Quote keys is that ARexx takes considerable meaning from either of the quote keys, and we wanted to leave them free for you to use in the ARexx macro. On the other hand, the ESC key can be generated in ARexx by the use of a hex literal, so nothing lost there. If you like, you can use the Double quote instead of the ESC key, but in that case you may not use the double quote in the actual macro. This is also a valid CoComm/ARexx macro: ="'msg testing'" We suggest you use the ESC syntax, however. Commands available for use in ARexx macros with CoComm: CLOSE - terminates CoComm immediately MSG - sends text to unbuffered window. SEND - sends text out modem. SCAN - returns text in rx buffer SETSTEAL - starts steal, sets macro to call on steal. this macro must use the SCAN operation to read the text which is ready. CLRSTEAL - turns off steal mode The ARexx interface is still under development; Let me know of any suggestions you may have for it. If you have questions on how the steal operation is supposed to work, ask me on the forum, either in AmigaVendor or AmigaTech. The SCAN operation may act a little strange at times - still working on it. 5.01 - 5.03 - unreleased except to beta testers 5.05: This release is specifically intended to address the new CoWare on CIS. This new software broke CoComm's Ai Co mode, one of the beatest features it offers the CIS user. At this point, all of the Ai Co features should be functional again. The following bugs were fixed: 1 - the review buffer would cause a crash immediately after it was loaded from a file. This has been fixed. 2 - there were a number of situations that could cause the review buffer to "trash" itself; there are still some, but most have been remidied. 3 - The XMODEM protocol "broke" in the 5.00 release, sorry about that - it's working again. 5.06 - unreleased except to beta testers 5.07: Fixes bug where is CoComm tended to get confused if you opened it's custom screen as a non-interlaced screen if you were also running an interlaced WorkBench. We found this one ourselves, so presumably it wasn't bothering anyone. + There is a workaround for the bug in the ramdisk that causes a faulty error code to be returned from IOErr() in some situations, the ramdisk can now be used with somewhat more confidence, and will always list correctly into the file requester. + There is a completely new file requester, modeled after the original archive manager, but more compliant with the conventions that are becoming widespread such as clicking on the filename rather than the arrow next to it, and double click select and save confirmation capability. Both of these features are new, and they are options - they are not active until you select the appropriate gadgets in the archive manager. + The delete button, the one-shot sort button, and the status line are not used in the new version of the archive manager. + There is still a wrap around bug in the review buffer... this one has eluded us so far.