Category : Assembly Language Source Code
Archive   : UNIVAC21.ZIP
Filename : UNIVAC21.DOC

 
Output of file : UNIVAC21.DOC contained in archive : UNIVAC21.ZIP

P C / 1 1 0 0 (tm)

Level 2R1

------------------------------------------------------------------
MC 1994 FEB 05 SAT
------------------------------------------------------------------
Copyright (c) 1994, Queen City Software, All Rights Reserved
------------------------------------------------------------------
Queen City Software
423 Walnut Street
Suite #219
Harrisburg, PA 17101-1908
(717) 234-4842
------------------------------------------------------------------

SUMMARY:

PC/1100 (tm) is a highly realistic and accurate high-resolution
color graphics emulation of the Univac 1100 Series large-scale
mainframe CPU console. The console display is identical to that
of the Univac 1100/40 CPU -- complete with registers and controls
that are updated in realtime to reflect the CPU emulator's inner
workings. Instruction emulation is based on the Univac 1108
36-bit octal instruction set and has been verified to be bitwise
identical to that of the mainframe.


IMPLEMENTATION:

PC/1100 was developed with Borland Pascal 7.0 and utilizes BGI
graphics drivers from the following developers:

Borland International
Jordan Hargraphix
Knight Software
Thomas Design


COMPATIBILITY:

PC/1100 has been tested extensively under MS-DOS 3.3 through 6.2.
It is fully compatible with DoubleSpace. It functions properly in
a fullscreen DOS window under Windows 3.10 & Windows for
Workgroups 3.11 with negligible performance degradation (386
Enhanced Mode).


SOFTWARE REQUIREMENTS:

MS-DOS 3.3 or higher is required.


HARDWARE REQUIREMENTS:

Approximately 400k of free RAM is required. EEMS support (LIM
4.0) is provided for an extended D-Bank (in Univac terminology,
D-bank = data memory; I-bank = instruction memory).

PC/1100 and all of its components require less than 520k of total
disk space. If the log-to-disk feature is activated, additional
disk space will be required to hold the SYS$LOG$.SDF file that
contains a log of all text displayed on the console (including
each assembly instruction executed, if that feature is also
active).

PC/1100 requires an Intel 80286 or higher CPU to function. A math
coprocessor chip is optional; however, absence of an 80x87 will
not significantly degrade performance.

EGA or higher graphics are required.

Supported video graphic modes include:

EGA (16 color)
VGA (16 color)
SVGA (16 & 256 color)
VESA (16 color)

Supported video graphic adapters include (but are not limited to):

ATI (16 & 256 color)
S3 Chipset [Stealth VRAM etc.] (16 & 256 color)
Trident (256 color)
Video 7 (256 color)

Supported resolutions range from 640x350 to 1280x1024 (hardware- &
driver-dependent).


SPEED:

PC/1100 can reach emulation speeds of approximately 70 IPS
(Instructions Per Second) on an i486/DX50 with 256k of 20ns cache.


UNIVAC PROGRAM EXECUTION:

PC/1100 (UNIVAC.EXE) executes ABS files (ABSolute data elements)
produced by @ASM (Univac 1108 Assembler; included only with
PC/1100 Professional).

PC/1100 is executed by invoking UNIVAC.EXE with the following
command line:

Syntax: UNIVAC abs-filename [/{A|C|L|P|R|X}][$[D|P] [d-banks]

Where: /A = Assembly code of instructions displayed
/C = Clock in realtime clock register R0 enabled
/L = Limspec ems memory use disabled
/P = Print of register dumps disabled
/R = Round bulbs used instead of square bulbs
/X = auXiliary hercules adapter console enable
$D = log to Disk
$P = log to Printer

d-banks = # of D-banks to configure

Abs-filename is the filename of the absolute to be executed. The
extension .ABS must NOT be specified, as it is assumed.

PC/1100 generally produes no output, but does update its
UNIVAC.PNL file, which contains the configuration of the
maintenance panel at the time of last orderly shut-down. Upon
start-up, those panel settings are restored just as they were. At
present, only roller panel settings are saved and restored.

N.B. The command line options MUST be contiguous; no spaces are
allowed between options. It is highly recommended that you use
the U.BAT file to invoke UNIVAC instead, which is created and
maintained by the UCONFIG program.


INSTRUCTION EXECUTION CONTROL:

When PC/1100 bootstraps, it will be in STOP mode. You, as the
console operator, must start it. You do this by using the
operator's controls, which consist of the 10 unshifted function
keys, F1..F10. The basic console keys are laid out as follows:

+----------+----------+
|F1 |F2 |
| | |
| HALF | INITIAL |
| STEP | LOAD |
| | |
+----------+----------+
|F3 |F4 |
| | |
| RELOAD | HALT |
| | |
| | |
+----------+----------+
|F5 |F6 |
| | |
| STEP | STEP |
| UP | DOWN |
| | |
+----------+----------+
|F7 |F8 |
| | |
| AUTO | SINGLE |
| STEP | STEP |
| | |
+----------+----------+
|F9 |F10 |
| | |
| RUN | STOP |
| | |
| | |
+----------+----------+

In 256 color graphic modes, the authentic backlit pushbuttons on
the left console will brighten or dim in response to your F-key
commands.

F1: HALF-STEP - Alternates between Instruction Fetch & Instruction
Execute cycles. Register and memory updates are processed and
displayed only during Execute cycles. This enables you to first
fetch and view the next instruction, and then to execute it and
see the results as they occur in the General Register Stack
(A0..A15, X0..X15, and R0..R15).

F2: INITIAL LOAD - Reloads the ABS from disk; sets the P-Register
(program counter, i.e. address of the instruction currently being
executed) to 000000; zeroes out ALL I-Bank and D-Bank memory;
clears all user AXR registers & internal system registers.

F3: RELOAD - Same as Initial Load, except user AXR registers
remain intact, as do all internal system registers except for the
P-Register, which is reset to 000000.

F4: HALT - Stops the CAU; exits to the DOS prompt or shell.

F5: STEP DOWN - Halves the auto-step rate, i.e. doubles the auto-
step delay.

F6: STEP UP - Doubles the auto-step rate, i.e. halves the auto-
step delay.

F7: AUTO-STEP - Toggles the auto-step feature. Auto-step allows
the operator to control the speed at which instructions are
executed. This is done through the use of a delay register, which
is not directly accessible to the programmer. The delay is in
milliseconds and may range from 1ms up to 1024ms. The F5 & F6
keys control the delay register by shifting it left or right to
simulate multiplication or division by 2. The auto-step delay
register is visible in red and white on the lower left of the
right console panel.

F8: SINGLE-STEP - Executes 1 instruction per key-press (of the F8
key, that is). This is known as the SST key in IBM terminology.

F9: RUN - Executes the instructions as rapidly as possible
(ignoring any auto-step delay). The P-Register is incremented,
the instruction it points to is fetched, executed, and the cycle
repeates until something causes a CAU halt. (CAU =
Command/Arithmetic Unit; IOAU = Input/Output Access Unit.)

F10: STOP - Interrupts continuous or auto-step program execution.
It in no way adversely effects any registers, settings, the
program, or the data. However, while in stop mode, the user may
alter data contained within any GRS register. This is discussed
fully in the PC/1100 Professional "Console Operator Reference"
manual.

To resume execution from STOP mode, F7, F8, or F9 must be pressed.


ROLLER PANEL CONTROL:

There are numerous special keys for controlling PC/1100. The
control-shifted function keys serve the purpose of selecting the
active roller panel register display. These are the 41-bit binary
words on the left side of the panel. There are 9 of them,
numbered 1 through 9 from top to bottom. Upon start-up, RP1 is
active. Notice the knob with the 1 highlighted in green. The
other knobs will have their numbers in white; they are inactive.
Only 1 RP register can be active at any given time.

^F1 through ^F9 allow the operator to immediately make the roller
panel register active. ^F1 activates RP1, ^F2 activates RP2, etc.

^F10 resets the roller panels to the internal presets.

Other roller panel selector keys include:

TAB - next roller panel
BACKTAB - previous roller panel
+ - next roller panel
- - previous roller panel

Wraparound occurs, so going forward from RP9 -> RP1, and going
backward from RP1 -> RP9.

Once active, the cursor pad controls which register the active
roller panel is displaying. The register mnemonic appears just to
the left of the knob in green. To select which register you wish
to view, use the cursor pad as follows:

UP - go to the previous register, e.g. R3 -> R2
DOWN - go to the next register, e.g. A15 -> X0
PGUP - jump to the previous register set, e.g. X7 -> A7
PGDN - jump to the next register set, e.g. X11 -> R11
HOME - select A0 - the first user register
END - select R15 - the last user register


REGISTERS:

The Univac 1100 Series is blessed with a large register set,
called the General Register Stack (GRS):

A0..A15 - Accumulator registers
X0..X15 - Indexing registers
R0..R15 - General registers
P - Program address register (current instruction address)
B - Breakpoint register (user-set hardware interrupt address)
J - Jump history register (P at last Jump of any kind)
U - U (computed effective address OR immediate operand data)
F0- Function Zero (current instruction being executed)


ADDITIONAL CONSOLE COMMANDS:

^A - Toggle assembly language display on/off. Assembly language
mnemonics (operators & operands) appear in the left center of the
console display beneath the register panel.

^D - Toggle log-to-disk feature on/off. May be used to capture a
listing of every single machine instruction executed by PC/1100.

^E - "E-Keyin" - Error abort program; produce register dump on
printer.

^L - Toggle left console panel register updates on/off. Can speed
up instruction execution significantly, but detracts from visual
impact.

^R - Toggle right console panel register updates on/off. Can
speed up instruction execution significantly, but detracts from
visual impact.

Complete documentation of all commands is available only to
registered users of the PC/1100 Professional version.


TERMS:

By using any component of this shareware version of PC/1100, you
hereby agree to the following terms:

PC/1100 may NOT be distributed for commercial or private gain of
any kind, except for a nominal charge to cover disc and/or CD-ROM
duplication.

PC/1100 may NOT be used for any business use (either commercial or
governmental), including -- but not limited to -- testing and/or
debugging of any Univac/Unisys assembly language code.

You agree that you will execute only the UNIFLASH.ABS program with
UNIVAC.EXE. You agree NOT to use it to execute any absolute
element (.ABS file) except UNIFLASH, regardless of the source --
whether generated manually, via an assembler, or converted from an
absolute element downloaded from a Univac/Unisys mainframe.

You accept PC/1100 as-is and indemnify Queen City Software and its
associates against any damages caused by or resulting from its use
or failure to perform as documented.


REGISTRATION:

See the accompanying ORDERFRM.DOC for information on how to order
the complete professional PC/1100 package. You will receive
professionally printed "Installation Reference", "Programmer
Reference", and "Console Operator Reference" manuals, along with
the newest version of PC/1100. A Univac 1108 assembler and
disassembler (@ASM & @DISASM) are included so that you may write
your own programs for PC/1100.


ADDITIONAL NOTES:

If you enjoy PC/1100 -- or experience difficulties with it -- we
would like to receive your comments. Write to Queen City Software
at the above address with compliments or complaints. We will
attempt to respond to all users and fix any bugs (which are bound
to surface due to limitless hardware/software configurations).

If you are a Sperry/Univac/Unisys veteran or user, we are
PARTICULARLY interested in receiving your comments -- especially
those relating to console display and operation authenticity.
Suggestions for additional features are also solicited.


DISCLAIMER:

This document and the described software product were prepared
from publicly available documentation published by the Unisys
Corporation, its predecessor corporations, and other published
sources describing the Univac 1100 Series of computers. Use was
also made of private photographs of the Univac 1100/40 IOAU/CAU
console.

Neither this publication nor the accompanying software are
products of the Unisys Corporation or any of its subsidiaries.
This product has not been authorized by the Unisys Corporation; it
is a third-party software product.

PC/1100 is not guaranteed to be compatible with any member of the
Unisys Series 1100/2200 family of mainframe computers, although
every attempt has been made to implement approximately 2/3 of the
Univac 1108 instruction set.

PC/1100 is an unregistered trademark of Queen City Software.

UNIVAC, SPERRY, SPERRY/UNIVAC, UNISYS, PAGEWRITER, UNISCOPE,
UNISERVO, FASTRAND, and FIELDATA are registered trademarks of the
Unisys Corporation.


@EOF


  3 Responses to “Category : Assembly Language Source Code
Archive   : UNIVAC21.ZIP
Filename : UNIVAC21.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/