; FILE ’ Tricondriver.mu ’
; Predefinitions for Trident disk controller microcode.
; Last modified August 18, 1981 2:11 PM by GWilliams
; Added LOC1 to the Predefs for use by MesaSlotMc.mu. The earlier predef locked out
; the LOC1 predef in MesaSlotMc.
; Last modified June 3, 1981 6:02 PM by GWilliams
#AltoConsts23.mu;Get from [Maxc1]<ALTOSOURCE>AltoConsts23.mu
;**PREDEFINITIONS FOR THE FIRST 40 INSTRUCTIONS**
%17,1777,0,EXITRAM, LOC1,,LOC3,,,,,,,,,,,LOC16,LOC17;
;%17,1777,0,EXITRAM,,,LOC3,,,,,,,,,,,LOC16,LOC17;
;%17,1777,0,EXITRAM,L1,L2,LOC3,L4,L5,L6,L7,L10,L11,L12,L13,L14,L15,LOC16,LOC17
%0,1777,1400,SilentBoot;
;XMesaRam.mu had to be changed by me to avoid its generating a message claiming
;it had allocated loc21 when in fact it hadn’t.
%0,1777,21,LOC21;ModShift subroutine for ECC correction
;%0,1777,22,LOC22;SetBLV subroutine
; There is a hack in the read microcode that causes the reset location
; for task 16 to be used. This means that it is not possible to run
; task 16 (= Diablo disk word task) in the Ram.
; Lock out the Ram Utility Area
%7, 1777, 774, RU774, RU775, RU776, RU777, RU1000, RU1001, RU1002, RU1003;
;***THIS CODE IS CAREFULL PLACED IN THE RAM
;***FOR AN EMULATOR "NO-OP BOOT".
;***THE LSB OF THE BOOT-LOCUS-VECTOR MUST BE 0 FOR THIS TO WORK
;
#XMesaRam.mu;Xmesa microcode
;the following predef must appear after the XMesaRam.mu call
;#MesaBLTLreal.mu;Block transfer implementation
EXITRAM: SWMODE;
START::romnextA;RETURN TO Mesa Emulator
SilentBoot: RMR←stk0; set Boot Locus Vector
L←stkp-1,TASK;
stkp←L;
SINK←100000,STARTF,:EXITRAM; Boot...
;-----------------------------------------------------------------
; MISC - Miscellaneous instructions specified by alpha
;alpha=11 => RCLK has been handled by ROM
;T contains alpha on arrival at MISC in RAM
;-----------------------------------------------------------------
; Precisely one of the following lines must be commented out.
MISC:L←0, SWMODE, :Setstkp;dummy MISC implementation
;#Float.mu;REAL implementation
;Now for the meat--
#TriConBody.Mu;The body of the Trident controller microcode