File TSCOPE.

Directory of image this file is from
This file as a plain text file

FORTR 
/      FORTRAN SUBR FOR SCOPE OUTPUT. ONCE ININITIALIZED
/      ALL WRITE STATEMENTS (ON TTY) ARE DIVERTED TO 
/      VR-12 SCOPE.
/      ABS(I)=#AC CYCLES/SCOPE REFRESH. I>0 CLEARS EXISTING
/      SCOPE BUFFER (AND FROZEN FLAG). I<0 LEAVES FORMER
/      SCOPE BUFFER INTACT (AND FROZEN FLAG, IF ANY).
/      J=0 DIVERTS OUTPUT BACK TO TTY. ELSE, ABS(J)
/      =MAX. NO DISPLAY LINES SHOWN. J>0 KEEPS ONLY MOST
/      RECENT J LINES ON SCOPE. J<0 FREEZES SCOPE WHEN -J
/      LINES ARE DISPLAYED; RINGS BELL WHEN THIS HAPPENS,
/      AND ALL SUBSEQUENT OUTPUT IS LOST UNTIL ANY TTY KEY
/      IS STRUCK, AT WHICH POINT SCOPE DISPLAY STARTS ANEW.
/ 
/      SUBROUTINE SCOPE(I,J)
ENTRY SCOPE
SCOPE, BLOCK 2
IOF		/INTERRUPT OFF DURING SCOPE
DUMMY \I
TAD I SCOPE
DCA \I
INC SCOPE#
TAD I SCOPE
DCA \I#
INC SCOPE#
DUMMY \J
TAD I SCOPE
DCA \J
INC SCOPE#
TAD I SCOPE
DCA \J#
INC SCOPE#
     TAD (5402
     DCA 1           /PUT 5402 IN 0001
     TAD (6025
     DCA 2           /PUT 6025 IN 0002
/      I1=I
TAD I \I
DCA \I1
/      J1=J
TAD I \J
DCA \J1
     AND I \I1       /DUMMY TO REMOVE 6201 05
     6201            /INDIRECT TO FIELD 0
     TAD \J1
     DCA I DISPON    /0:TTY,ELSE SCOPE
     TAD \J1
     SNA
     JMP TTYON       /J=0:SCOPE OFF,TTY BACK ON
     SPA
     CIA             /ABS(J)
     CMA
     DCA I MLINES    /FOR LMODE LINE INDEXING
     TAD \J1
     SPA CLA
     CMA             /FULLSN=-1:FREEZE WHEN FULL
     DCA I FULLSN    /FULLSN=0:NO FREEZE WHEN FULL
     TAD \I1
     SNA
     IAC             /I=0 TREATED AS I=1
     SMA
     CIA
     DCA I RFRESH    /-CYCLES/REFRESH
     CMA
     DCA I CYCLES    /-1 TO CYCLE COUNTER
     TAD \I1
     SPA CLA
     JMP NOCLR       /I<0: LEAVE SCOPE BUFFER INTACT
     TAD I ADBUFR    /I>0: CLEAR BUFFER, FROZEN FLAG
     DCA I BUFPTR    /RESET BUFFER PTR
     DCA I FROZEN    /CLEAR FROZEN FLAG
     TAD (2000
     TAD I ADBUFR    /PMODE OF LMODE BUFFER ADDR
     DCA TEMP
     DCA I TEMP      /0=BUFFER END-MARKER
     TAD I MLINES
     DCA I LCOUNT    /INITIALIZE LINE COUNTER
     NOCLR,  TAD (60
     6134            /CLEN(60): TRIGGER 1=INTERRUPT
     ION             /INTERRUPT FOR SCOPE REFRESH
/      RETURN
RETRN SCOPE
     TTYON,  6134    /CLEN(0):TRIGGER 1 OFF
/      RETURN
RETRN SCOPE
     RFRESH,6024
     LCOUNT,6005
     DISPON,6004
     MLINES,6022
     FULLSN,6006
     ADBUFR,6007
     BUFPTR,6010
     CYCLES,6023
     FROZEN,6003
     TEMP,0
     ONE,5402        /INTERRUPT INSTR=JMP I 2
     TWO,6025        /ADDR. DISP=6025
/      END
CALL 0,EXIT
\I, BLOCK 2
\J, BLOCK 2
[0, BLOCK 2
END 
LAP 
\I1, BLOCK 1
\J1, BLOCK 1
DUMMY [0
CPAGE 6
EAP 
CALL 0,OPEN
PAUSE 



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search