Proof INTER-BANK_COMMUNICATION #594 (#730)

Co-authored-by: Matěj Havránek <havrama5@fit.cvut.cz>
Co-authored-by: James Harris <wopian@wopian.me>
This commit is contained in:
Dex 2020-10-19 20:39:30 +02:00 committed by GitHub
parent b696f96e4e
commit 936eedd6be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -28,8 +28,8 @@
# 16:27 JULY 14, 1969 # 16:27 JULY 14, 1969
# Page 998 # Page 998
# THE FOLLOWING ROUTINE CAN BE USED TO CALL A SUBROUTINE IN ANOTHER BANK. IN THE BANKCALL VERSION, THE # THE FOLLOWING ROUTINE CAN BE USED TO CALL A SUBROUTINE IN ANOTHER BANK. IN THE BANKCALL VERSION, THE
# CADR OF THE SUBROUTINE IMMEDIATELY FOLLOWS THE TC BANKCALL INSTRUCTION, WITH C(A) AND C(L) PRESERVED. # CADR OF THE SUBROUTINE IMMEDIATELY FOLLOWS THE TC BANKCALL INSTRUCTION, WITH C(A) AND C(L) PRESERVED.
BLOCK 02 BLOCK 02
COUNT* $$/BANK COUNT* $$/BANK
@ -38,7 +38,7 @@ BANKCALL DXCH BUF2 # SAVE INCOMING A,L.
CA 0 CA 0
INCR Q # SO WE RETURN TO THE LOC. AFTER THE CADR. INCR Q # SO WE RETURN TO THE LOC. AFTER THE CADR.
# SWCALL IS IDENTICAL TO BANKCALL, EXCEPT THAT THE CADR ARRIVES IN A. # SWCALL IS IDENTICAL TO BANKCALL, EXCEPT THAT THE CADR ARRIVES IN A.
SWCALL TS L SWCALL TS L
LXCH FBANK # SWITCH BANKS, SAVING RETURN. LXCH FBANK # SWITCH BANKS, SAVING RETURN.
@ -53,23 +53,23 @@ SWRETURN XCH BUF2 +1 # COMES HERE TO RETURN TO CALLER. C(A,L)
XCH BUF2 +1 XCH BUF2 +1
TC BUF2 TC BUF2
# THE FOLLOWING ROUTINE CAN BE USED AS A UNILATERAL JUMP WITH C(A,L) PRESERVED AND THE CADR IMMEDIATELY # THE FOLLOWING ROUTINE CAN BE USED AS A UNILATERAL JUMP WITH C(A,L) PRESERVED AND THE CADR IMMEDIATELY
# FOLLOWING THE TC POSTJUMP INSTRUCTION. # FOLLOWING THE TC POSTJUMP INSTRUCTION.
POSTJUMP XCH Q # SAVE INCOMING C(A). POSTJUMP XCH Q # SAVE INCOMING C(A).
INDEX A # GET CADR. INDEX A # GET CADR.
CA 0 CA 0
# BANKJUMP IS THE SAME AS POSTJUMP, EXCEPT THAT THE CADR ARRIVES IN A. # BANKJUMP IS THE SAME AS POSTJUMP, EXCEPT THAT THE CADR ARRIVES IN A.
BANKJUMP TS FBANK BANKJUMP TS FBANK
MASK LOW10 MASK LOW10
XCH Q # RESTORING INPUT C(A) IF THIS WAS A XCH Q # RESTORING INPUT C(A) IF THIS WAS A
Q+10000 INDEX Q # POSTJUMP. Q+10000 INDEX Q # POSTJUMP.
PRIO12 TCF 10000 # PRIO12 = TCF 10000 = 12000 PRIO12 TCF 10000 # PRIO12 = TCF 10000 = 12000
# Page 999 # Page 999
# THE FOLLOWING ROUTINE GETS THE RETURN CADR SAVED BY SWCALL OR BANKCALL AND LEAVES IT IN A. # THE FOLLOWING ROUTINE GETS THE RETURN CADR SAVED BY SWCALL OR BANKCALL AND LEAVES IT IN A.
MAKECADR CAF LOW10 MAKECADR CAF LOW10
MASK BUF2 MASK BUF2
@ -80,9 +80,9 @@ SUPDACAL TS MPTEMP
XCH FBANK # SET FBANK FOR DATA. XCH FBANK # SET FBANK FOR DATA.
EXTEND EXTEND
ROR SUPERBNK # SAVE FBANK IN BITS 15-11, AND ROR SUPERBNK # SAVE FBANK IN BITS 15-11, AND
XCH MPTEMP # SUPERBANK IN BITS 7-5. XCH MPTEMP # SUPERBANK IN BITS 7-5.
MASK LOW10 MASK LOW10
XCH L # SAVE REL. ADR. IN BANK, FETCH SUPERBITS XCH L # SAVE REL. ADR. IN BANK, FETCH SUPERBITS.
INHINT # BECAUSE RUPT DOES NOT SAVE SUPERBANK. INHINT # BECAUSE RUPT DOES NOT SAVE SUPERBANK.
EXTEND EXTEND
WRITE SUPERBNK # SET SUPERBANK FOR DATA. WRITE SUPERBNK # SET SUPERBANK FOR DATA.
@ -97,7 +97,7 @@ SUPDACAL TS MPTEMP
RETURN # 24 WDS. DATACALL 516 MU, SUPDACAL 432 MU RETURN # 24 WDS. DATACALL 516 MU, SUPDACAL 432 MU
# Page 1000 # Page 1000
# THE FOLLOWING ROUTINES ARE IDENTICAL TO BANKCALL AND SWCALL EXCEPT THAT THEY ARE USED IN INTERRUPT. # THE FOLLOWING ROUTINES ARE IDENTICAL TO BANKCALL AND SWCALL EXCEPT THAT THEY ARE USED IN INTERRUPT.
IBNKCALL DXCH RUPTREG3 # USES RUPTREG3,4 FOR DP RETURN ADDRESS. IBNKCALL DXCH RUPTREG3 # USES RUPTREG3,4 FOR DP RETURN ADDRESS.
INDEX Q INDEX Q
@ -118,9 +118,10 @@ ISWRETRN XCH RUPTREG4
TC RUPTREG3 TC RUPTREG3
# 2. USPRCADR ACCESSES INTERPRETIVE CODING IN OTHER THAN THE USER'S FBANK. THE CALLING SEQUENCE IS AS FOLLOWS: # 2. USPRCADR ACCESSES INTERPRETIVE CODING IN OTHER THAN THE USER'S FBANK. THE CALLING SEQUENCE IS AS FOLLOWS:
# L TC USPRCADR
# L+1 CADR INTPRETX # INTPRETX IS THE INTERPRETIVE CODING # L TC USPRCADR
# # RETURN IS TO L+2 # L+1 CADR INTPRETX INTPRETX IS THE INTERPRETIVE CODING
# RETURN IS TO L+2
USPRCADR TS LOC # SAVE A USPRCADR TS LOC # SAVE A
CA BIT8 CA BIT8
@ -136,40 +137,41 @@ USPRCADR TS LOC # SAVE A
TCF Q+10000 TCF Q+10000
# Page 1001 # Page 1001
# THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07. (CHANNEL 07 CONTAINS SUPERBANK SETTING.) # THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07. (CHANNEL 07 CONTAINS SUPERBANK SETTING.)
# PSEUDO-FIXED OCTAL PSEUDO
# SUPERBANK SETTING S-REG. VALUE BANK NUMBERS ADDRESSES
# ---------- ------- ------------ ------------ ------------
# #
# PSEUDO-FIXED OCTAL PSEUDO # SUPERBANK 3 OXX 2000 - 3777 30 - 37 70000 - 107777 (WHERE XX CAN BE ANYTHING AND
# SUPERBANK SETTING S-REG. VALUE BANK NUMBERS ADDRESSES
# --------- ------- ------------ ------------ ---------
# SUPERBANK 3 OXX 2000 - 3777 30 - 37 70000 - 107777 (WHERE XX CAN BE ANYTHING AND
# WILL USUALLY BE SEEN AS 11) # WILL USUALLY BE SEEN AS 11)
# SUPERBANK 4 100 2000 - 3777 40 - 47 110000 - 127777 (AS FAR AS IT CAN BE SEEN, # SUPERBANK 4 100 2000 - 3777 40 - 47 110000 - 127777 (AS FAR AS IT CAN BE SEEN,
# ONLY BANKS 40-43 WILL EVER BE # ONLY BANKS 40-43 WILL EVER BE
# AND ARE PRESENTLY AVAILABLE) # AND ARE PRESENTLY AVAILABLE)
# SUPERBANK 5 101 2000 - 3777 50 - 57 130000 - 147777 (PRESENTLY NOT AVAILABLE TO # SUPERBANK 5 101 2000 - 3777 50 - 57 130000 - 147777 (PRESENTLY NOT AVAILABLE TO
# THE USER) # THE USER)
# SUPERBANK 6 110 2000 - 3777 60 - 67 150000 - 167777 (PRESENTLY NOT AVAILABLE TO # SUPERBANK 6 110 2000 - 3777 60 - 67 150000 - 167777 (PRESENTLY NOT AVAILABLE TO
# THE USER) # THE USER)
# *** THIS ROUTINE MAY BE CALLED BY ANY PROGRAM LOCATED IN BANKS 00 - 27. I.E., NO PROGRAM LIVING IN ANY # *** THIS ROUTINE MAYBE CALLED BY ANY PROGRAM LOCATED IN BANKS 00 - 27. I.E., NO PROGRAM LIVING IN ANY
# SUPERBANK SHOULD USE SUPERSW. *** # SUPERBANK SHOULD USE SUPERSW. ***
# #
# SUPERSW MAY BE CALLED IN THIS FASHION: # SUPERSW MAYBE CALLED IN THIS FASHION:
# CAF ABBCON WHERE -- ABBCON BBCON SOMETHING -- #
# TCR SUPERSW (THE SUPERBNK BITS ARE IN THE BBCON) # CAF ABBCON WHERE -- ABBCON BBCON SOMETHIN --
# ... ... # TCR SUPERSW (THE SUPERBNK BITS ARE IN THE BBCON)
# . . # ... ...
# . . # . .
# OR IN THIS FASHION: # . .
# CAF SUPERSET WHERE SUPERSET IS ONE OF THE FOUR AVAILABLE # OR IN THIS FASHION :
# TCR SUPERSW SUPERBANK BIT CONSTANTS: # CAF SUPERSET WHERE SUPERSET IS ONE OF THE FOUR AVAILABLE
# ... ... SUPER011 OCTAL 60 # TCR SUPERSW SUPERBANK BIT CONSTANTS:
# . . SUPER100 OCTAL 100 # ... ... SUPER011 OCTAL 60
# . . SUPER101 OCTAL 120 # . . SUPER100 OCTAL 100
# SUPER110 OCTAL 140 # . . SUPER101 OCTAL 120
# SUPER110 OCTAL 140
SUPERSW EXTEND SUPERSW EXTEND
WRITE SUPERBNK # WRITE BITS 7-6-5 OF THE ACCUMULATOR INTO WRITE SUPERBNK # WRITE BITS 7-6-5 OF THE ACCUMULATOR INTO
# CHANNEL 07 # CHANNEL 07
TC Q # TC TO INSTRUCTION FOLLOWING TC Q # TC TO INSTRUCTION FOLLOWING
# TC SUPERSW # TC SUPERSW