Difference between revisions of "M9301 ROM"
(→Variants: Add part #'s) |
(→External links: Add links to code dumps) |
||
Line 54: | Line 54: | ||
* EK-M9301-TM-001, ''M9301 bootstrap/terminator module'' | * EK-M9301-TM-001, ''M9301 bootstrap/terminator module'' | ||
+ | |||
+ | ==External links== | ||
+ | |||
+ | * [http://ana-3.lcs.mit.edu/~jnc/tech/pdp11/ROMs/M9301-YA.mac Disassembled and commented M9301-YA ROM code] | ||
+ | * [http://ana-3.lcs.mit.edu/~jnc/tech/pdp11/ROMs/M9301-YB.mac Disassembled and partially commented M9301-YB ROM code] | ||
+ | * [http://ana-3.lcs.mit.edu/~jnc/tech/pdp11/ROMs/M9301-YF.mac Disassembled and partially commented M9301-YF ROM code] | ||
+ | * [http://ana-3.lcs.mit.edu/~jnc/tech/pdp11/ROMs/M9301-YH.mac Disassembled but mostly un-commented M9301-YH ROM code] |
Revision as of 13:13, 10 September 2018
The M9301 ROM card was a UNIBUS card for the PDP-11 series of computers. It contained 512 words of memory, all readable direction from the UNIBUS (i.e. not windowed). The M9301 also provided termination for the UNIBUS.
It was a dual format card, intended for use in the two top (AB) connectors of a MUD slot, or in a UNIBUS in/out slot.
Most versions were used for bootstrapping the machine, from disk, paper and magnetic tape, etc, but it could be use for any purpose; most DEC-supplied pre-programmed versions included a console emulator, and basic diagnostics. A command to boot the machine could be given in the emulator, using a symbolic device code.
It used four 4-bit wide PROMs to hold the data. The board occupied addresses 773000-773776 and 765000-765776; a configuration switch allowed the lower block to be disabled.
Other configuration switches controlled which address the CPU jumped to on power on (a clever kludge, controlled by one configuration switch, allowed the board to force the CPU to read its power-on PC and PS from the ROM, at a location set by other configuration switches, thereby allowing auto-boot on power-on).
The board came in several main variants, designated M9301-Yx (where 'x' is a capital letter, starting with 'A') came pre-programmed from DEC to perform various functions.
There were two different etch revisions of the card itself, but they seem to be programming-wise identical.
Contents
Configuration switches
The board contains a single 10-switch DIP switch, S1, which controls the board's behaviour.
If S1-1 is set to 'off' (open), the low bank of memory on the card (765000-765777) is disabled; when 'on' (closed) it is enabled.
If S1-2 is 'off', the system will power-up normally; if 'on', the CPU will obtain its new PC/PS pair from locations 173024 on the card, which contain a mixture of bits from the ROM (high bits) and the configuration switch (low bits), which can be used to force the CPU to start executing in the ROM on power-on.
Switches S1-3 through S1-10 contain bits 8 through 1 of the power-on PC (above); the exact meaning will depend on the board variant (below).
Connector tabs
The board contains three connector tabs, which may be used with external switches, to control the board's behaviour.
One, TP3, is a ground return. TP2, when momemtarily grounded, forces the machine to execute a power-fail/restart sequence (by asserting UNIBUS line ACLO). TP1, when grounded, forces the machine to execute the on-board ROM on power on, no matter what the position of S1-2 (above).
Variants
- M9301-YA - (ROMs 034A9, 035A9, 036A9, 037A9) - PDP-11/04 and PDP-11/34 OEM version; had basic diagnostics, console emulator, booted from various devices (RK11 and RP11 disks, TC11 DECtape, TM11 magnetic tape, serial line, high-speed paper-tape reader, TA11 casette tape, RX11 8-inch floppy), supported auto-boot on power on, and also power-fail restart
- M9301-YB - (ROMs 038A9, 039A9, 040A9, 041A9) - /04 and /34 end user version; had basic diagnostics, console emulator, booted from various devices (RK11, RP11, TC11, TM11, TA11, RX11, serial line, high-speed paper-tape reader, RJS, RJP, TJU), also power-fail restart
- M9301-YC - PDP-11/70 version; contained basic CPU, cache and memory diagnostics, booted from various devices (TM11, TC11, RK11, RP11, RK06, RJS, RJP, TJU, RX11)
- M9301-YD - All models; contained code to allow a terminal attached to the machine to be a terminal on some other line; also had boot code for RX11 and DDCMP
- M9301-YE - All models; had basic diagnostics, console emulator; booted from low speed paper tape or DECnet; supported auto-boot on power on, and also power-fail restart
- M9301-YF - (ROMs 480A9, 481A9, 482A9, 483A9) - All models (auto-start not available on PDP-11/45, PDP-11/50); had basic diagnostics, console emulator, booted from various devices (RK11, RK06, RP11, TC11, TM11, TA11, RX11, serial line, high-speed paper-tape reader, RJS, RJP, TJU), supported auto-boot on power on, and also power-fail restart
- M9301-YH - (ROMs 332A9, 333A9, 334A9, 335A9) - /60 and /70 version; contained basic CPU, cache and memory diagnostics, booted from various devices (TM11, TC11, RK11, RP11, RK06, RJS, RJP, TJU, RX11, high-speed paper-tape reader)
- M9301-YJ - All models; had basic diagnostics, console emulator; booted from DECnet, and various devices (RX11, TU, serial line, DMC), also power-fail restart
See also
Reference
- EK-M9301-TM-001, M9301 bootstrap/terminator module