Why do you think that is? It shouldn't be too
difficult to duplicate a
VT100; after all, the specs are available.
Actually, I would say the specs aren't really available. The _manual_ is
available, but it may not be enough information to write a really complete
emulator. There are a couple of reasons for that:
- The manual is usually ambiguous, or doesn't tell you
what happens in all cases under all conditions. I have
a copy of the VT220 programmer's pocket guide, and I've seen
the VT100 and VT220 user's manuals, and this is true of them all.
What happens to quantity X when I do thing Y? What happens
when the characters of an escape sequence are read in?
The character and line attributes on the VT220 are a good
example of this.
- The manual doesn't tell you about undocumented behavior.
If you were writing a complete emulator, you would want all
the undocumented behavior. (e.g., the VT100 "turn on the bell
and never turn it off" sequence) Otherwise, you might want some
of it.
- The manual doesn't tell you how the terminal is implemented.
How many pixels on the screen? How are video attributes stored?
This isn't usually applicable to behavior, but it could be
(in some rare circumstance which I don't know about). And it is
important if you want to write a complete emulator.
I would be happiest to have a complete description of the real terminal.
Other than that, I would be happy to have a complete description of the
emulator. (It may lack some features from the real terminal; it may add
features.) I've never seen this for any emulator.
It's easy to claim that your emulator emulates a particular terminal. The
vtWeb plug-in supposedly emulates VT125. Well, sheesh, they simply see the
VT125 as a slight variation on the VT100, while my reason for getting a VT125
emulator is to see ReGIS graphics. (No, the plug-in doesn't do ReGIS. I'm
still looking for a VT125 or Gigi emulator!) But only a description will let
me find out for certain.
-- Derek