mirror of
https://github.com/livingcomputermuseum/cpus-pdp8.git
synced 2026-01-13 07:29:24 +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
|
||||
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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.)
|
||||
|
||||
|
||||
@ -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 <CORMEM>
|
||||
IFZERO RF08-40 <CORMEM+200>
|
||||
IFZERO RF08-40 <CORMEM+200> >
|
||||
IFNZRO RKSYS <CORMEM>
|
||||
|
||||
/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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user