Standard Emulator Access - Xerox Alto I Hardware Manual

A personal computer system alto series
Table of Contents

Advertisement

Alto Hardware Manual
. Section 8: Control RAM, ROM, and s Registers
59
register" is used to detennine which tasks will start in ROMO and which will start in RAMO. The emulator
Fl RMR
+-
causes the reset mode register to be loaded from the processor bus.
The 16 bits of the
processor bus ·correspond to the 16 Alto tasks in the. following way: the low order bit of the processor
bus.specifies the initial mode of task 0, the lowest priority task (emulator), and the high-order bit of the
bus specifies the initial mode of task 15, the highest priority task (recall that task i starts at location i; the
reset mode register detennines only which microinstruction bank will be used at the outset). A task will
commence in ROMO if its associated bit in the reset mode register contains the value 1; otherwise it will
start in RAMO. Upon initial power-up of the Alto, and after each reset operation, the reset mode register
is automatically set to all ones, corresponding to 'Starting all tasks in ROMO.
8.5
Standard Emulator Access
The . standard emulator includes three instructions allowing basic access to the control RAM.
More
sophisticated access may be implemented by using the basic access primitives to write other access
microcode into the control RAM and theri transferring control to that microcode.
RDRAM (61011B) Read from Control RAM:
Reads the control RAM (or ROM) halfword addressed by ACI into ACO.
The microcode is:
T+-ACl, RDRAM;
L+-ALLONES;
(AND'ed with control RAM data)
ACO+-L, : START;
Note:
In Alto IIs running microcode version 2, this instruction does not work reliably if the
Ethernet interface is running.
WRTRAM (61012B) Write into Control RAM:
Writes ACO into the high-order half and AC3 into the low-order half of the control RAM word
addressed by ACl.
The microcode· is: .
T+-ACl;
L+-ACO, WRTRAM;
(This loads the M register)
L+-AC3;
:START;
JMPRAM (61010B) Jump to Control RAM:
This emulator instruction provides a software interface to the SWMODE instruction so that the
emulator task may enter another bank in RAM or ROM. The next emulator microinstruction will
be detennined from the value in ACI (mod 1024) -- see the discussion of bank switching in
section 8.4. Note that the instruction name (jump to fUM) is misleading, as
SWMODE
may jump to
other places as well.
The microcode for JMPRAM is:
T+-ACl, BUS, SWMODE;
:NOVEM;
(NOVEM
=
0)
This operation is fraught with peril.
If done in error it is the one of the few emulator
instructions which can cause the machine to plunge completely off the deep end.
Although
clever coders can use JMPRAM to detennine whether or not a control RAM is installed, they are
better advised to make this detennination using WRTRAM and RDRAM (see section 9.2.4).

Advertisement

Table of Contents
loading

This manual is also suitable for:

Alto ii

Table of Contents