mirror of
https://github.com/livingcomputermuseum/cpus-pdp8.git
synced 2026-01-12 00:12:44 +00:00
Fixed free core map for RKSYS-related blocks. Hopefully.
Cleaned up some naming, removed some TODOs.
This commit is contained in:
parent
134c021505
commit
38191a07c6
@ -765,6 +765,8 @@ OCTIN2, CLL CLA
|
||||
TAD OCTINT
|
||||
JMP I OCTIN0
|
||||
|
||||
|
||||
IFZERO RKSYS <
|
||||
/AFTER LOAD OR DUMP, BOOT BACK TO WHATEVER OPERATING SYSTEM IS ON THE RF08.
|
||||
/THIS WAY, INIT CAN BE USED TO LOAD/DUMP OS/8.
|
||||
RBOOT, 6641 /DCXA /CLEAR RF08 EXTENDED DISK ADDRESS
|
||||
@ -773,7 +775,12 @@ RBOOT, 6641 /DCXA /CLEAR RF08 EXTENDED DISK ADDRESS
|
||||
DMAR
|
||||
DFSC
|
||||
5352 /JMP .
|
||||
5752 /JMP I .-1
|
||||
5752 /JMP I .-1
|
||||
>
|
||||
IFNZRO RKSYS <
|
||||
/AFTER LOAD OR DUMP, WE JUST RELOAD INIT.
|
||||
RBOOT, JMP SUPERA
|
||||
>
|
||||
|
||||
CRLF= LOGM2+10
|
||||
LOGM2, TEXT "END WITH ALTMODE_"
|
||||
@ -1195,7 +1202,7 @@ CORIN4, TAD AXS2
|
||||
JMP CORIN1
|
||||
HLT /OOPS!!!
|
||||
CORIN2, TAD I CORF1 /ANY EXTRA FREE CORE TO BE GENERATED?
|
||||
SNA /SNA - TODO: FREE CORE MAP IS BOGUS, CLOBBERS PARTS OF FIELD 1! WHERE IS THIS DEFINED?
|
||||
SNA
|
||||
JMP CORIN3
|
||||
DCA AXS2
|
||||
ISZ CORF1
|
||||
|
||||
@ -2626,8 +2626,6 @@ URTF, CLA STL IAC RTR /AC=6000
|
||||
UUOEXT
|
||||
>
|
||||
|
||||
/ TODO: COULD POSSIBLY FIT RK05 DISK BUFFER HERE
|
||||
|
||||
|
||||
IFNZRO DC08A <
|
||||
DC08B= DC08A+4%5
|
||||
@ -5740,15 +5738,17 @@ IFZERO LPT <NOP>
|
||||
/REFERENCED BY INIT AT START TIME
|
||||
/ THE FOLLOWING AREAS WILL BECOME PART OF FREE CORE:
|
||||
|
||||
IFZERO TC01+RK05+CDR <
|
||||
IFZERO TC01+RK05+CDR+RKSYS <
|
||||
ENDBUF;FCE4 >
|
||||
|
||||
IFNZRO TC01+RK05+CDR <
|
||||
IFNZRO TC01+RK05+CDR+RKSYS <
|
||||
IFZERO TC01 <
|
||||
ENDBUF;FCE1 >
|
||||
IFZERO RK05 <
|
||||
FCB2;FCE2
|
||||
FCB4;FCE4 >
|
||||
IFZERO RKSYS <
|
||||
FCB6;FCE6 >
|
||||
IFZERO CDR <
|
||||
FCB3;FCE3 > >
|
||||
IFNZRO DC08A <
|
||||
@ -6992,6 +6992,7 @@ DISPL1, LAS /WHAT WAS THAT FIELD AGAIN?
|
||||
|
||||
|
||||
*2400
|
||||
FCB6= .+7&7770
|
||||
IFNZRO RKSYS <
|
||||
|
||||
RKGO0, 0
|
||||
@ -7113,14 +7114,14 @@ RKRET, 0
|
||||
DCLR
|
||||
TAD RKWCPL
|
||||
SNA
|
||||
JMP DSRET0
|
||||
JMP RKRET0
|
||||
CLA
|
||||
DCA RKWCPL
|
||||
JMP DSRNXT / WRITE: CLEAR WRITE COMPLETE FLAG, DO NEXT SECTOR.
|
||||
JMP RKRNXT / WRITE: CLEAR WRITE COMPLETE FLAG, DO NEXT SECTOR.
|
||||
|
||||
/ BLT: CALCULATE THE NUMBER OF WORDS TO TRANSFER; THIS IS AT MOST
|
||||
/ 256 WORDS (ONE RK05 SECTOR), AT MINIMUM 1 WORD.
|
||||
DSRET0, TAD RKOFF
|
||||
RKRET0, TAD RKOFF
|
||||
CMA IAC
|
||||
TAD K0400 / SUBTRACT SECTOR OFFSET FROM 256 TO DETERMINE
|
||||
DCA RKXWC / MAX TRANSFER COUNT.
|
||||
@ -7128,14 +7129,14 @@ DSRET0, TAD RKOFF
|
||||
TAD RKWD
|
||||
TAD RKXWC / ADD MAX, DID WE OVERFLOW?
|
||||
SZL
|
||||
JMP DSRET1
|
||||
JMP RKRET1
|
||||
CLL CLA / NO: MORE THAN MAX WORDS LEFT, COPY ONLY MAX
|
||||
TAD RKXWC
|
||||
CMA IAC
|
||||
JMP DSRET2
|
||||
DSRET1, CLL CLA
|
||||
JMP RKRET2
|
||||
RKRET1, CLL CLA
|
||||
TAD RKWD / FEWER THAN MAX WORDS, COPY THE REMAINDER
|
||||
DSRET2, DCA RKXWC
|
||||
RKRET2, DCA RKXWC
|
||||
TAD RKEMA / USER FIELD
|
||||
DCA UDF1+1
|
||||
CMA CLA
|
||||
@ -7147,11 +7148,11 @@ DSRET2, DCA RKXWC
|
||||
DCA A17
|
||||
TAD RKWRI / IS THIS A WRITE?
|
||||
SNA
|
||||
JMP DSRET3 / NO
|
||||
JMP RKRET3 / NO
|
||||
STL CLA / YES: SET LINK (FROM USER TO DATFLD FOR BLTF1)
|
||||
JMP DSBL
|
||||
DSRET3, CLL CLA / NO: CLEAR LINK (FROM DATFLD TO USER)
|
||||
DSBL, TAD RKXWC / -WC TO AC
|
||||
JMP RKBL
|
||||
RKRET3, CLL CLA / NO: CLEAR LINK (FROM DATFLD TO USER)
|
||||
RKBL, TAD RKXWC / -WC TO AC
|
||||
/ DO THE TRANSFER
|
||||
JMS BLTF1
|
||||
/ IF THIS WAS A READ OPERATION WE ARE DONE.
|
||||
@ -7160,17 +7161,15 @@ DSBL, TAD RKXWC / -WC TO AC
|
||||
CLL CLA
|
||||
TAD RKWRI
|
||||
SNA
|
||||
JMP DSRNXT / THIS IS A READ, JUST GO TO NEXT SECTOR
|
||||
JMP RKRNXT / THIS IS A READ, JUST GO TO NEXT SECTOR
|
||||
CLA
|
||||
TAD K4410 / WRITE W/INTERRUPT FROM FIELD 1
|
||||
DCA RKRW
|
||||
JMS RKOP
|
||||
ISZ RKWCPL / SET WRITE COMPLETE FLAG
|
||||
JMP DSNDON / DONE FOR NOW.
|
||||
JMP RKNDON / DONE FOR NOW.
|
||||
|
||||
DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY
|
||||
/ TODO: THIS NEEDS TO BE REFACTORED TO ALLOW RETRYING OPERATIONS
|
||||
/ AFTER DISC ERRORS.
|
||||
RKRNXT, / PROCESS NEXT SECTOR IF NECESSARY
|
||||
CLA
|
||||
TAD RKXWC
|
||||
CMA IAC
|
||||
@ -7179,45 +7178,46 @@ DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY
|
||||
/ ANY MORE DATA TO TRANSFER?
|
||||
TAD RKWD
|
||||
SNA
|
||||
JMP DSDONE / NO: JUST RETURN.
|
||||
JMP RKDON / NO: JUST RETURN.
|
||||
/ YES: MOVE TO THE NEXT SECTOR
|
||||
/ THIS SHOULD NOT OVERFLOW -- THE DF08 HAD AN 8-BIT EXTENDED (TRACK) ADDRESS
|
||||
/ AND THE RK8E/RK05 HAS 9 BITS. FIP SHOULD PREVENT OVERFLOW FROM DF08
|
||||
/ ADDRESS SPACE.
|
||||
ISZ RKDSKA / THIS SHOULD NEVER OVERFLOW BUT I AM TESTING ANYWAY
|
||||
JMP DSRNX0 / NO OVERFLOW
|
||||
HLT / YIKES.
|
||||
DSRNX0, CLA / SECTOR OFFSET GETS RESET TO ZERO WHEN CROSSING SECTOR BOUNDARIES
|
||||
JMP RKRNX0 / NO OVERFLOW
|
||||
HLT / YIKES.
|
||||
RKRNX0, CLA / SECTOR OFFSET GETS RESET TO ZERO WHEN CROSSING SECTOR BOUNDARIES
|
||||
DCA RKOFF
|
||||
/ INCREMENT CORE ADDRESS
|
||||
TAD RKXWC
|
||||
CMA IAC
|
||||
TAD RKADDR / INCREMENT CORE ADDRESS (TODO: RENAME THIS, IT IS BAD)
|
||||
TAD RKADDR / INCREMENT CORE ADDRESS
|
||||
DCA RKADDR
|
||||
/ AND START THE NEXT READ
|
||||
TAD K0410 / READ W/INTERRUPT INTO FIELD 1
|
||||
DCA RKRW
|
||||
JMS RKOP
|
||||
DSNDON, ISZ RKRET / RETURN +1, MORE TRANSFERS TO GO.
|
||||
DSDONE,
|
||||
RKNDON, ISZ RKRET / RETURN +1, MORE TRANSFERS TO GO.
|
||||
RKDON,
|
||||
CDI 00 / RETURN TO FIELD 0
|
||||
JMP I RKRET
|
||||
|
||||
/ TODO: CLEAN UP THESE NAMES!
|
||||
RKWRI, 0 / 0 = READ, 1 = WRITE
|
||||
RKDSKA, 0 / RK05 DISK ADDRESS FOR THE TRANSFER (LOW 12 BITS)
|
||||
RKEMA, 0 / USER'S FIELD FOR THE TRANSFER
|
||||
RKWD, 0 / NEGATIVE WORD COUNT FOR THE TRANSFER
|
||||
RKADDR, 0 / POINTER TO THE USER'S CORE MEMORY FOR THE TRANSFER
|
||||
RKOFF, 0 / THE OFFSET IN THE SECTOR DATA TO COPY
|
||||
RKBLKA, RKBLK / POINTER TO THE MONITOR'S RK05 SECTOR BUFFER (256 WORDS)
|
||||
RKBLKA, RKBLK / POINTER TO THE MONITOR'S RK05 SECTOR BUFFER (256 WORDS)
|
||||
RKWCPL, 0 / WRITE COMPLETE BIT: SET WHEN A READ-MODIFY-WRITE CYCLE
|
||||
/ IS COMPLETING THE WRITE PORTION OF THE CYCLE.
|
||||
/ IS COMPLETING THE WRITE PORTION OF THE CYCLE.
|
||||
RKXWC, 0 / WORDS TRANSFERRED THIS GO-AROUND
|
||||
K0410, 0410
|
||||
K4410, 4410
|
||||
K6211, 6211
|
||||
|
||||
FCE6= .&7770
|
||||
|
||||
DEVDMB= JOBTBL-2
|
||||
*DEVTBL-1
|
||||
DEVDMB /DUMMY USED BY FIP RELEASE
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user