Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!security!genrad!grkermit!masscomp!clyde!akgua!sb1!sb6!bpa!burdvax!presby!seismo!hao!hplabs!sri-unix!ABN.ISCAMS@usc-isid From: ABN.ISCAMS%usc-isid@sri-unix.UUCP Newsgroups: net.micro.cpm Subject: Re: KERMIT and TAC Message-ID: <14054@sri-arpa.UUCP> Date: Sun, 27-Nov-83 11:52:00 EST Article-I.D.: sri-arpa.14054 Posted: Sun Nov 27 11:52:00 1983 Date-Received: Thu, 1-Dec-83 03:03:57 EST Lines: 60 Mark (also also Keith at W8SDZ): Fully agree with the host properly hanging up/reconfiguring. The KERMIT patch, though is SO very simple. Atchd is my patch I recently sent to a local user who's emulating an IBM PC (kind of) with a Wang PC. Same problem; same fix outta work. David Kirschbaum Toad Hall To: ABN.20E-SP@USC-ISID Subject: Re: TAC X/ON X/OFF In-Reply-To: <[USC-ISID]26-Nov-83 13:42:41.ABN.20E-SP> ------------------------------------------------------------------------ Sir, I don't have the source code of PCKERMIT available now, so I can't move an actual patch over to you. However -- if you can grab the chunk of assembler that actually sends characters out the port when sending packets (in my version its the section with OUTCHR, OUTCH0, OUTCH1, etc...) and move/message it to me, I can put in the patches. What you do is get the character from a register or memory (wherever KERMIT put it)(the character you want to send as part of a packet, that is, and compare it to 40H (the @ sign). If it isn't an @ sign, just go ahead and send it. If it IS -- send it twice!. In my code (8080), it looks like this... outchr: mov a,e ; get the char into A call setpar ; This is the routine that sets parity on ; the char to your desires. I moved it ; up here to keep it out of the TAC loop. mov e,a ; Put the character back into E while we ; use A to check port status. cpi 40h ; compare immediate A with the @ sign. cz outch1 ; Yep - got an @. Call the OUT routine to ; send it the first time, and fall through to ; send it the second time (elegant, no?) outch1: in mnprts ; Get the output ready flat from the Tx ; status port. ani output ; Is the ready bit set? jz outch1 ; Not ready, loop... mov a,e ; Char back into A register outch2: out mnport ; Put it out the modem port (finally). ret ; Return the first time to the OUTCHR ; call, the second time (if there IS a second ; time) to whatever called this. That's all there is to it! Now your code and registers are going to be a bit different, but basically the simple idea works. Have fun... SGM K