;CP/M-80 KERMIT-80 Update History: ; ;******** Version 3.9 ********* ;Fix assembly errors for Osborne, Mikko, MDI introduced by edits described ;below. - F. da Cruz, Columbia U., April 1984 ; ;The following edits by Jeff Damens, Columbia University, April 1984: ; Change Default file mode from BINARY to ASCII. ; Put "Sending..." and "Receiving..." messages in the upper right ; corner during those operations. ; Add "SET TIMER ON/OFF" to enable/disable the "fuzzy" timer. Changed ; the timer code so it doesn't modify itself anymore. The default ; value for the timer is off, but "SET IBM ON" turns it on, "SET IBM ; OFF" turns it off. ; Strip parity from outgoing files before checksum is calculated when ; parity other than NONE is being used. Print a warning when the 8th ; (parity) bit may be lost on outgoing transfers, ie when the bit is on ; and some parity other than none is being used. ; Add 8th bit quoting. ; Add sending break for DECMATE II. ; Fixed a bug in filename parsing - "SET DEFAULT-DISK ?" used to hang, ; because the question mark handling in cmifi decremented the wrong ; pointer, so every character typed afterward was treated as if it were ; a question mark also. ; Fixed rubout handling, display of TAB on the KAYPRO II. ; Fixed a bug that left nulls in the filename. This only affected ; the KAYPRO, which displayed nulls as graphic characters. ; ;Moved IBM communication handshake code from just before sending a packet ;(at what used to be OUTPK7) to just after reading one (INPKT4). Tested with ;our IBM mainframes, seems to work fine. - Frank da Cruz, Columbia ;******** Version 3.8 ********* ;Since "fuzzy" timer seems to work - stuffed it in for IOBYT-systems ;Introduced SET PRinter ON / OFF - In ON and Connect state screen-echo ;will go to printer - assumption that printer can keep up with connection ;-- no fancy buffering or waiting -- ;enlarged Packet-Receive Buffer to 65 hex - this should accomodate the ;"longest" packet... (we broke VAX-communication with 60 hex !!) ;.. sorry to say, we are again at 168 K size - ce la vie ... ;integrated all code-changes from Finland -- However NO guarantee on their ;changes for mikko /kpii - I can't check and the edit was "messy" since ;we had gone ahead several versions. B.E. 3-Feb-84 ;In the following "their" edit-history... ;BS:CPMGENERI.ASM.16 20-Dec-83 23:44:59, Edit by LK.LAAKSONEN ; Merge in some cosmetic modifications for Osborne 1 by Markku Toijala, ; HUT Telephone laboratory. (A minor addition was making the ; backspace key - left arrow - to send a delete during CONNECT. Very ; useful in DEC environment.) ; Fix DELETE display update in command parsing for Kaypro. ;BS:CPMGENERI.ASM.14 21-Nov-83 22:23:22, Edit by LK.LAAKSONEN ; Fix file recognition (a little wonder that it worked!) ;BS:CPMGENERI.ASM.12 10-Nov-83 19:41:38, Edit by LK.LAAKSONEN ; Fix local echo for IOBYTE switching based implementations (contents of ; E may be lost in 'PRTCHR'!) ;BS:CPMMIKKO.ASM.9 14-Sep-83 18:21:27, Edit by LK.LAAKSONEN ; "Normalize" MikroMikko IOBYTE switching. ;BS:CPMMIKKO.ASM.7 31-Aug-83 19:37:25, Edit by LK.LAAKSONEN ; Added CP/M file recognition! ; Don't allow wildcards in output file specs. ; Minor fixes. ;BS:NEW.M80.10 25-Aug-83 18:05:15, Edit by LK.LAAKSONEN ; Major addition: ; A new command, TRANSMIT to send a file line-by-line interactively ; (raw transmission, "TTY protocol", XOFF/XON flow control recognized). ;********************** Version 3.3 ***************************** ;BS:CPMMIKKO.ASM.3 17-Aug-83 20:11:20, Edit by LK.LAAKSONEN ; Strip ^Os from MikroMikko; it will lock the keyboard! ;BS:CPMMIKKO.ASM.3 10-Aug-83 13:41:32, Edit by LK.LAAKSONEN ; Add comm. channel (SIO) set up & restore for MikroMikko (fixes parity). ; Add speed display for Kaypro II and MikroMikko. ;BS:CPMMIKKOII.ASM.18 5-Aug-83 22:22:42, Edit by LK.LAAKSONEN ; Initial MikroMikko support (under MIKKO conditional) based on generic Kermit; ; includes speed set support. (Needs parity reset routine.) ;BS:CPMKAYPRO.ASM.12 3-Aug-83 16:24:11, Edit by LK.LAAKSONEN ; Add cursor control emulation in VT52 mode for Kaypro II & fix some ; cursor control errors etc by Kimmo Laaksonen, Helsinki University of ; Technology Computing Centre (HUTCC). ;******** Version 3.7 ********* ; Introduced Control-C as "alarm-escape" out of protocol-mode - it re-enters ; "Slightly" edited the source to cut size down from 174K to 154K ; This will allow "small" disk users again to edit. (NO changes in ; functionality). Improved readability with TAB's, introduced a ; couple of sub's to remove code-duplication. Grouped MIcro-systems ; into three classes (see switches MAC80,IOBYT,INOUT). ; I left UCB3614 (label inchr: ) fuzzy timer in, however using the ; same technique for ROBIN introduced at 1200 Baud heavy NAK's - ; I don't think, that the "other" systems are so much slower - and ; Network connections are often much slower than 1200 Baud - at least ; I consider the "fuzzy timer" changes questionable for now. ; Also "corrected" all VT52-emulation entries to be 4 bytes long. ; Aside from all the other changes below, UCB3603/3612 have the heaviest ; impact towards reliability under "adverse conditions" - Thanks...B.E. ; ; University of California at Berkeley changes, from Greg Small: ; UCB3603 - skip leading junk in front of packets (reliablility) ; UCB3604 - VT52 emulation tables have to be FOUR BYTES long per entry ; UCB3605 - RMAC assembly changes ; UCB3606 - Trim attribute bits to be able to overwrite R/O files ; UCB3608 - Split TRS-80 support for Lifeboat and Pickles + Trout ; UCB3609 - Fix misplaced DEBUG and "split" line etc. ; UCB3610 - Implement separate terminals TVI925 , ADM3A and "generic" CRT ; UCB3612 - Prevent INPKT-overflow, introduce boundary checking for INPKT ; UCB3614 - Implement "fuzzy" timer for some terminals (Brain, TRS80 etc) ; ... and switch over to V 3.7 -- I will publish UNIX-tools ASAP -- ; ... for CP/M -- NOT again a "hand-edit" please !!! B.E. 22-Jan-84 ;COLUMBIA-20::PS:CPMBAS.M80.2, 12-Dec-83 17:47:18, Frank ; Change version number to 3.6 ;UTK016 9 november 1983 17:15 John Bray, UTK ; set ibm parity for UTCC, warning on, FIX CURSOR ADDRESSING(again,sigh) ; and ttab:'s for several machines. ;UTK015 9 november 1983 17:25 John Bray, UTK ; fix brain's scrend db for assembler bug. ;UTK014 4 November 1983 15:07 by John Bray, UTK ; Fix the conchr routine to know null is 'nothing there' flag. ;********* Version 3.6 ********* ;STEVENS::DSKB:NEWCPM.M80[10,40,CPMKER], 19-Oct-83 16:40, Nick Bush ; Fix a problem with control-X aborting not just the current file of ; a stream of files, but each subsequent one also. ; Fix the FINISH, BYE and LOGOUT commands to make sure that the block ; check type is reset to single character before sending the generic ; command packet. ;STEVENS::DSKB:NEWCPM.M80[10,40,CPMKER], 17-Oct-83 19:20, Nick Bush ; Remove checks for nulls coming from keyboard when connected. This ; should allow nulls to be directly transmitted without having use the ; escape command. ; Make Robin version capable of sending a break on whatever port is being ; used. While doing this, the way the command scanner returned values ; from the keyword table was changed. Previously the values were stored ; as "db value-returned-in-D,value-returned-in-E". This has now been ; reversed. This should not break any keyword tables, since they all ; contained the same value in both bytes. What this change allows ; is the value returned in DE to be used as a normal 16-bit value (or address). ; The routine to send a break will now also ensure that RTS is turned on ; (for the COMM port) after the break is finished. ; Add "GET" as a synonym for "RECEIVE". This should lead to a little more ; consistancy in the names for various commands. ; Make INIADR a subroutine and move it so that START really is ; the start address. ; Make STATUS command print current block check type. ;******************** Version 3.5 *************************** ;CU20B::PS:CPMBASE.M80.2, 13-Oct-83 12:53:08, Frank da Cruz ; Merge in Jeff Damens's code to send BREAK, for the ROBIN only. ; Change FILE-WARNING to simply WARNING, to remove conflict with FILE-MODE. ; Get rid of annoying highlighting in herald on DEC versions. ; Change version number to 3.5. ; 12-October - implemented FULL wildcarding for DIR using CMIFIN, ; a "new" CMIFI scan without Error-messages. SETDISK uses it too. B.G.E. ; 12-October - changed prompt from KERMIT-80> to KERMIT-80 x:> ,where ; x is DEFAULT disk ( for receiving, DIR, SET DEFault-disk ) B.G.E ; 10-October - implemented ERA -command ; This forces change in behaviour - E for EXIT is now minimally EX ! ; DIR gives "true" file-allocation without rounding to minimal Disk-allocation ; DIR is interruptable by any key - it then just gives summary line. ; 9-October 83 - implemented MFNAME the multiple file-name GET-routine ; for SEND and DIR-commands B.G.E ; 5-October 83 - check during CONNECT for Keyboard input B.G.E ; Rec/Transmit speed unaffected - Rainbow-Connect speed up to 1800 Baud ; 4-October 83 - finished directory with summary line B.G.E, DEC ; removed all MVI PRSTR / CALL BDOS with CALL PRTSTR, it's shorter. ;[UTK013] 29 August 1983 16:50 by John Bray, UTK ; Fix problem with cpm 2 or 3's high bits in directory entries. ;[UTK008] 9 July 1983 15:57 by John Bray, U of Tennessee at Knoxville (UTK) ; Initial insert of directory command. ;******************* V 3.4 ************************************* ;CU20B::PS:CPMBASE.M80.2, 3-Oct-83, Frank da Cruz, Columbia U ;(1) Change PRINTX's to .PRINTX's, for new MAC80, V 10(110). ;(2) Print message about backarrow=^S upon ROBIN (VT180) CONNECT. ;(3) Install Osborne 1 fixes from Chuck Bacon, NIH. ;(4) Remove IF..ENDIFs from SET cmd & help tables, allow all commands to be ; parsed, but issue "(Not implemented)" message at runtime when appropriate. ;(5) Print "Interrupted" instead of "Complete" on screen if ^X or ^Z typed. ;(6) Remove "CUCCA/site" from all the startup heralds. ;(7) Remove SET SEND and SET RECEIVE, since they never did anything anyway. ;(8) Change SET CPM-CREATED-FILE command to SET FILE-MODE. ;(9) Change version number to "3.4". ;STEVENS::DSKB:GENERI.ASM[10,40], 30-Sep-83, Nick Bush ; Add a few new items: ; 2 & 3 character block check characters (12-bit sum and 16-bit CRC) ; ^X to abort current file during transfer, and ; ^Z to abort entire set of files (if wildcarded). ; Fix local echo in generic versions. ;STEVENS::DSKB:GENERI.ASM[10,40], 8-Sep-83, Nick Bush ; Put SET PORT command back in for Robin. It will now work by changing ; the I/O byte, and will handle all three ports on the Robin. The ; command will also be in for Rainbow's, DECmate II's, and generic ; versions, but will only have a single option (COMMUNICATIONS). ; For those systems that have additional ports, the entries can be ; easily added by entering the keywords into PRTTAB along with the ; value for the I/O byte which will cause CON: I/O to be done to the ; desired port, and adding the correct help text. ;******************* V 3.3 ************************************* ;DEC-MARLBORO::APPL:GENERI.M80.7, 13-July-83 22:06:23, B.G.E ;KERMIT-80 fills by default any file transmitted from CP/M at the end of ;the file with Control-Z's up to a CP/M record boundary (multiple of 128 bytes) ;This is harmless for CP/M [ SET CPM DEFAULT, SET CPM BINARY condition ] ;However SET CPM ASCII will stop transmission at encounter of the FIRST ;Control-Z; thereby delivering ASCII-files which are more native to larger ;Systems. The default condition [CPM DEFAULT or CPM BINARY] will NOT lead to ;"ever-growing" files (incase one transfers a binary file back and forth ;between the MICRO and the HOST) since the CP/M caused "filling to a 128 byte ;multiple" takes place only once. ; ;Fixed infamous 16K-bug i.e 0K=>32K , 16K =>64K etc on SEND from MICRO ;speed up bit a bit - removed BDOS call to change I/O byte with hand-coding ;now ready to plug directory-command into MICRO-KERMIT ; ; Integrated ISI fix for FILE-warning (tested on VT180), removed LOGGING bug ; introduced by me, when going "generic". ;Bruce Tanners (Cerritos College) mods to allow setting of ASCII/BINARY/ ; or DEFAULT. ; ;PS:GENERI.M80.6, 5-Jul-83 18:22:45, Frank ; Merge in Kaypro II support under KPII conditional from Chad Pearce at Miller, ; Mason & Dickenson Inc, Philadelphia PA. ;PS:GENERI.M80.4, 5-Jul-83 17:25:57, Frank ; Merge in fixes for Apple ][/DC Hayes screen formatting under APPLE ; conditional from Scott Robinson at DEC, Marlboro MA. ;PS:GENERI.M80.2, 23-Jun-83 08:46:35, Frank ; Merge in CP/M 3.0 code for Generic under CPM3 conditional from Bruce Tanner, ; Cerritos College, Norwalk CA. ;PS:KERMIT.M80.16, 4-May-83 17:18:47, Frank ; Reformat some long lines (comments) so that they don't confuse record (card) ; oriented systems (we sometimes ship this file over an RJE link). ;PS:KERMIT.M80.15, 4-May-83 17:04:50, Frank ; Find and fix a few errors in Osborne 1 support, that crept in during ; the big merge. ;PS:KERMIT.M80.14, 4-May-83 13:23:26, Frank ; Comment out ALL of Nick Bush's SET PORT stuff to eliminate some parsing ; errors, this facility will be reinstalled later using IOBYTE switching. ;PS:KERMIT.M80.13, 4-May-83 13:21:45, Frank ; Filter in some of Bernie's speedup changes for Generic/Rainbow. ; Add in DECmate-II support from Walt Lamia at DEC, provided by Bernie. ; Also, specific VT180 (Robin) support has been removed, since the Generic ; code can drive the Robin at at its top speed (4800 baud). ;PS:KERMIT.M80.12, 23-Apr-83 16:19:30, Frank ; The BIG merge -- filtered in the following support from the "mainline" ; version, which was added after this (the "generic"/Rainbow version) split ; off from it: ; Osborne 1 -- Charles Bacon, NIH ; TRS-80 II CP/M -- Bruce Tanner, Cerritos College ; Telcon Zorba -- Nick Bush, Stevens Institute of Technology ; SET PORT command for Robin from Nick Bush. ; Also, changed all symbols to be 6 characters or less, to allow assembly ; by Bruce Tanner's MAC80 8080/8085 cross assmbler on the DEC-10 or -20 ; Now we are back to having ONE SINGLE source for all Kermit-80's (provided ; the Osborne, Apple, Heath, Telcon, etc, have not been broken by careless ; merging). ;PS:GENERI.M80.16, 23-Apr-83 13:48:42, Frank ; Make it print "statistics headers" for screen-formatting versions, but ; not for dumb-terminal versions. ;PS:GENERI.M80.15, 22-Apr-83 22:04:39, Bill Catchings, Lehman Bros. ; Fix the previous merge. Also change NOUT to output in decimal. ;PS:GENERI.M80.2, 20-Apr-83 17:27:24, Frank da Cruz, Columbia U. ; Separate generic from Rainbow Kermit. Generic Kermit sends no ; control codes to the screen, Rainbow sends VT100 (ANSI) codes. Rainbow ; Kermit has its own banner. Otherwise, the two remain identical. ; This had been done before, but had to merge this with Bill's changes ; and some of Bernie's. Still need to merge all this with the mainline ; CPM Kermit, which has new TRS80, Osborne, and Telcon support. ; Also, OSI now does generic-style screen control. ;********************** Version 3.2 ***************************** ; ;(prehistory lost to antiquity...)