Date: 28 Feb 1989 1513-EST From: EIBEN@tops20.dec.com To: Frank da Cruz Subject: Rainbow Kermit Here a 'solicited' response from a Rainbow Kermit user. Rgds, bernie. <<< HUMAN::DISK$HUMAN_WRKD:[NOTES$LIBRARY]KERMIT.NOTE;1 >>> -< KERMIT reopen for business >- ================================================================================ Note 602.1 Modified MS-Kermit for Rainbow available 1 of 1 IOENG::METZ "Better Latent than not at all" 310 lines 27-FEB-1989 18:16 -< Comm Bug and Feedback >- -------------------------------------------------------------------------------- First of all Thanks!!! It's great to have the latest and greatest Kermit for the Rainbow. I use Kermit all the time and just found out about the Script feature (which could save me about an hour a day). You asked for some feedback on using 2.32/A so here it is. Used Kermit in the following Environment: a) Printer printing while Kermit was running a 'dial' script - works. b) Changing SPEED interactively in a 'dial' script file - works. c) Kermit 'push' and SEDT cycles - works. d) Logging sessions - works. e) SET key VT220 definitions - works. f) Interactive sessions on VMS (used remote server commands, connect and file transfers) - works. ------------------------------------------------------------------------- The following identifies some comments/problems with Kermit-MS Version 2.32/A dated 21-Jan-1989 when running on a Rainbow 100+ under MSDOS V2.11 ------------------------------------------------------------------------- SHOW MODEM SHOW COMMUNICATIONS Regardless of the modem status or the communications set-up the following status is always displayed: DSR is off CD is on CTS is off Modem cable is a BCC22-B (14 wire) connected to a Scholar modem. Because of the false status above the following commands will also not function: WAIT [{number, hh:mm:ss}] [\CD] [\CTS] [\DSR] - always times out. HANGUP - does not drop DTR/RTS. [ NOTE: I Debugged all above modem status problems - See end of note for comments]. * Standard Operating Procedure, Bug or feature? 1) 'SHOW?' will only display 'SHOW' as an option where as 'SHOW ?' will display all 'SHOW Options'. (Does the same for all, eg SET etc.) 2) Using a macro embedded in text failed sometimes (dependent on text/definition?) by flaging the text after the macro as '?text'. I had to split the ECHO line in order for it to work. [I don't remember what the actual line was which failed but I do remember it was long. If I find it I'll include it here]. Example only (This does work): ECHO \07\13 \%m test\07 - This or ?test ECHO \07\13\%mtest\07 - that Failed but... ?test ECHO \07\13\%m - this worked ECHO test\07 - when I split the line. 3) When using a Script to log into a VMS system and 'ECHO INPUT OFF' is set. The terminal identifier sequence from the VAX identifies the terminal as UNKNOWN. [This could be an XOFF problem as I noticed that there is a backlog of output (to the rainbow) starting with the UNKNOWN terminal id once the script enters CONNECT and I hit return]. * Known Kermit-MS 2.32/A problems noted elsewhere (sorry I didn't give credit to those who documented but I did run into the problem). 1) Labels require a appended space and comment in order to be 'found'. Instead of :LABEL Use :LABEL ;232/A fix for using labels * Operational Notes/Wishes: 1) Use double ^C to exit Script file execution. (Would be nice to have a 'ON CONTROL_C GOTO LABEL' to abort modem). 2) When using a script file to specify a .com file on a VMS host be careful how you specify the '@file'. Instead of OUTPUT @file.com\13 ;which uses local @file for output Use OUTPUT \13@file.com\13 ;this will run the VMS @file ; KERMIT.EXE Version: 2.32/A 21 Jan 1989 - Modem Control Patches ; ; To fix the modem handshaking problems (I needed to have it work quickly) I ; got a copy of MSXRB1.ASM on CSCMAS which I used to help debug and patch ; (just to many files to downline load slowly... and reassemble). All modem ; handshaking now works (DTR/RTS/SRTS/DSR/CTS/RLSD). Here's how and what I ; changed (not in order of 'found' as you can tell by the comments): ; ; These addresses reflect DEBUGs address which is (+100) of the PATCH ; program address I used. >ren kermit.exe kermit.tmp >debug kermit.tmp ; This fixes the problem where all modem status bits were ; sampled inverted (RB does this) and therefore was shown ; incorrectly under SHOW MODEM or SHOW COMM. ; ; Was Now ; ----------------- ------------------ ; MOV AL,0 MOV DX,mnctrl ; MOV DX,mnctrl IN AL,DX ; IN AL,DX NOT AL ;invert RB modem bits ; ; Note: I left out the MOV AL,0 instruction as I assumed ; that the IN AL,DX over-wrote the AL anyhow. ; ; WAS: B0 00 BA 02 00 EC ; NOW: BA 02 00 EC F6 D0 ; E 87BF BA 02 00 EC F6 D0 ; This fixes the problem where RSLD (Carrier Detect) never ; turned on under SHOW MODEM or SHOW COMM and WAIT n \CD ; never worked (it was only syntax). ; ; Was Now ; ------------------- -------------------- ; getmod2: test al,10 getmod2: test al,10h ; ; was: 0A now: 10 E 87DD 10 ; This fixes the problem where if carrier detect was 'On' ; that the DSR and CTS status was sometimes corrupted ; under SHOW MODEM or SHOW COMM. ; ; Was Now ; ----------------- ------------------ ; MOV mdmhand,80h OR mdmhand,80h ; ; was: C6 06 now: 80 0E E 87E0 80 0E ; Page 2 of 2 ; This corrects the CONNECT so that only DTR/RTS/SRTS turns ; on instead of all bits and some LEDs on the back of the ; Rainbow. (The LEDS would be a nice feature for standard ; programming to display modem status). Functionally the ; original code worked ok. ; ; Was Now ; ----------- ---------- ; MOV AL,030h MOV AL,F1h ; ; E 8B43 F1 ; from 30 to F1 ; This fixes the command 'HANGUP; problem where DTR/RTS did not ; drop and the modem stayed connected. ; ; Was Now ; ----------- ---------- ; MOV AL,00h MOV AL,FFh ; E 8CBF ; FF ; from 00 to FF ; The following changes update a copy of the kermit ; version to reflect the above changes however I'm not ; sure where this is used or displayed. ; E 9EAF ; Change 2'1' to 2'5' (date) 35 E 9EB1 ; Change 'Jan' to 'Feb' 46 65 62 E 9EAC ; change '/A ' to '/AB' 42 ; The following changes update the kermit welcome and VERSION ; command output display to reflect the above patches. ; E AC85 ; Change 2'1' to 2'5' (date) 35 E AC87 ; Change 'Jan' to 'Feb' 46 65 62 E AC82 ; change '/A ' to '/AB' 42 W ; writes patched file Q ; Quit debug >ren kermit.tmp kermit.exe ; ; End of patching ; And for reference: RBCOMM.HLP Updated: 25-Feb-1989 ------------------------------------ The Rainbow CP/M technical documentation appears to be incorrect with respect to port 02h active/asserted conditions. This is an attempt to clarify the 'tested' Comm bit functionality and levels. Rainbow COMM port 02H functions: -------------------------------- * Port 02H - Read definitions (Inputs) 7 6 5 4 3 2 1 0 --- --- --- --- --- --- --- --- Int Int MHFU RLSD CTS DSR SI/ RI Z80 L 88 L Ebl L (CD) SRLSD 80h 40h 20h 10h 08h 04h 02h 01h ?=On ?=On ?=On 0=On 0=On 0=On 0=On 0=On ?=Off ?=Off ?=Off 1=Off 1=Off 1=Off 1=Off 1=Off Typical: 1 1 0 x x x x x Cable: | pin 8 pin 5 pin 6 pin 12 pin 22 | RB output: | <--- On = +6V, Off = -6V ---->| * Port 02H - Write definitions (outputs) 7 6 5 4 3 2 1 0 --- --- --- --- --- --- --- --- LED5 LED6 LED4 LED7 RTS DTR SRTS Speed Select Cable: pin 4 pin 20 pin 19 pin 23 80h 40h 20h 10h 08h 04h 02h 01h 0=On 0=On 0=On 0=On 0=On 0=On 0=On 0=On (Low?) 1=Off 1=Off 1=Off 1=Off 1=Off 1=Off 1=Off 1=Off(High?) *Note: the above LED bits do not match the Status led positions. View: Back of Rainbow --------------------- Status Leds ------- ------ ------ 1 2 3 4 5 6 7 \ / \ / \ / o o o o o o o ----- ---- ---- Rainbow Comm port EIA levels ---------------------------- Power up or writing a 1 (off) shows all output pins at -6V (marked/off). Writing a 0 (on) sets output levels to +6V (Spaced/On). All bits function correctly. (for reference, Xmit Data pin 2 is a -6V or marked when idle). [Scholar modem runs -12V to +12V]. Output level specifications: EIA Data Control Typical === ==== ======= ======= +15V ----------------- (+12V) Space On + 3V ----------------- (+5V) ^ 0V - Invalid Area - v - 3V ----------------- (-5V) Mark Off -15V ----------------- (-12V) -------- Date: Tue, 28 Feb 89 15:33 MDT From: Joe Doupnik Subject: Rainbow updates To: eiben@tops20.dec.com, fdc@cunixc.cc.columbia.edu X-Vms-To: IN%"eiben@tops20.dec.com", IN%"fdc@cunixc.cc.columbia.edu",JRD Bernie and Frank, What a thorough test of Rainbow Kermit. Thanks! SHOW? is a feature since it implies help on the single keyword to-date, SHOW, whereas SHOW ? asks about an empty keyword (whatever can follow the SHOW keyword). Abbreviations are shown by the word? form. Modem bits. Much thanks for this stuff. My DEC Rainbow book is clearly full of errors and I could not figure out the proper polarity of signals at the programmer's end of things (not to mention a blunder or two). Script ECHO. I rather suspect the \%m macro contained an explicit (bare) carriage return vs one of the \13 things. That would terminate the Echo command, leaving the rest for the parser to clean up as noted. The :LABEL thing should not have needed the trailing space (an old problem since cured, unless the MSVRB1.BOO file was not the most recent version). Terminal ident response. That ought to work but have not tested it here during the one brief chance to use a Rainbow. I'll check the code again anyway. Things that worked. Will wonders never cease? Thanks again Bernie, Joe D. ------------------------------