mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 07:19:57 +00:00
Fix ITS not to use DF10C 22-bit addressing on a KA10.
Use 21-bit addressing instead. This an MIT modification of a DF10 to store three bits of address inverted in the word count. Also adapted the code for the RP10 case to save two instructions.
This commit is contained in:
parent
aa3c3a58f5
commit
1ca678c9f5
@ -4031,6 +4031,11 @@ QECC: MOVSI A,%HRDCL(Q) ;RESET ERROR STATUS IN DRIVE
|
||||
SKIPN A,QICWA+1 ;GET ADDRESS OF LAST WORD READ
|
||||
JRST 4,.-1 ;CHANNEL OUGHT TO HAVE STORED CONTROL WORD BY NOW
|
||||
SOS J,A
|
||||
IFN KA10P,[
|
||||
;BE VERY ANNOYING ABOUT THIS
|
||||
.ERR RH10 ECC NOT UPDATED FOR KA10
|
||||
BUG HALT,[RH10 ECC NOT UPDATED FOR KA10]
|
||||
]
|
||||
TDZ J,[177+.BM $DFCWA] ;J := ADDRESS OF FIRST WORD IN LOSING SECTOR
|
||||
LDB A,[$DFCAD QIOWD]
|
||||
SUBM J,A
|
||||
@ -4239,15 +4244,19 @@ IFN RP10P,[
|
||||
DATAO DPC,E ;START DISK
|
||||
];RP10P
|
||||
IFN RH10P,[
|
||||
MOVE T,[-2000_4,,QRCBUF-1] ;DF10-C CHANNEL PROGRAM
|
||||
IFN KA10P,MOVE T,[-2000,,QRCBUF-1]
|
||||
IFN KL10P,MOVE T,[-2000_4,,QRCBUF-1] ;DF10-C CHANNEL PROGRAM
|
||||
IFE KA10P+KL10P, .ERR WHAT KIND OF DF10 DO YOU HAVE?
|
||||
MOVEM T,RCIOWD
|
||||
SETZM RCIOWD+1
|
||||
MOVEI T,RCIOWD
|
||||
MOVEM T,RCICWA
|
||||
SETZM RCICWA+1
|
||||
IFN KL10P,[
|
||||
SWPUA ;DUMP CACHE
|
||||
CONSZ 200000 ;IT'S INEFFICIENT, BUT WHAT THE HELL
|
||||
JRST .-1
|
||||
]
|
||||
CONO DSK,%HOCLR+%HORAE+%HOATN+DSKCHN
|
||||
MOVSI A,%HRADR(Q)
|
||||
HRR A,E ;HEAD AND SECTOR (CYL DOESN'T CHANGE)
|
||||
@ -4822,14 +4831,12 @@ IFN RP10P,[
|
||||
QINT6A: IORI T,7000+QICWA ;DON'T STOP FOR PARITY ERRORS (PLUS INITIAL CHNL ADR)
|
||||
MOVEM T,QCHPRG
|
||||
DPB Q,[DUNFLD+QCHPRG]
|
||||
HLLZS QIOWD
|
||||
DPB R,[121000,,QIOWD]
|
||||
LDB E,[100300,,R] ;MA15-17
|
||||
LSH R,10.
|
||||
HLR E,R ;MA15-17 IN E
|
||||
SUBI R,1
|
||||
HRRM R,QIOWD
|
||||
TRC E,7
|
||||
DPB E,[410300,,QIOWD] ;SET UP HIGH ADDR BITS.
|
||||
MOVE TT,QIOWD
|
||||
SOS TT
|
||||
HRRM TT,QIOWD
|
||||
SETZM QIOWD+1
|
||||
MOVEM Q,QSDU
|
||||
MOVE E,QSGL(C)
|
||||
@ -4943,11 +4950,23 @@ QINT6A: IORI T,QICWA_6 .SEE $HCICWA
|
||||
TLO T,%HRCTL(Q)
|
||||
MOVEM T,QCHPRG
|
||||
MOVEM Q,QSDU
|
||||
IFN KL10P,[
|
||||
LSH R,10. ;ASSEMBLE DF10-C CONTROL WORD
|
||||
SUBI R,1
|
||||
MOVNI E,2000
|
||||
DPB E,[$DFWC R]
|
||||
MOVEM R,QIOWD
|
||||
]
|
||||
IFN KA10P,[
|
||||
LSH R,10.
|
||||
HLR E,R ;MA15-17 IN E
|
||||
SUBI R,1
|
||||
HRLI R,-2000
|
||||
TRC E,7
|
||||
DPB E,[410300,,R] ;SET UP HIGH ADDR BITS.
|
||||
MOVEM R,QIOWD
|
||||
]
|
||||
IFE KA10P+KL10P, .ERR RH10 NEEDS UPDATING FOR STRANGE CPU
|
||||
SETZM QIOWD+1
|
||||
MOVE E,QSGL(C)
|
||||
PUSHJ P,QPOSR
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user