mirror of
https://github.com/livingcomputermuseum/cpus-pdp8.git
synced 2026-01-12 00:12:44 +00:00
Fix in RK05 SWAP routines (incorrect return from calls to SWPIO), this fixes the random delay when exiting
from programs. A couple of small bits of code cleanup. System still falls over when it starts actually swapping out fields (e.g. more jobs running than core).
This commit is contained in:
parent
f25d0c95be
commit
ea7b705dc0
@ -5146,18 +5146,13 @@ SWPIR, 0
|
||||
CLA
|
||||
DCA SECTOR /RESET RK05 SWAP SECTOR COUNT
|
||||
DCA RKADR /AND ADDRESS
|
||||
SKP >
|
||||
JMS SWPIO
|
||||
JMP I SWPIR >
|
||||
SWPIO, 0 /
|
||||
CLA CLL CMA RTL /=3 IN AC
|
||||
DCA DSERRI /# OF TRIES
|
||||
JMS SWPIT /START THE SWAP
|
||||
IFNZRO RKSYS <
|
||||
JMP I SWPIR /RETURN
|
||||
>
|
||||
IFZERO RKSYS <
|
||||
JMP I SWPIO /RETURN
|
||||
>
|
||||
|
||||
SWPIT, 0
|
||||
TAD SWPA /RETURN ADDRESS FOR INTERRUPT CHAIN
|
||||
DCA I DSWATA /SAVE IT
|
||||
@ -7105,7 +7100,7 @@ DSRET3, CLL CLA
|
||||
|
||||
DSBL, TAD RKXWC / -WC TO AC
|
||||
/ DO THE TRANSFER
|
||||
JMS BLTF1
|
||||
JMS BLTF1
|
||||
/ IF THIS WAS A READ OPERATION WE ARE DONE.
|
||||
/ IF IT WAS A WRITE, WE NOW NEED TO DO A WRITE OPERATION TO COMMIT
|
||||
/ THE MODIFIED BUFFER BACK TO DISK, AND WAIT FOR IT TO FINISH.
|
||||
@ -7118,15 +7113,13 @@ DSBL, TAD RKXWC / -WC TO AC
|
||||
/ TODO: NEED TO INTEGRATE DISK ADDRESS BIT 11
|
||||
/ IF WE EVER HACK LARGER FILESYSTEMS
|
||||
|
||||
CLA IAC
|
||||
DCA RKWCPL / SET WRITE COMPLETE BIT
|
||||
ISZ RKRET / RETURN +1, MORE TRANSFERS TO GO.
|
||||
JMP DSDONE / DONE FOR NOW.
|
||||
ISZ RKWCPL / SET WRITE COMPLETE FLAG
|
||||
JMP DSNDON / DONE FOR NOW.
|
||||
|
||||
DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY
|
||||
CLA
|
||||
TAD RKXWC
|
||||
CMA IAC
|
||||
CMA IAC
|
||||
TAD RKWD
|
||||
DCA RKWD
|
||||
/ ANY MORE DATA TO TRANSFER?
|
||||
@ -7141,7 +7134,6 @@ DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY
|
||||
TAD RKDSKA
|
||||
DCA RKDSKA
|
||||
/ SECTOR OFFSET GETS RESET TO ZERO WHEN CROSSING SECTOR BOUNDARIES
|
||||
CLA
|
||||
DCA RKOFF
|
||||
/ INCREMENT CORE ADDRESS
|
||||
TAD RKXWC
|
||||
@ -7149,13 +7141,11 @@ DSRNXT, / PROCESS NEXT SECTOR IF NECESSARY
|
||||
TAD RKADDR / INCREMENT CORE ADDRESS (TODO: RENAME THIS, IT IS BAD)
|
||||
DCA RKADDR
|
||||
/ AND START THE NEXT READ
|
||||
NOP
|
||||
JMS DORKR
|
||||
0410 / READ W/INTERRUPT INTO FIELD 1
|
||||
/ TODO: NEED TO INTEGRATE DISK ADDRESS BIT 11
|
||||
/ IF WE EVER HACK LARGER FILESYSTEMS
|
||||
ISZ RKRET / RETURN +1, MORE TRANSFERS TO GO.
|
||||
JMP DSDONE
|
||||
DSNDON, ISZ RKRET / RETURN +1, MORE TRANSFERS TO GO.
|
||||
DSDONE,
|
||||
CDI 00 / RETURN TO FIELD 0
|
||||
JMP I RKRET
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user