System with dual RK05 disk drives.

Operators Console
Switches left to right are :-
  • DC OFF/DC ON/STNDBY - A three position rotary switch that controls the system power. DC OFF remove all system power, including MOS memory, DC ON applies system power, and in STNDBY, DC power is removed from the computer, but is maintained for the MOS memory.
  • HALT/CONT - In the HALT position, the program is stopped (including the serial console emulator). In the CONT position, a program can execute. If a program causes the system to halt (eg the halt instruction 000000), then the switch must be first placed in the HALT position and then moved to CONT to resume program operation.
  • BOOT/INIT - If pressed with the HALT/CONT switch in the HALT position, the processor is initialized, but a bus reset is not done and device registers can be inspected in their current state. With the HALT/CONT switch in the CONT position, a boot is initiated (along with a bus reset). The boot action is dependent on the M9301 bootstrap/terminator switch settings.
The indicators, left to right are :-
  • BATT - When off, the batteryis below the minimum required to maintain the MOS memory contents. A slow flash (1 every 2 seconds), the battery is charging and maintaining MOS memory contents. A fast flash (10 per second) indicates that power has be lost and the battery is maintaining the MOS memory.
  • DC ON - Power is applied to the system
  • RUN - The processor is running (not in the HALT state)

Programmers Console
Switches and pushbuttons :-
  • 0-7 - Allows entry of octal digits, which are shifted into the display
  • LSR - Load switch register. A copy of the display contents is loaded into the Unibus register at address 777570.
  • LAD - Load address. The contents of the display register becomes the current address for subsequent deposits, examines and starts.
  • DIS AD - Display Address. Forces the display to show the current address. After a deposit or examine, the display will be showing the current data and not the current address.
  • CLR - Clear the display. You usually have to clear the display before entering a new address or data.
  • EXAM - The memory location pointed to by the current address is displayed. Consecutive examines will increment the current address by two. This key only works with the processor halted
  • DEP - The contents of the display register is deposited into the memory location pointed to by the current address. Consecutive deposits advance the the current address by two. Only works when halted.
  • CNTRL - The control key is an interlock to stop accidental use of special functions.
  • INIT (with CNTRL) - Cause a BUT INIT L to be generated resetting the system.
  • HALT/SS (with CNTRL) - Halt the processor. To single step the machine, halt the processor, then press HALT/SS without the CNTRL key. After a halt, the display will show the program counter.
  • CONT (with CNTRL) - Continue. Allow the processor to continue from the halted state.
  • START (with CNTRL) - Start the processor. The address must first be set using the LAD switch. A BUS INIT L is sent.
  • BOOT (with CNTRL) - Start the code in the M9301 bootstrap/terminator card. The action is determined by the switch settings on the card.
As an example, here is the sequence to load a two instruction loop program :-
	1000 LAD		(set the load address to 1000 octal)
	CLR			(reset the display)
	240 DEP			(deposit NOP instruction in location 1000)
	CLR			(we need this or we get 240776!!)
	776 DEP			(deposit BR .-2 instruction in location 1002)
	1000 LAD		(set the start address)
	CNTRL with START	(start the program running)

Display and Indicators :-

  • A common six digit, seven segment display that is used to show address and data values.
  • SR DISP - Indicates that the display is currently showing the contents of switch register (777570)
  • MAINT - The console is in maintenance mode
  • BUS ERR - Indicates that an examine or deposit tried to access a non-existent memory location

Console Emulator
The M9301 bootstrap/terminator contains a simple console emulator that uses the serial console to perform similar functions to the programmers console. The M9301 also contains CPU diagnostics tests that are performed before entering the emulator. The emulator can be started by the following methods (depending on the M9301 switch settings) :-
  • Turning the system power on.
  • Press and release the BOOT/INIT switch on the operators console
  • Press CNTRL with BOOT on the programmers console
  • Start the M9301 ROM code at 773000
  • Automatic entry from a power failure
When the console emulator is started, it will print out four numbers (R0, R4, SP and PC), followed by the $ prompt. There are only four single letter commands :-
  • L Load address. Type L, space, and then the address, return
  • E Examine. Type E space, and the current location is examined. Type space to view the next location, or return to finish.
  • D Deposit. Type D, space, and then the new data, return.
  • S Start. Type S, return, to start program execution
Here is the previous example sequence using the emulator :-
xxxxxx xxxxxx xxxxxx xxxxxx (R0, R4, SP, PC)
$			    (emulator prompt, not typed !)
$ L 1000		    (set address to 1000 octal)
$ D 240			    (deposit NOP instruction in location 1000)
$ D 776			    (deposit BR .-2 instruction in location 1002)
$ L 1000		    (set the start address)
$ S			    (start)

The M9301 also accepts two character codes, optionally followed by a unit number, to boot various hardware devices. The device codes vary according to the M9301 variant, and the system will crash with a bus error if you use the code for a non-existent device. The codes are :-

Device CodeControllerDescription
CTTC11cassette drive
DBRM02massbus controller
DKRK11disk controller
DLRL11disk controller
DMRK611disk controller
DPRP11disk controller
DSRJS03disk drive
DTTC11DEC tape
DXRX118" floppy drive
MC Combined tape/disk massbus controller
MMTJU16tape drive
MTTM11tape drive
PRPC11high speed paper tape reader
TTDL11paper tape via the console terminal