[comp.binaries.ibm.pc.d] Background terminal Program

dalegass@dalcsug.UUCP (Dale Gass) (07/02/88)

Well, I've got the background terminal program mostly written now.  It
has relatively complete VT102 emulation, and supports xmodem
downloads.  I'll do the upload portion shortly.

There's been quite a bit of interest, so Iwill post this as shareware
when I get thing done.

A lot of people are wondering if Kermit will be available.  I'm a
kermit-hater (no flames, Please) because the protcol is too complex
and (at least around here) no one can tell me how to get it working
successfully through an 8 bit path, so it takes forever with binaries
(Yes, I've tried all the standard suggestions, none of which work).

I'll likely implement Ymodem eventually, since I find it to be an
efficient and reliable batch file protocol, and it's available in the
public domain for unix and VMS.

BTW: With full-blown vt102 emulation, and xmodem download, and solid
background toggling, the .COM file is 5k long...  It allocates another
2k for the screen saving, and 2k for com buffer, and 2k for a stack,
and another 1k or so for a few necessities, but still comes in under
13k resident.  Certainly something I can live with...

-dalegass@dalcsug.uucp
{uunet|watmath}!dalcs!dalcsug!dalegass

pjh@mccc.UUCP (Pete Holsberg) (07/06/88)

Why not also include zmodem, the latest and greatest?

dalegass@dalcsug.UUCP (Dale Gass) (07/06/88)

I've gotten a very large response from the net about my background
terminal program that I'm developing...

All were extremely encouraging...  I'll answer a few of the most
common questions here...

--------------------------------

It's written in assembly language (about 4000 lines so far),
for the sake of speed and simplicity...  The only other thing I 
would consider would be C, but there's an implicit overhead of 
speed and size there, and trickiness with TSR's (especially 
when the library tries to malloc()).  Besides, I'm quite 
confortable with machine language and can get results in 
a minimal number of bytes.

--------------------------------

Currently, it has *very* full VT-102 emulation (even the 80th column
business that most emulators do wrong).  Application keypad is included,
special characters, and so on.  Why VT-102 application some ask?
Well, might as well make the program useful for something other
the merely downloads...  I intend to (and do) use it as my sole terminal
program.

--------------------------------

I've implemented X/Ymodem batch downloads, and X modem uploads.  I'll
do the ymodem batch upload thing tonight or tomorrow, it's not that
hard.  Why not Zmodem?  I'd like to do zmodem, it's an extremely nice
protocol, but it's big and hairy.  Probably double the size of the
program (which is less than 8k right now).  The same goes for Kermit,
but even moreso.  I've looked both at the machine language and C sources
for kermit, and I'll be damned if I can get one clue what the protocol
is.  Maybe if I could find a simple and useable subset of kermit, I'd
implement.  Personally, I see no reason to do so; Ymodem is available
for unix and vms, and offers everything kermit does along the lines of
file transfer.  A lot of people requested kermit; it won't be in the
initial release.  If sharware distribution turns out to be fruitful,
and there's a continued demand for kermit, well, maybe...

No flames about the merits of Kermit, please.  Only constructive
criticism (and maybe some protcol clues).

----------------------------------

As alluded to, it will be distribvuted as shareware, likely with a
suggested donation of $20 or $30 US.  But even if I decide $30, that's
not fixed, and smaller donations will make me happy, so one needn't
feel guilty about using it and only paying $10.  Believe it or not,
I've heard from a lot of people who simply don't use (or claim not to
use) shareware if they don't pay for it.  Kinda encouraging.  Judging
by the response thus far, this utility is useful enough for people to
warrant paying for it.  

-----------------------------------

No scripts for phone directories in the initial release.  Likely, a
flexible script language will be added shortly, since this makes the
program much more useful for general purposes.  The script language
will be simple and structured, and have a lot of if/then/else/loop
constructs to allow checking for all situations on the communications 
line (and error returns from file transfers, etc).  But that won't be
in the initial release.  Again, it also depends upon how many people
come through with donations

I'll probably make it flexible enough so one can implement a phone
directory themselves using the script language (allow keyboard input,
etc).

-------------------------------------

The source will not be distributed.  I've worked long and hard on
this evenings and weekends, and have gotten rather posessive of it 
lately...  However, I'm very open to user suggestions for 
improvements/changes (other than biggies like zmodem/kermit).

------------------------------------

The background operation is more solid than any background terminal
program I've used (including mirror and reflexion II).  It can get DOS
access when most others can't (while obeying the DOS busy stuff).
Also, it hasn't crashed when toggling to foreground/background even at
9600 baud.  There is one very occasional keyboard lockup, but I think
I know where that lies...

-------------------------------------

Release date?  Possibly in two weeks, possibly in three.  I only get a
chance to work on it in my spare time (a couple of hours in the
evenings, and on rainy weekends).  I want to have a solid, tested,
product before I release it as well...  When the first draft is
finished, I'll submit it to the comp.binaries.ibm.pc moderator (if
shareware and binaries haven't been banished by then).

----------------------------------------

Thank you all for your responses.  I couldn't reply directly due to
some hairy paths, but most of the questions were similar,so I thought
I'd answer them in a posting.

---------------------------------------

{uunet|watmath}!dalcs!dalcsug!dalegass

----------------------------------------------