1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-04-19 00:27:51 +00:00
Files
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

194 lines
2.8 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.SBTTL DNDEMO - RDE DEMONSTRATION 5 MAY 76
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED
; OR COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION
; 1976,1977,1978,1979,1980,1981,1984,1988.
;ALL RIGHTS RESERVED.
VRDEMO =1 ;FILE EDIT NUMBER
.IIF NDF FTDEMO,FTDEMO=0
.IF EQ FTDEMO
.MACRO DEMO ARG,ADR
.ENDM DEMO
.IFF
.MACRO DEMO ARG,ADR
.IF IDN <ARG>,<CODE>
.MACRO X QBLK,QDDB
.WORD QBLK ;LINE BLOCK
.WORD QDDB ;TTY DDB
.WORD 0 ;START OF MSG UNDER CONSTRUCTION
.WORD 0 ;NEXT CHAR OF MSG
.ENDM X
DEMO.T:
;LOCATE THE FIRST TRIBUTARY LINE
ZLB=LBAMPT
.IF EQ FTDEMO-1
.REPT NTRIB
X ZLB,ADR
ZLB=ZLB+LB.SIZ
.ENDR
.IFF
ZDDB=T0DDB
ZN=NTRIB
.IIF LT TTYN-ZN,ZN=TTYN
.REPT ZN
X ZLB,ZDDB
ZLB=ZLB+LB.SIZ
ZDDB=ZDDB+DB.TSZ
.ENDR
.ENDC
DEMO.E:
DEMO.F: SAVE <J>
BR DEMO00
DEMO.O: SAVE <J>
MOV #DEMO.T,J
10$: CMP (P),(J)
BEQ DEMO01
ADD #10,J
CMP J,#DEMO.E
BLO 10$
DEMO00: JSR PC,FRECKS
DEMO02: RESTORE <J>
RTS PC
DEMO01: MOV 2(J),J
SAVE <R4,R3,R2,R1,R0,R0>
MOV CN.LEN(R0),R4
ADD #CN.NCT,(P)
10$: MOV (P),R0
ADVCNK R0,FREE
MOV R0,(P)
INC (P)
MOVB (R0),R0
JSR PC,QTYCHR
SOB R4,10$
MOV (P)+,R0
BIC #CNKSIZ-1,R0
BEQ 20$
JSR PC,FRECKS
20$: BIT #DS.ACT,(J)
BNE 30$
JSR PC,XMTBEG
30$: RESTORE <R0,R1,R2,R3,R4>
BR DEMO02
DEMO.I:
MOV #DEMO.T+2,-(P)
10$: CMP @(P),J
BEQ 15$
ADD #10,(P)
CMP (P),#DEMO.E
BLO 10$
27$: MOV #207,R0
TST (P)+
80$: JSR PC,QTYCHR
BIT #DS.ACT,(J)
BNE 85$
JSR PC,XMTBEG
85$: RTS PC
15$: BIT #DHROVR!DHRFER,R1
BNE 27$
MOV R1,-(P)
MOV R1,R0
JSR PC,80$
MOV (P)+,R1
BIC #177600,R1 ;STRIP PARITY BIT
MOV (P),R2
MOV 2(R2),R0
BNE 20$
JSR PC,ERSGET
MOV R0,2(R2)
MOV R0,4(R2)
ADD #CN.NCT,4(R2)
CLR CN.LEN(R0)
20$: INC CN.LEN(R0)
MOV 4(R2),R0
ADVCNK R0,EXTEND
MOVB R1,(R0)+
MOV R0,4(R2)
CMPB R1,#015
BNE 25$
MOV #012,R1
BR 15$
25$: CMPB R1,#012
BEQ 26$
MOV 2(R2),R0
Z=MSGMAX-30
.IIF LE Z,Z=1
CMP #Z,CN.LEN(R0)
BHI 30$
26$: MOV J,-(P)
MOV -2(R2),J
MOV 2(R2),R0
CLR 2(R2)
CLR 4(R2)
MOV #SOH,R2
JSR PC,DDQ.01
MOV (P)+,J
30$: TST (P)+
RTS PC
.ENDC
.IF IDN <ARG>,<SETUP>
$110: TST #1
BEQ $116
CLR .-4
MOV #DEMO.T+2,R4
115$: MOV (R4),R0
MOV DB.LCB(R0),R0
MOV #DEMO.I,LC.INS(R0)
ADD #10,R4
CMP R4,#DEMO.E
BLO 115$
$116:
.ENDC
.IF IDN <ARG>,<KILL>
.IF NB <ADR>
CMP J,#LBAMPT
BLO .+10
.IFTF
JSR PC,DEMO.F
.IFT
BR ADR
.ENDC
.ENDC
.IF IDN <ARG>,<DUMP>
.IF NB <ADR>
CMP J,#LBAMPT
BLO .+10
.IFTF
JSR PC,DEMO.O
.IFT
BR ADR
.ENDC
.ENDC
.IF IDN <ARG>,<SEND>
.IF NB <ADR>
CMP J,#LBAMPT
BLO .+10
.IFTF
JSR PC,DEMO.I
.IFT
BR ADR
.ENDC
.ENDC
.ENDM DEMO
.ENDC ;.IF EQ FTDEMO
.IIF NDF DEMODV,DEMODV=0
DEMO CODE,DEMODV