mirror of
https://github.com/livingcomputermuseum/cpus-pdp8.git
synced 2026-01-12 00:12:44 +00:00
Started work on DS routines for RK05.
This commit is contained in:
parent
5d99e1bfee
commit
f2b2cdf6cf
@ -5324,9 +5324,9 @@ DSTRYA, 0
|
||||
DCA DSPAR
|
||||
DATFLD /CHG TO MONITOR DATA FIELD (1)
|
||||
TAD I DSPAR /FUNCTION
|
||||
IFZERO RKSYS <
|
||||
DCA DSRORW
|
||||
TAD I DSPAR /DISC EXTENSION
|
||||
IFZERO RKSYS <
|
||||
IFZERO RF08-40 <
|
||||
CLL RTL
|
||||
CLL RAL
|
||||
@ -5348,6 +5348,9 @@ IFZERO RF08 <
|
||||
TAD I DSPAR /MEMORY ADDRESS
|
||||
DCA DSMA
|
||||
TAD I DSPAR /DISK ADDRESS
|
||||
CDF /BACK TO DATA FIELD 0
|
||||
DSRORW, 0 /DO THE RF OPERATION
|
||||
JMP I DSTRYA
|
||||
>
|
||||
IFNZRO RKSYS <
|
||||
/ DISK ACCESSES DO NOT NEED TO START AT A SEGMENT BOUNDARY, AND
|
||||
@ -5360,11 +5363,68 @@ IFNZRO RKSYS <
|
||||
/ NECESSARY AND START ANOTHER XFER.
|
||||
/ WHEN DONE, SET STATUS, CLEAR DISK REGS, ETC.
|
||||
/ WHEW.
|
||||
|
||||
|
||||
/GRAB PARAMETERS AND TRANSLATE, STORE LOCALLY FOR USE.
|
||||
|
||||
DCA RKCMD /STOW COMMAND FOR NOW
|
||||
TAD I DSPAR /DF32 DISC EXTENSION TRANSLATES DIRECTLY TO
|
||||
/TRACK # BUT IS FOR SOME REASON SHIFTED LEFT
|
||||
/TWO BITS IN THE PARAMETER WORD
|
||||
CLL RTL /ALIGN WITH RK8E CYLINDER ADDRESS + SURFACE BIT
|
||||
/(BITS 0-7)
|
||||
DCA RKDSKA /STOW FOR NOW
|
||||
TAD I DSPAR /MEMORY FIELD (IN BITS 7-9).
|
||||
DCA RKEMA
|
||||
TAD I DSPAR / -WORD COUNT. STORE FOR FUTURE REFERENCE.
|
||||
/ THIS WILL ALWAYS BE AT LEAST ONE WORD.
|
||||
DCA RKWD
|
||||
TAD I DSPAR / CORE ADDRESS
|
||||
DCA RKADDR / STORE; WE WILL BE MANUALLY TRANSFERRING
|
||||
/ DATA TO/FROM THIS ADDRESS ONE WORD AT A TIME.
|
||||
|
||||
TAD I DSPAR / DISK ADDRESS:
|
||||
/ THE ADDRESS (12 BITS) IN THE TRACK TO START
|
||||
/ THE TRANSFER TO/FROM
|
||||
|
||||
DCA RKOFF / STORE OFFSET
|
||||
TAD RKOFF
|
||||
CLL RTR
|
||||
RTR
|
||||
RTR
|
||||
RTR / DIVIDE BY 256, YIELDING SECTOR # TO START THE
|
||||
/ TRANSFER
|
||||
TAD RKDSKA
|
||||
DCA RKDSKA / ADD TO DISK ADDRESS
|
||||
TAD RKOFF
|
||||
AND C377 / MASK OFF OFFSET WITHIN SECTOR
|
||||
DCA RKOFF /
|
||||
|
||||
/ OK - DO THE ACTUAL TRANSFER: REGARDLESS OF WHETHER THIS IS ULTIMATELY
|
||||
/ A READ OR A WRITE, WE ALWAYS DO A READ FIRST: ON A WRITE WE NEED TO
|
||||
/ MERGE THE CHANGED BITS INTO THE SECTOR'S DATA.
|
||||
|
||||
/ DO A READ: READ 256 WORDS INTO OUR BUFFER IN FIELD 1.
|
||||
/ THEN WAIT FOR AN INTERRUPT.
|
||||
CLA
|
||||
TAD RKBLKAi /ADDRESS OF BUFFER IN FIELD 1
|
||||
DLCA
|
||||
TAD C0410 / READ COMMAND, WITH INTERRUPT, INTO FIELD 1
|
||||
/ TODO: SHOULD DEAL WITH EXT CYL ADDRESS BIT!
|
||||
DLDC
|
||||
TAD RKDKSA / SECTOR / TRACK ADDRESS
|
||||
DLAG / AND GO! DO IT!
|
||||
|
||||
RKFIN, CDF /BACK TO DATA FIELD 0
|
||||
JMP I DSTRYA
|
||||
|
||||
RKCMD, 0
|
||||
RKDSKA, 0
|
||||
RKEMA, 0
|
||||
RKWD, 0
|
||||
RKADDR, 0
|
||||
RKOFF, 0
|
||||
RKBLKA, RKBLK
|
||||
>
|
||||
CDF /BACK TO DATA FIELD 0
|
||||
DSRORW, 0 /DO THE RF OPERATION
|
||||
JMP I DSTRYA
|
||||
|
||||
|
||||
DSERR1, JMS DSERR /DO COMMON ERROR ROUTINE
|
||||
@ -6956,6 +7016,14 @@ DEVDMB= JOBTBL-2
|
||||
|
||||
/JOBTBL, CLKTBL, TTYTBL, PRGTBL, & DSUTBL ARE SET UP BY INIT
|
||||
|
||||
*7000
|
||||
/ ROUTINES FOR DSGO-RELATED FUNCTIONALITY ON RK05
|
||||
/ MOVED HERE TO ALLOW MORE SPACE AND EASIER ACCESS TO DATA IN FIELD 1
|
||||
/
|
||||
DSGO1, HLT
|
||||
|
||||
/ RETURN TO FIELD 1
|
||||
|
||||
*RKBLK
|
||||
ZBLOCK 400 /MONITOR'S FIXED BLOCK FOR RK05 FILESYSTEM TRANSFERS
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user