File PNOISE.PA (PAL assembler source file)

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

/7.6.71
/PINK NOISE BY SAF
/COEFFICIENTS OF SAF ARE SET TO THE CONTENTS OF 2 TABLES
/NOISE THEN FED INTO RECONVOLVER


*PART1

IPNOIS, 0
        CLA
        TAD MNLOCS
        DCA COUNT
        TAD STORE
        DCA TEM1
NEXT,   DCA I TEM1
        ISZ TEM1
        ISZ COUNT
        JMP NEXT
        TAD ZABASE
        DCA ZA0
        TAD ZBBASE
        DCA ZB0

        JMS I LR/       INIT RAN GENERATOR
        TAD GONUM
        CIA
        DCA TEM1
        JMS I LPRAN
        ISZ TEM1
        JMP .-2
        NOP

        CLA
        TAD SAMNR/     INIT COEFFICIENT TRANS
        CIA
        DCA SAMCT
        JMS I LA0TR
        NA
        TB1PTR
        A0APTR

        JMS I IPNOIS


PNOIS,  0
        JMS I LPRAN/    CREATE WHITE NOISE

        ASR/           SCALE NOISE
        5

        DCA RANSIG

        ISZ SAMCT/     TRANSFER OF COE OR NOT
        JMP NOTRF
        JMS I LA0TR
        NA
        TB2PTR
        A0APTR
NOTRF,  CLA

        TAD RANSIG/        ZA:=UA + RANSIG
        DCA 44
        LADD1
        UA
        NOP
        TAD 44
        DCA ZA

ESAFA,  JMS I ESAF1
        ZA
        YYA
        UA
        NA
        D
        ZABASE
        ZA0
        A0APTR
        OFLOWA

        CLA/            RECONVOLVER
        TAD ZB
        JMS I LYZZ
        UB
        YYB
        ZB

ESAFB,  JMS I ESAF1
        ZB
        YYB
        UB
        NB
        D
        ZBBASE
        ZB0
        A0BPTR
        OFLOWB

        JMS I LDECAY/   COE DECAY FOR SAF B
        A0BPTR

        CLA
        TAD ZB
        JMP I PNOIS



LDECAY, DECAY
NA,     2
NB,     4
MNLOCS, -73
COUNT,  0
TEM1,   0
LYZZ,   YZZ
LA0TR,  A0TR
TB1PTR, 200
TB2PTR, 220
SAMNR,  400
SAMCT,  0

ESAF1,  2141
STORE,  YYA
ZA0,    0
ZB0,    0
ZABASE, NUM
ZBBASE, NUM+10
A0APTR, NUM+20
A0BPTR, NUM+40



LPRAN,  PRAN
LR,     R
GONUM,  100


NUM=PART1+200
*NUM-13

YYA,    0
YYB,    0
UA,     0
UB,     0
ZA,     0
ZB,     0
OFLOWA, 0
OFLOWB, 0
D,      0
        0

RANSIG, 0




HILF=41

*PART1+400-HILF
/HILF - NUMBER OF INSTR. IN YZZ

YZZ,    0          /COMP YY AND Z  ENTER WITH DECOD OUT IN AC
        DCA TEM10   /SAVE DECOUT
        TAD I YZZ   /GET UA
        ISZ YZZ
        DCA TEM11   /UA IN TEM11
        TAD I YZZ
        ISZ YZZ
        DCA TEM12      /YY IN TEM12

        TAD I TEM11  /GET (UA)
        ASR
        2            /ALPHA
        SHL
        0
        CIA
        DCA 44
        LADD1
        TEM10
        NOP
        TAD 44    /YY=DECOUT+ALPHA*UA
        DCA I TEM12

        TAD I YZZ
        ISZ YZZ
        DCA TEM12      /Z IN TEM12

        TAD TEM10
        DCA 44      /DECOUT IN 44
        LADD1     /YY IN 44
TEM11,  0
        NOP
        TAD 44
        DCA I TEM12     /ZA*=UA+DECOUT
        JMP I YZZ

TEM10,  0
TEM12,  0





*NUM+70

DECAY,  0
        CLA
        TAD I DECAY/         GET A0PTR
        ISZ DECAY
        DCA PNTR
        TAD I PNTR
        DCA PNTR
        TAD I LN/    GET N
        CIA
        DCA COUNTD
NEXTA,  TAD PNTR
        DCA PNTHI/   PIONT TO MSB (L)
        ISZ PNTR/   POINT TO LSB (L+1)

        TAD I PNTR
        CLL CIA
        MQL
        CML RAL
        TAD I PNTHI
        CIA

        ASR
        5      /       DECAY FACTOR

        TAD I PNTHI/   ADD MASB
        DCA I PNTHI
        CLL
        MQA
        TAD I PNTR/    ADD LSB
        DCA I PNTR
        SZL
        ISZ I PNTHI
        NOP
        ISZ PNTR
        ISZ COUNTD
        JMP NEXTA
        JMP I DECAY

LN,     NB
PNTR,   0
PNTHI,  0
COUNTD, 0





*4230


R,      HLT
        JMP R+63
PRAN,   HLT
        CLA
        TAD R+77
        RAL
        AND R+71
        DCA R+74
        TAD R+76
AND R+70
TAD R+74
7006
7006/RAL RAT
RAL
DCA R+72
TAD R+77
AND R+70
7006
7006
RAL
TAD R+76
DCA R+73
7430/SNL SKP
ISZ R+72
7000
TAD R+77
7104/CLL RAL
7430
ISZ R+73
SKP
ISZ R+72
7000
CLL
TAD R+77
DCA R+77
TAD R+76
RAL
7430
ISZ R+72
7000
CLL
TAD R+73
DCA R+76
TAD R+75
RAL
TAD R+75
TAD R+72
DCA R+75
TAD R+75
JMP I PRAN
0/NOT USED
7201/CLA IAC
DCA R+77
DCA R+76
DCA R+75
JMP I R
177
7400
0
0
0
0
0
0
HLT
HLT






A0TR, 0 TAD I A0TR/ GET NUMBER OF TAPS DCA TEM5 TAD I TEM5 CLL RAL CIA/ (N) MULT BY 2 AND THEN NEGATIV DCA TEM5 ISZ A0TR TAD I A0TR DCA TEM6 TAD I TEM6 DCA TEM6 ISZ A0TR TAD I A0TR DCA TEM7 TAD I TEM7 DCA TEM7 ISZ A0TR AGAIN, TAD I TEM6 DCA I TEM7 ISZ TEM6 ISZ TEM7 ISZ TEM5 JMP AGAIN JMP I A0TR TEM5, 0 TEM6, 0 TEM7, 0 $




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