1Welcome to the new (beta) tn3270.
2
3The good news is that MOST system dependent code is in a few subdirectories
4(mostly in sys_curses, on Unix, or sys_dos, on MS_DOS).
5
6Internally, the code has changed substantially.  We now look (to the
7best of our limited ability) like a 3274 controller.  The screen buffer
8is kept in 3270 display code format; keystokes are defined in terms
9of 3270 scan codes (but, no changes to /etc/map3270 are required).
10
11Unfortunately, things are much more complicated that ever.  There are now
12subdirectories.  To wit:
13
14    api/		General library of function needed by API
15			(and, to some extent, by the rest of tn3270).
16
17    arpa/		Location of "telnet.h" (for non-4.3 systems).
18
19    ascii/		Routines necessary to handle the case of running
20			from an ASCII-oriented system (ie: unix).
21
22    ctlr/		The main part of the emulator.  Handles 3270 scan
23			codes, 3270 data stream, 3270 display codes,
24			and EBCDIC.  Also, the internal API function
25			lives here.
26
27    general/		Some general subroutines and data structures of
28			interest to the emulator only.
29
30    sys_curses/		System-dependent code for a curses-based environment.
31
32    sys_dos/		System-dependent code for an MS-DOS-base environment.
33
34    tools/		Various tools.  Most of these are used during the
35			build process.  One (prt3270) is a debugging tool.
36			One (mkmake.y) is quite horrible, and attempts to
37			transform Unix makefiles into PC makefiles.
38
39    utilities/		The source for tnrecv, which receives files
40			(fairly slowly) from an IBM host.  We don't
41			include the IBM side, because we really aren't
42			happy with very much of it (except that it does,
43			sometimes, work).  Hopefully, when we get past
44			the beta stage we will have more robust (and
45			complete) code to share.
46
47The fact that system dependancies are isolated should make it easy
48to port to other systems.  I would like to hear about problems porting
49to new areas.
50
51WHAT IS NOT IN THIS VERSION (sigh):
52
531)	We don't have a native X version yet.  I am waiting for X version 11
54	(though this is mostly an excuse; I could have done version 10,
55	but I haven't had the time).
56
572)	We don't process structured fields.
58
593)	We don't do 3270-style graphics (ala 3193, say).
60
61The above three items WILL be in the next version, which should come
62along "any day now" (say 6 months) (but, they WON'T be in the production
63release of this version).
64
654.2 NOTE:
66
67If you run 4.2 on a vax, you may get error messages involving assignments
68to variables which are pointers to void returning functions.  These
69errors can be corrected by using makefile_4.2 as your makefile.
70
71MS-DOS NOTES:
72
73This version can be built on an MS-DOS system.
74
75We use version 4.0 of the MicroSoft C compiler.  We use version 4.0
76of the MicroSoft assembler.  We use "PolyMake" from "POLYTRON"
77(P.O. Box 787; Hillsboro, OR 97123; (503)648-8595).
78
79There is a problem in that, on a 512KB PC, memory fills up.  Possibly,
80before saying make in the "tn3270" directory, you should say make
81in the "tn3270/api" directory.
82
83The INCLUDE environmental variable is assumed to point to
84the standard include files, plus to whereever the networking include
85files are located.  These are files like <sys/socket.h>.  This is
86assuming that you have a 4.2/3 network emulation package (UB offers such
87a package with their product; my understanding is that FTP Software
88is, or soon will be, offering such a package).
89
90As mentioned in the last paragraph, we use Ungermann-Bass's library
91to perform the networking functions.  Probably other vendors' libraries
92could be integrated as well.
93
94The file utilities/tarread.exe is a small program which reads tar
95files on MS-DOS.  It is from Drew Perkins and CMU.  Many thanks
96to them.
97