Skip to content
This repository was archived by the owner on Jul 20, 2020. It is now read-only.

Commit 471ef63

Browse files
author
MDobak
committed
first commit
0 parents  commit 471ef63

37 files changed

+15648
-0
lines changed

00README.TXT

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
08/08/96 - John L. Miller, [email protected], [email protected]
2+
3+
FILES INCLUDED:
4+
00readme.txt - this file
5+
VT100.H - Definitions for VT-100 emulator.
6+
VT100.C - Front end parsing code for VT-100 emulator
7+
CONSOLE.C - Back-end code to allow VT-100 in WinNt/Win95 console
8+
9+
Many UNIX users take terminals for granted, as something you get for free
10+
with the operating system. Unfortunately, this isn't the case for many
11+
non-unix operating systems, especially PC-based ones. After a number of
12+
projects, I decided it would be nice if there was source publicly available
13+
for doing VT-100 emulation.
14+
15+
The files included with this distribution are not a complete implementation
16+
of VT-100 terminal emulation, but do provide complete enough coverage to
17+
use many vt-100 functions over the network. For instance, its enough to
18+
use EMACS to edit, or to connect up to your favorite mud with ANSI color
19+
and graphics characters.
20+
21+
The VT-100 emulator is broken into two parts. The first is the front end,
22+
vt100.c and vt100.h. These files were written to be fairly device-independant,
23+
though admittedly if you're running under a 16-bit operating system instead
24+
of a 32-bit, you might need to change some of the 'int' values to 'long.'
25+
Otherwise, it should work 'as-is'.
26+
27+
The second part is a back-end. The back-end is responsible for doing the
28+
workhorse activities. The front-end parses a character stream, and decides
29+
whether to clear a part of the screen, or move the cursor, or switch fonts.
30+
Then it calls routines in the back-end to perform these activities.
31+
32+
The back-end functions are, for the most part, very straight forward, and
33+
quite easy to implement compared to writing a vt-100 emulator from scratch.
34+
CONSOLE.C is a back-end for use in console (command, dos) windows under
35+
Windows 95 and Windows NT. This console vt-100 emulator is also being used
36+
in my TINTIN-III port and kerberized encrypted telnet port.
37+
38+
39+
TO USE THIS VT-100 EMULATOR:
40+
41+
First, it's intended to be linked directly into source code. You'll need
42+
to change printf's and puts' in your source code to call vtprintf() and
43+
vtputs() instead. You can add additional functions to vt100.c as you see
44+
fit to handle other output functions like putchar() and write(). Another
45+
routine you may want to use is vtProcessedTextOut(), which accepts a
46+
buffer to output, and a count of characters in that buffer.
47+
48+
Second, you need to make sure that your source code calls vtInitVT100()
49+
before it does ANYTHING else. This initializes the vt-100 emulator.
50+
51+
Third, if you want to use this VT-100 emulator with anything besides
52+
Windows NT and Windows 95 consoles, you'll need to implement your own
53+
back end. The list of functions you will need to supply, as well as what
54+
they need to do is contained in vt100.h. The list (minus descriptions)
55+
is as follows:
56+
57+
int beInitVT100Terminal();
58+
int beAbsoluteCursor(int row, int col);
59+
int beOffsetCursor(int row, int column);
60+
int beRestoreCursor(void);
61+
int beSaveCursor(void);
62+
int beSetTextAttributes(int fore, int back);
63+
int beRawTextOut(char *text, int len);
64+
int beEraseText(int rowFrom, int colFrom, int rowTo, int colTo);
65+
int beDeleteText(int rowFrom, int colFrom, int rowTo, int colTo);
66+
int beInsertRow(int row);
67+
int beTransmitText(char *text, int len);
68+
int beAdvanceToTab(void);
69+
int beClearTab(int col);
70+
int beSetScrollingRows(int fromRow, int toRow);
71+
int beRingBell(void);
72+
int beGetTermMode();
73+
int beSetTermMode(int newMode);
74+
75+
For details on what each of these does, read the descriptions of each
76+
function included in vt100.h, and read over CONSOLE.C for examples. I've
77+
included copious comments in all of these files to try to make them as
78+
easy to use as possible.
79+
80+
In any case, it should be easier than writing a VT-100 emulator from
81+
scratch.
82+
83+
KNOWN BUGS -
84+
85+
o Many features of VT-100 emulation aren't implemented. This includes
86+
support for graphics character set 0 and many of the
87+
answerback functions.
88+
89+
Well, good luck!
90+

0 commit comments

Comments
 (0)