1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-11 23:53:12 +00:00

Make CH10 pick up address from interface

just like CH11 does (see PR #2038)

Fixed mismatched bracket in SYSTEM;ITS and bumped version number.
Also bumped version number on SYSTEM;CHAOS.
This commit is contained in:
Björn Victor 2024-03-18 12:50:12 +01:00 committed by Lars Brinkhoff
parent 505ad4864c
commit 5c117a677c
2 changed files with 17 additions and 17 deletions

View File

@ -57,8 +57,8 @@ MXWIND==100 ;MAXIMUM WINDOW SIZE (8K WORDS)
.SEE CH10P ;1 MEANS USE CH10 HARDWARE TO GET TO CHAOS NET
.SEE CH11P ;1 MEANS USE UNIBUS CHAOSNET HARDWARE ON KS10
IFN CH11P,[
;; BV: Read this from the CH11 at boot, see IORDI A,CAIMYN in SYSTEM;ITS
IFN CH11P+CH10P,[
;; BV: Read this from the CH11/CH10 at boot, see IORDI A,CAIMYN or CONI CHX,A in SYSTEM;ITS
MYCHDR: MYCHAD
;; my subnet, constructed from the above
MYCHSN: MYCHAD_-8
@ -325,7 +325,7 @@ CHASO4: SETZM CHSNBF(I)
SETZM CHSIBC(I)
MOVSI T,%CFOFF .SEE %CSCLS
MOVEM T,CHSSTA(I)
IFN CH11P,[
IFN CH11P+CH10P,[
;; BV: initialize our local address
MOVE T,MYCHDR
DPB T,[.BP (777774),CHSLCL(I)]
@ -1273,7 +1273,7 @@ CHAPII: MOVE B,RECHDP ;SAVE HEADER FOR DEBUGGING IN RING BUFFER
JUMPN D,CHABRT ;FLUSH, NOT SUPPORTED
LDB D,[$CPKOP(A)] ;GET OPCODE
LDB B,[$CPKDA(A)] ;CHECK DESTINATION
IFN CH11P, CAME B,MYCHDR
IFN CH11P+CH10P, CAME B,MYCHDR
.ELSE CAIE B,MYCHAD ;IF FOR ME,
SKIPN B ;OR FOR ME BY VIRTUE OF BROADCAST
AOSA CHNPI ;ACCEPT IT
@ -1485,7 +1485,7 @@ EXPUNGE FOO,BAR
HRRI B,%CPKDT+2(A)
BLT B,%CPKDT+7(A)
MOVE B,[.BYTE 8 ? MYCHAD/400 ? 1 ? 4+IFN CH10P+CH11P,[10.] ? 0 ]
IFN CH11P,[
IFN CH11P+CH10P,[
;; BV: plug in my actual subnet at the right place
MOVE T,MYCHSN
DPB T,[.BP (776000),B]
@ -1548,7 +1548,7 @@ CHIBRD: LDB T,[$CPKAN(A)] ;NUMBER OF BITMAP BYTES
BLT D,(TT)
SETZI TT,
DPB TT,[$CPKAN(A)] ;ZERO THE ACK FIELD
IFN CH11P,MOVE TT,MYCHDR
IFN CH11P+CH10P,MOVE TT,MYCHDR
.ELSE MOVEI TT,MYCHAD
DPB TT,[$CPKDA(A)] ;PRETEND IT WAS FOR ME
JRST CHIRFC ;AND HANDLE IT AS AN RFC
@ -2256,7 +2256,7 @@ CHXBK7: SETZM CHOSTA ;TRANSMITTER IDLE, LOOK FOR NEXT PACKET
LDB T,[$CPKDN(A)] ;GET DESTINATION SUBNET
HRRZ D,SBNRUT(T) ;GATEWAY TO THAT SUBNET
CAIGE T,NSUBNT
IFN CH11P,CAMN T,MYCHSN
IFN CH11P+CH10P,CAMN T,MYCHSN
.ELSE CAIN T,MYCHAD_-8 ;IF ON LOCAL CABLE
LDB D,[$CPKDA(A)] ;GO DIRECT
LSH D,16.+4
@ -2489,7 +2489,7 @@ CHXXM6: JUMPGE H,CHXXM7 ;Jump if even packet length
CHXXM7: LDB T,[$CPKDN(A)] ;Get destination subnet
HRRZ D,SBNRUT(T) ;Gateway to that subnet
CAIGE T,NSUBNT
IFN CH11P,CAMN T,MYCHSN
IFN CH11P+CH10P,CAMN T,MYCHSN
.ELSE CAIN T,MYCHAD_-8 ;If on local cable,
LDB D,[$CPKDA(A)] ; go direct
IOWRI D,CAIWBF ;Store hardware destination address

View File

@ -19973,8 +19973,8 @@ IFE NUNITS,[
;Here generate the table for the BUG macro. Note that entries for
;bugs in the initialization code will appear here also! That's
;why we have the kludgey add 10
BUGTAB: BLOCK LBUGTB+10
;why we have the kludgey add 12
BUGTAB: BLOCK LBUGTB+12
LBUGT2==.-BUGTAB
0 ;Marks end of table
@ -21645,10 +21645,16 @@ BEG9: MOVEI A,(R) ;SET UP 1 MORE TEN-11 MAP ENTRY
SETZM TT11UP ;REQUEST IT TO RE-INIT.
;IF TT11UP BECOMES NONZERO, THE 11 IS UP.
BEG5: ];END IFN N11TYS
IFN CH11P+CH10P,[
IFN CH11P,[
XCTRI [IORDI A,CAIMYN]
CAIA
BUG HALT,[CHAOSNET INTERFACE NOT RESPONDING (CHECK THE BREAKER ON THE UNIBUS)]
]
IFN CH10P,[
CONI CHX,A
LDB A,[$CHXAD,,A]
]
;; BV: save the address the interface has
MOVEM A,MYCHDR
;; and hack symbol table for backwards compatibility (PEEK, at least)
@ -21660,7 +21666,7 @@ IFN CH11P,[
;; and separately, the subnet part
LSH A,-8
MOVEM A,MYCHSN
] ;CH11P
] ;CH11P+CH10P
IFN CHAOSP,[ IFN T11CHP,[
SKIPE TEN11F ;SET UP TEN-11 CHAOS NET INTERFACE PAGE
JRST BEG8
@ -21771,12 +21777,6 @@ IFN KS10P,[
CLRCSH ; Is this necessary? What the heck...
] ;KS10P
IFN CH10P,[
CONI CHX,T ;CHECK CHAOS ADDRESS SWITCHES
LDB T,[$CHXAD,,T]
CAIE T,MYCHAD
JRST [ MOVEI TT,[ASCIZ/CHAOSNET ADDRESS SWITCHES ARE SET WRONG/]
PUSHJ P,T00ASZ
JRST DDT ]
CONO CHX,@CHXCNO ;ENABLE INTERRUPTS
];CH10P
JRST ICLR