home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!ucbvax!CU.NIH.GOV!TUB
- From: TUB@CU.NIH.GOV (Bert Tyler)
- Newsgroups: comp.protocols.tcp-ip.ibmpc
- Subject: Re: I NEED DG EMULATION FOR NCSA TELNET
- Message-ID: <9209152107.aa14583@louie.udel.edu>
- Date: 16 Sep 92 01:06:25 GMT
- Sender: daemon@ucbvax.BERKELEY.EDU
- Distribution: world
- Organization: The Internet
- Lines: 50
-
- (discussing adding terminal emulators to MS-Kermit...)
-
- > The terminal emulation business is a difficult one: complex specs (only ~=
- > hardware), clashes between dedicated terminal silicon and PC hardware, bulk,
- > time/energy, etc). There would have to be really good incentives to consider
- > another terminal which differed greatly from what is present now.
-
- For what it's worth, we here at the National Institutes of Health have
- plenty of incentive both in terms of wanting to make it easy to add
- terminal emulators to MS-Kermit, and wanting to do so in a way that
- gives us the ability to enhance and maintain those emulators rather than
- forcing the "official" MS-Kermit folks to do so - our NIH8188 terminals.
-
- The NIH8188 is a local-editing terminal with features not found in any
- of the terminal emulators in either MS-Kermit or its commercial competitors
- (a logical line width of over 1000 characters, for instance), and we
- have lots of end users that are used to those features and don't
- want to give them up. We also have lots of programs that expect to
- have an NIH8188 on the other side of the cable and send NIH8188-specific
- escape sequences down the line. On the other hand, NIH8188 terminals
- basically don't exist outside of the NIH, and it would be unrealistic
- to expect the Columbia releases of MS-Kermit to include an NIH8188
- emulation mode. Our solution has been to add a "loadable terminal
- emulator" capability to our copies of MS-Kermit.
-
- Our "loadable terminal emulator" code consists of a new command - "set
- terminal driver <filename>" - and a number of hooks into MS-Kermit's
- terminal emulator code. The "set terminal driver ..." command looks for
- the named file, verifies that it contains appropriate latch-up code at
- the right places, allocates the required memory, loads the emulator code
- there, and calls some initialization code to let the emulator start up.
- After that, all communication to and from the emulator is through the
- above-mentioned hooks and a single table-driven entry into the
- emulator code.
-
- (Yes, there's a performance penalty with using this sort of indirect
- code. No, it doesn't seem to be a noticable performance penalty on
- today's hardware.)
-
- The item with the single biggest impact on MS-Kermit was the fact that
- we had to add 128 new "action" verbs (we called them "x1" through
- "x128") to make room for all the extra function keys that are on
- the NIH8188 in addition to the "normal" ones. That puppy has a wiiiide
- keyboard <grin>.
-
- Adding a new terminal emulation is never easy, but at least this way
- it's do-able - and in a way that doesn't force MS-KErmit to carry
- the baggage of unneeded terminal emulators in everybody's copy of
- the program.
-
-