ronbe@tekred.UUCP (Little Guy) (05/20/85)
The TERM program I announced about a month and a half ago has been improved. The program will now work at baud rates above 300 (1200, maybe more, I haven't tried). If I mailed you the program, and you want the new version, let me know. Also, I've still got available the TRANSLAT program which converts Intel Hex to and from TRS-80 executable /CMD format. Unless you want source, I will mail the programs in Intel Hex format. Of course, I will have to send the source for TRANSLAT. Also available: DISASM disassembles memory or object files; DBUG improved debugger with built-in disassembly; and various other utilities for the Z-80 programmer. More about TERM: Running at 1200 baud, characters coming in were getting lost. I figured this was because the (slow) 2.5 MHz Z-80 in my Model III couldn't scroll the screen and handle other video control stuff fast enough to poll the RS-232 as often as it had to. The program has a much-thought-out printer spooler involved, and so I copied that algorithm and created a smaller circular buffer for characters received from the RS-232. Making some small patches into the system RAM, I created my own interrupt handler for receive character available, and buffered them in the circular buffer in real time. Once I had that going, I was disappointed to find that I was still losing characters. After digging into my disassembled ROM listing, I found that interrupts are disabled while doing screen handling. The perfect excuse to write my own screen handler! Mine does carriage return and line feed in the traditional manner without a kludge, as I had done before. Also, BELL (ascii 7) is sent to the printer since the Model III doesn't make noise. I also made tabs work without the previous kludge. All this, and much faster, too. No gobbledy gook contortions that the ROM routines go through. The bottom line is that no more characters are lost, even with the print spooler running and entering and exiting the command menu (automatic X-on/X-off). I can now dump a 50,000 character document to my printer at 1200 baud, be finished receiving it while the printer is still on page 3, end the connection, and let the printer finish the spooling off line without losing a character. The program also features upload and download capability in any ascii format. You want it? You got it. I'm giving it to anyone interested. In keeping with my own modesty, I've got to admit it's the best terminal program I've seen for the TRS-80. I've also got a termcap to make it work for UNIX (yes, that's a tradmark). Send me e-mail or a disk in USnail and I'll get copies off to anyone interested. These are copyrighted, meaning no money shall be made by anyone but me, but I'm not interested in making money. If you're into Z-80 I'm also willing to send sources for hacking. Ron Bemis 659 SW 29th St Redmond, OR 97756 -- New dictionary entries: recursion: see recursive recursive: see recursion ...tektronix!tekred!ronbe (Ron Bemis)
sda@packard.UUCP (DA Schrader) (05/21/85)
I was wondering how smart the TERM program is for UNIX? Does it run VI and use the CURSES and TERMINFO procedures? I have a program which uses these features and has been fully tested at 9600 baud. It supports XON/XOFF and runs a printer at 1200 baud while running the comm line at 9600 baud. I would be happy to make available the code for this to interested parties. It does involve creating a TERMCAP/TERMINFO definition for it to use the smart terminal interface though. I have a copy of the one used for testing if interesed also.
ronbe@tekred.UUCP (Little Guy) (05/24/85)
> From: sda@packard.UUCP (DA Schrader) > I was wondering how smart the TERM program is for UNIX? Does it run VI and > use the CURSES and TERMINFO procedures? Well, this should probably be private mail, but for general info, I'm posting. Yes, TERM works very well with vi. I don't use CURSES, so I can't answer that one. The program was written for UNIX, but works well on the bulletin boards that I've been on. For example, when downloading things to a UNIX system, the program sends a ^D at the end of the file. I use the termcap: -------------------------------------------------------------- setenv TERMCAP 'M6|trs80|trs-80:\ ae=^V:am:as=^V:bs:bw:cd=\037:\ ce=\036:cl=20*\034\037:co#64:do=^Z:ho=\034:\ is=\034\037:kr=\t:ku=[:li#16:ll=\034\033:\ nd=^Y:up=\E' -------------------------------------------------------------- and have had no problems. The fastest I've run the program is at 2400 baud on a direct line. That's the speed of our VT100's here at work, and I just haven't got around to trying it at a faster rate with one of our neato 834 data communications testers. It SHOULD work up to 9600 baud (the fastest the TRS-80 will allow?) since the character received buffer is 50 bytes long, allowing enough buffering for any scrolling slow-downs. Since my TRS-80 Model III does not have a serial printer port (yours does?) I don't know how fast I'm printing. Theoretically, I could print faster than I'm receiving characters if the machine was configurable at a fast enough rate, but most printers can't print that fast. My theory was to just print as fast as the printer would go. I'm also planning to pull some code out of KERMIT to allow use of that protocol in TERM. KERMIT, as received from Columbia, has the same problems mine used to have, namely, you lose characters while doing screen control at anything above 300 baud. Since there's not much screen control going on while transferring files, it works well in send and receive modes. Yes, yet another release will be coming out some day that does KERMIT protocol. Thanks for the enquiries. Ron Bemis 659 SW 29th St Redmond, OR 97756 (503) 923-4460 (work) (503) 923-0580 (home) -- New dictionary entries: recursion: see recursive recursive: see recursion ...tektronix!tekred!ronbe (Ron Bemis)