mirror of
https://github.com/livingcomputermuseum/cpus-pdp8.git
synced 2026-01-13 15:37:04 +00:00
Interim fix for disk address calculation in RKGO0, I forgot about that whole "link bit" thing and the "rotate"
thing with RTL. Whoops. BASIC runs a lot better now that it's not reading garbage into memory. Things generally seem to be working.
This commit is contained in:
parent
9dce55ea3a
commit
f25d0c95be
@ -1195,7 +1195,7 @@ CORIN4, TAD AXS2
|
|||||||
JMP CORIN1
|
JMP CORIN1
|
||||||
HLT /OOPS!!!
|
HLT /OOPS!!!
|
||||||
CORIN2, TAD I CORF1 /ANY EXTRA FREE CORE TO BE GENERATED?
|
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
|
JMP CORIN3
|
||||||
DCA AXS2
|
DCA AXS2
|
||||||
ISZ CORF1
|
ISZ CORF1
|
||||||
|
|||||||
@ -41,8 +41,8 @@ F1BUF=177 /SI DDB EMPTY BLOCK POINTER
|
|||||||
DTJOB=20 /JOB OWNING THE DECTAPE CONTROLLER
|
DTJOB=20 /JOB OWNING THE DECTAPE CONTROLLER
|
||||||
RKJOB=54 /JOB OWNING RK05 CONTROLLER
|
RKJOB=54 /JOB OWNING RK05 CONTROLLER
|
||||||
DTSI=1175 /SI TERMINATE A DECTAPE ON TIMER
|
DTSI=1175 /SI TERMINATE A DECTAPE ON TIMER
|
||||||
DATA1=3000+DCSIZE
|
DATA1=2200+DCSIZE
|
||||||
DEVTBL=DATA1+140
|
DEVTBL=DATA1+140+460 /TODO: MOVE 460 TO CONSTANT FOR RKSYS
|
||||||
DEVTBE=DEVTBL+NULINE+NULINE+2
|
DEVTBE=DEVTBL+NULINE+NULINE+2
|
||||||
JOBTBL=DEVTBE+22
|
JOBTBL=DEVTBE+22
|
||||||
CLKTBL=JOBTBL+JOBMAX+1
|
CLKTBL=JOBTBL+JOBMAX+1
|
||||||
|
|||||||
@ -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
|
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
|
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)
|
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.)
|
||||||
|
|
||||||
|
|||||||
@ -2121,6 +2121,8 @@ REMJOA, REMJOB
|
|||||||
SCHFAN, JMS I REMJOA /REMEMBER WHO'S RUNNING
|
SCHFAN, JMS I REMJOA /REMEMBER WHO'S RUNNING
|
||||||
SCHED /GO RUN THE PHANTOM
|
SCHED /GO RUN THE PHANTOM
|
||||||
|
|
||||||
|
|
||||||
|
/TODO: UPDATE FOR RKSYS
|
||||||
/BOOTSTRAP FOR CRASH RECOVERY, USED TO BRING INIT INTO HIGHEST MEMORY FIELD
|
/BOOTSTRAP FOR CRASH RECOVERY, USED TO BRING INIT INTO HIGHEST MEMORY FIELD
|
||||||
BOOT, CDF /IN THE (VERY RARE) EVEN THE SYSTEM
|
BOOT, CDF /IN THE (VERY RARE) EVEN THE SYSTEM
|
||||||
STA /SHOULD CRASH, THIS ROUTINE MAY
|
STA /SHOULD CRASH, THIS ROUTINE MAY
|
||||||
@ -2146,8 +2148,10 @@ BOOT, CDF /IN THE (VERY RARE) EVEN THE SYSTEM
|
|||||||
B7751, 7751
|
B7751, 7751
|
||||||
B7750, 7750
|
B7750, 7750
|
||||||
DSKFLD,
|
DSKFLD,
|
||||||
|
IFZERO RKSYS <
|
||||||
IFZERO RF08 <CORMEM>
|
IFZERO RF08 <CORMEM>
|
||||||
IFZERO RF08-40 <CORMEM+200>
|
IFZERO RF08-40 <CORMEM+200> >
|
||||||
|
IFNZRO RKSYS <CORMEM>
|
||||||
|
|
||||||
/SAVE JOB REGISTERS
|
/SAVE JOB REGISTERS
|
||||||
/THIS ROUTINE IS USED TO SAVE THE LEVEL 2 REGISTERS
|
/THIS ROUTINE IS USED TO SAVE THE LEVEL 2 REGISTERS
|
||||||
@ -7001,10 +7005,14 @@ RKGO0, 0
|
|||||||
DCA I DSPARF
|
DCA I DSPARF
|
||||||
CDF 10
|
CDF 10
|
||||||
TAD RKOFF
|
TAD RKOFF
|
||||||
CLL RTR
|
CLL RAR / TODO: GOTTA BE A BETTER WAY
|
||||||
RTR
|
CLL RAR
|
||||||
RTR
|
CLL RAR
|
||||||
RTR / DIVIDE BY 256, YIELDING SECTOR # TO START THE
|
CLL RAR
|
||||||
|
CLL RAR
|
||||||
|
CLL RAR
|
||||||
|
CLL RAR
|
||||||
|
CLL RAR / DIVIDE BY 256, YIELDING SECTOR # TO START THE
|
||||||
/ TRANSFER
|
/ TRANSFER
|
||||||
TAD RKDSKA
|
TAD RKDSKA
|
||||||
DCA RKDSKA / ADD TO DISK ADDRESS
|
DCA RKDSKA / ADD TO DISK ADDRESS
|
||||||
@ -7028,6 +7036,7 @@ RKGO0, 0
|
|||||||
|
|
||||||
DSPARF, DSPAR / LOCATION OF DSPAR IN FIELD 0
|
DSPARF, DSPAR / LOCATION OF DSPAR IN FIELD 0
|
||||||
|
|
||||||
|
*2600
|
||||||
/ DO RK READ/WRITE TO/FROM BUFFER, DISK ADDRESS IN RKDSKA
|
/ DO RK READ/WRITE TO/FROM BUFFER, DISK ADDRESS IN RKDSKA
|
||||||
/ CALL DORKR
|
/ CALL DORKR
|
||||||
/ RK8E COMMAND WORD
|
/ RK8E COMMAND WORD
|
||||||
@ -7042,7 +7051,6 @@ DORKO, TAD I DORKR / READ COMMAND WORD
|
|||||||
ISZ DORKR
|
ISZ DORKR
|
||||||
JMP I DORKR
|
JMP I DORKR
|
||||||
|
|
||||||
*2600
|
|
||||||
/ INVOKED FROM FIELD 0 AFTER INTERRUPT SERVICING.
|
/ INVOKED FROM FIELD 0 AFTER INTERRUPT SERVICING.
|
||||||
RKRET, 0
|
RKRET, 0
|
||||||
/ SUCCESS:
|
/ SUCCESS:
|
||||||
@ -7050,6 +7058,7 @@ RKRET, 0
|
|||||||
/ THEN GO SELECT THE NEXT SECTOR.
|
/ THEN GO SELECT THE NEXT SECTOR.
|
||||||
/ OTHERWISE, USE BLT TO TRANSFER DATA FROM THE READ OPERATION FIRST
|
/ OTHERWISE, USE BLT TO TRANSFER DATA FROM THE READ OPERATION FIRST
|
||||||
CLL CLA
|
CLL CLA
|
||||||
|
DCLR
|
||||||
TAD RKWCPL
|
TAD RKWCPL
|
||||||
SNA
|
SNA
|
||||||
JMP DSRET0
|
JMP DSRET0
|
||||||
@ -7123,7 +7132,7 @@ DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY
|
|||||||
/ ANY MORE DATA TO TRANSFER?
|
/ ANY MORE DATA TO TRANSFER?
|
||||||
TAD RKWD
|
TAD RKWD
|
||||||
SNA
|
SNA
|
||||||
JMP DSFIN / NO: JUST RETURN.
|
JMP DSDONE / NO: JUST RETURN.
|
||||||
/ YES: MOVE TO THE NEXT SECTOR
|
/ YES: MOVE TO THE NEXT SECTOR
|
||||||
/ TODO: IF WE WALK OFF THE END OF THE 10TH ADDRESS BIT
|
/ TODO: IF WE WALK OFF THE END OF THE 10TH ADDRESS BIT
|
||||||
/ WE NEED TO OVERFLOW INTO THE 11TH BIT MANUALLY.
|
/ 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
|
/ IF WE EVER HACK LARGER FILESYSTEMS
|
||||||
ISZ RKRET / RETURN +1, MORE TRANSFERS TO GO.
|
ISZ RKRET / RETURN +1, MORE TRANSFERS TO GO.
|
||||||
JMP DSDONE
|
JMP DSDONE
|
||||||
DSFIN, CLA
|
|
||||||
DCLR / CLEAR RK8E ON COMPLETION.
|
|
||||||
DSDONE,
|
DSDONE,
|
||||||
CDI 00 / RETURN TO FIELD 0
|
CDI 00 / RETURN TO FIELD 0
|
||||||
JMP I RKRET
|
JMP I RKRET
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user