read_me.nr revision 1.1 1 1.1 cgd .de @h
2 1.1 cgd 'sp 4
3 1.1 cgd 'tl 'TREK SETUP INSTRUCTIONS''%'
4 1.1 cgd 'sp 2
5 1.1 cgd .ns
6 1.1 cgd ..
7 1.1 cgd .de @f
8 1.1 cgd 'bp
9 1.1 cgd ..
10 1.1 cgd .wh 0 @h
11 1.1 cgd .wh -6 @f
12 1.1 cgd .de pp
13 1.1 cgd .sp
14 1.1 cgd .ne 2
15 1.1 cgd .ti +5
16 1.1 cgd ..
17 1.1 cgd .de s1
18 1.1 cgd .sp 2
19 1.1 cgd .nr S1 +1
20 1.1 cgd .nr S2 0
21 1.1 cgd .ne 5
22 1.1 cgd .in 4
23 1.1 cgd .ti 0
24 1.1 cgd \\n(S1.\ \ \c
25 1.1 cgd ..
26 1.1 cgd .de s2
27 1.1 cgd .sp 1
28 1.1 cgd .nr S2 +1
29 1.1 cgd .ne 3
30 1.1 cgd .in 8
31 1.1 cgd .ti 4
32 1.1 cgd \\n(S2.\ \ \c
33 1.1 cgd ..
34 1.1 cgd .br
35 1.1 cgd .ce
36 1.1 cgd TREK SETUP INSTRUCTIONS
37 1.1 cgd .sp 2
38 1.1 cgd .pp
39 1.1 cgd This document describes all sorts of nifty things
40 1.1 cgd you should know
41 1.1 cgd before you start to muck around
42 1.1 cgd with the trek source code.
43 1.1 cgd Please read them carefully.
44 1.1 cgd .s1
45 1.1 cgd MAINTENANCE
46 1.1 cgd .s2
47 1.1 cgd There are a number of shell files
48 1.1 cgd which you may use to maintain the system.
49 1.1 cgd "Prtrek" produces a copy of the source code.
50 1.1 cgd It pipes its output to lpr
51 1.1 cgd and runs in background.
52 1.1 cgd "Comp" compiles up to nine source modules
53 1.1 cgd and leaves them in .o files.
54 1.1 cgd "Compile" is the same as "comp"
55 1.1 cgd except that it loads after compiling.
56 1.1 cgd If stated without any arguments,
57 1.1 cgd it loads from .o files.
58 1.1 cgd "Compall" compiles all the .c files
59 1.1 cgd into .o files,
60 1.1 cgd but does not load.
61 1.1 cgd It redirects its output to the file "output".
62 1.1 cgd To recompile the entire system,
63 1.1 cgd type
64 1.1 cgd .ti +8
65 1.1 cgd compall
66 1.1 cgd .ti +8
67 1.1 cgd compile
68 1.1 cgd .br
69 1.1 cgd .s2
70 1.1 cgd Main.c contains a variable called "Mother".
71 1.1 cgd This is initialized to the result of the
72 1.1 cgd "getuid()" call for the maintainer of trek
73 1.1 cgd at your installation.
74 1.1 cgd Only Mother is allowed to set trace flags
75 1.1 cgd and run the game at other than the default priority.
76 1.1 cgd .s2
77 1.1 cgd Speaking of priorities,
78 1.1 cgd trek eats up a lot of system resources.
79 1.1 cgd Hence, it normally runs at a very low priority.
80 1.1 cgd This makes it almost impossible to play
81 1.1 cgd if the system is loaded.
82 1.1 cgd However,
83 1.1 cgd the -pN flag sets the priority to N,
84 1.1 cgd which makes it possible to debug
85 1.1 cgd when the system is loaded.
86 1.1 cgd The default priority is set by a #define of
87 1.1 cgd PRIO,
88 1.1 cgd which is set to 10 in the default system.
89 1.1 cgd .s2
90 1.1 cgd Trace information is provided
91 1.1 cgd which may be useful in debugging things in the system.
92 1.1 cgd If you are in a bad way for space,
93 1.1 cgd comment out the #define xTRACE
94 1.1 cgd which appears in trek.h.
95 1.1 cgd This will cause the trace stuff to not occur
96 1.1 cgd in the object.
97 1.1 cgd .s2
98 1.1 cgd The version of trek released to you
99 1.1 cgd is compiled with the -f flag (for no floating point)
100 1.1 cgd and should work without problems on your machine.
101 1.1 cgd You can edit out the -f flag
102 1.1 cgd in "compile" if you have floating point hardware
103 1.1 cgd on your machine
104 1.1 cgd so that it will take less space.
105 1.1 cgd .s1
106 1.1 cgd THE PORTABLE C LIBRARY
107 1.1 cgd .pp
108 1.1 cgd The portable C library was used
109 1.1 cgd to do I/O in trek.
110 1.1 cgd Unfortunately,
111 1.1 cgd the version which we had at Berkeley
112 1.1 cgd had a number of small bugs
113 1.1 cgd which caused trek to do bad things at times.
114 1.1 cgd For some unknown reason
115 1.1 cgd (temporary insanity perhaps)
116 1.1 cgd I rewrote the portable C library.
117 1.1 cgd This version is much smaller than the old version
118 1.1 cgd and has cleaner code.
119 1.1 cgd It also works right
120 1.1 cgd (???).
121 1.1 cgd However, there are a few minor differences
122 1.1 cgd which you should be aware of.
123 1.1 cgd .s2
124 1.1 cgd Scanf no longer ignores the noise characters "\\n",
125 1.1 cgd "\\t", and space in the format string;
126 1.1 cgd i.e.,
127 1.1 cgd these characters now require a match
128 1.1 cgd in the input stream.
129 1.1 cgd .s2
130 1.1 cgd A variable
131 1.1 cgd f_log
132 1.1 cgd has been added
133 1.1 cgd which is the file descriptor
134 1.1 cgd of a "log" file.
135 1.1 cgd If f_log is greater than zero
136 1.1 cgd a copy of everything read from
137 1.1 cgd the standard input
138 1.1 cgd and written to
139 1.1 cgd the standard output
140 1.1 cgd is written in the file f_log.
141 1.1 cgd .s1
142 1.1 cgd DISCLAIMERS
143 1.1 cgd .s2
144 1.1 cgd Frankly,
145 1.1 cgd I am getting pretty sick of playing this game.
146 1.1 cgd Hence,
147 1.1 cgd the version which you get may have several bugs
148 1.1 cgd in it;
149 1.1 cgd I freely admit
150 1.1 cgd that it is probably buggier
151 1.1 cgd than some previous versions.
152 1.1 cgd Sorry about that.
153 1.1 cgd .s2
154 1.1 cgd Along with being buggy,
155 1.1 cgd the game never had quite everything implemented
156 1.1 cgd that was originally intended.
157 1.1 cgd If you see things that look weird,
158 1.1 cgd that may be why.
159 1.1 cgd There are even some features which I have taken out
160 1.1 cgd (like ghost starsystems)
161 1.1 cgd upon deciding that I didn't have the energy
162 1.1 cgd to implement them correctly.
163 1.1 cgd .s1
164 1.1 cgd REQUESTS
165 1.1 cgd .pp
166 1.1 cgd There are several things that I would like to ask of anyone
167 1.1 cgd who does work on the source code.
168 1.1 cgd .s2
169 1.1 cgd Please let me know of any bugs which you find
170 1.1 cgd in the code,
171 1.1 cgd and any fixes which you may have.
172 1.1 cgd Other copies will probably be going out to other people later,
173 1.1 cgd and it would be nice if those copies where less buggy.
174 1.1 cgd Also,
175 1.1 cgd I would be interested in hearing about any
176 1.1 cgd enhancements of the game which you might install.
177 1.1 cgd .s2
178 1.1 cgd Please note that I have a distinct coding style.
179 1.1 cgd I feel that it is cleaner
180 1.1 cgd and easier to read than a more
181 1.1 cgd casual style.
182 1.1 cgd If possible,
183 1.1 cgd please stick to it,
184 1.1 cgd especially if you end up sending tapes back to me.
185 1.1 cgd This goes along with my whole belief in clean code:
186 1.1 cgd I ask you to please avoid obscure code
187 1.1 cgd whenever possible.
188 1.1 cgd If you throw some in,
189 1.1 cgd please don't let me see it.
190 1.1 cgd It just depresses me.
191 1.1 cgd .s2
192 1.1 cgd Unfortunately,
193 1.1 cgd the game is huge.
194 1.1 cgd There are many neat things
195 1.1 cgd which could go in,
196 1.1 cgd if there were only enough space.
197 1.1 cgd However,
198 1.1 cgd I have specifically not gone to seperated I/D
199 1.1 cgd space.
200 1.1 cgd The main reason is that I would like future versions
201 1.1 cgd of the game
202 1.1 cgd to be 11/40 compatible.
203 1.1 cgd .s1
204 1.1 cgd SUGGESTIONS FOR THE FUTURE
205 1.1 cgd .pp
206 1.1 cgd If you happen to have more energy than I do,
207 1.1 cgd you may want to examine the following areas.
208 1.1 cgd These are things that I may get to,
209 1.1 cgd but don't hold your breath.
210 1.1 cgd .s2
211 1.1 cgd Frankly,
212 1.1 cgd making the portable C library work
213 1.1 cgd (even without bugs)
214 1.1 cgd was a bitch.
215 1.1 cgd I should have done the I/O in a more
216 1.1 cgd ad hoc manner.
217 1.1 cgd It is my intent to rewrite the I/O
218 1.1 cgd routines to bypass the portable C library entirely.
219 1.1 cgd .s2
220 1.1 cgd The routine "capture" is quite unclean.
221 1.1 cgd First, it should have a manner of selecting Klingons
222 1.1 cgd other than random,
223 1.1 cgd either selecting the most likely
224 1.1 cgd or asking the captain (probably best).
225 1.1 cgd It should either be fully implemented,
226 1.1 cgd which includes adding a "board" routine
227 1.1 cgd (half written,
228 1.1 cgd on some tapes as board.x)
229 1.1 cgd which sends a boarding party to forcefully
230 1.1 cgd take over the Klingon,
231 1.1 cgd or it should go out completely,
232 1.1 cgd which is probably what I will end up doing.
233 1.1 cgd When this happens,
234 1.1 cgd the transporter will go completely.
235 1.1 cgd It seems that the space may be better used
236 1.1 cgd for something which more directly enhances the game.
237 1.1 cgd .sp 3
238 1.1 cgd .in 0
239 1.1 cgd Well, that's about it.
240 1.1 cgd To get hold of me,
241 1.1 cgd write to:
242 1.1 cgd .nf
243 1.1 cgd .sp
244 1.1 cgd Eric P Allman
245 1.1 cgd Electronics Research Laboratory
246 1.1 cgd University of California
247 1.1 cgd Berkeley, California 94720
248 1.1 cgd .fi
249 1.1 cgd
250 1.1 cgd Happy trekking!!
251 1.1 cgd .pp
252