|
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 - 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»