620 lines
14 KiB
Plaintext
620 lines
14 KiB
Plaintext
/ROUTINE TO SET A WAIT 2 CONDITION FOR THE CURRENT USER
|
||
/ (FOR DECTAPE, RK05, OR CARDREADER)
|
||
/ ENTER WITH DESIRED WAIT 2 STATUS IN THE AC
|
||
|
||
WAITS2, 0
|
||
DCA TEMP2
|
||
CDF
|
||
TAD I JOB /GET USER JOB NUMBER
|
||
JMS GETTBA
|
||
JOBWMK
|
||
DCA I TEMP0 /CLEAR WAIT MASK 1
|
||
ISZ TEMP0
|
||
TAD TEMP0 /GET WAIT NUMBER
|
||
DCA I TEMP0 /NOW [S]HE'S WAITING
|
||
JMP I WAITS2
|
||
|
||
/ROUTINE TO LOCK CURRENT USER IN HIS/HER CORE FIELD
|
||
/ RETURNS WITH CORTBL POINTER IN AC
|
||
USRLOK, 0
|
||
CDF
|
||
TAD I L2SFP /POINTER TO LEVEL 2 SAVE FIELD
|
||
AND K0007 /JUST THE FIELD
|
||
TAD CORTBA /DISPLACEMENT INTO THE CORE TABLE
|
||
DCA TEMP2
|
||
STL RTR /AC=2000
|
||
TAD I TEMP2
|
||
DCA I TEMP2 /LOCK IN CORE
|
||
DATFLD
|
||
TAD TEMP2 /NOW RETURN WITH POINTER INTO CORE TABLE
|
||
JMP I USRLOK
|
||
L2SFP, L2SF
|
||
|
||
FCB3= .+7&7770
|
||
CDCNT, 0
|
||
CDCORE, 0
|
||
CDTIMR, TIMCDR
|
||
CDL21, CLL CMA RTR /AC=5777
|
||
AND I CDCORE
|
||
DCA I CDCORE /UNLOCK THE CORE FIELD
|
||
TAD CDJOB
|
||
JMS GETTBA /FIND HIS/HER AC
|
||
JOBREG+2
|
||
TAD CDCNT
|
||
DCA I TEMP0 /PUT THE COLUMN COUNT IN HIS/HER AC
|
||
TAD CDJOB
|
||
JMS I AWAKEN /TAKE HIM/HER OUT OF WAIT STATUS
|
||
CDBUF, 0
|
||
EXITF1
|
||
CDL11, TAD I CDTIMR
|
||
SNA CLA /WERE WE EXPECTING AN INTERRUPT?
|
||
JMP CDIOT /NO
|
||
ISZ CDCNT /COUNT A COLUMN
|
||
ISZ CDBUF /BUMP THE USER'S POINTER
|
||
CDJOB, 0 /JOB OWNING THE CARD READER - (COVERS THE "ISZ SKIP")
|
||
CDREAD, .-. /THE PROPER READ IOT IS PLACED HERE
|
||
CDFLD, .-. /CDF TO THE USER'S FIELD
|
||
DCA I CDBUF /STASH A COLUMN IN THE USER'S BUFFER
|
||
INTRTN
|
||
CDIOT, RCRA /CLEAR UNWANTED INTERRUPT
|
||
CLA
|
||
INTRTN
|
||
UUCDR, CLL RAL /TIMES 2
|
||
TAD CDIOT /CONSTRUCT READ IOT
|
||
DCA CDREAD /EITHER ALPHA, BINARY, OR COMPRESSED (8E ONLY)
|
||
TAD I L2SAP
|
||
DCA CDBUF /SAVE THE USER'S BUFFER POINTER
|
||
DCA I L2SAP /CLEAR USER AC - IN CASE THE READER ISN'T READY
|
||
TAD I UDFP
|
||
DCA CDFLD /SAVE CDF TO USER'S FIELD
|
||
TAD I JOB
|
||
DCA CDJOB
|
||
DCA CDCNT /ZERO COLUMN COUNT
|
||
IOF
|
||
IFZERO CPU&7776 < JMP .+4 >
|
||
IFNZRO CPU&7776 < RCTF > /CLEAR 8E TRANSITION FLAG
|
||
IAC
|
||
RCNO /ENABLE CARD READER INTERRUPTS
|
||
CLA
|
||
RCSE /START CARD READER
|
||
JMP UUCDRB /NOT READY - PUT HIM/HER TO SLEEP BEFORE CONTINUING
|
||
JMS USRLOK /LOCK HIM/HER IN HIS/HER FIELD
|
||
DCA CDCORE /SAVE POINTER TO CORTBL
|
||
TAD K0004
|
||
JMS I WAIT2 /MAKE HIM/HER WAIT FOR THE CARD READER
|
||
CIF CDF
|
||
CLL CMA RAL /AC=-2
|
||
DCA I CDTIMR /SET CARD READER TIMER
|
||
JMP I WAIT1
|
||
UUCDRB, CIF CDF
|
||
JMP I SLEEPB /PUT HIM/HER TO SLEEP FOR A COUPLE OF SECONDS
|
||
*2000
|
||
FCE3= .&7770
|
||
FCB4= .+7&7770
|
||
RKL11, DRST /GET CONTROLLER STATUS
|
||
CLL RAL /IGNORE THE DONE BIT
|
||
SZA
|
||
JMP RKSR1 /ERROR!!!!!
|
||
ISZ RKBLKS /COUNT A SUCCESSFUL TRANSFER
|
||
TAD RKCMD
|
||
SNA /ARE WE FINISHED?
|
||
JMP RKSR2 /YES
|
||
DLDC /LOAD THE NEW COMMAND
|
||
TAD RKSECT
|
||
DLAG /LOAD THE NEW SECTOR - WE'RE OFF AND RUNNING AGAIN
|
||
JMS RKNXT /SET UP FOR THE NEXT BLOCK (IF ANY)
|
||
CLL STA RAL
|
||
DCA RKTIME /SET CONTROLLER TIMER FOR 2 MORE SECONDS
|
||
CLL STA RTL
|
||
DCA I RKERRA /THREE ERRORS
|
||
INTRTN
|
||
|
||
RKSR1, ISZ I RKERRA
|
||
JMP RKSR4 /STILL OK TO RETRY
|
||
DRST
|
||
RKSR2, DCA I RKERRA /FINAL STATUS FOR THE USER
|
||
DLDC /CLEAR CONTROLLER STATUS AND COMMAND REGISTERS
|
||
DCA RKTIME
|
||
TAD RKL2 /SCHEDULE LEVEL 2
|
||
INTRTN
|
||
RKSR4, AND K1012 /SAVE SPECIAL CASE ERROR BITS
|
||
SNA
|
||
RKSRE, JMP RKSR5+1 /DON'T RECAL. OR PUT CURRENT JOB TO SLEEP
|
||
AND K0010
|
||
SZA CLA
|
||
JMP RKSR5 /PUT CURRENT JOB TO SLEEP AND RE-TRY
|
||
IAC
|
||
DCLR /IN CASE WE HAVE SOMETHING REALLY IN TROUBLE
|
||
TAD RKCOM
|
||
AND K0006 /SAVE ONLY THE UNIT #
|
||
TAD K0600 /ENABLE INTERRUPT ON SEEK COMPLETION
|
||
DLDC
|
||
STL RTL
|
||
DCLR /RE-CALIBRATE
|
||
TAD RKSRE
|
||
DCA RKL11 /CHANGE LEVEL 1
|
||
CLL STA RTL /ALLOW 3 SECONDS FOR THE RE-CALIBRATE
|
||
DCA RKTIME
|
||
DCLR
|
||
INTRTN
|
||
RKSR5, TAD SLEEPB
|
||
DCA INTS2
|
||
CLL CMA RTL /AC=-3
|
||
TAD IX3 /POINTER TO DDB WORD 4 (-1)
|
||
JMS RKGO /RE-TRY
|
||
SNA /ANYTHING BAD?
|
||
TAD INTS2 /NO - HOW ABOUT PUTTING SOMEONE TO SLEEP?
|
||
INTRTN
|
||
K1012, 1012
|
||
RKL2, RKL20
|
||
RKFLD, -CORTBL+51
|
||
RKGO, 0
|
||
DCA IX3 /SAVE THE DDB POINTER
|
||
IAC
|
||
DCLR /CLEAR THE CONTROLLER
|
||
TAD I IX3 /USER WORD 1
|
||
CLL RTR
|
||
RAR
|
||
DCA RKCOM /SAVE COMMAND DIVIDED BY 10
|
||
TAD RKCOM
|
||
AND K0037 /PAGE COUNT
|
||
SNA
|
||
TAD K0040 /FOR 0 OR 40 GIVE HIM/HER 40
|
||
CMA
|
||
TAD RKBLKS
|
||
TAD RKBLKS /ADD NUMBER OF PAGES ALREADY TRANSFERRED
|
||
DCA RKCNT
|
||
TAD RKCOM
|
||
AND K7400 /SAVE FUNCTION, DRIVE, AND HI ORDER SECTOR BIT
|
||
TAD RKCORE /POINTER TO CORTBL ENTRY
|
||
TAD RKFLD /EXTRACT FIELD NUMBER AND INSERT INTERRUPT ENABLE AND HALF BLOCK BITS
|
||
CML RTL /"RKFLD" COMPLEMENTED THE LINK
|
||
RAL
|
||
DCA RKCOM /SAVE THE CONSTRUCTED COMMAND REGISTER
|
||
TAD RKBLKS /NUMBER OF SECTORS ALREADY TRANSFERRED
|
||
TAD I IX3
|
||
DCA RKSECT /STARTING SECTOR NUMBER FROM THE USER
|
||
SZL
|
||
ISZ RKCOM /BUMP HI ORDER BIT
|
||
TAD RKBLKS /NUMBER OF BLOCKS ALREADY TRANSFERRED
|
||
CLL RTR /TIMES 400
|
||
RTR
|
||
RAR
|
||
TAD I IX3
|
||
IAC /WE ADD ONE SINCE THE CONTROLLER WANTS THE REAL ADDRESS
|
||
DLCA /LOAD USER'S CA INTO THE CONTROLLER
|
||
JMS RKCMD /GENERATE FIRST COMMAND
|
||
IOF
|
||
DLDC /LOAD CONTROLLER COMMAND REGISTER
|
||
TAD RKSECT
|
||
DLAG /LOAD IN THE DESIRED SECTOR - WE ARE OFF AND RUNNING
|
||
JMS RKNXT /SET UP FOR THE NEXT SECTOR (IF ANY)
|
||
TAD RKDRST
|
||
DCA RKL11 /FIX FIRST WORD OF INTERRUPT SERVICE
|
||
DSKP /ARE WE TRYING TO DO SOMETHING BAD?
|
||
JMP I RKGO /NO - EVERYTHING IS PEACHY
|
||
RKDRST, DRST
|
||
DCA I RKERRA /SAVE ERROR STATUS - NO RE-TRIES WILL BE MADE
|
||
DLDC /CLEAR CONTROLLER STATUS AND COMMAND REGISTERS
|
||
TAD RKL2 /RETURN WITH L2 DISPATCH
|
||
JMP I RKGO
|
||
|
||
RKCMD, 0
|
||
ISZ RKCNT
|
||
TAD RKCNT
|
||
SMA CLA /ANY MORE BLOCKS TO GO?
|
||
JMP RKDONE /NO - CLOSE IT OUT
|
||
ISZ RKCNT /HALF BLOCK?
|
||
TAD K7700 /NO - REMOVE THE HALF BLOCK BIT FROM THE COMMAND
|
||
TAD RKCOM /GET THE COMMAND
|
||
JMP I RKCMD
|
||
|
||
RKNXT, 0
|
||
ISZ RKSECT /BUMP SECTOR
|
||
TAD RKSECT
|
||
SNA
|
||
ISZ RKCOM /BUMP HI-ORDER SECTOR BIT
|
||
AND K0037
|
||
SZA CLA /WILL WE SEEK ON THIS ONE?
|
||
TAD K1000 /NO - DO A READ ALL OR WRITE ALL
|
||
DCA INTS1
|
||
JMS RKCMD /CHECK FOR HALF BLOCK AND COMPLETION
|
||
TAD INTS1
|
||
RKDONE, DCA RKCMD /SAVE THE NEW COMMAND REGISTER
|
||
JMP I RKNXT
|
||
PAGE
|
||
FCE4= .&7770
|
||
IFNZRO DC08A <
|
||
T8ASSM, 0
|
||
AND T83770 /THE CHARACTER ONLY
|
||
SNA
|
||
JMP T8ASS1 /IGNORE NULL CHARACTERS
|
||
CLL RTR /BRING THE CHARACTER INTO POSITION
|
||
RAR
|
||
AND T80177
|
||
TAD K0200 /FORCE ON THE PARITY BIT
|
||
CIF 00 /STASH IT AWAY
|
||
JMS I T8IN1A /THAT'S DONE IN FIELD 0
|
||
ION
|
||
T8ASS1, CLL STA RTL /AC=-3
|
||
TAD T8ASSM
|
||
DCA T8T /POINTS TO THE LSW
|
||
TAD I T8T
|
||
AND T83770 /SAVE ONLY THE LINE NUMBER
|
||
DCA I T8T
|
||
ISZ T8T /POINTS TO THE CAW
|
||
STL RTR /AC=2000
|
||
DCA I T8T /RESET THE FLAG BIT
|
||
TTIR /BUMP THE "R" REGISTER
|
||
JMP I T8ASSM
|
||
T80177, 177
|
||
T83770, 3770
|
||
T8IN1A, T8IN1
|
||
T8T, 0
|
||
T8TTI, TTI
|
||
DC08LO^10+0 /LSW LINE # PT08+DC08LO+1
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+10 /LSW LINE # PT08+DC08LO+2
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+20 /LSW LINE # PT08+DC08LO+3
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+30 /LSW LINE # PT08+DC08LO+4
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+40 /LSW LINE # PT08+DC08LO+5
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+50 /LSW LINE # PT08+DC08LO+6
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+60 /LSW LINE # PT08+DC08LO+7
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+70 /LSW LINE # PT08+DC08LO+10
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+100 /LSW LINE # PT08+DC08LO+11
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+110 /LSW LINE # PT08+DC08LO+12
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+120 /LSW LINE # PT08+DC08LO+13
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+130 /LSW LINE # PT08+DC08LO+14
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+140 /LSW LINE # PT08+DC08LO+15
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+150 /LSW LINE # PT08+DC08LO+16
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+160 /LSW LINE # PT08+DC08LO+17
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+170 /LSW LINE # PT08+DC08LO+20
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+200 /LSW LINE # PT08+DC08LO+21
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+210 /LSW LINE # PT08+DC08LO+22
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+220 /LSW LINE # PT08+DC08LO+23
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
TTI
|
||
DC08LO^10+230 /LSW LINE # PT08+DC08LO+24
|
||
2000 /CAW
|
||
JMS T8ASSM /CHARACTER FULLY ASSEMBLED
|
||
*T8TTI+DC08A+DC08A+DC08A+DC08A
|
||
CIF 00
|
||
JMP I .+1 /BACK TO THE REST OF THE DC08A SERVICE
|
||
T8OUT1
|
||
|
||
FCB5= .+7&7770
|
||
*2360
|
||
|
||
FCE5= .&7770
|
||
|
||
DFCLS0, ZBLOCK 4
|
||
DFCNO0, ZBLOCK 4
|
||
DFL2S0, ZBLOCK 4
|
||
-1 /TO END TABLE
|
||
DFL2DL= .
|
||
1-DC08LO+PT08+KL8;11-DC08LO+PT08+KL8
|
||
21-DC08LO+PT08+KL8;31-DC08LO+PT08+KL8
|
||
|
||
|
||
DFRING, CTG /CLEAR THE GROUP COUNTER
|
||
TAD K7774
|
||
DCA TEMP0 /COUNTER FOR GROUP SEARCH
|
||
DFRNG1, RRS /READ RING STATUS
|
||
SZA
|
||
STR /ACKNOWLEDGE RING(S)
|
||
CLA
|
||
ITG /INCREMENT THE GROUP COUNTER
|
||
ISZ TEMP0 /LOOKED AT ALL LINES?
|
||
JMP DFRNG1 /NO, KEEP LOOKING
|
||
STA
|
||
IOF
|
||
DCA I .+2 /DATA FLD=0 HERE, I HOPE. RESET COUNTER
|
||
EXITF1
|
||
D6FLAG
|
||
|
||
DFCLSI, 0
|
||
DFCNWI, 0
|
||
DFCLST, DFCLS0
|
||
DFCNOW, DFCNO0
|
||
DFCNTR, 0
|
||
DFCSET, 0
|
||
TAD DFCLST
|
||
DCA DFCLSI /POINTER TO STATUS AT LAST INTERRUPT
|
||
TAD DFCNOW
|
||
DCA DFCNWI /POINTER TO STATUS AT THIS INTERRUPT
|
||
TAD K7774
|
||
DCA DFCNTR /COUNTER FOR COMPARISONNS
|
||
CTG /CLEAR GROUP COUNTER
|
||
JMP I DFCSET
|
||
DFCARR, JMS DFCSET /INITIALIZE STATUS
|
||
DFCAR1, RCS /READ CARRIER STATUS
|
||
DCA I DFCNWI /PLACE ON TABLE
|
||
ISZ DFCNWI
|
||
ITG /INCREMENT THE GROUP COUNTER
|
||
ISZ DFCNTR /READ ALL FOUR GROUPS?
|
||
JMP DFCAR1 /NO, READ NEXT
|
||
JMS DFCSET
|
||
TAD DFL2ST
|
||
DCA DFL2SI
|
||
DFCAR2, TAD I DFCNWI
|
||
CMA
|
||
AND I DFCLSI
|
||
SZA /ANY LINES CLEARED?
|
||
JMP DFCAR3 /YES, ACKNOWLEDGE
|
||
DFCAR5, TAD I DFCLSI
|
||
CMA
|
||
AND I DFCNWI
|
||
SZA
|
||
JMS DFCAR6
|
||
ISZ DFCLSI
|
||
ISZ DFCNWI
|
||
ISZ DFL2SI
|
||
ITG /INCREMENT THE GROUP COUNTER
|
||
ISZ DFCNTR /ALL LINES CHECKED?
|
||
JMP DFCAR2 /NO
|
||
JMS DFCSET
|
||
DFCAR4, TAD I DFCNWI /TRANSFER THIS STATUS TABLE TO LAST
|
||
DCA I DFCLSI
|
||
ISZ DFCNWI
|
||
ISZ DFCLSI
|
||
ISZ DFCNTR
|
||
JMP DFCAR4
|
||
JMP DFL200
|
||
|
||
DFCAR3, CTR /CLEAR TERMINAL READY
|
||
JMS DFCAR6
|
||
JMP DFCAR5 /LOOK AT OTHER GROUPS
|
||
|
||
DFCAR6, 0
|
||
DCA TEMP4 /BIT TO SET
|
||
TAD TEMP4
|
||
CMA
|
||
AND I DFL2SI
|
||
TAD TEMP4
|
||
DCA I DFL2SI
|
||
JMP IDFCAR6
|
||
DFL200, TAD DFL2ST /INITIALIZE PSEUDO GROUP CTR
|
||
DCA DFL2SG
|
||
|
||
DFL22, TAD K7770 /EIGHT PHONES
|
||
DCA TEMP0
|
||
IAC
|
||
DCA TEMP1 /SELECT EACH LINE IN GROUP
|
||
|
||
DFL21, TAD I DFL2SG
|
||
SNA
|
||
JMP DFL23
|
||
SPA
|
||
EXITF1
|
||
AND TEMP1
|
||
SZA CLA
|
||
JMP DFL25
|
||
|
||
DFL26, TAD TEMP1
|
||
CLL RAL
|
||
DCA TEMP1
|
||
ISZ TEMP0
|
||
JMP DFL21
|
||
DFL23, DCA I DFL2SG
|
||
ISZ DFL2SG
|
||
JMP DFL22
|
||
|
||
DFGBLK, GETB
|
||
DFL25, TAD DFL2SG
|
||
TAD DFL2C
|
||
DCA TEMP2
|
||
TAD I TEMP2
|
||
TAD TEMP0
|
||
TAD K0010
|
||
CLL RAL
|
||
TAD DFVTBA
|
||
DCA TEMP3
|
||
TAD I TEMP3
|
||
SZA CLA
|
||
JMP .+5 /YES
|
||
TAD TEMP3
|
||
CIF
|
||
JMS I DFGBLK
|
||
JMP DFL26
|
||
TAD TEMP3
|
||
CIF CDF
|
||
JMS I DFUMES
|
||
JMP DFL26
|
||
|
||
DFL2SG, 0
|
||
DFL2C, DFL2DL-DFL2S0
|
||
DFVTBA= DEVTBA
|
||
DFL2SI, 0
|
||
DFL2ST, DFL2S0
|
||
DFUMES, UHLTMS
|
||
>
|
||
*DATA1
|
||
/ROUTINE TO DECREMENT TIMERS
|
||
/THEY ARE BUMPED ONCE EACH SECOND
|
||
/THUS A USER CAN MEASURE UP TO 1 HOUR, 8 MINUTES, 15 SECONDS
|
||
|
||
TIMER0, 0
|
||
ISZ TIMBIG /HAVE WE GONE THROUGH A SECOND YET?
|
||
JMP F0TIMT /NO - DID WE FINISH ALL THE TIMERS LAST TIME?
|
||
TAD TICSEC /REFRESH SECOND TIMER
|
||
DCA TIMBIG
|
||
|
||
TAD JOBCNT
|
||
DCA TIMET1
|
||
TAD TIMTB1 /START OF CLKTBL
|
||
DCA TIMET2
|
||
TIMER1, DATFLD
|
||
TAD I TIMET2
|
||
SZA CLA
|
||
ISZ I TIMET2
|
||
JMP TIMER2
|
||
TAD TIMEJM /SET TIMER FLAG
|
||
TAD TIMET1
|
||
JMS GETTBA /GET PTR TO STATUS 1
|
||
JOBSTS+1
|
||
TAD TEMP0 /DOES THE JOB STILL EXIST?
|
||
SNA CLA
|
||
JMP TIMER2 /NO
|
||
TAD I TEMP0 /YES, SET JSTIME IN STR1
|
||
RAL
|
||
STL RAR
|
||
DCA I TEMP0
|
||
TIMER2, ISZ TIMET2
|
||
ISZ TIMET1
|
||
JMP TIMER1
|
||
ISZ UPTIM1 /INDEX LOW ORDER UPTIME
|
||
SKP
|
||
ISZ UPTIM2 /INDEX HI ORDER UPTIME
|
||
TIMEJM, JOBMAX+1 /NOP
|
||
IFZERO TC01 < JMP .+3 >
|
||
IFNZRO TC01 < STA >
|
||
DCA TEMP2 /ENABLE TRANSFER BACK TO DECTAPE CONTROLLER WAIT
|
||
JMS I TIMEDT /RUN DECTAPE TIMERS
|
||
IFZERO RK05 < JMP F0TIMR >
|
||
IFNZRO RK05 < CIF DATFLD > /NO INTERRUPTS
|
||
TAD RKTIME
|
||
SZA CLA /ACTIVE?
|
||
ISZ RKTIME /YES, BUMP TIMER
|
||
JMP F0TIMR /ALL IS WELL
|
||
IAC
|
||
DCLR /STOP WHATEVER IS GOING ON WITH THE RK05
|
||
STA
|
||
DCA I RKERRA /SHOW THAT TRANSFER WAS TERMINATED
|
||
TAD RKJOB
|
||
JMS I RKHUNG /REPORT THE ERROR
|
||
RKL20
|
||
/ROUTINE TO DUMP VALUE OF ONE CORE CELL INTO MQ
|
||
/RUNS AT EACH SYSTEM TICK
|
||
/TO USE, SET THE DESIRED CORE ADDRESS IN THE SWITCH REGISTER
|
||
/TO SELECT FIELDS, CLEAR SR TO 0, AND SET THE DESIRED
|
||
/FIELD IN THE LOW ORDER BITS OF THE SR.
|
||
|
||
/THIS MEANS THAT YOU CANNOT ADDRESS LOCATIONS 0,1,2, OR 3
|
||
|
||
/IF THIS ROUTINE IS RUNNING, THE EAE IS NOT MUCH USE
|
||
/TO USER PROGRAMS. SORRY ABOUT THAT.
|
||
|
||
TIMOUT, JMP TIMEX /LAS /INSERT THE "LAS" (7604) TO ENABLE DISPLAY
|
||
AND K7774 /TRYING A FIELD SELECT?
|
||
SNA
|
||
JMP DISPL1 /YES, GO CHANGE THE FIELD
|
||
LAS /NO; WHAT WAS THAT ADDRESS AGAIN?
|
||
DCA TEMP0
|
||
DISFLD, CDF /ASSUME FIELD 0 TO START
|
||
TAD I TEMP0 /PICK UP CONTENTS OF SPECIFIED ADDRESS
|
||
MQL /DUMP IT IN THE MQ
|
||
TIMEX, CIF CDF /BACK TO FIELD 0
|
||
JMP I TIME3A /RETURN
|
||
|
||
TIMIT, TIMER3
|
||
TIME3A, TIMER3
|
||
TIMBIG, -TICSPS /ACTIVE COUNTER
|
||
TICSEC, -TICSPS /STARTING VALUE OF TIMBIG
|
||
TIMET1= TEMP4
|
||
TIMET2= TEMP2
|
||
TIMTB1, CLKTBL+1
|
||
TIMEDT, DTIMER
|
||
RKHUNG, DTRKER
|
||
|
||
DISPL1, LAS /WHAT WAS THAT FIELD AGAIN?
|
||
CLL RAL
|
||
RTL
|
||
TAD K6201 /BUILD FIELD SELECT
|
||
DCA DISFLD
|
||
JMP DISFLD-1 /NOW GO LOOK
|
||
|
||
DEVDMB= JOBTBL-2
|
||
*DEVTBL-1
|
||
DEVDMB /DUMMY USED BY FIP RELEASE
|
||
ZBLOCK DEVTBE-DEVTBL
|
||
0 /WE ALLOW THE READER EVEN IF NOT CONFIGURED FOR ONE
|
||
/THIS ALLOWS FIELD SERVICE TO USE THEIR PMK01
|
||
IFZERO PUNCH <DEVDMB>
|
||
IFNZRO PUNCH <0>
|
||
DEVDMB
|
||
IFZERO LPT <DEVDMB>
|
||
IFNZRO LPT <0>
|
||
IFZERO CDR <DEVDMB>
|
||
IFNZRO CDR <0>
|
||
IFZERO TC01 <DEVDMB
|
||
DEVDMB
|
||
DEVDMB
|
||
DEVEMB
|
||
DEVDMB
|
||
DEVDMB
|
||
DEVDMB
|
||
DEVDMB>
|
||
IFNZRO TC01 <ZBLOCK 10>
|
||
IFNZRO RK05 <ZBLOCK RK05>
|
||
IFNZRO .-JOBTBL+1 <DEVDMB>
|
||
IFNZRO .-JOBTBL+1 <DEVDMB>
|
||
IFNZRO .-JOBTBL+1 <DEVDMB>
|
||
IFNZRO .-JOBTBL+1 <DEVDMB>
|
||
-1 /TERMINATES ASSIGNABLE DEVICE TABLE
|
||
|
||
/JOBTBL, CLKTBL, TTYTBL, PRGTBL, & DSUTBL ARE SET UP BY INIT
|
||
|
||
|
||
*FIPBLK
|
||
ZBLOCK 10 /FIP'S FIXED PARAMETER BLOCK
|
||
|
||
*WINBAS
|
||
ZBLOCK 50 /BASIC'S WINDOW
|
||
|
||
|
||
$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
||
|