home *** CD-ROM | disk | FTP | other *** search
- ; $VER: FreqAnalyzer-Scope.library 1.13
- ;
-
- INCDIR "Includes3.0:Include3.0/"
- INCLUDE "Exec/Types.i"
- INCLUDE "Own/SystemBases.i"
- INCLUDE "Own/SystemStructures.i"
- INCLUDE "Own/SystemOffsets.i"
- INCLUDE "Own/AccessiblePlayer.i"
- INCLUDE "Own/IDCMP.i"
- INCLUDE "Own/Pens.i"
- INCLUDE "Own/Gadtools.i"
- INCLUDE "Own/Intuitiontags.i"
-
-
- VERSION = 1
- REVISION = 13
-
- TRUE = -1
- FALSE = 0
-
- SIGBREAKB_CTRL_C= 12
- SIGBREAK_CTRL_C = 1<<SIGBREAKB_CTRL_C
-
- ; Library Data
-
- LN_Name = 10
- LN_Type = 8
- NT_Library = 9
-
- LIBB_Summing = 0
- LIBB_Changed = 1
- LIBB_SumUsed = 2
- LIBB_DelExp = 3
-
- LIBF_Summing = 1<<LIBB_Summing
- LIBF_Changed = 1<<LIBB_Changed
- LIBF_SumUsed = 1<<LIBB_SumUsed
- LIBF_DelExp = 1<<LIBB_DelExp
-
- ; Macros
-
- INBYTE MACRO
- dc.b %11100000,0
- dc.w \1
- dc.b \2,0
- ENDM
-
- INWORD MACRO
- dc.b %11010000,0
- dc.w \1,\2
- ENDM
-
- INLONG MACRO
- dc.b %11000000,0
- dc.w \1
- dc.l \2
- ENDM
-
- ; Library Base Structure
-
- STRUCTURE LibraryStruct,0
- STRUCT LIB_Node,14
- UBYTE LIB_Flags
- UBYTE LIB_Pad
- UWORD LIB_NegSize
- UWORD LIB_PosSize
- UWORD LIB_Version
- UWORD LIB_Revision
- APTR LIB_IDString
- ULONG LIB_Sum
- UWORD LIB_OpenCnt
-
- LONG LIB_SegList
- APTR LIB_DosBase
- LABEL LibraryStruct_SIZEOF
-
-
- SECTION FreqAnalyzer-Scope.library,CODE
-
- START moveq #0,d0
- rts
- ;------------------------------------------------------------------------------
- LIBNAME dc.b "aaFreqAnalyzer-Scope.library",0
-
- LIBID dc.b "FreqAnalyzer-Scope.library 1.13 (7-March-1996)",0
- even
- ;------------------------------------------------------------------------------
- ; ROMTAG Structure
- ;
-
- ROMTAG dc.w $4afc ;ROMTAG Indentifier
- dc.l romtag
- dc.l slut
- dc.b $80 ;Flags
- dc.b version
- dc.b $09 ;Type Of Module
- dc.b $00 ;Initialization Priority
- dc.l libname
- dc.l libid
- dc.l autinit ;Pointer To AUTOINIT Table
- ;------------------------------------------------------------------------------
- ; AUTOINIT Table
- ;
-
- AUTINIT dc.l LibraryStruct_SIZEOF ;Size Of Structure AFTER Base Address
- dc.l vector ;Pointer To Vector Table
- dc.l inittab ;Pointer To Init Structure
- dc.l init ;Pointer To Init Routine
- ;------------------------------------------------------------------------------
- ; Init Table
- ;
-
- INITTAB INBYTE LN_Type,NT_Library
- INBYTE LIB_Flags,LIBF_SumUsed!LIBF_Changed
- INWORD LIB_Version,version
- INWORD LIB_Revision,revision
- INLONG LN_Name,libname
- INLONG LIB_IDString,libid
- dc.l 0
- ;------------------------------------------------------------------------------
- ; Vector Table
- ;
-
- VECTOR dc.w -1
- dc.w opnlib-vector,clslib-vector,expunge-vector,extfunc-vector
- dc.w FA_GetTags-vector
- dc.w -1
- ;------------------------------------------------------------------------------
- ; Init Routine
- ;
-
- INIT movem.l d1-d7/a0-a6,-(sp)
- move.l d0,a4 ;Base Address
- move.l a0,LIB_SegList(a4)
-
- move.l 4.w,a6
- lea dosnam(pc),a1
- moveq #37,d0
- jsr OpenLibrary(a6) ;Open Dos.library
- move.l d0,LIB_DosBase(a4)
- beq.b inito
-
- move.l d0,a6
- move.l #cfgname,d1
- move.l #1005,d2
- jsr Open(a6) ;Open Config File
- move.l d0,d7
- beq.b init1
-
- move.l d7,d1
- move.l #winpos,d2
- moveq #4*2,d3
- jsr Read(a6) ;Read Config File
-
- move.l d7,d1
- jsr Close(a6) ;Close Config File Again
-
- move.w winpos(pc),wintags+6
- move.w winpos+2(pc),wintags+14
- move.w winpos+4(pc),wintags+22
- move.w winpos+6(pc),wintags+30
-
- INIT1 move.l a4,d0
- INITO movem.l (sp)+,d1-d7/a0-a6
- rts
-
- DOSNAM dc.b "dos.library",0
- CFGNAME dc.b "ENVARC:APlayer/Agents/FreqAnalyzer-Scope.cfg",0
- even
- ;------------------------------------------------------------------------------
- ; Offset -6: Open Library
- ;
-
- OPNLIB addq.w #1,LIB_OpenCnt(a6)
- bclr #LIBB_DelExp,LIB_Flags(a6)
- move.l a6,d0
- rts
- ;------------------------------------------------------------------------------
- ; Offset -12: Close Library
- ;
-
- CLSLIB moveq #0,d0
- subq.w #1,LIB_OpenCnt(a6)
- bne.b clslibo
- btst #LIBB_DelExp,LIB_Flags(a6)
- bne.b expunge
- CLSLIBO rts
- ;------------------------------------------------------------------------------
- ; Offset -18: Expunge
- ;
-
- EXPUNGE movem.l d1-d7/a0-a6,-(sp)
- move.l a6,a4
- tst.w LIB_OpenCnt(a4)
- beq.b exp1
- bset #LIBB_DelExp,LIB_Flags(a4)
- moveq #0,d0
- bra.w expungo
-
- EXP1 move.w winpos(pc),d0
- cmp.w wintags+6(pc),d0 ;Left
- bne.b exp2
- move.w winpos+2(pc),d0
- cmp.w wintags+14(pc),d0 ;Top
- bne.b exp2
- move.w winpos+4(pc),d0
- cmp.w wintags+22(pc),d0 ;Width
- bne.b exp2
- move.w winpos+6(pc),d0
- cmp.w wintags+30(pc),d0 ;Height
- beq.b exp3
-
- EXP2 move.l LIB_DosBase(a4),a6
- move.l #cfgname,d1
- move.l #1006,d2
- jsr Open(a6) ;Open Config File
- move.l d0,d7
- beq.b exp3
-
- move.w wintags+30(pc),-(sp)
- move.w wintags+22(pc),-(sp)
- move.w wintags+14(pc),-(sp)
- move.w wintags+6(pc),-(sp)
-
- move.l d7,d1
- move.l sp,d2
- moveq #4*2,d3
- jsr Write(a6) ;Write Config File
-
- move.l d7,d1
- jsr Close(a6) ;Close Config File Again
- addq.l #4*2,sp
-
- EXP3 move.l 4.w,a6
- move.l LIB_DosBase(a4),a1
- jsr CloseLibrary(a6) ;Close Dos.library
-
- move.l LIB_SegList(a4),d2
- move.l a4,a1
- jsr Remove(a6)
-
- move.l a4,a1
- moveq #0,d0
- move.w LIB_NegSize(a4),d0
- sub.l d0,a1
- add.w LIB_PosSize(a4),d0
- jsr FreeMem(a6)
- move.l d2,d0
-
- EXPUNGO movem.l (sp)+,d1-d7/a0-a6
- rts
- ;------------------------------------------------------------------------------
- ; Offset -24: ExtFunc
- ;
-
- EXTFUNC moveq #0,d0
- rts
- ;------------------------------------------------------------------------------
- ;******************************************************************************
- ;* Freq-Analyzer Agent
- ;******************************************************************************
- ;------------------------------------------------------------------------------
- ; Offset -30: GetTags
- ;
- ; IN : Nothing
- ;
- ; OUT: A0 = Pointer To A TagList
- ;
-
- FA_GetTags
- lea FA_Tags(pc),a0
- rts
-
- FA_Tags dc.l APT_RequestVersion,7
-
- dc.l APT_AgentType,AGNT_Scope
- dc.l APT_AgentName,faname
- dc.l APT_Description,fades
-
- dc.l APT_Show,FA_ShowPoi
- dc.l TAG_END
-
- FANAME dc.b "Freq-Analyzer",0
- FADES dc.b "Coded by Tax.",10,10
- dc.b "This will show the different",10
- dc.b "frequencies for each channels.",0
- even
- ;------------------------------------------------------------------------------
- ; Show
- ;
- ; IN : Nothing
- ;
- ; OUT: Nothing
- ;
-
- FA_Show
- move.l glob(pc),a5
-
- lea bssstr,a0
- move.w #(bssende-bssstr)/2-1,d0
- .CLR clr.w (a0)+
- dbra d0,.clr
-
- move.l APG_GetScreenHD(a5),a4
- jsr (a4)
- move.l d0,scrhd+4
-
- bsr.w getpens
-
- move.l APG_IntBase(a5),a6
- sub.l a0,a0
- lea wintags(pc),a1
- jsr OpenWindowTagList(a6) ;Open Our Window
- move.l d0,winhd
- beq.w .exit
-
- move.l APG_GadBase(a5),a6
- move.l scrhd+4(pc),a0
- sub.l a1,a1
- jsr GetVisualInfoA(a6)
- move.l d0,bevtags+4
- beq.w .exit1
-
- move.l APG_AllocScopeSignal(a5),a4
- jsr (a4)
- move.l d0,scopstr
- beq.w .exit2
-
- bsr.w drwwin ;Draw Window Box
-
- ; Change Task Priority (This Is Important!!!!!)
-
- move.l 4.w,a6
- sub.l a1,a1
- jsr FindTask(a6)
-
- move.l d0,a1
- moveq #-25,d0 ;New Priority
- jsr SetTaskPri(a6)
-
- ; Message Loop
-
- .LOOP move.l APG_GetScopeSignal(a5),a4
- move.l scopstr(pc),a0
- jsr (a4)
-
- move.l winhd(pc),a0
- move.l Window_UserPort(a0),a0
- moveq #0,d1
- moveq #1,d2
- move.b MsgPort_SigBit(a0),d1
- lsl.l d1,d2
- or.l d2,d0 ;Window Signal
- or.l #SIGBREAK_CTRL_C,d0
-
- move.l 4.w,a6
- jsr Wait(a6)
-
- ; Test For Ctrl-C Signal
-
- moveq #0,d7
- btst #SIGBREAKB_CTRL_C,d0
- beq.b .noctrl
- moveq #-1,d7 ;Set Exit Flag
- .NOCTRL move.l d7,-(sp)
-
- ; Test For Scope Signal
-
- move.l APG_TestScopeSignal(a5),a4
- move.l scopstr(pc),a0
- jsr (a4)
- btst #0,d0
- beq.b .noscop
- bsr.w doscop ;Yeah, We Got A Scope Signal
-
- .NOSCOP btst #1,d0
- beq.b .novb
- bsr.w dovb
-
- .NOVB btst #2,d0
- beq.b .tstwin
- bsr.w drwwin ;Init Window
-
- .TSTWIN move.l 4.w,a6
- move.l winhd(pc),a0
- move.l Window_UserPort(a0),a0
- jsr GetMsg(a6) ;Get Message From Window Port
- tst.l d0
- bne.b .msg
- tst.l (sp)+ ;Test Exit Flag
- bne.b .getout
- bra.b .loop
-
- .MSG move.l d0,a1
- move.l IntuiMessage_Class(a1),d2;Get Message
- jsr ReplyMsg(a6)
-
- cmp.l #IC_NewSize,d2
- bne.b .nosize
- bsr.b drwwin ;Draw Window Again
- bra.b .tstwin
-
- .NOSIZE cmp.l #IC_CloseWindow,d2
- bne.b .tstwin
- moveq #-1,d7
- move.l d7,(sp)
- bra.b .tstwin
-
- ; Get Out
-
- .GETOUT move.l APG_FreeScopeSignal(a5),a4
- move.l scopstr(pc),a0
- jsr (a4)
-
- .EXIT2 move.l APG_GadBase(a5),a6
- move.l bevtags+4(pc),a0
- jsr FreeVisualInfo(a6)
-
- .EXIT1 move.l APG_IntBase(a5),a6
- move.l winhd(pc),a0
- jsr CloseWindow(a6) ;Close Window
-
- .EXIT moveq #0,d0
- rts
- ;------------------------------------------------------------------------------
- ; Get Pens
- ;
-
- GETPENS move.l APG_IntBase(a5),a6
- move.l scrhd+4(pc),a0
- jsr GetScreenDrawInfo(a6)
- move.l d0,a1
- move.l DrawInfo_Pens(a1),a0
- move.w BACKGROUNDPEN*2(a0),backp
- move.w SHADOWPEN*2(a0),shadowp
- move.w SHINEPEN*2(a0),shinep
- move.w FILLPEN*2(a0),fillp
- move.l scrhd+4(pc),a0
- jsr FreeScreenDrawInfo(a6)
- rts
- ;------------------------------------------------------------------------------
- ; Draw Window
- ;
-
- DRWWIN move.l winhd(pc),a0
- moveq #0,d4
- move.b Window_BorderLeft(a0),d4
- add.b Window_BorderRight(a0),d4
- moveq #0,d5
- move.b Window_BorderTop(a0),d5
- add.b Window_BorderBottom(a0),d5
-
- move.w Window_LeftEdge(a0),d0
- move.w Window_TopEdge(a0),d1
- move.w Window_Width(a0),d2
- move.w Window_Height(a0),d3
- sub.w d4,d2
- sub.w d5,d3
-
- lea wintags(pc),a0
- move.w d0,6(a0) ;Left
- move.w d1,14(a0) ;Top
- move.w d2,22(a0) ;Width
- move.w d3,30(a0) ;Height
-
- ; Initializing, Clear Window & Draw Bevel Box
-
- move.l 20(a0),d6 ;Width
- move.l 28(a0),d7 ;Height
-
- move.l winhd(pc),a0
- moveq #0,d4
- move.b Window_BorderLeft(a0),d4
- moveq #0,d5
- move.b Window_BorderTop(a0),d5
-
- move.l Window_RPort(a0),a1
- move.l a1,-(sp) ;Store RastPort
-
- move.l APG_GfxBase(a5),a6
- move.w backp(pc),d0
- jsr SetAPen(a6)
-
- move.l (sp),a1
- move.w d4,d0
- move.w d5,d1
- move.w d6,d2
- add.w d0,d2
- subq.w #1,d2
- move.w d7,d3
- add.w d1,d3
- subq.w #1,d3
- jsr RectFill(a6) ;Clear Window
-
- move.l APG_GadBase(a5),a6
- move.l (sp),a0
- moveq #4,d0
- add.w d4,d0
- moveq #2,d1
- add.w d5,d1
- move.w d6,d2
- subq.w #8,d2
- move.w d7,d3
- subq.w #4,d3
- lea bevtags(pc),a1
- jsr DrawBevelBoxA(a6)
-
- ; Draw Channel Lines
-
- move.l APG_GfxBase(a5),a6
- move.l (sp),a1
- move.w shadowp(pc),d0
- jsr SetAPen(a6)
-
- move.l (sp),a1
- moveq #0,d0 ;JAM1
- jsr SetDrMd(a6)
-
- subq.w #8,d7 ;Height Of BevelBox
- sub.w #11,d6
- move.w d6,width
-
- moveq #0,d3
- move.w d7,d3
- divu APG_Channels(a5),d3
- move.w d3,a4 ;Integer
- move.w d3,step
-
- swap d3
- move.w d3,a2 ;Remainder
- move.w d3,remain
-
- move.w a4,d0
- lsr.w #1,d0
- addq.w #4,d0
- move.w d0,a3
-
- move.w d4,d0
- addq.w #4+2,d0
- move.w d0,xpos
-
- lea ypos,a0
- move.w APG_Channels(a5),d2
- move.w d2,d3
- subq.w #1,d3 ;Number Of Lines
- .LOOP move.l (sp),a1
- moveq #4,d0
- add.w d4,d0
- move.w a3,d1
- add.w d5,d1
- move.w d1,(a0)+
- move.l a0,-(sp)
- movem.w d0-d1,-(sp)
- jsr Move(a6)
-
- movem.w (sp)+,d0-d1
- add.w d6,d0
- move.l 4(sp),a1
- jsr Draw(a6) ;Draw Line
- move.l (sp)+,a0
-
- add.w a4,a3
- sub.w a2,d2
- bgt.b .skip
- addq.w #1,a3
- add.w APG_Channels(a5),d2
- .SKIP dbra d3,.loop
-
- lea chntab,a0
- moveq #32-1,d0
- .CLRIT clr.w CT_YMinPos(a0)
- lea ChanTable_SIZEOF(a0),a0
- dbra d0,.clrit
-
- moveq #0,d0
- cmp.w #16,APG_Channels(a5)
- bgt.b .shift
- moveq #1,d0
- .SHIFT move.w d0,shift
-
- move.l #3800,minfreq
- move.l #33000,maxfreq
- addq.l #4,sp
- rts
- ;------------------------------------------------------------------------------
- ; Do The Scope Thing
- ;
-
- DOSCOP movem.l d0-d7/a0-a6,-(sp)
- st drawit
- move.l APG_ChannelInfo(a5),a0
- move.l APG_ChannelFlags(a5),a1
- lea chntab,a2
-
- move.w APG_Channels(a5),d7
- subq.w #1,d7
- .LOOP move.b (a1)+,d0
- beq.w .next
- cmp.b #$ff,d0
- beq.w .end
-
- btst #NPCFB_Volume,d0
- beq.b .novol
- move.w NPC_Volume(a0),d1
- cmp.w CT_Volume(a2),d1
- beq.b .novol
- move.w d1,CT_Volume(a2)
- st CT_Changed(a2)
-
- .NOVOL moveq #0,d1
- moveq #0,d2
- move.w NPC_Period(a0),d1
- btst #NPCFB_Period,d0
- bne.b .gotper
- btst #NPCFB_QuadroPeriod,d0
- beq.b .noper
- lsr.w #2,d1
- .GOTPER tst.w d1
- beq.b .nulper
- move.l APG_Clock(a5),d2
- divu d1,d2
- .NULPER cmp.w CT_Freq(a2),d2
- beq.b .noper
- move.w d2,CT_Freq(a2)
- st CT_Changed(a2)
- swap d2
- clr.w d2
- swap d2
- cmp.l minfreq(pc),d2
- bge.b .nomin
- sub.l #100,d2
- move.l d2,minfreq
- .NOMIN cmp.l maxfreq(pc),d2
- ble.b .nomax
- add.l #100,d2
- move.l d2,maxfreq
-
- .NOMAX
- .NOPER moveq #0,d2
- moveq #0,d3
- moveq #0,d4
- btst #NPCFB_Sample,d0
- beq.b .next
- btst #NPCFB_Loop,d0
- beq.b .noloop
- cmp.l #2,NPC_LoopLength(a0)
- bhi.b .gotlop
- .NOLOOP move.l NPC_Length(a0),d1
- btst #NPCFB_WordLength,d0
- beq.b .noword
- add.l d1,d1
- .NOWORD tst.w CT_Freq(a2)
- beq.b .gotlop
- mulu #50,d1
- divu CT_Freq(a2),d1 ;VB=Length*50/Freq
- tst.w d1
- beq.b .gotlop
- move.w CT_Volume(a2),d3
- move.w d3,d4
- divu d1,d3 ;Counter=Volume/VB
- move.w d3,d2
- swap d3
-
- .GOTLOP move.w d2,CT_Count(a2)
- move.w d3,CT_CountR(a2)
- move.w d4,CT_RemainCount(a2)
- move.w d4,CT_RemainAdd(a2)
-
- .NEXT lea NPChannel_SIZEOF(a0),a0
- lea ChanTable_SIZEOF(a2),a2
- dbra d7,.loop
- bra.b .out
-
- .END bsr.w drwwin ;Refresh Window
- sf drawit
- .OUT movem.l (sp)+,d0-d7/a0-a6
- rts
- ;------------------------------------------------------------------------------
- ; Draw The Boxes
- ;
-
- DOVB movem.l d0-d7/a0-a6,-(sp)
- tst.b drawit
- beq.w .out
- move.l APG_GfxBase(a5),a6
- lea chntab,a2
-
- move.l maxfreq(pc),d6
- sub.l minfreq(pc),d6
- move.l d6,delfreq
- divu width(pc),d6
-
- move.w xpos(pc),d5
-
- move.l winhd(pc),a1
- move.l Window_RPort(a1),a1
- move.l a1,-(sp) ;Store RastPort
-
- lea ypos,a3
- move.w APG_Channels(a5),d7
- subq.w #1,d7
- .LOOP tst.w CT_Changed(a2)
- beq.w .next
- clr.w CT_Changed(a2)
- move.l (sp),a1
- move.w backp(pc),d0
- jsr SetAPen(a6)
-
- movem.w CT_XMinPos(a2),d0-d3
- tst.w d1
- beq.b .noclr
- move.l (sp),a1
- jsr RectFill(a6) ;Erase Old Box
-
- move.l (sp),a1
- move.w shadowp(pc),d0
- jsr SetAPen(a6)
-
- move.w CT_XMinPos(a2),d0
- move.w (a3),d1 ;Y Position
- move.l (sp),a1
- jsr Move(a6)
-
- move.w CT_XMaxPos(a2),d0
- move.w (a3),d1 ;Y Position
- move.l (sp),a1
- jsr Draw(a6) ;Draw Line
-
- .NOCLR tst.w CT_Volume(a2)
- beq.w .novol
- move.l (sp),a1
- move.w fillp(pc),d0
- jsr SetAPen(a6)
-
- move.w step(pc),d3
- move.w shift(pc),d2
- lsr.w d2,d3
- mulu CT_Volume(a2),d3
- lsr.w #6,d3
- tst.w d3
- bne.b .nonul
- moveq #1,d3
- .NONUL move.w d3,d2 ;Size Of Box
-
- move.w d2,d1
- lsr.w #1,d1
-
- moveq #0,d0
- move.w CT_Freq(a2),d0
- sub.l minfreq(pc),d0
- cmp.l delfreq(pc),d0
- bls.b .freqok
- move.l delfreq(pc),d0
- .FREQOK divu d6,d0
- add.w d5,d0
- sub.w d1,d0 ;XMin
- cmp.w xpos(pc),d0
- bgt.b .minok
- move.w xpos(pc),d0
-
- .MINOK move.w xpos(pc),d4
- add.w width(pc),d4
- subq.w #2,d4
- cmp.w d4,d0
- blt.b .minok1
- move.w d4,d0
-
- .MINOK1 move.w d3,d1
- lsr.w #1,d1
- neg.w d1
- add.w (a3),d1 ;YMin
-
- add.w d1,d3 ;YMax
- add.w d0,d2 ;XMax
-
- cmp.w d4,d2
- blt.b .maxok
- move.w d4,d2
-
- .MAXOK move.w CT_YMinPos(a2),d4
- movem.w d0-d3,CT_XMinPos(a2) ;Store New Position & Size
- tst.w d4
- beq.b .next
- move.l (sp),a1
- jsr RectFill(a6) ;Draw Box
-
- .NEXT tst.w CT_Volume(a2)
- beq.b .novol
- move.w CT_Volume(a2),d1
- move.w CT_Count(a2),d0
- sub.w d0,CT_Volume(a2)
- move.w CT_CountR(a2),d0
- sub.w d0,CT_RemainCount(a2)
- bpl.b .chgvol
- subq.w #1,CT_Volume(a2)
- move.w CT_RemainAdd(a2),d0
- add.w d0,CT_RemainCount(a2)
-
- .CHGVOL tst.w CT_Volume(a2)
- bpl.b .tstvol
- clr.w CT_Volume(a2)
-
- .TSTVOL cmp.w CT_Volume(a2),d1
- beq.b .novol
- st CT_Changed(a2)
-
- .NOVOL lea ChanTable_SIZEOF(a2),a2
- addq.l #2,a3
- dbra d7,.loop
-
- addq.l #4,sp
- .OUT movem.l (sp)+,d0-d7/a0-a6
- rts
- ;------------------------------------------------------------------------------
- ; Data Area
- ;
-
- FA_ShowPoi
- dc.l FA_Show
- GLOB dc.l 0
-
- WINHD dc.l 0
- SCOPSTR dc.l 0
-
- WINPOS blk.w 4,0
-
- BACKP dc.w 0
- SHADOWP dc.w 0
- SHINEP dc.w 0
- FILLP dc.w 0
-
- MINFREQ dc.l 3800
- MAXFREQ dc.l 33000
- DELFREQ dc.l 0
-
- XPOS dc.w 0
- STEP dc.w 0
- REMAIN dc.w 0
- WIDTH dc.w 0
- SHIFT dc.w 0
-
- DRAWIT dc.b FALSE
- even
-
- BEVTAGS dc.l GT_VisualInfo,0,GTBB_Recessed,TRUE,TAG_END
-
- WINTAGS dc.l WA_Left,0,WA_Top,0,WA_InnerWidth,72,WA_InnerHeight,40
- dc.l WA_MinWidth,80,WA_MinHeight,68,WA_MaxWidth,-1,WA_MaxHeight,-1
- dc.l WA_IDCMP,IC_CloseWindow!IC_NewSize,WA_Flags,$1002f
- dc.l WA_AutoAdjust,TRUE,WA_Title,wintit
- SCRHD dc.l WA_PubScreen,0,WA_PubScreenFallBack,TRUE
- dc.l TAG_END
-
- WINTIT dc.b "Freq-Analyzer",0
- even
- ;------------------------------------------------------------------------------
- SECTION BSS_Area,BSS
-
- STRUCTURE ChanTable,0
- UWORD CT_Changed
- UWORD CT_Freq
- UWORD CT_Volume
- UWORD CT_Count
- UWORD CT_CountR
- UWORD CT_RemainCount
- UWORD CT_RemainAdd
- UWORD CT_XMinPos
- UWORD CT_YMinPos
- UWORD CT_XMaxPos
- UWORD CT_YMaxPos
- LABEL ChanTable_SIZEOF
-
- BSSSTR
- CHNTAB ds.b 32*ChanTable_SIZEOF
- YPOS ds.w 32
- BSSENDE
- ;------------------------------------------------------------------------------
- SLUT
-