diff --git a/tss8_lcm2/init.pal b/tss8_lcm2/init.pal index 7bb1944..057ca2b 100644 --- a/tss8_lcm2/init.pal +++ b/tss8_lcm2/init.pal @@ -1195,7 +1195,7 @@ CORIN4, TAD AXS2 JMP CORIN1 HLT /OOPS!!! CORIN2, TAD I CORF1 /ANY EXTRA FREE CORE TO BE GENERATED? - CLA /SNA - TODO: FREE CORE MAP IS BOGUS, CLOBBERS PARTS OF FIELD 1! WHERE IS THIS DEFINED? + SNA /SNA - TODO: FREE CORE MAP IS BOGUS, CLOBBERS PARTS OF FIELD 1! WHERE IS THIS DEFINED? JMP CORIN3 DCA AXS2 ISZ CORF1 diff --git a/tss8_lcm2/link.pal b/tss8_lcm2/link.pal index 7d6af3d..eccdc66 100644 --- a/tss8_lcm2/link.pal +++ b/tss8_lcm2/link.pal @@ -41,8 +41,8 @@ F1BUF=177 /SI DDB EMPTY BLOCK POINTER DTJOB=20 /JOB OWNING THE DECTAPE CONTROLLER RKJOB=54 /JOB OWNING RK05 CONTROLLER DTSI=1175 /SI TERMINATE A DECTAPE ON TIMER -DATA1=3000+DCSIZE -DEVTBL=DATA1+140 +DATA1=2200+DCSIZE +DEVTBL=DATA1+140+460 /TODO: MOVE 460 TO CONSTANT FOR RKSYS DEVTBE=DEVTBL+NULINE+NULINE+2 JOBTBL=DEVTBE+22 CLKTBL=JOBTBL+JOBMAX+1 diff --git a/tss8_lcm2/melrose.pal b/tss8_lcm2/melrose.pal index 9c68b65..d63617e 100644 --- a/tss8_lcm2/melrose.pal +++ b/tss8_lcm2/melrose.pal @@ -26,7 +26,7 @@ RKSYS= 1 /1 IF SYSTEM USES RK05 DRIVE 0 AS SYSTEM / SWAP PUNCH= 0 /1 IF SYSTEM INCLUDES PUNCH; 0 IF IT DOES NOT -TC01= 0 /1 IF SYSTEM INCLUDES DECTAPE(S); 0 IF IT DOES NOT +TC01= 1 /1 IF SYSTEM INCLUDES DECTAPE(S); 0 IF IT DOES NOT RK05= 0 /NUMBER OF RK05 CARTRIDGE DISK DRIVES ON THE SYSTEM; 0 TO 4 @@ -49,5 +49,5 @@ DC08LO= 0 /LOWEST HARDWARE LINE NUMBER UTILIZED ON DC08A; USUALLY 0 PT08= 0 /NUMBER OF TERMINALS INTERFACED VIA PT08 (PDP-8 & PDP-8/I ONLY) -KL8= 0 /NUMBER OF ADDITIONAL TERMINALS INTERFACED VIA KL8 (PDP-8/E ONLY, 19 MAX.) +KL8= 8 /NUMBER OF ADDITIONAL TERMINALS INTERFACED VIA KL8 (PDP-8/E ONLY, 19 MAX.) diff --git a/tss8_lcm2/ts8.pal b/tss8_lcm2/ts8.pal index 363fc45..4962a55 100644 --- a/tss8_lcm2/ts8.pal +++ b/tss8_lcm2/ts8.pal @@ -2121,6 +2121,8 @@ REMJOA, REMJOB SCHFAN, JMS I REMJOA /REMEMBER WHO'S RUNNING SCHED /GO RUN THE PHANTOM + +/TODO: UPDATE FOR RKSYS /BOOTSTRAP FOR CRASH RECOVERY, USED TO BRING INIT INTO HIGHEST MEMORY FIELD BOOT, CDF /IN THE (VERY RARE) EVEN THE SYSTEM STA /SHOULD CRASH, THIS ROUTINE MAY @@ -2146,8 +2148,10 @@ BOOT, CDF /IN THE (VERY RARE) EVEN THE SYSTEM B7751, 7751 B7750, 7750 DSKFLD, + IFZERO RKSYS < IFZERO RF08 - IFZERO RF08-40 + IFZERO RF08-40 > + IFNZRO RKSYS /SAVE JOB REGISTERS /THIS ROUTINE IS USED TO SAVE THE LEVEL 2 REGISTERS @@ -7001,10 +7005,14 @@ RKGO0, 0 DCA I DSPARF CDF 10 TAD RKOFF - CLL RTR - RTR - RTR - RTR / DIVIDE BY 256, YIELDING SECTOR # TO START THE + 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 / TRANSFER TAD RKDSKA DCA RKDSKA / ADD TO DISK ADDRESS @@ -7028,6 +7036,7 @@ RKGO0, 0 DSPARF, DSPAR / LOCATION OF DSPAR IN FIELD 0 +*2600 / DO RK READ/WRITE TO/FROM BUFFER, DISK ADDRESS IN RKDSKA / CALL DORKR / RK8E COMMAND WORD @@ -7042,7 +7051,6 @@ DORKO, TAD I DORKR / READ COMMAND WORD ISZ DORKR JMP I DORKR -*2600 / INVOKED FROM FIELD 0 AFTER INTERRUPT SERVICING. RKRET, 0 / SUCCESS: @@ -7050,6 +7058,7 @@ RKRET, 0 / THEN GO SELECT THE NEXT SECTOR. / OTHERWISE, USE BLT TO TRANSFER DATA FROM THE READ OPERATION FIRST CLL CLA + DCLR TAD RKWCPL SNA JMP DSRET0 @@ -7123,7 +7132,7 @@ DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY / ANY MORE DATA TO TRANSFER? TAD RKWD SNA - JMP DSFIN / NO: JUST RETURN. + JMP DSDONE / NO: JUST RETURN. / YES: MOVE TO THE NEXT SECTOR / TODO: IF WE WALK OFF THE END OF THE 10TH ADDRESS BIT / WE NEED TO OVERFLOW INTO THE 11TH BIT MANUALLY. @@ -7147,8 +7156,6 @@ DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY / IF WE EVER HACK LARGER FILESYSTEMS ISZ RKRET / RETURN +1, MORE TRANSFERS TO GO. JMP DSDONE -DSFIN, CLA - DCLR / CLEAR RK8E ON COMPLETION. DSDONE, CDI 00 / RETURN TO FIELD 0 JMP I RKRET