diff --git a/tss8_lcm2/ts8.pal b/tss8_lcm2/ts8.pal index f3fd12a..0bd9982 100644 --- a/tss8_lcm2/ts8.pal +++ b/tss8_lcm2/ts8.pal @@ -4029,7 +4029,7 @@ TRAC, 0 IFZERO RF08-40< CLL RTL;RTL;RTL >/TRACK # IN POSITION 0X00 FOR DF32 > IFNZRO RKSYS < - CLL RTL; RAL /TRACK # IN POSITION 000|XXX|XX0|000 + CLL RTL; RTL /TRACK # IN POSITION 000|XXX|XX0|000 /FOR RK8E (HEAD + 4 BITS OF CYL) > JMP I TRAC /RETURN @@ -7000,14 +7000,11 @@ RKGO0, 0 DCA I DSPARF CDF 10 TAD RKOFF - CLL RAR / TODO: GOTTA BE A BETTER WAY - CLL RAR - CLL RAR - CLL RAR - CLL RAR - CLL RAR - CLL RAR - CLL RAR / DIVIDE BY 256, YIELDING SECTOR # TO START THE + AND K7400 / MASK TOP 4 BITS SO WE DON'T TOGGLE THE LINK + CLL RTR + RTR + RTR + RTR / DIVIDE BY 256, YIELDING SECTOR # TO START THE / TRANSFER TAD RKDSKA DCA RKDSKA / ADD TO DISK ADDRESS @@ -7063,8 +7060,7 @@ RKRET, 0 / BLT: CALCULATE THE NUMBER OF WORDS TO TRANSFER; THIS IS AT MOST / 256 WORDS (ONE RK05 SECTOR), AT MINIMUM 1 WORD. -DSRET0, CLL CLA - TAD RKOFF +DSRET0, TAD RKOFF CMA IAC TAD K0400 / SUBTRACT SECTOR OFFSET FROM 256 TO DETERMINE DCA RKXWC / MAX TRANSFER COUNT. @@ -7080,7 +7076,6 @@ DSRET0, CLL CLA DSRET1, CLL CLA TAD RKWD / FEWER THAN MAX WORDS, COPY THE REMAINDER DSRET2, DCA RKXWC - TAD RKEMA / USER FIELD DCA UDF1+1 CMA CLA @@ -7090,14 +7085,12 @@ DSRET2, DCA RKXWC TAD RKOFF TAD RKBLKA / DATFLD POINTER - 1 DCA A17 - TAD RKWRI / IS THIS A WRITE? SNA JMP DSRET3 / NO STL CLA / YES: SET LINK (FROM USER TO DATFLD FOR BLTF1) JMP DSBL -DSRET3, CLL CLA - +DSRET3, CLL CLA / NO: CLEAR LINK (FROM DATFLD TO USER) DSBL, TAD RKXWC / -WC TO AC / DO THE TRANSFER JMS BLTF1 @@ -7117,6 +7110,8 @@ DSBL, TAD RKXWC / -WC TO AC JMP DSNDON / DONE FOR NOW. DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY + / TODO: THIS NEEDS TO BE REFACTORED TO ALLOW RETRYING OPERATIONS + / AFTER DISC ERRORS. CLA TAD RKXWC CMA IAC