|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 63602 (0xf872)
Types: TextFile
Names: »F8047DSRC«
└─⟦defd908de⟧ Bits:30005536 8" CR80 Floppy CR80FD_0243 ( CR/D/2198 )
└─⟦6cf532d85⟧
└─⟦this⟧ »F8047DSRC«
WORDLENGTH=56 ,
PROMWIDTH=8 ,
JUMPDED=1 ,
PROMLENGTH=1024
.
1 5 10 0 ,
2 24 8 0 ,
3 0 1 0 ,
4 14 1 0 ,
5 1 4 1 ,
6 15 2 1 ,
7 17 2 0 ,
8 19 3 0 ,
9 22 2 1 ,
10 32 1 0 ,
11 33 3 0 ,
12 36 4 0 ,
13 40 7 125 ,
14 47 1 1 ,
15 48 1 1 ,
16 49 1 1 ,
17 50 1 1 ,
18 51 1 1 ,
19 52 2 0 ,
20 54 2 2 ,
.
UNC=1,3
CLIN=1,4
JZ=15,5
CJS=14,5
JMP=13,5
CJP=12,5
PCLC=11,5
JRP=8,5
RFCT=7,5
RPCT=6,5
CRET=5,5
CJPP=4,5
LDCT=3,5
ENLO=2,5
TWB=0,5
CLBY=0,6
STBY=3,6
STCM=0,7
TRK=1,7
SCT=2,7
DAT=3,7
AQ=0,8
AB=1,8
ZQ=2,8
ZA=4,8
DA=5,8
DQ=6,8
DZ=7,8
Q=0,9
BA=2,9
B=3,9
C=1,10
ADD=0,11
SUB=1,11
BUS=2,11
OR=3,11
AND=4,11
IAN=5,11
EXO=6,11
EXN=7,11
A0=0,12
A1=1,12
A2=2,12
A3=3,12
A4=4,12
A5=5,12
A6=6,12
A7=7,12
A8=8,12
A9=9,12
A10=10,12
A11=11,12
A12=12,12
A13=13,12
A14=14,12
A15=15,12
COND=126,13
RDY=123,13
RAM=119,13
RL=111,13
RU=95,13
DAL=63,13
NIB=127,13
RIC=0,14
UPBY=0,15
UNIT=0,16
WIC=0,17
LATCH=0,18
WRA=1,19
DU=2,19
DL=3,20
MR=0,20
BIT1=#3FF,1
.
;ST FD CTRL CR8047D/010AB/01 ;.
;FIRMWARE VERSION 811130/BBP ;.
;BUILD-IN-TEST IMPLEMENTED ;.
;UPDATED LAST: 820116.
;.
BIT: UNC CJP T2910 STBY MR ;SET BUSY MR1791 ;.
JZ STBY MR ;2910 ERROR ;.
UNC CJS BIT1 STBY MR ;TRY RESET CMD ;.
;.
;.
E2910: UNC CJP LOC STBY MR ;.
E2901: UNC CJP LOC STBY MR ;.
;.
EIBUS: UNC CJP LOC STBY MR ;.
;.
EABBUS: UNC CJP LOC STBY MR ;.
;.
ERAM: UNC CJP LOC STBY MR ;.
;.
ETIMER: UNC CJP LOC STBY MR ;.
;.
E1791: UNC CJP LOC STBY MR ;.
;.
;.
;****** 2901 TEST SUBROUTINES ****** ;.
T29011: AND ZA A0 B MR ;A0_00 Y=RESULT Z=1 ;.
BUS ZA A0 B MR ;A0_#FF Y=RESULT Z=0 ;.
CJP E2910 AND ZA A0 B MR ;Z=1 ;.
CRET BUS ZA A0 B MR ;Z=0 TEST CRET ;.
UNC CJP E2910 MR ;RETURN TO MAIN PROGRAM ;.
;.
;.
;.
;***** 2910 TEST SUBROUTINES ****** ;.
;.
T29101: UNC CRET MR ;.
UNC E2910 MR ;.
;.
T29102: UNC CJS T29103 MR ;.
UNC CJP E2910 MR ;.
;.
T29103: UNC CJPP T29104 MR ;.
UNC CJP E2910 MR ;COME HERE IF JPP DEFECT ;.
;.
T29104: UNC CRET MR ;RETURN TO T2910 IF POP OK ;.
;ELSE RETURN TO T29102+1 ;.
T29105: CJS E2910 AND ZA A0 B MR ;.
CJS T29103 BUS ZA A0 B MR ;CALL IF OK ;.
UNC CJP E2910 MR ;ELSE GOTO ERROR LOOP ;.
;.
T29107: UNC CJS T29108 MR ;PUSH T29107+1 TO STACK ;.
UNC CJP E2910 MR ;COME IF POP ERROR ;.
;.
T29108: AND ZA A0 B MR ;CLEAR REG 0 ;.
CJPP T29109 BUS ZA A0 B MR ;FORCE THE JUMP CONDITION ;.
UNC CJP E2910 MR ;ERROR EXIT ;.
;.
T29109: UNC CRET MR ;RETURN TO MAINLOOP IF POP ;.
;WAS OK,ELSE RET TO T29107+1 ;.
;.
T2910A: LDCT T2910B MR ;REG_JUMP ENTRY ;.
JRP AND ZA A0 B MR ;JUMP TO LOC T2910B ;.
UNC CJP E2910 MR ;.
;.
T2910B: UNC CRET MR ;COME HERE IF LDCT&JRP WASS ;.
;OK ;.
;.
;.
T2910C: LDCT 1(#FF) AND ZA A0 B MR ;LOAD COUNTER R0_0 ;.
RPCT LOC SUB ZA A0 B MR ;DECREMENT COUNTER ;.
CJP E2910 OR ZA A0 MR ;.
UNC CRET MR ;COME IF CNT=R0 ;.
T2910D: UNC PCLC 1(#FF) AND ZA A0 B MR ;LOAD COUNTER+STACK ;.
RFCT SUB ZA A0 B MR ;DCR COUNTER A0_A0+1 ;.
CJP E2910 OR ZA A0 MR ;.
UNC CRET MR ;.
;.
;***** 1791 TEST SUBROUTIN *****
ENTRY: R10= PREVIOUS STATE
EXIT: R8 = CURRENT STATE OF INPUT REGISTER
R10= LAST STATE OF STPU
R1 DESTROED.
W1STPU: AND ZA A1 B ;CLEAR COUNT REG.
W1ST: LDCT 1(#20) OR DZ A8 COND B ;READ INPUT REG.
2(#40) AND DA A8 Q ;MASK STPU BIT.
CRET IAN AQ A10 ;RETURN IF POS EDGE.
RPCT W1ST OR ZQ A10 B ;UPDATE STATE REG.
C ADD ZA A1 B ;INCREMENT LOOP CNT.
CJP W1ST OR ZA A1 ;LOOP MAX 10 MSEC.
UNC CJP E1791 ;THEN GIVE UP.
;***** 2910 TEST MAINLOOP ***** ;.
;.
T2910: UNC CJS T29101 MR ;TEST CALL/RET ;.
UNC CJS T29102 MR ;TEST JPP ;.
;.
;THE FOLLOWING 2901 TEST MUST BE PERFORMED BEFORE ;.
;TEST OF 2910 CONDITIONAL JUMP FACILITIES ;.
;.
UNC CJS T29011 MR ;TEST ZERO FLAG ON ;.
;JUMPS/RET ;.
UNC CJS T29105 MR ;TEST CJS ;.
UNC CJS T29107 MR ;TEST CJPP ;.
UNC CJS T2910A MR ;TEST LDCT ;.
UNC CJS T2910C MR ;TEST RPCT/DCR ALU REG 0 ;.
UNC CJS T2910D MR ;TEST RFCT ;.
;.
;***** TEST 2901 LOGICAL FUNCTIONS ***** ;.
;.
A29010: LDCT 1(#0E) AND ZA A1 B MR ;LOAD CNTR CLEAR REG 1 ;.
RPCT LOC C ADD ZA A1 B MR ;PRESET REG 1 TO #0F ;.
CJP A29011 OR ZA A1 MR ;IS REG 1 =I 0 ;.
UNC CJP E2901 MR ;NO ;.
;.
A29011: OR ZA A1 Q MR ;.
OR ZQ A0 B MR ;COPY R1 TO R0 ;.
LDCT 1(#EF) AND ZA A2 B MR ;PRESET A2 TO #F0 ;.
RPCT LOC C ADD ZA A2 B MR ;.
CJP A29012 OR ZA A2 MR ;TEST RESULT ;.
UNC CJP E2901 MR.
;.
A29012: OR ZA A2 Q MR ;.
OR ZQ A3 B MR ;COPY R2 TO R3 ;.
ADD AQ A0 Q MR ;TEST ADD ;.
CJP E2901 C ADD ZQ MR ;RESULT=0 IF OK ;.
OR ZA A3 Q MR ;Q=F0 ;.
OR AQ A0 Q MR ;COMPUTE F0-OR-0F ;.
CJP E2901 C ADD ZQ MR ;TEST RESULT (0 IF OK) ;.
OR ZA A3 Q MR ;Q=F0 ;.
IAN AQ A0 Q MR ;TEST IAN (0 IF OK) ;.
ADD AQ A1 Q MR ;.
CJP E2901 C ADD ZQ MR ;END OF MSNYBBLE TEST ;.
OR ZA A1 Q MR ;Q=0F ;.
IAN AQ A3 Q MR ;Q=0F IF OK ;.
ADD AQ A2 Q MR ;Q=FF IF OK ;.
CJP E2901 C ADD ZQ MR ;END OF LSNYBBLE TEST ;.
;.
;***** XOR TEST ***** ;.
;.
LDCT 1(#54) AND ZA A4 B MR ;.
RPCT LOC C ADD ZA A4 B MR ;PRESET R4 TO #55 ;.
EXO AQ A4 Q MR ;Q=55 IF OK ;.
AND ZA A5 B MR ;.
SUB ZA A5 B MR ;R5=FF ;.
EXO AQ A5 B MR ;R5=#AA IF OK ;.
ADD AQ A5 Q MR ;Q=00 IF OK ;.
CJP E2901 C ADD ZQ Q MR ;.
;.
;***** XNOR TEST ***** ;.
;.
EXN AQ A5 Q MR ;Q=55 IF OK ;.
CJP E2901 EXN AQ A5 Q MR ;Q=00 IF OK ;.
;.
;****** TEST Q-REG ****** ;.
T29012: AND ZA A0 B MR ;.
AND ZQ Q MR ;CREAR R0 & QREG ;.
CJP E2901 OR AQ A0 MR ;.
SUB ZA A0 B MR ;A0_#FF ;.
CJP T29013 OR ZA A0 Q MR ;.
UNC CJP E2910 MR ;.
T29013: CJP E2901 C SUB AQ A0 MR ;JUMP IF ERROR ;.
;.
;****** TEST GENERAL PURPOSE REGISTERS ****** ;.
;.
LDCT 1(#FF) AND ZA A0 B MR ;.
AND ZQ Q MR ;CLEAR R0 & QREG ;.
T29014: C ADD ZA A0 B MR ;TEST INCREMENT INSTRUCTION ;.
C ADD ZQ Q MR ; --"-- ON QREG ;.
CJP E2901 C SUB AQ A0 MR ;.
RPCT T29014 MR ;REPEAT TEST ON ALL REG S ;.
LDCT 1(#FF) AND ZA A1 B MR ;.
T29015: C ADD ZA A1 B MR ;A1_A1+1 ;.
C ADD ZQ Q MR ;Q_Q+1 ;.
CJP E2901 C SUB AQ A1 MR ;.
RPCT T29015 MR ;TRY ALL BINARY COMBINATIONS ;.
;ON EVERY OF THE 2901 REG ;.
LDCT 1(#FF) AND ZA A2 B MR ;TEST REG 2 ;.
T29016: C ADD ZA A2 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A2 MR ;.
RPCT T29016 MR.
;.
LDCT 1(#FF) AND ZA A3 B MR ;TEST REG 3 ;.
T29017: C ADD ZA A3 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A3 MR ;.
RPCT T29017 MR ;.
LDCT 1(#FF) AND ZA A4 B MR ;TEST REG 4 ;.
T29018: C ADD ZA A4 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A4 MR ;.
RPCT T29018 MR ;.
;.
LDCT 1(#FF) AND ZA A5 B MR ;TEST REG 3 ;.
T29019: C ADD ZA A5 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A5 MR ;.
RPCT T29019 MR ;.
;.
LDCT 1(#FF) AND ZA A6 B MR ;TEST REG 6 ;.
T2901A: C ADD ZA A6 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A6 MR ;.
RPCT T2901A MR.
;.
LDCT 1(#FF) AND ZA A7 B MR ;TES REG 7 ;.
T2901B: C ADD ZA A7 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A7 MR ;.
RPCT T2901B MR.
;.
LDCT 1(#FF) AND ZA A8 B MR ;TEST REG 8 ;.
T2901C: C ADD ZA A8 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A8 MR ;.
RPCT T2901C MR.
;.
LDCT 1(#FF) AND ZA A9 B MR ;TEST REG 9 ;.
T2901D: C ADD ZA A9 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A9 MR ;.
RPCT T2901D MR.
;.
LDCT 1(#FF) AND ZA A10 B MR ;TEST REG 10 ;.
T2901E: C ADD ZA A10 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A10 MR ;.
RPCT T2901E MR.
;.
LDCT 1(#FF) AND ZA A11 B MR ;TEST REG 11 ;.
T2901F: C ADD ZA A11 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A11 MR ;.
RPCT T2901F MR.
;.
LDCT 1(#FF) AND ZA A12 B MR ;TEST REG 12 ;.
T29020: C ADD ZA A12 B MR ;TEST REG 12 ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A12 MR ;.
RPCT T29020 MR.
;.
LDCT 1(#FF) AND ZA A13 B MR ;TEST REG 13 ;.
T29021: C ADD ZA A13 ▶15◀B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A13 MR ;.
RPCT T29021 MR.
;.
LDCT 1(#FF) AND ZA A14 B MR ;TEST REG 14 ;.
T29022: C ADD ZA A14 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A14 MR ;.
RPCT T29022 MR.
;.
LDCT 1(#FF) AND ZA A15 B MR ;TEST REG 15 ;.
T29023: C ADD ZA A15 B MR ;.
C ADD ZQ Q MR ;.
CJP E2901 C SUB AQ A15 MR ;.
RPCT T29023 MR.
;.
;****** TEST IBUS ****** ;.
;.
AND ZA A0 B MR ;A0=0 ;.
C ADD ZQ Q MR ;.
OR ZQ A1 B MR ;A1=1 ;.
ADD AQ A1 Q MR ;.
OR ZQ A2 B MR ;A2=2 ;.
ADD AQ A2 Q MR ;.
OR ZQ A3 B MR ;A3=4 ;.
ADD AQ A3 Q MR ;.
OR ZQ A4 B MR ;A4=8 ;.
ADD AQ A4 Q MR ;.
OR ZQ A5 B MR ;A5=#10 ;.
ADD AQ A5 Q MR ;.
OR ZQ A6 B MR ;A6=#20 ;.
ADD AQ A6 Q MR ;.
OR ZQ A7 B MR ;A7=#40 ;.
ADD AQ A7 Q MR ;.
OR ZQ A8 B MR ;A8=#80 ;.
CJP EIBUS 2(#00) EXO DA A0 MR ;ZERO=1 IF OK ;.
CJP EIBUS 2(#01) EXO DA A1 MR ;.
CJP EIBUS 2(#02) EXO DA A2 MR ;.
CJP EIBUS 2(#04) EXO DA A3 MR ;.
CJP EIBUS 2(#08) EXO DA A4 MR ;.
CJP EIBUS 2(#10) EXO DA A5 MR ;.
CJP EIBUS 2(#20) EXO DA A6 MR ;.
CJP EIBUS 2(#40) EXO DA A7 MR ;.
CJP EIBUS 2(#80) EXO DA A8 MR ;.
AND ZA A9 B MR ;.
SUB ZA A9 B MR ;REG 9=#FF TEST 8 LINES ;.
CJP EIBUS 2(#FF) EXO DA A9 MR ;.
;.
;****** TEST ABBUS ****** ;.
;.
A0 BA DAL MR ;RAM DATA TO ABBUS ;.
CJP EABBUS EXO DA A0 BA DAL MR ;TEST IBUS=ABBUS ? ;.
A1 BA DAL MR ;TRY ANOTHER BIT PATTERN ;.
CJP EABBUS EXO DA A1 BA DAL MR ;.
A2 BA DAL MR ;.
CJP EABBUS EXO DA A2 BA DAL MR ;.
A3 BA DAL MR ;.
CJP EABBUS EXO DA A3 BA DAL MR ;.
A4 BA DAL MR ;.
CJP EABBUS EXO DA A4 BA DAL MR ;.
A5 BA DAL MR ;.
CJP EABBUS EXO DA A5 BA DAL MR ;.
A6 BA DAL MR ;.
CJP EABBUS EXO DA A6 BA DAL MR ;.
A7 BA DAL MR ;.
CJP EABBUS EXO DA A7 BA DAL MR ;.
A8 BA DAL MR ;.
CJP EABBUS EXO DA A8 BA DAL MR ;.
A9 BA DAL MR ;.
CJP EABBUS EXO DA A9 BA DAL MR ;.
;.
;****** CLEAR COMMAND REGISTER ****** ;.
;.
AND DZ UNIT MR ;UNIT=00000000B ;.
;.
;****** TEST BUFFER RAM ****** ;.
;.
TRAM: 2(#55) OR DZ A14 B MR ;REG 14 =#55 ;.
2(#AA) OR DZ A13 B MR ;REG 13 =#AA ;.
TRAM3: LDCT 1(#7F) AND ZA A15 B MR ;CLEAR ADDRESS POINTER ;.
TRAM1: OR ZA A15 MR ;PASS ADDRESS TO ABBUS ;.
2(#55) OR ZA A15 WRA MR ;WRITE ENABLE LOW ;.
2(#55) OR ZA A15 MR ;.
OR ZA A15 UPBY MR ;ADDRESS+1 OUT ;.
2(#AA) OR ZA A15 UPBY WRA MR ;WRITE NEXT PATTERN ;.
RPCT TRAM1 2(#AA) C ADD ZA A15 UPBY BA MR ;INCREMENT ADDRESS ;.
;.
;****** TEST RAM CONTENS ****** ;.
;.
LDCT 1(#7F) AND ZA A15 B MR ;CLEAR POINTER ;.
TRAM2: OR ZA A15 RAM LATCH MR ;LATCH LOWER ADDRESS.
CJP ERAM EXO DA A14 RAM LATCH MR ;.
RAM MR ;.
OR ZA A15 RAM UPBY LATCH MR ;LATCH UPPER ADDRESS.
CJP ERAM EXO DA A13 RAM LATCH MR ;.
RPCT TRAM2 C ADD ZA A15 NIB B MR ;INCREMENT ADDRESS
;.
;.
;****** TEST H/W TIMER (256 MICROSEC ) ****** ;.
;.
TTIMER: ;.
LDCT 1(#95) OR DZ COND Q MR ;LOAD TIMEOUT COUNTER ;.
2(#80) AND DQ A12 B MR ;.
TIME1: OR DZ COND Q MR ;.
2(#80) AND DQ Q MR ;TEST TIMER BIT ;.
CJP TEDGE EXO AQ A12 MR ;.
RPCT TIME1 MR ;LOOP IN MAX 150 MICROSEC ;.
▶15◀ UNC CJP ETIMER MR ;.
;.
TEDGE: LDCT 1(#95) OR ZQ A12 B MR ;.
AND ZA A11 B MR ;CLEAR REG.
TIM2: OR DZ COND Q MR ;.
2(#80) AND DQ Q MR ;.
CJP TEDGE1 EXO AQ A12 MR ;.
RPCT TIM2 C ADD ZA A11 B MR ;REG11=REG11+1.
UNC CJP ETIMER MR ;.
;.
TEDGE1: OR ZQ A12 B MR ;UPDATE REG 12 ;.
2(#57) C BUS DA A11 Q MR ;.
CJP TEDGE3 2(#80) AND DQ MR ;.
UNC CJP ETIMER MR.
TEDGE3: 2(#87) C SUB DA A11 MR ;TEST LOWER AND UPPER LIMIT ;.
CJP TIM3A 2(#80) AND DQ MR ;JUMP IF GRETHER THAN UPPER ;.
UNC CJP ETIMER MR.
;.
TIM3A: LDCT 1(#95) AND DZ A11 B MR ;CLEAR TIMER ;.
TIM3: OR DZ COND Q MR ;.
2(#80) AND DQ Q MR ;.
CJP TEDGE2 EXO AQ A12 MR ;.
RPCT TIM3 C ADD ZA A11 B MR ;INCREMENT TIMER REG.
UNC CJP ETIMER MR ;.
;.
TEDGE2: OR ZQ A12 B MR ;UPDATE R12 ;.
2(#57) C BUS DA A11 Q MR ;#57 = LOWER LIMIT ;.
CJP TEDGE4 2(#80) AND DQ MR ;TEST SIGNBIT ;.
UNC CJP ETIMER MR.
TEDGE4: 2(#87) C SUB DA A11 Q MR ;#87 = UPPER LIMIT ;.
CJP TARSTO 2(#80) AND DQ MR ;JUMP TO ERROR IF NOT OVERFLOW ;.
UNC CJP ETIMER MR.
;.
;.
;****** TEST 1791 ******* ;.
;TEST AUTO RESTORE FACILITIES OF 1791 ;.
;.
TARSTO: AND ZA A7 B MR ;CLEAR INTERRUPT STATE REG ;.
AND ZA A8 B MR ;CLEAR PORTSAVE AREA ;.
AND ZA A9 B MR ;CLEAR COUNT REG ;.
AND ZA A10 B MR ;CLEAR STPU STATE REG ;.
AND ZA A11 B MR ;CLEAR TIMER PERIOD REG.
AND ZA A12 B MR ;CLEAR TIMER NUMBER REG ;.
AND ZA A14 B MR ;CLEAR TIMER COUNTER.
LDCT 1(#28) AND ZA A13 B MR ;.
RPCT LOC ;.
RIC STCM ;.
UNC CJS W1STPU RIC STCM ;DUMMY READ STATUS (CLEAR INTRQ) WAIT UNTILL 1ST STPU.
STPU2: LDCT 1(#10) OR ZQ A10 B ;.
RPCT LOC STBY ;WAIT 1 STEPPULS TIME.
RDCOND: OR DZ A8 COND B ;SAVE PORT PICTURE I R8 ;.
2(#40) AND DA A8 Q ;TEST STPU BIT ;.
CJP PSSTPU IAN AQ A10 ;JUMP IF POS EDGE ;.
OR ZQ A10 B ;UPDATE STPU STATE REG ;.
;.
TIMTST: 2(#80) AND DA A8 Q ;TEST TIMER BIT ;.
CJP PSTIM IAN AQ A13 ;JUMP IF POS EDGE ;.
OR ZQ A13 B ;UPDATE STATE REG ;.
;.
INTTST: 2(#02) AND DA A8 Q ;TEST INTRQ BIT ;.
CJP PSINT IAN AQ A7 ;.
UNC CJP RDCOND OR ZQ A7 B ;UPDATE INT STATE REG ;.
;.
PSINT: UNC CJP E1791 ;.
;.
PSSTPU: LDCT 1(#10) ;.
RPCT LOC ;.
OR ZQ A10 STBY B ;WAIT 4 MICROSEC (TSTPU) ;.
2(#35) C BUS DA A14 Q ;.
CJP ULTST 2(#80) AND DQ ;TEST SIGNBIT ;.
UNC CJP E1791.
ULTST: 2(#40) C SUB DA A14 Q ;TEST UPPER LIMIT ;.
CJP PSTP1 2(#80) AND DQ ;.
UNC CJP E1791.
PSTP1: AND ZA A14 B ;.
C ADD ZA A9 B ;INCREMENT STPU COUNTER ;.
CJP TIMTST 2(#FE) C SUB DA A9 ;.
CJP E1791 2(#3A) C SUB DA A12 ;TEST TIMER MS-BYTE ;.
UNC CJP INTRQ ;.
;.
PSTIM: OR ZQ A13 B ;UPDATE TIMER STATE REG ;.
C ADD ZA A14 B ;INCREMENT PERIOD CNT ;.
C ADD ZA A11 B ;INCREMENT LS-TIMER CNT ;.
CJP INTTST 2(#FF) C SUB DA A11 ;TEST LOWER TIMER BYTE ;.
C ADD ZA A12 B ;.
CJP INTTST 2(#3B) C SUB DA A12 ;TEST UPPER TIMER BYTE ;.
CJP E1791 2(#FE) C SUB DA A9 ;TEST STPU CNT ;.
INTRQ: AND ZA A6 B ;CLEAR LOOP COUNTER.
INTWT: LDCT 1(#138) C ADD ZA A6 B ;INCREMENT LOOP COUNTER.
RPCT LOC OR DA A8 COND B ;READ INPUT REGISTER.
CJP INTOK 2(#02) AND DA A8 ;TEST INTRQ FROM 1791 ;.
CJP INTWT OR ZA A6 ;LOOP UNTILL R6=00.
UNC CJP E1791 ;.
INTOK: RIC STCM ;.
OR DZ RIC STCM ;READ STATUS FROM 1791 ;.
CJP TTKSD 2(#10) AND DQ Q ;TEST SEEK ERROR BIT ;.
UNC CJP E1791 ;.
;.
;****** TEST TRACK - SECTOR - DATA REGISTERS ****** ;.
TTKSD:
AND ZA A0 B ;CLEAR COUNT REG.
TKLOOP: WIC TRK ;.
WIC TRK ;.
OR ZA A0 WIC TRK ;WRITE <A0> TO TRACK REG ;.
LDCT 1(#28) OR ZA A0 TRK.
RPCT LOC ;WAIT 10 MICROSEC.
RIC TRK ;.
RIC TRK ;.
CJP E1791 EXO DA A0 RIC TRK DAL ;READ BACK AND COMPARE ;.
C ADD ZA A0 NIB TRK B ;NEXT TRACK COMBINATION ;.
CJP TKLOOP OR ZA A0 ;LOOP UNTILL R0=0.
SCLOOP: WIC SCT ;.
WIC SCT ;.
OR ZA A0 WIC SCT ;WRITE <A0> TO SECTOR REG ;.
LDCT 1(#28) OR ZA A0 SCT.
RPCT LOC ;WAIT 10 MICROSEC.
RIC SCT ;.
RIC SCT ;.
CJP E1791 EXO DA A0 RIC SCT DAL ;READ BACK AND COMPARE ;.
C ADD ZA A0 NIB SCT B ;NEXT SECTOR COMBINATION ;.
CJP SCLOOP OR ZA A0 ;LOOP UNTILL R0=00.
DTLOOP: WIC DAT ;.
WIC DAT ;.
OR ZA A0 WIC DAT ;WRITE <A0> TO DATA REG ;.
LDCT 1(#28) OR ZA A0 DAT.
RPCT LOC ;WAIT 10 MICROSEC.
RIC DAT ;.
RIC DAT ;.
CJP E1791 EXO DA A0 RIC DAT DAL ;READ BACK AND COMPARE ;.
C ADD ZA A0 NIB DAT B ;NEXT DATA COMBINATION ;.
CJP DTLOOP OR ZA A0 ;LOOP UNTILL R0=00.
;.
;****** TEST HEAD LOAD TIMER FUNCTION ****** ;.
;.
WIC TRK.
2(#4C) OR DZ WIC TRK.
2(#4C) OR DZ TRK.
2(#7D) OR DZ WIC STCM ;ONE STEPOUT CMD ;.
LDCT 1(#70) 2(#7D) OR DZ WIC STCM ;"H","U","V" SET ;.
RPCT LOC 2(#7D) OR DZ STCM ;WAIT 28 MICROSEC.
2(#40) OR DZ UNIT ;SET HLT ;.
UNC CJS W1STPU AND ZA A10 B ;WAIT UNTILL 1ST STPU.
LDCT 1(#10) ;.
RPCT LOC ;WAIT 4 MICROSEC ;.
RIC STCM STBY ;CLEAR STPU LATCH ;.
RIC STCM ;.
OR DZ RIC STCM DAL Q ;READ STATUS ;.
NIB STCM ;.
CJP RDTRK 2(#20) AND DQ RIC TRK ;TEST HLD*HLT ;.
UNC CJP E1791 ;ERROR EXIT IF NOT TRUE.
RDTRK: RIC TRK ;.
OR DZ RIC TRK DAL Q ;READ TRACK REG ;.
CJP E1791 2(#4B) EXO DQ NIB TRK ;TEST AUTO DCR OF TRACK REG ;.
WIC STCM ;.
WIC STCM ;.
2(#D0) OR DZ WIC STCM ;SEND FORCE INTERRUPT ;.
LDCT 1(#70) 2(#D0) OR DZ STCM.
RPCT LOC ;WAIT 28 MICROSEC ;.
RIC STCM ;.
RIC STCM ;.
OR DZ RIC STCM DAL Q ;READ STATUS FROM 1791 ;.
NIB STCM ;.
CJP E1791 2(#01) AND DQ ;TEST BUSY CLEARING ;.
;.
;.
;****** CLEAR RAM ****** ;.
;.
LDCT 1(#7F) AND ZA A15 B ;.
RAMCL: OR ZA A15 ;ADDRESS OUT ;.
2(#00) OR ZA A15 WRA ;WRITE ZERO TO RAM ;.
2(#00) OR ZA A15.
OR ZA A15 UPBY.
2(#00) OR ZA A15 UPBY WRA ;CLEAR UPPER BYTE.
RPCT RAMCL 2(#00) C ADD ZA A15 UPBY BA ;INCREMENT ADDRESS ;.
;.
;****** END OF BUILD IN TEST (BIT) ****** ;.
;.
;.
;.
;.
;.
;.
AND DZ A12 B STBY ;.
2(1) OR DZ A15 B▶15◀ ;PRESET ARQ BITMASK ;.
2(#80) OR DZ A7 B ; ;.
2(#40) OR DZ A5 B WIC ; ;.
2(#D0) OR DZ WIC ; ;.
2(#D0) OR DZ ; ;.
UNC PCLC 1(34) AND DZ A8 B ; ;.
RFCT AND ZA A11 B ; ;.
2(#F0) OR DZ A4 B ; ;.
UNC CJS GETSTA 2(128) OR DZ A0 B ; HEAD POS UNKNOWN ;.
CJP LOCM1 2(1) AND DQ ; ;.
2(128) OR DZ A1 B ; HEAD POS UNKNOWN ;.
2(128) OR DZ A2 B ; HEAD POS UNKNOWN ;.
2(128) OR DZ A3 B ; HEAD POS UNKNOWN ;.
2(#7F) AND DA A7 B ; ;.
AND DZ A5 B CLBY ; SEND BIT END INTERRUPT.
;******** READY TO PERFORM COMMANDS **********.
NODEC: ;.
CJS SVMB0 COND AND DA A15 ; ;.
LDCT 1(77) ; ;.
CJS SVMB0 COND AND DA A15 ; ;.
RPCT LOCM1 COND EXO DA A10 Q ; ;.
CJP NODEC 2(#80) AND DQ ; TEST TIMER ;.
2(#80) EXO DA A10 B ; CHANGE OLD TIMER ;.
CJS SVMB0 COND AND DA A15 ; ;.
CJP NODEC SUB ZA A9 B ; DECR LOWER TIMER ;.
SUB ZA A10 B ; DECR UPPER TIMER ;.
CJP NODES 2(#7F) AND DA A10 ; UPPER = 0? ;.
CJS SVMB0 COND AND DA A15 ; ;.
2(#9F) AND DA A11 B ; ;.
AND DZ UNIT ; ;.
NODES: ;.
CJS SVMB0 COND AND DA A15 ; ;.
RDY OR DZ Q ; ;.
2(#F0) OR DQ A14 B ; STORE NEW RDY3:0 ;.
CJS SVMB0 COND AND DA A15 ; ;.
CJP CHINT IAN AQ A4 Q ; DISK CHANGE ? ;.
STNEW: ;.
A14 OR ZA Q ; NEW ;.
OR ZQ A4 B ; OLD:=NEW ;.
CJS SVMB0 COND AND DA A15 ; ;.
UNC CJP NODEC ; ;.
;.
CHINT: ;.
CJS SVMB0 COND AND DA A15 ; ;.
2(#80) OR DA A7 B ; ;.
UNC CJP STNEW OR AQ A5 B CLBY ; DISK CHANGE INTERRUPT ;.
;.
;******************************************************************** ;.
START: ;.
RU OR DZ A14 B DL STBY ; ;.
2(#40) OR DA A5 B ; ;.
2(#F) AND DA A5 Q ; ;.
CJS SVMB3 COND AND DA A15 ; ;.
ADD ZQ A10 B ; ;.
UNC CJS OGTSTA 2(#80) OR DA A7 B ; ;.
;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP NOT0 2(3) AND DA A14 ; ;.
A0 OR ZA Q ; ;.
UNC CJP LDNEU 2(1) OR DZ A9 B ; DECODED NEW UNIT ;.
NOT0: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP UN2OR3 2(2) AND DA A14 ; ;.
A1 OR ZA Q ; ;.
UNC CJP LDNEU 2(2) OR DZ A9 B ; ;.
UN2OR3: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP UN3 2(1) AND DA A14 ; ;.
A2 OR ZA Q ; ;.
UNC CJP LDNEU 2(8) OR DZ A9 B ; ;.
UN3: ;.
A3 OR ZA Q ; ;.
UNC CJP LDNEU 2(16) OR DZ A9 B ; ;.
;.
LDNEU: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
TRK WIC ; ;.
OR ZQ TRK WIC ; ;.
OR ZQ TRK ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#80) AND DQ A13 B ; R13 NOT ZERO MEANS
TRK UNDEFINED ;.
A9 OR ZA Q ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP SAMEUN A11 AND AQ ; ;.
OR ZQ A11 B ; NEW UNIT ;.
SAMEUN: ;.
OR ZA A13 Q ;SAVE R13 IN Q REG.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS.
OR ZQ A9 B ;UNDEF TO R9.
CJP ILLCOM 2(#80) AND DA A14 ;NO DOUBLLE DENS IN THIS FIRMWARE VERSION.
2(#84) AND DA A14 Q ; DENS,SIDE ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(128) EXO DQ Q ; /DENS,SIDE ;.
2(#7B) AND DA A11 B ; ;.
A11 OR AQ B ; SET DENS,SIDE I REG11 ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
;.
CJP NSELEC 2(#78) AND DA A14 ; ;.
;.
;OPERATION "SELECT" ;.
;.
2(#FB) AND DA A11 UNIT ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
STCM WIC ; ;.
2(#D0) OR DZ STCM WIC ; ;.
UNC PCLC 1(16) 2(#D0) OR DZ STCM ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
RFCT ; DELAY FROM LOAD COMMAND
TO READ STATUS ;.
UNC CJS GETSTA ; ;.
CJS AUTO6 2(1) AND DQ ; ;.
CJS AUTO11 2(#80) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS AUTO8 2(#40) AND DQ ; ;.
2(#4F) AND DA A5 B ; ;.
COND OR DZ Q ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS ADDI7 2(#10) AND DQ ; ;.
UNC CJP COMSLT ; ;.
;.
NSELEC: ;.
UNC CJS CHKRDY ; ;.
UNC CJS CHKWAS A10 IAN AQ Q ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP REAWRI 2(#18) AND DA A14 ; ;.
CJP RESTOR 2(#58 AND DA A14 ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
;.
; OPERATION "SEEK" ;.
;.
CJP SEER 2(128) AND DA A6 ; ;.
2(#33) ADD DA A6 Q ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP SEER 2(128) AND DQ ; ;.
CJS EXECRS A9 ADD ZA ; EXECUTE A RESTORE,
IF TRACK IS UNDEFINED ;.
UNC CJS TRKDIF 2(#FB) AND DA A11 UNIT ; ;.
NOLOAD: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ A13 B ;8047D MOD ;.
CJP TP850U 2(8) AND DA A13 ; ******* ;.
2(5) ADD DQ Q ; ******* ;.
TESTUN: ;.
CJP UNLOAD 2(#80) AND DQ ; ;.
TESTSI: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ A13 B ;8047D MOD ;.
CJP TWOSI 2(#10) AND DA A13 ; ;.
CJP INVSI 2(4) AND DA A11 ; ;.
TWOSI: ;.
UNC CJP LDNWTK A11 OR ZA UNIT ; ;.
TP850U: ; ******* ;.
UNC CJP TESTUN 2(16) ADD DQ Q ; ********* ;.
UNLOAD: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJP TESTSI 2(#9F) AND DA A11 B ; ;.
;.
LDNWTK: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
DAT WIC ; ;.
A6 OR ZA DAT WIC ; ;.
A6 OR ZA DAT ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS WASIDE ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ A13 B ;8047D MOD ;.
CJP TP850S 2(8) AND DA A13 STCM WIC ; ;.
2(#1E) OR DZ STCM WIC ; ******* ;.
UNC CJP SECMLD 2(#1E) OR DZ STCM ; ;.
TP850S: ; ******* ;.
2(#1C) OR DZ STCM WIC ; ;.
2(#1C) OR DZ STCM ; ******* ;.
SECMLD: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP HLDON 2(#20) AND DA A11 ; ;.
LDCT 1(100) ; ;.
WAHDLD: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ Q ; ;.
CJP STEPPU 2(#40) AND DQ ; ;.
CJP SEEKOV 2(2) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
A10 EXN AQ Q ; ;.
CJP WAHDLD 2(#80) AND DQ ; ;.
RPCT WAHDLD 2(#80) EXO DA A10 B ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#84) AND DA A7 B ; ;.
2(#C0) OR DA A7 B ; ;.
UNC CJP ABEND AND DZ A8 B ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
;.
STEPPU: ;.
UNC CJS TRKDIF ; ;.
CJS SVMB3 COND AND DA A15 ; ;.
A11 OR ZA UNIT ; ;.
UNC CJS CHKRDY ; ;.
UNC CJS UPDCHG ; ;.
CJS SVMB3 COND AND DA A15 ; ;.
UNC CJP SECMLD ; ;.
;.
HLDON: ;.
UNC CJS DELHLT ; ;.
SEEKOV: ;.
UNC CJS GETSTA ; ;.
2(#4F) AND DA A5 B ; ;.
CJS AUTO6 2(1) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS AUTO1 2(8) AND DQ ; ;.
CJS AUTO12 2(#10) AND DQ ; ;.
CJS AUTO11 2(#80) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(1) OR DA A7 B ; ;.
CJS SENOCP 2(#42) AND DA A7 ; ;.
CJS SENOCP 2(#18) AND DA A8 ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJP COMSLT ; ;.
;.
; OPERATION " RESTORE" ;.
RESTOR: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP ILLCOM 2(#38) AND DA A14 ; ;.
UNC CJS EXECRS ; ;.
UNC CJP COMSLT ; ;.
;.
; OPERATION "READ" OR "WRITE" ;.
REAWRI: ;.
CJS CHKREA 2(#50) AND DA A14 ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#FB) AND DA A11 UNIT SCT WIC ; ;.
A6 OR ZA SCT WIC ; ;.
A6 OR ZA SCT ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ Q ; ;.
CJP TWOSRW 2(#10) AND DQ ; ;.
CJP INVSRW 2(4) AND DA A11 ; ;.
TWOSRW: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS WASIDE A11 OR DA 2(#20) B UNIT ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#80) OR DZ Q ; ;.
CJP RWCM 2(#10) AND DA A14 ; ;.
2(#21) OR DQ Q ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP RWCM 2(#20) AND DA A14 ; ;.
2(#FE) AND DQ Q ; ;.
RWCM: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
AND DZ A12 B STCM WIC ; ;.
OR ZQ STCM WIC ; ;.
OR ZQ STCM ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS WRIUPP 2(1) OR DZ A9 B ; ;.
RWCMLD: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
LDCT 1(275) ; ;.
WAITIN: ;.
COND OR DZ Q ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS DRQSRV 2(4) AND DQ ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP RWOVER 2(2) AND DQ ; ;.
A10 EXN AQ Q ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP WAITIN 2(#80) AND DQ ; ;.
RPCT WAITIN 2(#80) EXO DA A10 B ; ;.
;.
LDCT INVSRW COND OR DZ Q ; ;.
;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS DRQSRV 2(4) AND DQ ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS UPDCHG 2(#40) OR DA A11 B UNIT ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ Q ; ;.
CJS DRQSRV 2(4) AND DQ ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS CHKRDY 2(#7F) AND DA A10 B ; ;.
JRP RWCMLD A10 SUB ZA B ; ;.
;.
RWOVER: ;.
UNC CJS GETSTA AND DZ A12 B ; ;.
CJS AUTO6 2(1) AND DQ ; ;.
CJS AUTO11 2(#80) AND DQ ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS AUTO8 2(#40) AND DQ ; ;.
CJS AUTO5 2(#10) AND DQ ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS CRCERR 2(8) AND DQ ; ;.
2(#4F) AND DA A5 B ; ;.
CJS ADDI4 2(#20) AND DQ ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS ADDI5 2(4) AND DQ ; ;.
UNC CJP COMSLT ; ;.
;.
SEER: ;.
2(#84) AND DA A7 B ; ;.
2(#10) OR DZ A8 B ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJP COMSLT 2(#4F) AND DA A5 B ; ;.
;.
INVSI: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#84) AND DA A7 B ; ;.
2(#10) OR DZ A8 B ; ;.
ABEND: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS CHKRDY 2(#4F) AND DA A5 B ; ;.
ABP2: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
WIC ; ;.
2(#D0) OR DZ WIC ; ;.
UNC CJS OGTSTA 2(#D0) OR DZ ; ;.
CJP LOCM1 2(1) AND DQ ; ;.
UNC CJP COMSLT ; ;.
INVSRW: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#80) AND DA A8 B ;CLEAR AUTO STATUS EXCEPT PE ;.
2(#84) AND DA A7 B ; ;.
UNC CJP ABEND 2(#20) OR DZ A7 B ; ;.
;.
;.
ILLCOM: ;.
2(#80) AND DA A8 B ;CLEAR AUTO STATUS EXCEPT PE ;.
2(#84) AND DA A7 B ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(4) OR DZ A7 B ; ;.
2(#4F) AND DA A5 B ; ;.
;.
COMSLT: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
TRK RIC ; ;.
TRK RIC ; ;.
TRK RIC DAL OR DZ Q ; ;.
CJS SVMB3 TRK COND AND DA A15 ; ;.
CJP SAUN0 2(1) AND DA A11 ; ;.
CJP SAUN1 2(2) AND DA A11 ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP SAUN2 2(8) AND DA A11 ; ;.
CJP SAUN3 2(16) AND DA A11 ; ;.
;.
FENEU: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP ADDNZ 2(#BF) AND DA A5 B CLBY ; ;.
2(#7F) AND DA A7 B ; ;.
ADDNZ: ;.
UNC ENLO ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC ENLO ; ;.
UNC ENLO ; ;.
UNC ENLO 2(15) OR DZ A10 B ; ;.
CJS SVMB0 COND AND DA A15 ; ;.
UNC CJP NODEC AND DZ A9 B ; ;.
;.
SAUN0: ;.
UNC CJP FENEU OR ZQ A0 B ; ;.
SAUN1: ;.
UNC CJP FENEU OR ZQ A1 B ; ;.
SAUN2: ;.
UNC CJP FENEU OR ZQ A2 B ; ;.
SAUN3: ;.
UNC CJP FENEU OR ZQ A3 B ; ;.
;.
;*****************************************************< ;.
;.
;.
OGTSTA: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
RIC ; ;.
RIC ; ;.
RIC DAL OR DZ Q ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET ; ;.
;.
; SUBROUTINE "GETSTATUS" ;.
GETSTA: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#84) AND DA A7 B STCM RIC ; ;.
AND DZ A8 B STCM RIC ; ;.
DAL OR DZ Q STCM RIC ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET ; ;.
;.
; SUBROUTINE "EXECUTE A RESTORE OPERATION" ;.
EXECRS: ; ;.
UNC CJS UPDCHG 2(#9B) AND DA A11 B UNIT ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS WASIDE ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ A13 B ; ;.
CJP TP850R 2(8) AND DA A13 STCM WIC ; ******* ;.
2(#E) OR DZ STCM WIC ; ;.
UNC CJP RSCMLD 2(#E) OR DZ STCM ; ;.
TP850R: ; ******* ;.
2(#C) OR DZ STCM WIC ; ;.
2(#C) OR DZ STCM ; ;.
RSCMLD: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
LDCT 1(100) ; ;.
WANOST: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ Q ; ;.
CJP STEPRS 2(#40) AND DQ ; ;.
CJP RESTOV 2(2) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
A10 EXN AQ Q ; ;.
CJP WANOST 2(#80) AND DQ ; ;.
RPCT WANOST 2(#80) EXO DA A10 B ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#20) OR DA A11 B UNIT ; ;.
UNC CJS DELHLT ; ;.
RESTOV: ;.
UNC CJS GETSTA ; ;.
2(#4F) AND DA A5 B ; ;.
CJS AUTO6 2(1) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS AUTO1 2(8) AND DQ ; ;.
CJS AUTO11 2(#80) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJS RESTER 2(#10) AND DQ ; ;.
CJPP COMSLT 2(#7B) AND DA A7 ; ;.
CJPP COMSLT A8 ADD ZA ; ;.
CJS SVMB3 COND AND DA A15 ; ;.
UNC CRET ; ;.
;.
STEPRS: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS CHKRDY ; ;.
UNC CJS UPDCHG ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJP RSCMLD ; ;.
;.
;.
; SUBROUTINES FOR SETTING STATUSBITS ;.
SENOCP: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#FE) AND DA A7 B ; ;.
AUTO1: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(2) OR DA A7 B ; ;.
CRCERR: ;.
CJP AUTO1 2(#10) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#10) OR DA A7 B ; ;.
AUTO5: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#20) OR DA A7 B ; ;.
AUTO6: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#40) OR DA A7 B ; ;.
AUTO8: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(1) OR DA A8 B ; ;.
AUTO11: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(8) OR DA A8 B ; ;.
AUTO12: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#10) OR DA A8 B ; ;.
RESTER: ;.
CJP AUTO12 2(4) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#20) OR DA A8 B ; ;.
;.
ADDI4: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#10) OR DA A5 B ; ;.
ADDI5: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#20) OR DA A5 B ; ;.
ADDI7: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#80) OR DA A5 B ; ;.
;.
; SUBROUTINE "CALCULATE TRACK DIFFERENCE" ;.
TRKDIF: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
TRK RIC ; ;.
TRK RIC ; ;.
DAL C SUB DA A6 Q TRK RIC ; ;.
CJS SVMB3 COND AND DA A15 TRK ; ;.
CJP NEGATI 2(#80) AND DQ ; ;.
C BUS ZQ Q ; ;.
NEGATI: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ A13 B ; ;.
CJP TP850L 2(8) AND DA A13 ; ******* ;.
2(2) ADD DQ Q ; ******* ;.
TESTLD: ;.
CRET 2(#80) AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET 2(#20) OR DA A11 B ; ;.
TP850L: ;.
UNC CJP TESTLD 2(7) ADD DQ Q ; ***** ;.
;.
; SUBROUTINE "DELAY HLT" ;.
DELHLT: ;.
LDCT 1(275) ; ;.
WAHLT: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
COND OR DZ Q ; ;.
CRET 2(2) AND DQ ; ;.
A10 EXN AQ Q ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP WAHLT 2(#80) AND DQ ; ;.
UNC CJS CHKRDY 2(#80) EXO DA A10 B ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
RPCT WAHLT ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJS UPDCHG 2(#40) OR DA A11 B UNIT ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJP DELHLT ; ;.
;.
; SUBROUTINE "UPDATE CHANGE BITS" ;.
UPDCHG: ;.
RDY OR DZ Q ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(#F0) OR DQ A13 B ; ;.
CJP CHINT3 A4 IAN AQ Q ; ;.
STNEW3: ;.
A13 OR ZA Q STBY ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CRET OR ZQ A4 B ; ;.
CHINT3: ;.
OR AQ A5 B CLBY ; ;.
UNC CJP STNEW3 2(#80) OR DA A7 B ; ;.
;.
; SUBROUTINE "CHECK READY" ;.
CHKRDY: ;.
CJP MSKRDY 2(1) AND DA A11 Q ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP MSKRDY 2(2) AND DA A11 Q ; ;.
CJP RDY2 2(8) AND DA A11 ; ;.
UNC CJP MSKRDY 2(8) OR DZ Q ; ;.
RDY2: ;.
2(4) OR DZ Q ; ;.
MSKRDY: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
RDY OR DZ A13 B ; ;.
CRET A13 AND AQ Q ; ;.
2(#84) AND DA A7 B ; ;.
NOTRDY: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJPP ABP2 2(8) OR DZ A8 B ; ;.
;.
; SUBROUTINE "CHECK WAS READY",
CHECKS THAT DRIVE WAS READY AND NOT IN DISK CHANGE STATUS, WHEN CURRENT
OPERATION WAS REQUESTED ;.
CHKWAS: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(63) ADD DZ A10 B ; ;.
UNC CRET A4 AND AQ ; ;.
UNC CJP NOTRDY 2(#84) AND DA A7 B ; ;.
;.
; SUBROUTINE "CHECK READ COMMAND" ;.
CHKREA: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP ILLCOM 2(#68) AND DA A14 ; ;.
UNC CRET ; ;.
;.
; SUBROUTINE " WAITE SIDE SELECTION" ;.
WASIDE: ;.
2(#80) OR DZ Q ; ;.
CJP TIM1 COND AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP LOCM1 COND IAN DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP LOCM1 COND AND DQ ; ;.
UNC CRET ; ;.
TIM1: ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP LOCM1 COND AND DQ ; ;.
CJS SVMB3 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP LOCM1 COND IAN DQ ; ;.
UNC CRET ; ;.
;.
; SUBROUTINE "DRQ-SERVICE " ;.
DRQSRV: ;.
CJP WRIDAT 2(8) AND DA A14 ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(63) OR DA A10 B DAT RIC ; ;.
DAT RIC ; ;.
DAL EXN DZ A6 B DAT RIC ; ;.
CJS SVMB4 COND AND DA A15 DAT ; ;.
CJP REALOW 2(1) EXO DA A9 B ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJP COMREA UPBY A12 ADD ZA BA LATCH ; ;.
REALOW: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
A12 C ADD ZA BA LATCH ; ;.
COMREA: ;.
OR ZA DAL A6 BA LATCH WRA ; ;.
UNC CRET OR ZA DAL A6 BA LATCH ; ;.
WRIDAT: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
2(63) OR DA A10 B DAT WIC ; ;.
A6 OR ZA BA DAT WIC ; ;.
A6 OR ZA BA DAT ; ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
CJP WRIUPP 2(1) EXO DA A9 B ; ;.
WRILOW: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UNC CJP COMWRI A12 C ADD ZA BA LATCH RAM ; ;.
WRIUPP: ;.
CJS SVMB4 COND AND DA A15 ; REQUEST FROM MAINBUS ? ;.
UPBY A12 ADD ZA BA LATCH RAM ; ;.
COMWRI: ;.
EXN DZ A6 B LATCH RAM ; ;.
UNC CRET NIB ; ;.
;.
;*****************************************************< ;.
;.
RAUTO: ;.
A7 OR ZA DAL DL ; ;.
2(#FB) AND DA A7 B ; ;.
UNC CRET 2(#7F) AND DA A8 B ;RESET PROGRAM ERROR &PE ;.
RADDI: ;.
CRET 2(#F0) AND DA A5 B ; ;.
UNC CRET 2(#7F) AND DA A7 B ; ;.
RBUFF: ;.
UPBY A12 ADD ZA RAM BA DU ; ;.
UNC CRET A12 C ADD ZA RAM BA DL ; ;.
;.
WBUFF: ;.
CJP WBUFF1 AND DA A13 RDY LATCH ;TEST H/W SIGNAL PAROK.
ADD ZA A12 RU BA WRA.
C ADD ZA A12 RL BA ;READ DATA FROM MAINBUS.
PERROR: ;.
UNC CRET 2(#80) OR DA A8 DL B CLBY ;SEND PE INTERRUPT SET PE INAUTO STATUS ;.
WBUFF1: ADD ZA A12 RU BA WRA.
UNC CRET C ADD ZA A12 RL BA DL ;READ MAINBUS DATA RELEASE ARQ.
;.
XSTART: ;.
2(#80) OR DZ A13 B ;BITMASK TO W13 ;.
CJP XSTAR1 AND DA A13 RDY ;TEST H/W SIGNAL PAROK ;.
UNC CJP PERROR.
XSTAR1:
UNC CJPP START RL OR DZ A6 B ;READ LOWER COMMAND BYTE ;.
;.
PTST: ;.
2(#80) OR DZ A13 B ;BITMASK TO W13 ;.
CJP PTST1 AND DA A13 RDY ;TEST H/W SIGNAL PAROK ;.
UNC CJP PERROR.
PTST1:
UNC CRET AND DZ A12 B DL ;CLEAR POINTER SEND RS ;.
;.
IPTST: ;.
2(#80) OR DZ A13 B ;BITMASK TO W13 ;.
CJP IPTST1 AND DA A13 RDY ;TEST H/W SIGNAL PAROK ;.
UNC CJP PERROR.
IPTST1:
UNC CRET 2(#04) OR DA A7 B DL ;SET INVALID COMMAND IN AUTOSTATUS ;.
;.
SVMB0: ;.
JMP BRNCH0 UPBY A12 ADD ZA BA LATCH ; ;.
;.
SVMB4: ;.
SVMB3: ;.
JMP BRNCH3 UPBY A12 ADD ZA BA LATCH ; ;.
;.
;******************************************************************** ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
;******************************************************************** ;.
;.
BRNCH0: ;.
UNC CJP RAUTO A8 OR ZA DAL DU ; ;.
UNC CJP RADDI A5 OR ZA DAL DL ; ;.
UNC CJP RBUFF UPBY A12 ADD ZA RAM BA ; ;.
UNC CJP RBUFF UPBY A12 ADD ZA RAM BA ; ;.
UNC CJP XSTART 2(#7F) AND DA A8 B ;CLEAR PE FLAG ;.
UNC CJP PTST 2(#7F) AND DA A8 B ;CLEAR PE FLAG ;.
UNC CJP WBUFF 2(#80) OR DZ A13 LATCH B ;BITMASK TO REG 13.
UNC CJP WBUFF 2(#80) OR DZ A13 LATCH B ;BITMASK TO REG 13.
;.
;******************************************************************** ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
5(0) 9(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 20(0) ; ;.
;******************************************************************** ;.
;.
BRNCH3: ;.
UNC CJP RAUTO A8 OR ZA DAL DU ; ;.
UNC CJP RADDI A5 OR ZA DAL DL ; ;.
UNC CJP RBUFF UPBY A12 ADD ZA RAM BA ; ;.
UNC CJP RBUFF UPBY A12 ADD ZA RAM BA ; ;.
UNC CJP IPTST 2(#80) OR DA A13 B ;BITMASK TO W13 ;.
UNC CJP PTST 2(#7F) AND DA A8 B ;CLEAR PE FLAG ;.
UNC CJP WBUFF 2(#80) OR DZ A13 LATCH B ;BITMASK TO REG 13.
UNC CJP WBUFF 2(#80) OR DZ A13 LATCH B ;BITMASK TO REG 13.
;. «a5»