Google
 

Trailing-Edge - PDP-10 Archives - BB-H138D-BM - 5-1-documentation/rsx20f.pco
There is 1 other file named rsx20f.pco in the archive. Click here to see a list.


The following  edits  are  the  edits  contained  in  RSX20F
V14-45G:


                           Edit C

[SYMPTOM]

RSX20F can get lots of spurious interrupts for DM11-BB's.

[DIAGNOSIS]

Code to do interrupt enable doesn't check for remote  lines,
but sets interrupt enable for every line with a DM11-BB.

[CURE]

Only set interrupt enable for remote lines.

The following patch is edit C to RSX20F V14-45.

To apply this patch do the following:

1) Shut down the system by typing the following:

^\          ! Control-\ to invoke the PARSER

PAR>SHUT    ! Causes TOPS-10/20 to stop running

2) Now reboot the Console Front End by setting the switches
   on the PDP-11 to 203 and pressing the ENABLE and SWITCHES
   load switches on the KL10 front panel.

3) Type ^\ (Control-\) to invoke the PARSER:

4) In response to the PAR> prompt type the following:

SET CONSOLE MAINTENANCE
!
SET MEMORY ELEVEN
!
!       PATCH:  BIT     #TT.RMT,STSW1(R5);is this a remote line?
DEPOSIT 270=32765
DEPOSIT NEXT=100
DEPOSIT NEXT=6
!               BR      20$             ;skip some vectors
DEPOSIT NEXT=412
!       10$:    JSR     PC,.STPDM       ;stop the DM-11/BB scan
DEPOSIT 310=4737
DEPOSIT NEXT=40174
!               JMP     .DMTMO+130      ;go check for interrupt enabled
DEPOSIT NEXT=137
DEPOSIT NEXT=41256
!       20$:    BNE     10$             ;remote line, check if enabled
DEPOSIT 324=1371
!               BR      30$             ;skip some vectors
DEPOSIT NEXT=406
!       30$:    JMP     .DMTMO+202      ;go skip interrupt enable check
DEPOSIT 344=137
DEPOSIT NEXT=41330
!       40$:    JMP     PATCH           ;jump to patch space
DEPOSIT 41252=137
DEPOSIT NEXT=270
!               .ASCII  /5C/            ;call this edit C
DEPOSIT 1044=41465
!
SET CONSOLE OPERATOR

5) Now type "MCR SAV<CR>"

6) in response to the prompt SAV> type "SY0:/WB<CR>"

This will save the patched RSX20F system image on the front-end
file system.


                           Edit D

[SYMPTOM]

Terminal lines hang, terminal input gets <BELL>ed.

[DIAGNOSIS]

.S2IDC gets incremented when RSX20F sends an XOFF to a  line
to disable input due to lack of buffer space.  At each clock
tick, routine .KW11S checks to see if .S2IDC is non-zero, if
it  is  non-zero the first locally (RSX20F) disabled line is
found then re-enabled and .S2IDC is always decremented.   If
the  XOFF  is  in  progress  but has not actually been sent,
.S2IDC get decremented when it shouldn't have been.

[CURE]

Only decrement .S2IDC after we have actually sent an XON for
a  locally  disabled line.  The following patch is edit D to
RSX20F V14-45.


                            NOTE

               Edit D fully  supercedes  edit
               B,   and   can   be  installed
               without  installing  edit   B.
               Edit  B  does  not  need to be
               removed  to  install  edit  D.
               The  patch  area  occupied  by
               edit B may be  overwritten  in
               the  future, as long as edit D
               has been installed  this  will
               not have any adverse affect.



To apply this patch do the following:

1) Shut down the system by typing the following:

^\          ! Control-\ to invoke the PARSER

PAR>SHUT    ! Causes TOPS10/20 to stop running

2) Now reboot the Console Front End by setting the switches
   on the PDP-11 to 203 and pressing the ENABLE and SWITCHES
   load switches on the KL10 front panel.

3) Type ^\ (Control-\) to invoke the PARSER:

4) In response to the PAR> prompt type the following:

SET CONSOLE MAINTENANCE
!
SET MEMORY ELEVEN
!       .PAT2.: TST     (R2)            ;IS LINE DISABLED?
DEPOSIT 120=5712
!               BPL     10$             ; NO, DON'T DECREMENT COUNT
DEPOSIT NEXT=100036
!               BIT     #S2.LCL,(R2)    ;IS THIS A LOCAL XOFF?
DEPOSIT NEXT=32712
DEPOSIT NEXT=4000
!               BEQ     10$             ; NO,
DEPOSIT NEXT=1433
!               DEC     .S2IDC          ; YES, DECREMENT COUNT OF LINES
DEPOSIT NEXT=5337
DEPOSIT NEXT=5050
!               BR      10$             ;SKIP SOME VECTORS
DEPOSIT NEXT=430
!       10$:    BIC     #S2.ENB!S2.DDN!S2.LCL!S2.CN2,(R2) ;CLEAR THE REQUEST
DEPOSIT 220=42712
DEPOSIT NEXT=115400
!               JMP     75$             ;AND RETURN
DEPOSIT NEXT=137
DEPOSIT NEXT=42672
!               JMP     .PAT2.          ;GO CLEAN UP REQUEST
DEPOSIT 42564=137
DEPOSIT NEXT=120
!               BR      40$             ;SKIP A NO-OP
DEPOSIT 35470=401
!               NOP                     ;NEVER GET HERE
DEPOSIT NEXT=240
!               .ASCII  /5D/            ;CALL THIS EDIT D
DEPOSIT 1044=42065
!
SET CONSOLE OPERATOR

5) Now type "MCR SAV<CR>"

6) in response to the prompt SAV> type "SY0:/WB<CR>"

This will save the patched RSX20F system image on the front-end
file system.


                           Edit E

[SYMPTOM]

Modems don't always seem to work properly in V14-45.

[DIAGNOSIS]

The test for ring interrupt is being done on  the  state  of
the ring lead, not the ring interrupt bit.  Also the code is
not as forgiving as it can be.

[CURE]

Use TST on the CSR to check for ring interrupt  rather  than
TSTB  on the line status register.  Organize $DMINT so it is
functionally more efficient:  Re-enable scanning just before
exiting   instead  of  before  checking  ring-interrupt  and
carrier.  Remove the check for secondary receive  interrupts
and  enable  check  for  carrier  at  the  same time as ring
interrupt to be more forgiving.

The following patch is edit E to RSX20F V14-45.

To apply this patch do the following:

1) Shut down the system by typing the following:

^\          ! Control-\ to invoke the PARSER

PAR>SHUT    ! Causes TOPS-10/20 to stop running

2) Now reboot the Console Front End by setting the switches
   on the PDP-11 to 203 and pressing the ENABLE and SWITCHES
   load switches on the KL10 front panel.

3) Type ^\ (Control-\) to invoke the PARSER:

4) In response to the PAR> prompt type the following:

!In the following dialogue, "DEPOSIT NEXT=" can be abbreviated
!to "DEP N=".
!
SET CONSOLE MAINTENANCE
!
SET MEMORY ELEVEN
!
!Just dismiss interrupts (via TTSAV) for now, we will enable for
!them when primary protocol starts.
!
!               RTS     PC
DEPOSIT 037662=207
!
!Put a 1 in the next location which will be used by the BIS #1,(R4)
!instruction later.
!
DEPOSIT NEXT=1
!
!       MOV     R5,R2           ;COPY TO R2
DEPOSIT NEXT=10502
!       BIC     #177760,R5      ;CLEAR ALL BUT UNIT NUMBER
DEPOSIT NEXT=42705
DEPOSIT NEXT=177760
!       ASL     R5              ;CONVERT UNIT NUMBER TO WORD INDEX
DEPOSIT NEXT=6305
!       ASL     R5              ;THUS
DEPOSIT NEXT=6305
!       ASL     R5              ;AND SO
DEPOSIT NEXT=6305
!       ADD     DMTBL+2(R3),R5  ;CALCULATE ADDRESS OF "DHTBL" ENTRY
DEPOSIT NEXT=66305
DEPOSIT NEXT=2736
!       BIT     #TT.RMT,STSW1(R5) ;REMOTE LINE ?
DEPOSIT NEXT=32765
DEPOSIT NEXT=100
DEPOSIT NEXT=6
!       BEQ     50$             ;EXIT IF NOT
DEPOSIT NEXT=1450
!       TST     .COMEF+2        ;YES -- IS PRIMARY PROTOCOL RUNNING??
DEPOSIT NEXT=5737
DEPOSIT NEXT=1012
!       BPL     50$             ;NO -- IGNORE INTERRUPT
DEPOSIT NEXT=100045
!       TST     .INHDM          ;YES -- ARE DM-11/BB'S INHIBITED??
DEPOSIT NEXT=5737
DEPOSIT NEXT=2576
!       BNE     50$             ;YES -- GO ON
DEPOSIT NEXT=1042
!
! HERE FOR A RING INTERRUPT OR AN ALLOWABLE NON-RING INTERRUPT
!
!       TST     R2              ;RING INTERRUPT??
DEPOSIT NEXT=5702
!       BMI     10$             ; YES -- GO FORCE A HANGUP
DEPOSIT NEXT=100404
!
! HERE FOR A NON-RING INTERRUPT
!
!       BIT     #2,(R4)         ;IS DTR UP?
DEPOSIT NEXT=32714
DEPOSIT NEXT=2
!       BEQ     50$             ; NO -- JUST REENABLE SCAN AND EXIT
DEPOSIT NEXT=1435
!       BR      20$             ; YES -- WE HAVE PREVIOUSLY GOTTEN RING
DEPOSIT NEXT=404
!
! RING TRANSITION (DM-11/BB'S ENABLED)
!
!10$:   CALL    .STTYH          ;TRANSMIT HANGUP
DEPOSIT NEXT=4737
DEPOSIT NEXT=40074
!       BIS     #6,(R4)         ;SET RTS + DTR
DEPOSIT NEXT=52714
DEPOSIT NEXT=6
!20$:   BIT     #100,(R4)       ;CARRIER UP?
DEPOSIT NEXT=32714
DEPOSIT NEXT=100
!       BEQ     40$             ;IF .EQ. NO (EITHER NEW CALL OR DROP)
DEPOSIT NEXT=1422
!
! CARRIER ON TRANSITION
!
!       BIC     #TT.CRW!TT.RIP,STSW1(R5);CLEAR CARRIER WAIT
DEPOSIT NEXT=42765
DEPOSIT NEXT=2004
DEPOSIT NEXT=6
!       BIT     #S0.CON,STSW0(R5) ;WAS LINE ALREADY CONNECTED??
DEPOSIT NEXT=32765
DEPOSIT NEXT=40000
DEPOSIT NEXT=4
!       BNE     50$               ; YES -- LEAVE IT ALONE
DEPOSIT NEXT=1016
!       BIT     #TT.ABL,STSW1(R5) ; NO -- IS THIS AN AUTO-BAUD LINE??
DEPOSIT NEXT=32765
DEPOSIT NEXT=40
DEPOSIT NEXT=6
!       BNE     30$               ; YES
DEPOSIT NEXT=1003
!       CALL    .STTYD            ; NO -- REPORT CONNECTION
DEPOSIT NEXT=4737
DEPOSIT NEXT=40060
!       BR      50$               ;GO EXIT
DEPOSIT NEXT=407
!30$:   BIS     #TT.ABW,STSW1(R5) ;MARK AUTO-BAUD WAIT
DEPOSIT NEXT=52765
DEPOSIT NEXT=10
DEPOSIT NEXT=6
!       BR      50$               ;AND EXIT
DEPOSIT NEXT=403
!
! CARRIER DROP TRANSITION
!
!40$:   BIS     #TT.CRW!TT.RIP,STSW1(R5);SET CARRIER WAIT
!
DEPOSIT NEXT=52765
DEPOSIT NEXT=2004
DEPOSIT NEXT=6
!50$:   BIC     #1200,-(R4)     ;REENABLE SCANNING
DEPOSIT NEXT=42744
DEPOSIT NEXT=1200
!       RTS     PC              ;DISMISS AND RETURN
DEPOSIT NEXT=207
!
!NOTE:
!An "EXAMINE NEXT" at this point should show location 40044
!containing 4737, if this is not the case then a mistake has been
!made, you should reboot with 203 ENABLE SWITCH and try again.
!
!Now remove RTS PC and replace with BIS instruction so we will
!use new code.  Note that the #1 has already been patched above
!so all we have to deposit is the instruction.
!
!       BIS     #1,(R4)         ;SET LINE ENABLE TO TEST SIGNAL TRANSTIONS
DEPOSIT 37662=52714
!
!NOTE:
!.TTRNG and .TTSCW are routines used by .DLINT, these routines do
!not get changed by this patch, and immediately follow the RTS PC
!at the end of $DMINT.  (.TTRNG starts at 40044 and .TTSCW starts
!at 40050)
!
!               .ASCII  /5E/            ;call this edit E
DEPOSIT 1044=42465
!
SET CONSOLE OPERATOR

5) Now type "MCR SAV<CR>"

6) in response to the prompt SAV> type "SY0:/WB<CR>"

This will save the patched RSX20F system image on the front-end
file system.


                           Edit F

[SYMPTOM]

CTY hangs if KLINIK connected in USER mode while enabled for
REMOTE.


[DIAGNOSIS]

The CTY does not get ACKed because the check for  USER  mode
is  done  using .KLNMD rather than .KLNSW which is returning
the allowable mode rather than the actual mode.


[CURE]

In routine .TTACK check for current KLINIK mode from  .KLNSW
rather than .KLNMD.

The following patch is edit F to RSX20F V14-45.

To apply this patch do the following:

1) Shut down the system by typing the following:

^\          ! Control-\ to invoke the PARSER

PAR>SHUT    ! Causes TOPS10/20 to stop running

2) Now reboot the Console Front End by setting the switches
   on the PDP-11 to 203 and pressing the ENABLE and SWITCHES
   load switches on the KL10 front panel.

3) Type ^\ (Control-\) to invoke the PARSER:

4) In response to the PAR> prompt type the following:

SET CONSOLE MAINTENANCE
!
SET MEMORY ELEVEN
!
!routine .TTACK: test for KLINIK USER mode from .KLNSW not .KLNMD
!
!       TSTB    .KLNSW+0        ;;; ACTIVE IN USER MODE?
DEPOSIT 34424=1226
!
!               .ASCII  /5F/            ;CALL THIS EDIT F
DEPOSIT 1044=43065
!
SET CONSOLE OPERATOR

5) Now type "MCR SAV<CR>"

6) in response to the prompt SAV> type "SY0:/WB<CR>"

This will save the patched RSX20F system image on the front-end
file system.


                           Edit G

[SYMPTOM]

RSX20F appears to lose an occasional XON.


[DIAGNOSIS]

RSX20F clears the XOFFed bit when it gets a queued  protocol
message  to set/reset the RECEIVE SYSTEM-MESSAGES bit.  When
it finally gets the XON queued  protocol  message,  it  sees
that  the XOFFed bit is clear, so it doesn't restart output.
Normally, this would not cause a problem, but  PA1050  saves
the  state  of the RECEIVE SYSTEM-MESSAGES bit when entered,
then resets it  to  the  same  state  when  it  exits  using
function  .MOSNT  of  the  MTOPR JSYS.  This causes a queued
protocol message to be generated to set/reset the  state  of
the  SYSTEM-MESSAGES  bit, which in turn clears the XOFF bit
in RSX20F.


[CURE]

Don't clear the XOFF bit when receiving the queued  protocol
function to set/reset the RECEIVE SYSTEM-MESSAGES bit.

The following patch is edit G to RSX20F V14-45.

To apply this patch do the following:

1) Shut down the system by typing the following:

^\          ! Control-\ to invoke the PARSER

PAR>SHUT    ! Causes TOPS10/20 to stop running

2) Now reboot the Console Front End by setting the switches
   on the PDP-11 to 203 and pressing the ENABLE and SWITCHES
   load switches on the KL10 front panel.

3) Type ^\ (Control-\) to invoke the PARSER:

4) In response to the PAR> prompt type the following:

SET CONSOLE MAINTENANCE
!
SET MEMORY ELEVEN
!
!       PATCH:  TSTB    R5      ;ARE WE ENABLING/DISABLING XOFF?
DEPOSIT 140=105705
!               BEQ     10$     ;NO
DEPOSIT NEXT=1403
!               BIC     #TT.XOF,STSW1(R2) ;CLEAR XOFF BIT
DEPOSIT NEXT=42762
DEPOSIT NEXT=200
DEPOSIT NEXT=6
!       10$:    RTS     PC              ;RETURN
DEPOSIT NEXT=207
!
!
!               JSR     PC,PATCH        ;JUMP TO PATCH
DEPOSIT 25444=4737
DEPOSIT NEXT=140
!               NOP                     ;
DEPOSIT NEXT=240
!
!               .ASCII  /5G/            ;CALL THIS EDIT G
DEPOSIT 1044=43465
!
SET CONSOLE OPERATOR

5) Now type "MCR SAV<CR>"

6) in response to the prompt SAV> type "SY0:/WB<CR>"

This will save the patched RSX20F system image on the front-end
file system.


                       PARSER Edit A

[SYMPTOM]

EXAMINE PI using PARSER returns invalid data.


[DIAGNOSIS]

WORD instruction is done instead of BYTE instruction.


[CURE]

In .EXMPI change BIS (R1)+,R2 to MOVB (R1)+,R2.

NOTE:  ZAP changes are permanent, be especially  careful  as
you  are patching the PARSER.TSK image.  ZAP prompts with an
underscore (_) after you type in the  TSK  file  to  modify.
When  you open a location in ZAP it displays the contents of
that location before you can deposit, if you make a  mistake
and  deposit  the  wrong  value  or  wrong location, you can
always re-deposit the right value or the  original  contents
of the location, otherwise you will have to get the original
file off of the RSX20F  distribution  DECtapes  or  floppies
after  deleting the bad one (using PIP).  Also note that all
ZAP commands end with <CR> (carriage return).

The following patch is  Edit  A  to  PARSER  and  should  be
applied  with  TOPS20  SHUTDOWN.   (It  can  be applied with
TOPS20 up if you are sure the CTY will not be getting a  lot
of output while you are in ZAP, when in doubt, apply it with
TOPS20 SHUTDOWN.)

^\
PAR>m zap

ZAP>parser.tsk/li
SEGMENT TABLE
000002: 100000-141247
        .
        .
        .
000055: 142214-144303
        .
        .
        .
000105: 141364-142523
_55:142754/
055:142754/ 052102
_112102
_./
055:142754/ 112102
_2:135144/
002:135144/ 000200
_101
_./
002:135144/ 000101
_^Z
^\
PAR>what version
 PARSER VERSION: V06-27A
 RSX20F VERSION: VB14-45G
PAR>