diff --git a/em.1 b/em.1 new file mode 100644 index 0000000..6cba29d --- /dev/null +++ b/em.1 @@ -0,0 +1,330 @@ +'\" t +.\" em.1, Boone, 03/13/20 +.\" Man page for Jim Wilcoxson's Prime 50-Series emulator +.\" --------------------------------------------------------------------------- +.TH em 1 "2020-03-14" "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 +a bypass for Primos system serial number checks +.IP \(bu +Unix utilities to read/write physical tapes & Magsav tapes +.\" --------------------------------------------------------------------------- +.SH OPTIONS +.PP +\fB-boot \fIprogram [ss [ds]]\fR +.IP +Instructs +.B em +to boot the .SAVE-format program in host file +.I program +directly. This is most useful for running standalone utilities such +as diagnostics or MAKE. The sense and data switch registers may +optionally be set. The 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 \fI[filename]\fR +.IP +Specify the name of a PRIMOS load map to read. Symbols are extracted +from the map and used to enhance halt and trace output. +.PP +\fB-mem \fImemsizeMB\fR +.IP +Set the size of emulated main RAM. +.PP +\fB-naddr \fIpnclistenaddr\fR +.IP +Set the IP address 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 (all interfaces 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. +.PP +\fB-ss \fIsenseswitches\fR +.IP +Specify the settings of the emulated front panel sense switches. +.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. +.PP +\fB-trace \fItracetype(s)\fR +.IP +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 including the +.I off +trace type. +.\" --------------------------------------------------------------------------- +.SH FILES +.TP +\fR.lock +Prevents multiple instances of the emulator from simultaneously +accessing disk and tape files in this directory. +.TP +ring0.map +PRIMOS kernel load map for ring 0 routines. Will be automatically +loaded by +.I em +if other names are not specified. Symbols extracted from this file +are used to enhance halt and trace output. +.TP +ring3.map +PRIMOS kernel load map for ring 3 routines. Will be automatically +loaded by +.I em +if other names are not specified. Symbols extracted from this file +are used to enhance halt and trace output. +.TP +ring.cfg +A list of nodes in the ring network. Fields are node number, +ip address and port, unique id (essentially a password). +.TP +amlc.cfg +Used to associate amlc lines with specific hardware devices, or to +configure outbound socket connections. +.TP +ttymsg +The text in this file is sent on each newly accepted inbound telnet +connection. +.TP +mtN +A tape image in +.IR simh .tap +format, or a symlink to such a file. +.I N +is a digit 0-7 indicating which tape drive unit. +.TP +diskNNuN.TYPE +A disk image file. +.I NN +indicates the octal address of the controller to which this emulated +drive is attached. +.I N +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. +.TP +console.log +All console output is also written to this file. It is overwritten +at each invocation. +.TP +trace.log +Any selected trace output is written to this file. It is overwritten +at each invocation. +.\" --------------------------------------------------------------------------- +.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(|); +lfB lfB +l 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 +OWNERL of user#|Trace in the context of this user +instruction count|Trace after specified number of instructions +octal segno|Trace execution in the given segment number +process number|Trace execution of his 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 +.MT prirun_at_gmail_dot_com +Jim Wilcoxson +.ME +.\" --------------------------------------------------------------------------- +.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 . +.\" --------------------------------------------------------------------------- +trace types +