forked from prirun/p50em
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathem.1
405 lines (400 loc) · 11.2 KB
/
em.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
'\" t
.\" em.1, Boone, 03/13/20
.\" Man page for Jim Wilcoxson's Prime 50-Series emulator
.\" ---------------------------------------------------------------------------
.TH em 1 "2020-06-23" "Jim Wilcoxson" "50-Series Emulator"
.\" ---------------------------------------------------------------------------
.SH NAME
em \- Emulator for Prime 50-Series systems
.\" ---------------------------------------------------------------------------
.SH SYNOPSIS
.B em [options]
.\" ---------------------------------------------------------------------------
.SH DESCRIPTION
.PP
.I em
is an emulator for the Prime 50-Series minicomputer family. Prime's
original systems were compatible with Honeywell x16 systems. Prime
heavily extended the architecture. The emulator supports:
.IP \(bu
all Prime CPU modes: 16S, 32S, 32R, 64R, 64V, 32I
.IP \(bu
all Prime models, from the P400 to P6550
.IP \(bu
up to 512MB of memory, depending on the Primos rev and CPU
.IP \(bu
a system console
.IP \(bu
128 incoming telnet terminal connections
.IP \(bu
8 disk controllers, 8 drives each
.IP \(bu
support for all 25 disk drives sold by Prime
.IP \(bu
a tape controller, 4 drives, using the .TAP format
.IP \(bu
a PNC controller emulating RingNet over TCP/IP
.IP \(bu
two sync serial controllers supporting up to 8 lines
.IP \(bu
a bypass for Primos system serial number checks
.IP \(bu
Unix utilities to read/write physical tapes & Magsav tapes
.\" ---------------------------------------------------------------------------
.SH OPTIONS
.PP
If no options are specified, the resulting behavior is equivalent to
\fBem -boot 14114\fR.
.PP
\fB-boot \fIprogram [ss [ds]]\fR
.IP
Instructs
.B em
to directly boot the .SAVE-format program in host file
.IR program .
This is most useful for running standalone utilities such
as diagnostics or MAKE. The sense and data switch registers may
optionally be set. These register values are specified in octal.
.PP
\fB-boot \fIprogram ["regs"]\fR
.IP
As above, but set the initial values of the A, B, X and K registers
from the RVEC area of the program file. The word "regs" is literally
specified on the command line, without the quotes.
.PP
\fB-boot \fIss [ds]\fR
.IP
Boot the machine based on the front panel interpretation of the
specified sense and data switch settings.
.PP
\fB-boot help\fR
.IP
Provide a summary of booting options and exit.
.PP
\fB-cpuid \fIidno|modelname\fR
.IP
Sets the CPU model which will be emulated. This may be specified
using either the id number as returned by the
.B STPM
processor instruction, or using the name of the model. A list of
id numbers and model names appears in the CPU MODELS section below.
.PP
\fB-ds \fIdataswitches\fR
.IP
Specify the settings of the emulated front panel data switches.
.PP
\fB-map|-maps \fIfilename...\fR
.IP
Specify the name of one or more PRIMOS load maps to read. Symbols are
extracted from the map and used to enhance halt and trace output.
.PP
\fB-mem \fImemsize\fR
.IP
If support for setting memory size is compiled in, set the size of
emulated main RAM, in megabytes. The default is 512 MB. Not all
CPU models support this much RAM, but will instead detect a smaller
size.
.PP
\fB-naddr \fIpnclistenaddr\fR
.IP
Set the IP address of the network interface on which
.IR em 's
Prime Network Controller will listen for connections from other
emulated PNCs. If no external emulated systems will be included
in the ring network, it may be more secure to use 127.0.0.1 for
this. The default is 0.0.0.0 (accept connections via any interface
on the host).
.PP
\fB-nport \fIpnclistenport\fR
.IP
Set the TCP port on which
.IR em 's
PNC emulation will listen for connections from other emulated PNCs.
If not specified, PNC emulation will be disabled, and error.log will
report:
.EX
-nport is zero, PNC not started
.EE
.PP
\fB-ss \fIsenseswitches\fR
.IP
Specify the settings of the emulated front panel sense switches. The
default sense switch setting is 14114.
.PP
\fB-tport \fIamlclistenport\fR
.IP
Sets the TCP port on which
.IR em 's
AMLC emulation will listen for incoming telnet connections.
If not specified, AMLC emulation will be disabled and error.log
will report:
.EX
-tport is zero, AMLC devices not started
emulator: device '53 failed initialization - device removed
emulator: device '54 failed initialization - device removed
.EE
.PP
\fB-trace \fItracetype(s)\fR
.IP
If support for tracing is compiled in, select trace types which
will be enabled. Trace elements are written to
.I trace.log
on the host. Multiple trace types may be listed, separated by
spaces. Tracing may be initially turned off by including the
.I off
trace type.
.PP
\fB-dolineclear\fR
.IP
Inject an XON (DC1, 0221) character and a line kill character into the
input buffers each time an AMLC line receives an incoming connection.
The system's configured line kill character is fetched from the
DEFKIL field of FIGCOM, at address 14(0)/705. This behavior helps
counteract lines which have been blocked by internet vulnerability
scanners injecting non-telnet data streams.
.\" ---------------------------------------------------------------------------
.SH FILES
.TP
\fR.lock
Prevents multiple instances of the emulator from simultaneously
accessing disk and tape files in this directory. Created by
.IR em .
.TP
amlc.cfg
Used to associate amlc lines with specific hardware devices, to map
incoming telnet sessions from specific IP addresses to specific line
numbers, or to configure outbound socket connections. Optional.
Example:
.EX
6 /dev/ttyUSB0 # Real device
7 192.168.10.3 # Map incoming telnet to a specific line
8 192.168.10.4:9000 # Outbound socket connection e.g. for spooler
.EE
.TP
smlc.cfg
Used to associate outbound sync serial (MDLC or HSSMLC) lines with destination
IP addresses and port numbers, or to associate inbound sync serial lines
with port numbers. An outbound line corresponds to an RJE site defined as a
SLAVE site, and an inbound line corresponds to an RJE site defined as a MASTER
site. Optional. Comments work the same as amlc.cfg. Example:
.EX
0 10.1.1.3:2554 # Connect to TCP port 2554 of host 10.1.1.3 for outbound line 0
1 9951 # Listen on TCP port 9951 for inbound line 1
.EE
.TP
console.log
All console output is also written to this file. It is overwritten
at each invocation. Created by
.IR em .
The
.B runem
script included with the samples arranges to preserve console.log
files in the
.B logs
subdirectory with datestamped names.
.TP
diskCCuU.TYPE
A disk image file, or a symlink to such a file.
.I CC
indicates the octal address of the controller to which this emulated
drive is attached.
.I U
indicates the unit number of the drive on that controller.
.I TYPE
indicates the drive model, and thus its size and geometry. A list of
supported drive types appears in the DRIVE TYPE section below.
.TP
error.log
Errors are written to this file during operation. It is overwritten
at each invocation. Created by
.IR em .
.TP
mtN
A tape image in
.IR simh .tap
format, or a symlink to such a file.
.I N
is a digit 0-3 indicating which tape drive unit. An empty mtN file
will be created if it does not exist when the drive is first written.
.TP
ring.cfg
A list of nodes in the ring network. Fields are node number (integer
1-249), ip address and port, unique ID (essentially a password, up to 16
non-space characters). Only required if a ringnet is to be established.
Example:
.EX
1 127.0.0.1:8001 1234567890123456 # comment
.EE
.TP
ring0.map
PRIMOS kernel load map for ring 0 routines. Will be automatically
loaded by
.I em
if other filenames are not specified. Symbols extracted from this file
are used to enhance halt and trace output. Optional. This may be
extracted from the
.B PRIRUN
directory.
.TP
ring3.map
PRIMOS kernel load map for ring 3 routines. Will be automatically
loaded by
.I em
if other filenames are not specified. Symbols extracted from this file
are used to enhance halt and trace output. Optional. This may be
extracted from the
.B PRIRUN
directory.
.TP
trace.log
Any selected trace output is written to this file. It is overwritten
at each invocation. Created by
.IR em .
.TP
ttymsg
The text in this file is sent on each newly accepted inbound telnet
connection. Optional.
.\" ---------------------------------------------------------------------------
.SH TRACING
.PP
If tracing is compiled into the emulator, it may be enabled from
the command line. Event types to log are selected via the
.B -trace
option. Tracing may start enabled or disabled, depending on whether
the
.I off
trace type is supplied. Tracing may be dynamically turned on and
off by typing the character ctrl-T on the console. Trace files can
rapidly become very large, and incur a significant performance penalty
on the emulator. The following trace types are supported:
.TS
tab(|);
rfB lfB
r l .
Trace type|What is traced
ear|R-mode effective address calculation
eav|V-mode effective address calculation
eai|I-mode effective address calculation
eas|S-mode effective address calculation
inst|Detailed instruction trace
flow|Summary instruction trace
mode|CPU mode changes
eaap|AP effective address calculation
dio|Disk I/O
map|Segmentation
pcl|Procedure calls
fault|Faults
px|Process exchange
tio|Tape I/O
term|Terminal output
rio|Ring network I/O
off|Start with tracing disabled
all|Everything
flush|Flush trace file after each write
tlb|STLB and IOTLB changes
smlc|MDLC/HSSMLC device I/O
OWNERL|Execution of this PCB
#instruction count|Begin after specified number of instructions
|(the leading # is literal)
octal segno|Execution in the given segment number
|(may interact poorly with "off")
process number|Execution of this user number
.TE
.\" ---------------------------------------------------------------------------
.SH CPU MODELS
.TS
tab(,) allbox;
lfB lfB
l l .
CPUID,MODEL
1,400
3,350
4,450
5,750
7,150
7,250
8,850
9,550
10,650
11,2250
15,9950
16,9650
17,2550
19,9750
21,2350
22,2655
23,9655
24,9955
25,2450
26,4050
27,4150
28,6350
29,6550
31,2755
32,2455
33,5310
34,9755
35,2850
36,2950
37,5330
38,4450
39,5370
40,6650
41,6450
42,6150
43,5320
44,5340
.TE
.\" ---------------------------------------------------------------------------
.SH DRIVE TYPES
.TS
tab(,) allbox;
lfB lFB lfB
l l l .
Suffix,Heads,Comments
80M,5,Storage Module
300M,19,Storage Module
CMD,1/3/5+1,Cartridge Module 32/64/96 MB
68M,3,Fixed Media Device
158M,7,Fixed Media Device
160M,10,Fixed Media Device
675M,40,Fixed Media Device
600M,40,Fixed Media Device
315M,19,MODEL_4475
84M,5,MODEL_4714
60M,4,MODEL_4711
120M,8,MODEL_4715
496M,24,MODEL_4735
258M,17,MODEL_4719
770M,23,MODEL_4845
1.1G,27,MODEL_4935
328A,12,MODEL_4721
328B,31,MODEL_4721 on 7210 SCSI controller
817M,15,MODEL_4860
673M,31,MODEL_4729
213M,31,MODEL_4730
421M,31,MODEL_4731
1.3G,31,MODEL_4732
1G,31,MODEL_4734
2G,31,MODEL_4736
.TE
.\" ---------------------------------------------------------------------------
.SH AUTHOR
.PP
This emulator was written by Jim Wilcoxson. MDLC/HSSMLC support by
Kevin Jordan. Man page by Dennis Boone.
.\" ---------------------------------------------------------------------------
.SH SEE ALSO
This project is hosted at
.UR https://github.com/prirun/p50em/
github
.UE .
.PP
A growing collection of Prime documentation and ephemera is hosted at
.UR https://sysovl.info/
.UE .
.PP
The simh tape format is described in
.UR http://simh.trailing-edge.com/docs/simh_magtape.pdf
.UE .
.\" ---------------------------------------------------------------------------