home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-03-13 | 137.5 KB | 6,950 lines |
- *************************************************
- * *
- * (C)opyright 1992-94 *
- * *
- * by Tomi Blinnikka *
- * *
- * Don't try to understand the code *
- * *
- * Version 0.01 13/06/1992- *
- * -0.99v 20/06/1992 *
- * *
- * Version 1.00 07/02/1993 *
- * *
- * Changed parser *
- * *
- * Added: From option, generic sampler, timer *
- * selection, fixed lotsa bugs *
- * *
- * BUGS: Loaded wrong data file on startup *
- * *
- * Version 1.01 11/02/1993 *
- * *
- * Changed name from VShell to VoiceShell *
- * *
- * BUGS: *
- * *
- * Version 1.02 14/02/1993 *
- * *
- * Added load gadget *
- * *
- * BUGS: *
- * *
- * Version 1.03 18/05/1993 *
- * *
- * Fixed some font stuff *
- * *
- * BUGS: *
- * *
- * Version 1.04 25/05/1993 *
- * *
- * Added DSS 8 support, needs voice.library, *
- * version 7 *
- * *
- * Added priority *
- * *
- * Version 1.05 30/05/1993 *
- * *
- * Added priority resetting *
- * *
- * Version 1.06 02/06/1993 *
- * *
- * Added channel select & mic/line select *
- * Requires voice.library, version 8.0 *
- * *
- * Version 1.07 10/06/1993 *
- * *
- * Fixed few things in Set(Mic/Line/Right/Left). *
- * *
- * Version 1.08 19/06/1993 *
- * *
- * Optimized and searched for voice.library 8.1 *
- * bug. Bug was in library, version bumped. *
- * *
- * Version 1.09 21/06/1993 *
- * *
- * ARexx control added *
- * *
- * Version 1.10 17/07/1993 *
- * *
- * Optimized. *
- * *
- * Version 1.11 21/07/1993 *
- * *
- * Implemented ARexx LOAD command. Fixed bug *
- * with 'Vol Dwn' gad & Left channel. *
- * *
- * Version 1.12 08/08/1993 *
- * *
- * Increased command string length. *
- * *
- * Version 1.13 11/08/1993 *
- * *
- * Added ability to wedge fate Input Events *
- * directly. *
- * *
- * Version 1.14 13/09/1993 *
- * *
- * Added PUBSCREEN tooltype and CLI option. *
- * *
- * Version 1.15 19/09/1993 *
- * *
- * Added 'Get'-gadget into Command window. *
- * *
- * Version 1.16 26/09/1993 *
- * *
- * Made VoiceShell a commodity. *
- * *
- * Fixed some bugs that made it crash if ARexx *
- * commands executed while editing. *
- * *
- * Quitting made safer. *
- * *
- * Version 1.17 05/10/1993 *
- * *
- * Localized a few internal things. *
- * *
- * Added 'HIDE' & 'SHOW' ARexx commands. *
- * *
- * Added CX_PRI tooltype code. *
- * *
- * Version 1.18 31/10/1993 *
- * *
- * Fixed bug with getting font sizes etc. *
- * *
- * Re-wrote a-hell-of-a-lot of code. The guy who *
- * gave me the idea of making VS into a *
- * commodity should be shot :) *
- * *
- * BUGS: Crashed on some machines if no prefs *
- * file available. *
- * *
- * Version 1.19 24/01/1994 *
- * *
- * Added: Error commands. *
- * *
- * Version 1.20 08/03/1994 *
- * *
- * Added: Confirmation and wake up command *
- * *
- * Version 1.21 13/03/1994 *
- * *
- * Fixed bug with tooltypes *
- * *
- * STILL TO CHECK: *
- * *
- * - *
- * - *
- * *
- *************************************************
-
- ; INCDIR "INCLUDES:"
- INCLUDE "JMPLibs.i"
- INCLUDE "exec/memory.i"
- INCLUDE "exec/io.i"
- INCLUDE "exec/tasks.i"
- INCLUDE "libraries/dosextens.i"
- INCLUDE "libraries/dos.i"
- INCLUDE "libraries/commodities.i"
- INCLUDE "libraries/gadtools.i"
- INCLUDE "libraries/voice.i"
- INCLUDE "libraries/asl.i"
- INCLUDE "workbench/startup.i"
- INCLUDE "intuition/gadgetclass.i"
- INCLUDE "dos/dostags.i"
- INCLUDE "rexx/errors.i"
- INCLUDE "rexx/storage.i"
- INCLUDE "devices/timer.i"
-
- INCLUDE "XREF:2.0.xref"
- INCLUDE "XREF:intuition.xref"
- INCLUDE "XREF:exec.xref"
- INCLUDE "XREF:dos.xref"
- INCLUDE "XREF:icon.xref"
-
- XREF _InvertString
- XREF _FreeIEvents
- XREF _HotKey
-
- XDEF _DOSBase
- XDEF _SysBase
- XDEF _CxBase
-
- DVoice SET 1
- ;VS_REGISTERED SET 1 ;Set only for registered versions!
-
- PROGVERSION: macro
- dc.b "1.21 (13.03.94)"
- endm
-
-
- VSFileVersion: EQU 'VS04'
-
- ShellTop: EQU 2
- OptionTop: EQU 46
- VocabSIZE: EQU 60
- NUMGADS: EQU 10
- GADLENG1: EQU 16
- GADLENG2: EQU 256
- GADLENGTH: EQU (GADLENG1+GADLENG2)
-
- AccVal1: EQU 2000
- AccVal2: EQU 2400
- AccVal3: EQU 2700
- AccVal4: EQU 3000 ;VoiceShell default
- AccVal5: EQU 3500
- AccVal6: EQU 4000
- AccVal7: EQU 5500
- AccVal8: EQU 6000
-
- Samp1MenuN: EQU $0002 ;0002
- Samp2MenuN: EQU $0802 ;0802
- Samp3MenuN: EQU $1002 ;1002
- Samp4MenuN: EQU $1802 ;1802
- ResLoMenuN: EQU $0022 ;0022
- ResHiMenuN: EQU $0822 ;0822
-
- Acc1MenuN: EQU $0042 ;0042
- Acc2MenuN: EQU $0842 ;0842
- Acc3MenuN: EQU $1042 ;1042
- Acc4MenuN: EQU $1842 ;1842
- Acc5MenuN: EQU $2042 ;2042
- Acc6MenuN: EQU $2842 ;2842
- Acc7MenuN: EQU $3042 ;3042
- Acc8MenuN: EQU $3842 ;3842
-
- Chan1MenuN: EQU $0062 ;0062
- Chan2MenuN: EQU $0862 ;0862
-
- Input1MenuN: EQU $0082 ;0082
- Input2MenuN: EQU $0882 ;0882
-
- Timer1MenuN: EQU $00A2 ;00A2
- Timer2MenuN: EQU $08A2 ;08A2
-
- Wake1MenuN: EQU $00C2 ;00C2
- Wake2MenuN: EQU $08C2 ;08C2
- Wake3MenuN: EQU $10C2 ;10C2
- Wake4MenuN: EQU $18C2 ;18C2
- Wake5MenuN: EQU $20C2 ;20C2
-
- ConfirmMenuN: EQU $0102 ;00E2
-
- TRUE: EQU 1
- FALSE: EQU 0
- do_ToolTypes: EQU $36
-
- section VS,CODE
-
- push d2-d7/a2-a6
-
- sub.l a1,a1 ;Find our task
- lib Exec,FindTask
- move.l d0,OurTask
- move.l d0,a4
- move.l pr_CLI(a4),d0
- bne OpenDos
-
- lea.l pr_MsgPort(a4),a0
- lib Exec,WaitPort
- lea.l pr_MsgPort(a4),a0
- lib Exec,GetMsg
- move.l d0,WBMsg
-
- OpenDos: openlib Dos,NoDos ;Keep at beginning
-
- tst.l WBMsg
- beq CLIStart
-
- lea.l NILName,a0
- move.l a0,d1
- move.l #MODE_OLDFILE,d2
- lib Dos,Open
- move.l d0,NILFile
- beq ShutDown
- move.l NILFile,_stdout
-
- openlib Icon,NoIcon
-
- move.l WBMsg,a0
- move.l sm_ArgList(a0),a1
- move.l wa_Lock(a1),d1
- lib Dos,CurrentDir
- move.l d0,OldLock
-
- move.l WBMsg,a0
- move.l sm_ArgList(a0),a1
- move.l wa_Name(a1),a0
- lib Icon,GetDiskObject
- move.l d0,DiskObject
- beq MainStart
-
- DoToolType1: move.l DiskObject,a4
- move.l do_ToolTypes(a4),a0
- lea.l ICONIFYText1,a1
- lib Icon,FindToolType
- tst.l d0
- beq DoToolType2
- move.l d0,a0
- lea.l YESText1,a1
- lib Icon,MatchToolValue
- tst.l d0
- beq DoToolType2
- move.l #1,OptionIconify
-
- DoToolType2: move.l DiskObject,a4
- move.l do_ToolTypes(a4),a0
- lea.l FROMText1,a1
- lib Icon,FindToolType
- move.l d0,FromFile
-
- move.l DiskObject,a4
- move.l do_ToolTypes(a4),a0
- lea.l PUBSCREENText1,a1
- lib Icon,FindToolType
- move.l d0,OptPubScreen
-
- move.l DiskObject,a4
- move.l do_ToolTypes(a4),a0
- lea.l CXPOPKEYText1,a1
- lib Icon,FindToolType
- tst.l d0
- beq DoToolType3
- move.l d0,OptCXPopKey
-
- DoToolType3: move.l DiskObject,a4
- move.l do_ToolTypes(a4),a0
- lea.l CXPOPUPText1,a1
- lib Icon,FindToolType
- tst.l d0
- beq DoToolType4
- move.l d0,a0
- lea.l NOText1,a1
- lib Icon,MatchToolValue
- tst.l d0
- beq DoToolType4
- clr.w PopUp
-
- DoToolType4: move.l DiskObject,a4
- move.l do_ToolTypes(a4),a0
- lea.l CXPRIText1,a1
- lib Icon,FindToolType
- tst.l d0
- beq DoToolType5
- move.l d0,a0
- bsr ConvASCII
- tst.l d0
- beq DoToolType5
- move.l d0,WBOptCXPri
- lea.l WBOptCXPri,a0
- move.l a0,OptCXPri
-
- DoToolType5: bra MainStart
-
- CLIStart: lib Dos,Output
- move.l d0,_stdout
-
- lea.l CLTemplate1,a0
- move.l a0,d1
- lea.l CLArray1,a0
- move.l a0,d2
- clr.l d3
- lib Dos,ReadArgs
- move.l d0,RDArgs1
- beq NoRDArgs
-
- ;If 'CXPopUp=No' then something turns VoiceShell on?
-
- move.l OptCXPopUp,a0
- cmp.l #0,a0
- beq MainStart ;No enforcer hits, please
- cmp.b #'n',(a0)
- bne CLIStart1
- clr.w PopUp
- CLIStart1: cmp.b #'N',(a0)
- bne MainStart
- clr.w PopUp
-
- MainStart: openlib Intuition,NoInt
- openlib Commodities,NoCommodities
- openlib Asl,NoAsl
- openlib Utility,NoUtility
-
- move.l $4,_SysBase
- move.l _DosBase,_DOSBase
- move.l _CommoditiesBase,_CxBase
-
- move.l OurTask,a1
- move.l #120,d0
- lib Exec,SetTaskPri
-
- openlib GadTools,NoGadTools
-
- ;Create reply port for timer.device
-
- lib Exec,CreateMsgPort
- move.l d0,TRPort
- beq NoMsgPort
-
- ;Create IOReq for timer.device
-
- move.l #IOTV_SIZE,d0
- move.l TRPort,a0
- clr.b LN_TYPE(a0) ;Make sure CheckIO doesn't hang
- lib Exec,CreateIORequest
- move.l d0,TIORequest
- beq NoIOReq
-
- ;Open timer.device
-
- lea.l TimerName,a0
- move.l TIORequest,a1
- move.l #UNIT_VBLANK,d0
- clr.l d1 ;No flags
- lib Exec,OpenDevice
- tst.l d0
- bne NoTimer
- move.w #$1,TimerOpen ;Just to tell if open
-
- clr.l Time
- bsr Waiter
-
- ;Create a message port for the voice.library
-
- lib Exec,CreateMsgPort
- move.l d0,VoicePort
- beq NoMsgPort
-
- ;Create a message port for commodities.library (Exchange)
-
- lib Exec,CreateMsgPort
- move.l d0,CXPort
- beq NoMsgPort
- lea.l NewBroker1,a0
- move.l d0,nb_Port(a0)
-
- ;Get Asl_requester
-
- move.l #ASL_FileRequest,d0
- lea.l AslReqTags,a0
- lib Asl,AllocAslRequest
- move.l d0,AslReq
- beq NoAslReq
-
- ;Do CX init stuff. Create broker
-
- tst.l OptCXPri
- beq SkipSetCXPri
- move.l OptCXPri,a0
- move.l (a0),d0
-
- tst.l d0
- bmi SetCXPri2
-
- cmp.l #127,d0
- bhi BadPriority
- bra SetCXPri3
-
- SetCXPri2: cmp.l #-128,d0
- bcs BadPriority
-
- SetCXPri3: move.b d0,NBPri
- SkipSetCXPri: lea.l NewBroker1,a0
- clr.l d0 ;No extra error codes wanted
- lib Commodities,CxBroker
- move.l d0,CXBroker1
- beq NoCommodity
-
- ;Create Filter object
-
- move.l OptCXPopKey,AboutTxt7.X ;For about window
-
- move.l OptCXPopKey,a0
- sub.l a1,a1
- move.l #CX_FILTER,d0
- lib Commodities,CreateCxObj
- move.l d0,d2
- beq NoCommodity
-
- ;Attach Filter object to Broker
-
- move.l CXBroker1,a0
- move.l d2,a1
- lib Commodities,AttachCxObj
-
- move.l d2,a0 ;Check if valid descriptor
- lib Commodities,CxObjError
- cmp.l #COERR_BADFILTER,d0
- beq NoFilter
-
- ;Create Send object
-
- move.l d2,d3
- move.l CXPort,a0
- sub.l a1,a1
- move.l #CX_SEND,d0
- lib Commodities,CreateCxObj
- move.l d0,d2
- beq NoCommodity
-
- ;Attach Send object to Filter
-
- move.l d3,a0
- move.l d2,a1
- lib Commodities,AttachCxObj
-
- ;Create translate object
-
- move.l d2,d3
- sub.l a0,a0
- sub.l a1,a1
- move.l #CX_TRANSLATE,d0
- lib Commodities,CreateCxObj
- move.l d0,d2
- beq NoCommodity
-
- ;Attach Translate object to Send
-
- move.l d3,a0
- move.l d2,a1
- lib Commodities,AttachCxObj
-
- ;We open voice.library this late so that if we're already run the older
- ;copy pops up
-
- move.l #8,d0
- move.l $4,a6
- lea.l _VoiceLib,a1
- jsr _LVOOpenLibrary(a6)
- move.l d0,_VoiceBase
- beq NoVoice
-
- ;The same thing with the ARexx port...
-
- ;Check to see if a port with our name already exists
-
- lib Exec,Forbid
- lea.l ARexxPortName,a1
- flib Exec,FindPort
- push d0
- flib Exec,Permit
-
- pull d0
- tst.l d0
- bne NoMsgPort2
-
- ;Create AREXX message port
-
- lib Exec,CreateMsgPort
- move.l d0,ARexxPort
- beq NoMsgPort
-
- move.l ARexxPort,a1
- lea.l ARexxPortName,a0
- move.l a0,LN_NAME(a1)
- lib Exec,AddPort
-
- ;Read preferences
-
- bsr Load ;Set voice stuff
-
- bsr CXDisable ;Turn off just in case
-
- tst.w PopUp
- beq SkipOpen1
-
- bsr OpenWin1
- tst.l Window1
- beq NoWindow1
-
- bsr SetModes ;Set gads/menus
-
- SkipOpen1: move.l #5625242,d5 ;inform user
- bsr AddVTask
-
- Window1IDCMP: move.l Window1,a0
- bsr CheckIDCMP
- tst.l d0 ;Test for CTRL_C
- beq ShutDown
- cmp.l #1,d0 ;Test for CTRL_D
- beq DoCTRL_D
- cmp.l #2,d0 ;Test for CTRL_E
- beq DoCTRL_E
- cmp.l #3,d0
- beq DoVoice ;Do voice command
- cmp.l #4,d0
- beq Window1IDCMP ;Already done ARexx or commodity
- cmp.l #INTUITICKS,d2
- beq DoTicks
- cmp.l #GADGETUP,d2
- beq DoGads
- cmp.l #CLOSEWINDOW,d2
- beq DoDoCXDisappear
- cmp.l #MENUPICK,d2
- beq Win1Menus
- cmp.l #VANILLAKEY,d2
- beq VanillaKeys
- cmp.l #ACTIVEWINDOW,d2
- beq ActivateGads
- cmp.l #REFRESHWINDOW,d2
- beq Refresher
- bra Window1IDCMP
-
- Refresher: tst.l Window1
- beq Refresher_OUT
- move.l Window1,a0
- lib GadTools,GT_BeginRefresh
- move.l Window1,a0
- move.l #TRUE,d0
- lib GadTools,GT_EndRefresh
- Refresher_OUT: bra Window1IDCMP
-
- VanillaKeys: cmp.w #$1b,d3
- beq Quit
- cmp.w #'l',d3 ;Lower case
- beq DoDataLoad
- cmp.w #'s',d3
- beq Save
- cmp.w #'q',d3
- beq Quit
- cmp.w #'u',d3
- beq DoGainUp
- cmp.w #'d',d3
- beq DoGainDown
- cmp.w #'f',d3
- beq ActivateGads
- cmp.w #'L',d3 ;Upper case
- beq DoDataLoad
- cmp.w #'S',d3
- beq Save
- cmp.w #'Q',d3
- beq Quit
- cmp.w #'U',d3
- beq DoGainUp
- cmp.w #'D',d3
- beq DoGainDown
- cmp.w #'F',d3
- beq ActivateGads
- bra Window1IDCMP
-
- DoGads: cmp.w #10,$26(a5)
- beq DoOnOff
- cmp.w #1,$26(a5)
- beq ActivateGads
- cmp.w #20,$26(a5)
- beq DoGainUp
- cmp.w #30,$26(a5)
- beq DoGainDown
- cmp.w #40,$26(a5)
- beq DoDataLoad
- cmp.w #98,$26(a5)
- beq Save
- cmp.w #99,$26(a5)
- beq Quit
- bra Window1IDCMP
-
- Win1Menus: bsr MenuNull
- cmp.w #$00,d6
- beq Win1Menus1
- cmp.w #$01,d6
- beq Win1Menus2
- cmp.w #$02,d6
- beq Win1Menus3
- bra Window1IDCMP
- Win1Menus1: cmp.w #$00,d5
- beq DoLoad
- cmp.w #$01,d5
- beq Save
- cmp.w #$02,d5
- beq About
- cmp.w #$04,d5
- beq Quit
- bra Window1IDCMP
- Win1Menus2: cmp.w #$00,d5
- beq EditCmds
- cmp.w #$01,d5
- beq ErrorCmds
- bra Window1IDCMP
- Win1Menus3: cmp.w #$00,d5
- beq Win1Menus3.1
- cmp.w #$01,d5
- beq Win1Menus3.2
- cmp.w #$02,d5
- beq Win1Menus3.3
- cmp.w #$03,d5
- beq Win1Menus3.4
- cmp.w #$04,d5
- beq Win1Menus3.5
- cmp.w #$05,d5
- beq Win1Menus3.6
- cmp.w #$06,d5
- beq Win1Menus3.7
- cmp.w #$07,d5
- beq SetPriority
- cmp.w #$08,d5
- beq DoConfirm
- bra Window1IDCMP
- Win1Menus3.1: cmp.w #$00,d4
- beq DoSetSamp1
- cmp.w #$01,d4
- beq DoSetSamp2
- cmp.w #$02,d4
- beq DoSetSamp3
- cmp.w #$03,d4
- beq DoSetSamp4
- bra Window1IDCMP
- Win1Menus3.2: cmp.w #$00,d4
- beq DoSetResLo
- cmp.w #$01,d4
- beq DoSetResHi
- Win1Menus3.3: cmp.w #$00,d4
- beq DoSetAccLowest
- cmp.w #$01,d4
- beq DoSetAccLower
- cmp.w #$02,d4
- beq DoSetAccLow
- cmp.w #$03,d4
- beq DoSetAccNormal
- cmp.w #$04,d4
- beq DoSetAccHigh
- cmp.w #$05,d4
- beq DoSetAccHigher
- cmp.w #$06,d4
- beq DoSetAccEHigher
- cmp.w #$07,d4
- beq DoSetAccMaximum
- Win1Menus3.4: cmp.w #$00,d4
- beq DoSetLeft
- cmp.w #$01,d4
- beq DoSetRight
- Win1Menus3.5: cmp.w #$00,d4
- beq DoSetMic
- cmp.w #$01,d4
- beq DoSetLine
- Win1Menus3.6: cmp.w #$00,d4
- beq DoSetTimerA
- cmp.w #$01,d4
- beq DoSetTimerB
- bra Window1IDCMP
- Win1Menus3.7: cmp.w #$00,d4
- beq DoSetWake0
- cmp.w #$01,d4
- beq DoSetWake5
- cmp.w #$02,d4
- beq DoSetWake10
- cmp.w #$03,d4
- beq DoSetWake15
- cmp.w #$04,d4
- beq DoSetWake20
- bra Window1IDCMP
-
- DoTicks: add.w #1,TickCount
- cmp.w #20,TickCount
- bne Window1IDCMP
- clr.w TickCount
- tst.w TaskOn
- beq DoTicks2
- lea.l ReadyText1,a0
- bsr GetLength
- bsr Inform
- bra Window1IDCMP
- DoTicks2: lea.l InactiveText1,a0
- bsr GetLength
- bsr Inform
- bra Window1IDCMP
-
- EditCmds: clr.w Saved
- move.w #1,DisActive ;Can't turn on/off
- bsr RemVTask1
- bsr SleepPointer
- bsr MenusOff
- bsr RemGads
-
- bsr OpenWin2
- tst.l d0
- beq NoWindow1
- bsr RemGads2
- bsr SetStrGads
- bsr AddGads2
-
- bsr ActGad2
-
- Window2IDCMP: move.l Window2,a0
- bsr CheckIDCMP
-
- tst.l d0
- beq ShutDown
- cmp.l #4,d0
- beq Window2IDCMP
- cmp.l #GADGETUP,d2
- beq ActivateGads2
- cmp.l #GADGETDOWN,d2
- beq GetGadAddr2
- cmp.l #CLOSEWINDOW,d2
- beq EditCmds_OUT
- cmp.l #MENUPICK,d2
- beq Win2Menus
- cmp.l #VANILLAKEY,d2
- beq EditKeys
- cmp.l #REFRESHWINDOW,d2
- beq Refresher2
- bra Window2IDCMP
-
- Refresher2: move.l Window2,a0
- lib GadTools,GT_BeginRefresh
- move.l Window2,a0
- move.l #TRUE,d0
- lib GadTools,GT_EndRefresh
- bra Window2IDCMP
-
- Win2Menus: bsr MenuNull
- cmp.w #$00,d6
- beq Win2Menus1
- bra Window2IDCMP
- Win2Menus1: cmp.w #$00,d5
- beq DoPage1
- cmp.w #$01,d5
- beq DoPage2
- cmp.w #$02,d5
- beq DoPage3
- cmp.w #$03,d5
- beq DoPage4
- cmp.w #$04,d5
- beq DoPage5
- cmp.w #$05,d5
- beq DoPage6
- cmp.w #$07,d5
- beq EditCmds_OUT
- bra Window2IDCMP
-
- DoPage1: bsr SaveStrGads
- bsr RemGads2
- move.w #0,Page
- bsr SetStrGads
- bsr AddGads2
- bra Window2IDCMP
-
- DoPage2: bsr SaveStrGads
- bsr RemGads2
- move.w #1,Page
- bsr SetStrGads
- bsr AddGads2
- bsr ActGad2
- bra Window2IDCMP
-
- DoPage3: bsr SaveStrGads
- bsr RemGads2
- move.w #2,Page
- bsr SetStrGads
- bsr AddGads2
- bsr ActGad2
- bra Window2IDCMP
-
- DoPage4: bsr SaveStrGads
- bsr RemGads2
- move.w #3,Page
- bsr SetStrGads
- bsr AddGads2
- bsr ActGad2
- bra Window2IDCMP
-
- DoPage5: bsr SaveStrGads
- bsr RemGads2
- move.w #4,Page
- bsr SetStrGads
- bsr AddGads2
- bsr ActGad2
- bra Window2IDCMP
-
- DoPage6: bsr SaveStrGads
- bsr RemGads2
- move.w #5,Page
- bsr SetStrGads
- bsr AddGads2
- bsr ActGad2
- bra Window2IDCMP
-
- SaveStrGads: lea.l CmdList,a2
- move.w Page,d0
- mulu.w #NUMGADS*GADLENGTH,d0
- add.l d0,a2 ;a2=start of strings
-
- move.l StrGadBuf1,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf2,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf3,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf4,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf5,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf6,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf7,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf8,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf9,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf10,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf11,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf12,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf13,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf14,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf15,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf16,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf17,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf18,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf19,a0
- move.l a2,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l StrGadBuf20,a0
- move.l a2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
- rts
-
- SetStrGads: lea.l CmdList,a2
- move.w Page,d0
- mulu.w #NUMGADS*GADLENGTH,d0
- add.l d0,a2 ;a2=start of strings
-
- move.l a2,a0
- move.l StrGadBuf1,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf2,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf3,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf4,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf5,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf6,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf7,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf8,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf9,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf10,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf11,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf12,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf13,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf14,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf15,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf16,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf17,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf18,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf19,a1
- move.l #GADLENG1,d0
- add.l d0,a2
- lib Exec,CopyMem
-
- move.l a2,a0
- move.l StrGadBuf20,a1
- move.l #GADLENG2,d0
- add.l d0,a2
- lib Exec,CopyMem
- rts
-
- EditCmds_OUT: bsr SaveStrGads
- bsr AddVTask
- bsr CloseWin2
- clr.w DisActive ;Can turn on/off
- bsr AddGads
- bsr MenusOn
- bsr NormalPointer
- bra Window1IDCMP
-
- EditKeys: cmp.w #$1b,d3
- beq EditCmds_OUT
- cmp.w #'g',d3
- beq Get
- cmp.w #'G',d3
- beq Get
- bra Window2IDCMP
-
- GetGadAddr2: cmp.w #2,$26(a5)
- beq GetGadAddr2.1
- clr.l LastGad
- move.l GetGad1,a0
- move.l Window2,a1
- sub.l a2,a2
- lea.l DisabledTags,a3
- lib GadTools,GT_SetGadgetAttrsA
- bra Window2IDCMP
- GetGadAddr2.1: move.l a5,LastGad
- move.l GetGad1,a0
- move.l Window2,a1
- sub.l a2,a2
- lea.l EnabledTags,a3
- lib GadTools,GT_SetGadgetAttrsA
- bra Window2IDCMP
-
- Get: tst.l LastGad
- beq Get1_OUT2
-
- move.l AslReq,a0
- lea.l GetReqTags,a1
- lib Asl,AslRequest
- tst.l d0
- beq Get1_OUT1
-
- bsr RemGads2
- move.l LastGad,a5
- bsr MakeCmd
- bsr AddGads2
-
- Get1_OUT1: move.l LastGad,a0
- move.l Window2,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
-
- Get1_OUT2: bra Window2IDCMP
-
- SetPriority: move.w #1,DisActive ;Can't turn on/off
- bsr RemVTask1
- bsr SleepPointer
- bsr MenusOff
- bsr RemGads
-
- bsr OpenWin3
- tst.l d0
- beq NoWindow1
-
- Window3IDCMP: move.l Window3,a0
- bsr CheckIDCMP
-
- tst.l d0
- beq ShutDown
- cmp.l #4,d0
- beq Window3IDCMP
- cmp.l #GADGETUP,d2
- beq SetPriority2
- cmp.l #CLOSEWINDOW,d2
- beq SetPri_OUT
- cmp.l #VANILLAKEY,d2
- beq SetPriKeys
- cmp.l #ACTIVEWINDOW,d2
- beq GoActGads3
- cmp.l #REFRESHWINDOW,d2
- beq Refresher3
- bra Window3IDCMP
-
- Refresher3: move.l Window3,a0
- lib GadTools,GT_BeginRefresh
- move.l Window3,a0
- move.l #TRUE,d0
- lib GadTools,GT_EndRefresh
- bra Window3IDCMP
-
- SetPriority2: move.l StrGadInt21,a0
- move.l (a0),d0
-
- tst.l d0
- bmi SetPriority2.1
-
- cmp.l #127,d0
- bhi SetPriority3
-
- move.l d0,PrefsPriority
- bra SetPri_OUT
-
- SetPriority2.1: cmp.l #-128,d0
- bcs SetPriority3
-
- move.l d0,PrefsPriority
- bra SetPri_OUT
-
- SetPriority3: sub.l a0,a0
- lib Intuition,DisplayBeep
-
- move.l StrGad21,a0
- move.l Window3,a1
- sub.l a2,a2
- lea.l StrGadTagList3,a3
- lib GadTools,GT_SetGadgetAttrsA
- bra GoActGads3
-
- SetPri_OUT: bsr CloseWin3
- bsr AddVTask
- clr.w DisActive ;Can turn on/off
- bsr AddGads
- bsr MenusOn
- bsr NormalPointer
- bra Window1IDCMP
-
- GoActGads3: bsr ActGad3
- bra Window3IDCMP
-
- SetPriKeys: cmp.w #$1b,d3
- beq SetPri_OUT
- bra Window3IDCMP
-
- ErrorCmds: clr.w Saved
- move.w #1,DisActive ;Can't turn on/off
- bsr RemVTask1
- bsr SleepPointer
- bsr MenusOff
- bsr RemGads
-
- bsr OpenWin4
- tst.l d0
- beq NoWindow1
-
- ;Move data from prefs to window
-
- bsr RemGads4
- bsr SetStrGads2
- bsr AddGads4
-
- bsr ActGad4
-
- Window4IDCMP: move.l Window4,a0
- bsr CheckIDCMP
-
- tst.l d0
- beq ShutDown
- cmp.l #4,d0
- beq Window4IDCMP
- cmp.l #GADGETDOWN,d2
- beq GetGadAddr4
- cmp.l #GADGETUP,d2
- beq ActivateGads4
- cmp.l #CLOSEWINDOW,d2
- beq ErrorCmds_OUT
- cmp.l #VANILLAKEY,d2
- beq ErrorKeys
- cmp.l #REFRESHWINDOW,d2
- beq Refresher4
- bra Window4IDCMP
-
- Refresher4: move.l Window4,a0
- lib GadTools,GT_BeginRefresh
- move.l Window2,a0
- move.l #TRUE,d0
- lib GadTools,GT_EndRefresh
- bra Window4IDCMP
-
- SaveStrGads2: move.l StrGadBuf22,a0
- lea.l ErrCmd1,a1
- move.l #GADLENG2,d0
- lib Exec,CopyMem
-
- move.l StrGadBuf23,a0
- lea.l ErrCmd2,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- move.l StrGadBuf24,a0
- lea.l ErrCmd3,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- move.l StrGadBuf25,a0
- lea.l ErrCmd4,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- move.l StrGadBuf26,a0
- lea.l ErrCmd5,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- move.l StrGadBuf27,a0
- lea.l ErrCmd6,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- move.l StrGadBuf28,a0
- lea.l ConfCmd1,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- move.l StrGadBuf29,a0
- lea.l ConfCmd2,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- move.l StrGadBuf30,a0
- lea.l WakeCmd1,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- rts
-
- SetStrGads2: lea.l ErrCmd1,a0
- move.l StrGadBuf22,a1
- move.l #GADLENG2,d0
- lib Exec,CopyMem
-
- lea.l ErrCmd2,a0
- move.l StrGadBuf23,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- lea.l ErrCmd3,a0
- move.l StrGadBuf24,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- lea.l ErrCmd4,a0
- move.l StrGadBuf25,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- lea.l ErrCmd5,a0
- move.l StrGadBuf26,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- lea.l ErrCmd6,a0
- move.l StrGadBuf27,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- lea.l ConfCmd1,a0
- move.l StrGadBuf28,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- lea.l ConfCmd2,a0
- move.l StrGadBuf29,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
-
- lea.l WakeCmd1,a0
- move.l StrGadBuf30,a1
- move.l #GADLENG2,d0
- flib Exec,CopyMem
- rts
-
- ErrorKeys: cmp.w #$1b,d3
- beq ErrorCmds_OUT
- cmp.w #'g',d3
- beq Get2
- cmp.w #'G',d3
- beq Get2
- bra Window4IDCMP
-
- GetGadAddr4: cmp.w #2,$26(a5)
- beq GetGadAddr4.1
- clr.l LastGad2
- bra Window4IDCMP
- GetGadAddr4.1: move.l a5,LastGad2
- bra Window4IDCMP
-
- Get2: tst.l LastGad2
- beq Get2_OUT2
-
- move.l AslReq,a0
- lea.l GetReqTags,a1
- lib Asl,AslRequest
- tst.l d0
- beq Get2_OUT1
-
- bsr RemGads4
- move.l LastGad2,a5
- bsr MakeCmd
- bsr AddGads4
-
- Get2_OUT1: move.l LastGad2,a0
- move.l Window4,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
-
- Get2_OUT2: bra Window4IDCMP
-
- ErrorCmds_OUT: bsr SaveStrGads2
- bsr AddVTask
- bsr CloseWin4
- clr.w DisActive ;Can turn on/off
- bsr AddGads
- bsr MenusOn
- bsr NormalPointer
- bra Window1IDCMP
-
- DoVoice: cmp.w #-2,d3
- beq VoiceClip
- cmp.w #-3,d3
- beq VoiceLow
- cmp.w #-4,d3
- beq VoiceNoisy
-
- cmp.w PrefsScore,a4
- bcs VoiceUnknown
-
- lea.l CmdList,a2
- move.w d3,d0
- mulu.w #GADLENGTH,d0
- add.l d0,a2 ;a2 was start of strings
-
- ;Test wake up
-
- tst.b PrefsWake
- beq CheckConf
-
- tst.w Awake ;Already awake
- bne CheckConf
-
- tst.w d3 ;Test for first command
- bne Window1IDCMP ;Not wake up command
-
- move.w #1,Awake ;We are awake
- bsr ClearTimer
- clr.l d0
- move.b PrefsWake,d0
- move.l d0,Time
- bsr Waiter
- lea.l AwakeText1,a0 ;Inform and execute
- bsr GetLength
- bsr Inform
- lea.l WakeCmd1,a2
- tst.b (a2)
- beq CheckWake2
- bsr ExecuteCmd
- cmp.l #-1,d0
- beq DoVoice3
- CheckWake2: clr.w TickCount
- bra Window1IDCMP
-
- ;Test confirm
-
- CheckConf: cmp.w #-1,d3 ;Test this after
- beq VoiceUnknown ;awake command!
-
- tst.b PrefsConfirm
- beq DoVoice1 ;Don't confirm
-
- tst.l ConfAddress ;Nothing to compare with
- beq CheckConf3
-
- cmp.l ConfAddress,a2 ;Is it same?
- beq DoVoice1 ;Yes, execute
-
- clr.l ConfAddress ;No, clear previous
- lea.l NoConfText1,a0 ;Not confirmed, inform
- bsr GetLength ;and execute
- bsr Inform
- lea.l ConfCmd2,a2
- tst.b (a2)
- beq CheckConf2
- bsr ExecuteCmd
- cmp.l #-1,d0
- beq DoVoice3
- CheckConf2: clr.w TickCount
- bra Window1IDCMP
-
-
- ;Save this word to be confirmed
-
- CheckConf3: move.l a2,ConfAddress
-
- move.l a2,a0
- lea.l StringBuffer,a1
- move.w #'* ',(a1)+
- bsr CopyStrs
-
- lea.l StringBuffer,a0
- bsr GetLength
- bsr Inform
-
- lea.l ConfCmd1,a2
- tst.b (a2)
- beq CheckConf_OUT
- bsr ExecuteCmd
- cmp.l #-1,d0
- beq DoVoice3
- CheckConf_OUT: clr.w TickCount
- bra Window1IDCMP
-
- DoVoice1: move.l a2,a0
-
- push a2
- bsr GetLength
- bsr Inform
- pull a2
-
- clr.w TickCount
-
- add.l #GADLENG1,a2
- cmp.l #0,(a2)
- beq DoVoice2
-
- cmp.b #'~',(a2)
- beq DoSpecial
-
- bsr ExecuteCmd ;Execute command
-
- clr.l ConfAddress ;Forget confirm
- clr.w Awake ;Not awake anymore
-
- cmp.l #-1,d0
- beq DoVoice3
- bra Window1IDCMP
-
- DoSpecial: add.l #1,a2
- cmp.b #'K',(a2)
- beq DoSpecial2
- bra DoVoice2 ;No Command
-
- DoSpecial2: add.l #2,a2 ;Skip shortcut and space
- move.l a2,a0
- lea.l StringBuffer,a1
- bsr CopyStrs
-
- bsr SendEvents
- move.l #4,d2
- tst.l IEvents
- beq DoVoice3 ;Command failed
- clr.l IEvents
- bra Window1IDCMP
-
- DoVoice2: lea.l NoCMDText1,a0
- bsr GetLength
- bsr Inform
- lea.l ErrCmd1,a2
- tst.b (a2)
- beq DoVoice2_OUT
- bsr ExecuteCmd
- cmp.l #-1,d0
- beq DoVoice3
- DoVoice2_OUT: clr.w TickCount
- bra Window1IDCMP
- DoVoice3: lea.l CMDFailText1,a0 ;Doesn't check if the
- bsr GetLength ;command fails
- bsr Inform
- lea.l ErrCmd2,a2
- tst.b (a2)
- beq DoVoice3_OUT
- bsr ExecuteCmd
- DoVoice3_OUT: clr.w TickCount
- bra Window1IDCMP
-
- VoiceUnknown: lea.l NoMatchText1,a0
- bsr GetLength
- bsr Inform
- lea.l ErrCmd3,a2
- tst.b (a2)
- beq VoiceUn_OUT
- bsr ExecuteCmd
- cmp.l #-1,d0
- beq DoVoice3
- VoiceUn_OUT: clr.w TickCount
- bra Window1IDCMP
- VoiceClip: lea.l ClippingText1,a0
- bsr GetLength
- bsr Inform
- lea.l ErrCmd4,a2
- tst.b (a2)
- beq VoiceClip_OUT
- bsr ExecuteCmd
- cmp.l #-1,d0
- beq DoVoice3
- VoiceClip_OUT: clr.w TickCount
- bra Window1IDCMP
- VoiceLow: lea.l LowVolText1,a0
- bsr GetLength
- bsr Inform
- lea.l ErrCmd5,a2
- tst.b (a2)
- beq VoiceLow_OUT
- bsr ExecuteCmd
- cmp.l #-1,d0
- beq DoVoice3
- VoiceLow_OUT: clr.w TickCount
- bra Window1IDCMP
- VoiceNoisy: lea.l NoisyText1,a0
- bsr GetLength
- bsr Inform
- lea.l ErrCmd6,a2
- tst.b (a2)
- beq VoiceNoisy_OUT
- bsr ExecuteCmd
- cmp.l #-1,d0
- beq DoVoice3
- VoiceNoisy_OUT: clr.w TickCount
- bra Window1IDCMP
-
- ExecuteCmd: move.l a2,d1 ;Execute command
- clr.l d2
- lib Dos,SystemTagList
- rts
-
- CX: cmp.l #CXM_COMMAND,d2
- beq DoCXCommand
- cmp.l #CXM_IEVENT,d2
- beq DoCXAppear
- move.l #4,d0
- rts ;Unknown command
-
- DoCXCommand: cmp.l #CXCMD_APPEAR,d3
- beq DoCXAppear
- cmp.l #CXCMD_DISAPPEAR,d3
- beq DoCXDisappear
- cmp.l #CXCMD_KILL,d3
- beq DoCXKill
- cmp.l #CXCMD_UNIQUE,d3
- beq DoCXAppear
- cmp.l #CXCMD_ENABLE,d3
- beq DoCXEnable
- cmp.l #CXCMD_DISABLE,d3
- beq DoCXDisable
- move.l #4,d0
- rts ;Unknown message
-
- DoCXKill: clr.l d0
- rts
-
- DoCXAppear: tst.l Window1
- bne DoCXAppear_OUT
- tst.w DisActive
- bne DoCXDisap_OUT
- clr.l OptionIconify
- bsr OpenWin1
- bsr SetModes
- tst.l Window1
- bne DoCXAppear_OUT
- sub.l a0,a0
- lib Intuition,DisplayBeep ;Beep on error
- DoCXAppear_OUT: move.l #4,d0
- rts
-
- DoDoCXDisappear: bsr DoCXDisappear
- bra Window1IDCMP
-
- DoCXDisappear: tst.l Window1
- beq DoCXDisap_OUT
- tst.w DisActive
- bne DoCXDisap_OUT
- bsr CheckModes
- bsr CloseWin1
- DoCXDisap_OUT: move.l #4,d0
- rts
-
- DoCXEnable: tst.w DisActive
- bne DoCXEnable1
- bsr CLITypeOn
- DoCXEnable_OUT: move.l #4,d0
- rts
- DoCXEnable1: bsr CXDisable ;Can't turn on
- bra DoCXEnable_OUT
-
- DoCXDisable: tst.w DisActive
- bne DoCXDisable1
- bsr CLITypeOff
- DoCXDis_OUT: move.l #4,d0
- rts
- DoCXDisable1: bsr CXEnable ;Can't turn off
- bra DoCXDis_OUT
-
- CXEnable: move.l CXBroker1,a0
- move.l #TRUE,d0
- lib Commodities,ActivateCxObj
- rts
-
- CXDisable: move.l CXBroker1,a0
- move.l #FALSE,d0
- lib Commodities,ActivateCxObj
- rts
-
- DoSetResLo: bsr SetResLo
- bra Window1IDCMP
-
- DoSetResHi: bsr SetResHi
- bra Window1IDCMP
-
- SetResLo: bsr RemVTask1
- move.b #RES_LO,PrefsSampRes
- bsr AddVTask
- rts
- SetResHi: bsr RemVTask1
- move.b #RES_HI,PrefsSampRes
- bsr AddVTask
- rts
-
- DoSetAccLowest: bsr SetAccLowest
- bra Window1IDCMP
-
- DoSetAccLower: bsr SetAccLower
- bra Window1IDCMP
-
- DoSetAccLow: bsr SetAccLow
- bra Window1IDCMP
-
- DoSetAccNormal: bsr SetAccNormal
- bra Window1IDCMP
-
- DoSetAccHigh: bsr SetAccHigh
- bra Window1IDCMP
-
- DoSetAccHigher: bsr SetAccHigher
- bra Window1IDCMP
-
- DoSetAccEHigher: bsr SetAccEHigher
- bra Window1IDCMP
-
- DoSetAccMaximum: bsr SetAccMaximum
- bra Window1IDCMP
-
-
- SetAccLowest: move.w #AccVal1,PrefsScore
- rts
-
- SetAccLower: move.w #AccVal2,PrefsScore
- rts
-
- SetAccLow: move.w #AccVal3,PrefsScore
- rts
-
- SetAccNormal: move.w #AccVal4,PrefsScore
- rts
-
- SetAccHigh: move.w #AccVal5,PrefsScore
- rts
-
- SetAccHigher: move.w #AccVal6,PrefsScore
- rts
-
- SetAccEHigher: move.w #AccVal7,PrefsScore
- rts
-
- SetAccMaximum: move.w #AccVal8,PrefsScore
- rts
-
- DoSetLeft: bsr SetLeft
- bra Window1IDCMP
-
- DoSetRight: bsr SetRight
- bra Window1IDCMP
-
- DoCTRL_D: tst.w DisActive
- bne DoCTRL_D_OUT
- bsr CLITypeOff
- DoCTRL_D_OUT: bra Window1IDCMP
-
- DoCTRL_E: tst.w DisActive
- bne DoCTRL_E_OUT
- bsr CLITypeOn
- DoCTRL_E_OUT: bra Window1IDCMP
-
- CLITypeOff: bsr RemGads
- move.l OnOffGad1,a0
- and.w #~SELECTED,gg_Flags(a0)
- move.l #5625242,d5 ;inform user
- bsr RemVTask1
- bsr AddGads
- rts
-
- CLITypeOn: bsr RemGads
- move.l OnOffGad1,a0
- or.w #SELECTED,gg_Flags(a0)
- move.l #5625242,d5 ;inform user
- bsr AddVTask1
- bsr AddGads
- rts
-
- SetLeft: move.b #CHANNEL_LEFT,PrefsChannel
- cmp.b #SAMP_GENERIC,PrefsSampType
- beq SetLeft_OUT
- bsr RemVTask1
- move.l #CHANNEL_LEFT,d0
- lib Voice,PickChannel
- bsr AddVTask
- SetLeft_OUT: rts
-
- SetRight: move.b #CHANNEL_RIGHT,PrefsChannel
- cmp.b #SAMP_GENERIC,PrefsSampType
- beq SetRight_OUT
- bsr RemVTask1
- move.l #CHANNEL_RIGHT,d0
- lib Voice,PickChannel
- bsr AddVTask
- SetRight_OUT: rts
-
- DoSetMic: bsr SetMic
- bra Window1IDCMP
-
- DoSetLine: bsr SetLine
- bra Window1IDCMP
-
- SetMic: move.b #INPUT_MIC,PrefsInput
- cmp.b #SAMP_GENERIC,PrefsSampType
- beq SetMic_OUT
- bsr RemVTask1
- move.l #INPUT_MIC,d0
- lib Voice,PickInput
- bsr AddVTask
- SetMic_OUT: rts
-
- SetLine: move.b #INPUT_LINE,PrefsInput
- cmp.b #SAMP_GENERIC,PrefsSampType
- beq SetLine_OUT
- bsr RemVTask1
- move.l #INPUT_LINE,d0
- lib Voice,PickInput
- bsr AddVTask
- SetLine_OUT: rts
-
- DoSetSamp1: bsr SetSamp1
- bra Window1IDCMP
- DoSetSamp2: bsr SetSamp2
- bra Window1IDCMP
- DoSetSamp3: bsr SetSamp3
- bra Window1IDCMP
- DoSetSamp4: bsr SetSamp4
- bra Window1IDCMP
-
- SetSamp1: bsr RemVTask1
- move.b #SAMP_PERFSND,PrefsSampType ;PerfectSound
- move.l #SAMP_PERFSND,d0
- clr.l d1
- lib Voice,PickSampler
- bsr RemGads
- move.l GainUGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
- bsr AddGads
- bsr AddVTask
- rts
- SetSamp2: bsr RemVTask1
- move.b #SAMP_SNDMSTR,PrefsSampType ;SoundMaster
- move.l #SAMP_SNDMSTR,d0
- clr.l d1
- lib Voice,PickSampler
- bsr RemGads
- move.l GainUGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
- bsr AddGads
- bsr AddVTask
- rts
- SetSamp3: bsr RemVTask1
- move.b #SAMP_DSS8,PrefsSampType ;DSS8
- move.l #SAMP_DSS8,d0
- clr.l d1
- move.b PrefsGain,d1
- lib Voice,PickSampler
- bsr RemGads
- move.l GainUGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
- bsr AddGads
- bsr AddVTask
- rts
- SetSamp4: bsr RemVTask1
- move.b #SAMP_GENERIC,PrefsSampType ;Generic
- move.l #SAMP_GENERIC,d0
- clr.l d1
- lib Voice,PickSampler
- bsr RemGads
- move.l GainUGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
- bsr AddGads
- bsr AddVTask
- rts
-
- DoSetTimerA: bsr SetTimerA
- bra Window1IDCMP
-
- DoSetTimerB: bsr SetTimerB
- bra Window1IDCMP
-
- SetTimerA: bsr RemVTask1
- move.b #TIMER_A,PrefsTimer ;Timer A=1
- move.l #TIMER_A,d0
- lib Voice,PickTimer
- bsr AddVTask
- rts
-
- SetTimerB: bsr RemVTask1
- move.b #TIMER_B,PrefsTimer ;Timer B=0
- move.l #TIMER_B,d0
- lib Voice,PickTimer
- bsr AddVTask
- rts
-
- DoConfirm: bsr Confirm
- bra Window1IDCMP
-
- Confirm: clr.b PrefsConfirm
- move.l mlist,a0 ;Test menu
- move.l #ConfirmMenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- move.w $c(a0),d0
- and.w #CHECKED,d0
- cmp.w #CHECKED,d0
- bne Confirm_OUT
- move.b #$01,PrefsConfirm
- Confirm_OUT: rts
-
- DoSetWake0: bsr SetWake0
- bra Window1IDCMP
-
- SetWake0: move.b #0,PrefsWake
- rts
-
- DoSetWake5: bsr SetWake5
- bra Window1IDCMP
-
- SetWake5: move.b #5,PrefsWake
- rts
-
- DoSetWake10: bsr SetWake10
- bra Window1IDCMP
-
- SetWake10: move.b #10,PrefsWake
- rts
-
- DoSetWake15: bsr SetWake15
- bra Window1IDCMP
-
- SetWake15: move.b #15,PrefsWake
- rts
-
- DoSetWake20: bsr SetWake20
- bra Window1IDCMP
-
- SetWake20: move.b #20,PrefsWake
- rts
-
- ToFront: tst.l Window1
- beq ToFront_OUT
- move.l Window1,a0
- lib Intuition,WindowToFront
- ToFront_OUT: rts
-
- ToBack: tst.l Window
- beq ToBack_OUT
- move.l Window1,a0
- lib Intuition,WindowToBack
- ToBack_OUT: rts
-
- Zoom: tst.l Window1
- beq Zoom_OUT
- move.l Window1,a0
- lib Intuition,ZipWindow
- Zoom_OUT: rts
-
- DoLoad: bsr Load ;RemVTask1 in Load
- bsr AddVTask
- move.l #5,d1
- lib Dos,Delay
- bra ActivateGads
-
- DoDataLoad: bsr RemGads ;RemVTask1 in Load
- bsr Load2.1
- bsr AddVTask
- bsr AddGads ;Keep Add/RemGads (Load2.1)
- move.l #5,d1
- lib Dos,Delay
- bra Window1IDCMP
-
- DoOnOff: move.l #5625242,d5 ;inform user
- bsr AddVTask ;one or the other
- bsr RemVTask ;will respond
- bra Window1IDCMP
-
- DoGainUp: bsr GainUp
- bra Window1IDCMP
- DoGainDown: bsr GainDown
- bra Window1IDCMP
-
- GainUp: lib Voice,GainUp
- cmp.b #SAMP_DSS8,PrefsSampType
- bne GainUp_OUT
- lib Voice,WhatGain
- move.b d0,PrefsGain
- move.l d0,GainPointer
-
- tst.l Window1
- beq GainUp_OUT
- move.l GainGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- lea.l GainGadTagList,a3
- lib GadTools,GT_SetGadgetAttrsA
- GainUp_OUT: rts
-
- GainDown: lib Voice,GainDown
- cmp.b #SAMP_DSS8,PrefsSampType
- bne GainDown_OUT
- lib Voice,WhatGain
- move.b d0,PrefsGain
- move.l d0,GainPointer
-
- tst.l Window1
- beq GainDown_OUT
- move.l GainGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- lea.l GainGadTagList,a3
- lib GadTools,GT_SetGadgetAttrsA
- GainDown_OUT: rts
-
- ActivateGads: tst.l Window1
- beq ActivateGs_OUT
- move.l DatStrGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- ActivateGs_OUT: bra Window1IDCMP
-
- ActGad: tst.l Window1
- beq ActGad_OUT
- move.l DatStrGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- ActGad_OUT: rts
-
- ActivateGads2: cmp.w #55,$26(a5)
- beq Get
- cmp.w #1,$26(a5)
- beq Learn
- cmp.w #2,$26(a5)
- bne Window2IDCMP
- cmp.l #$00,(a5)
- beq ActivateGads2.01
- move.l (a5),a0
- move.l StrGad20,a1
- cmp.l a5,a1
- bne ActivateGads2.1
- ActivateGads2.01: move.l StrGad1,a0
- ActivateGads2.1: move.l Window2,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- bra Window2IDCMP
-
- ActGad2: move.l StrGad1,a0
- move.l Window2,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- rts
-
- ActGad3: move.l StrGad21,a0
- move.l Window3,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- rts
-
- ActivateGads4: cmp.w #55,$26(a5)
- beq Get2
- cmp.w #2,$26(a5)
- bne Window4IDCMP
- cmp.l #$00,(a5)
- beq ActivateGads4.01
- move.l (a5),a0
- move.l StrGad30,a1
- cmp.l a5,a1
- bne ActivateGads4.1
- ActivateGads4.01: move.l StrGad22,a0
- ActivateGads4.1: move.l Window4,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- bra Window4IDCMP
-
- ActGad4: move.l StrGad22,a0
- move.l Window4,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- rts
-
- Learn: move.w Page,d0
- mulu.w #NUMGADS,d0
- move.l $22(a5),a0
- move.l (a0),a0
- cmp.l StrGadBuf1,a0
- bne Learn1
- add.w #1,d0
- bra Learn10
- Learn1: cmp.l StrGadBuf3,a0
- bne Learn2
- add.w #2,d0
- bra Learn10
- Learn2: cmp.l StrGadBuf5,a0
- bne Learn3
- add.w #3,d0
- bra Learn10
- Learn3: cmp.l StrGadBuf7,a0
- bne Learn4
- add.w #4,d0
- bra Learn10
- Learn4: cmp.l StrGadBuf9,a0
- bne Learn5
- add.w #5,d0
- bra Learn10
- Learn5: cmp.l StrGadBuf11,a0
- bne Learn6
- add.w #6,d0
- bra Learn10
- Learn6: cmp.l StrGadBuf13,a0
- bne Learn7
- add.w #7,d0
- bra Learn10
- Learn7: cmp.l StrGadBuf15,a0
- bne Learn8
- add.w #8,d0
- bra Learn10
- Learn8: cmp.l StrGadBuf17,a0
- bne Learn9
- add.w #9,d0
- bra Learn10
- Learn9: cmp.l StrGadBuf19,a0
- bne Learn10
- add.w #10,d0
-
- Learn10: sub.w #1,d0
- lea.l MapBuffer,a0
- move.l $22(a5),a1
- move.l (a1),a1
- sub.l a2,a2 ;screen
- move.l #220,d1
- move.l #42,d2
- lib Voice,Learn
- move.l (a5),a0
- bra ActivateGads2.1
-
- Load: bsr RemVTask1
-
- move.l FromFile,d1 ;If set to something else
- bne Load1
- lea.l PrefsName,a0
- move.l a0,d1
- Load1: move.l #MODE_OLDFILE,d2
- lib Dos,Open
- move.l d0,PrefsFile
- beq Load_ERR1
-
- move.l PrefsFile,d1
- lea.l Prefs,a0
- move.l a0,d2
- move.l #4,d3
- lib Dos,Read
- cmp.l #4,d0
- bne Load_ERR2
-
- cmp.l #VSFileVersion,Prefs
- bne Load_ERR3
-
- move.l PrefsFile,d1
- add.l #4,d2
- move.l #PrefsSize-4,d3
- lib Dos,Read
- cmp.l #PrefsSize-4,d0
- bne Load_ERR2
-
- Load2: bsr SetModes ;fixes startup datafile bug
- Load2.1: move.l DatStrGadBuf1,d1 ;jump here to load data file
- move.l #MODE_OLDFILE,d2
- lib Dos,Open
- move.l d0,DataFile
- beq Load_ERR1.1
-
- move.l DataFile,d1
- lea.l MapBuffer,a0
- move.l a0,d2
- move.l #DataSize,d3
- lib Dos,Read
- cmp.l #DataSize,d0
- bne Load_ERR4
-
- move.w #1,Saved
-
- Load_OUT: move.l DataFile,d1
- beq Load_OUT0.1
- lib Dos,Close
- clr.l DataFile
- Load_OUT0.1: move.l PrefsFile,d1
- beq Load_OUT1
- lib Dos,Close
- clr.l PrefsFile
-
- Load_OUT1: rts
-
- Load_ERR1: lea.l File_ERRTxt1,a1
- sub.l a2,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- bra Load2
-
- Load_ERR1.1: lea.l File_ERRTxt4,a1
- sub.l a2,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- bra Load_OUT
-
- Load_ERR2: lea.l File_ERRTxt2,a1
- sub.l a2,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- bra Load2
-
- Load_ERR3: lea.l File_ERRTxt3,a1
- sub.l a2,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- bra Load2
-
- Load_ERR4: lea.l File_ERRTxt2,a1
- sub.l a2,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- bra Load_OUT
-
- Save: bsr CheckModes
-
- move.l FromFile,d1 ;If set to something else
- bne Save1
- lea.l PrefsName,a0
- move.l a0,d1
- Save1: move.l #MODE_NEWFILE,d2
- lib Dos,Open
- move.l d0,PrefsFile
- beq Save_ERR1
-
- move.l #VSFileVersion,Prefs
-
- move.l PrefsFile,d1
- lea.l Prefs,a0
- move.l a0,d2
- move.l #PrefsSize,d3
- lib Dos,Write
- cmp.l #PrefsSize,d0
- bne Save_ERR2
-
- Save2: move.l DatStrGadBuf1,d1
- move.l #MODE_NEWFILE,d2
- lib Dos,Open
- move.l d0,DataFile
- beq Save_ERR1.1
-
- move.l DataFile,d1
- lea.l MapBuffer,a0
- move.l a0,d2
- move.l #DataSize,d3
- lib Dos,Write
- cmp.l #DataSize,d0
- bne Save_ERR2
-
- move.w #1,Saved
-
- Save_OUT: move.l DataFile,d1
- beq Save_OUT0.1
- lib Dos,Close
- clr.l DataFile
- Save_OUT0.1: move.l PrefsFile,d1
- beq Save_OUT1
- lib Dos,Close
- clr.l PrefsFile
- Save_OUT1: bra ActivateGads
-
- Save_ERR1: lea.l File_ERRTxt1,a1
- move.l #$00,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- clr.w Saved
- bra Save2
-
- Save_ERR1.1: lea.l File_ERRTxt4,a1
- move.l #$00,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- clr.w Saved
- bra Save_OUT
-
- Save_ERR2: lea.l File_ERRTxt2,a1
- move.l #$00,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- clr.w Saved
- bra Save_OUT
-
- About: move.w #1,DisActive
- bsr RemVTask1
- bsr SleepPointer
- bsr MenusOff
- bsr RemGads
-
- move.l Window1,a0
- lea.l AboutTxt1,a1
- sub.l a2,a2 ;positive text
- lea.l OKTxt,a3 ;a bit the wrong way around but...
- clr.l d0
- clr.l d1
- move.l #320,d2
- move.l #$50,d3
- lib Intuition,AutoRequest
- clr.w DisActive
- bsr AddGads
- bsr MenusOn
- bsr NormalPointer
- bsr AddVTask
- bra Window1IDCMP
-
- ;This is an emergency exit.
-
- Break: lea.l BreakText1,a0
- bsr Printer
- clr.l d0
- rts
-
- AddVTask: tst.l Window1 ;BUG: Turns on anyway
- beq AddVTask1 ;Window not open
- move.l OnOffGad1,a0
- move.w gg_Flags(a0),d0
- and.w #SELECTED,d0
- cmp.w #SELECTED,d0
- bne AddVTask_OUT ;Already active
- AddVTask1: tst.w TaskOn
- bne AddVTask_OUT
- lea.l MapBuffer,a0
- move.l VoicePort,a1
- clr.l d0
- clr.l d1
- move.w #VocabSIZE,d0
- move.b PrefsSampRes,d1
- lib Voice,AddVoiceTask
-
- move.l PrefsPriority,d0
- lib Voice,SetVoicePri
-
- move.w #1,TaskOn
- move.b #1,PrefsOnOff
-
- cmp.l #5625242,d5
- bne AddVTask_OUT
- lea.l TaskOnText1,a0
- bsr GetLength
- bsr Inform
- bsr CXEnable
- clr.l d5
- AddVTask_OUT: rts
-
- RemVTask: tst.l Window1 ;BUG: Turns off anyway?
- beq RemVTask1 ;Window not open
- move.l #5625242,d5
- move.l OnOffGad1,a0
- move.w gg_Flags(a0),d0
- and.w #SELECTED,d0
- cmp.w #SELECTED,d0
- beq RemVTask_OUT
- RemVTask1: tst.w TaskOn
- beq RemVTask_OUT
-
- lib Exec,Forbid
- bsr C3GetMsg1 ;Clear messages
- lib Exec,Permit
- lib Voice,RemVoiceTask
-
- clr.w TaskOn
- clr.b PrefsOnOff
- cmp.l #5625242,d5
- bne RemVTask_OUT
- lea.l TaskOffText1,a0
- bsr GetLength
- bsr Inform
- bsr CXDisable
- RemVTask_OUT: rts
-
- SetModes: tst.l Window1
- beq SetModes_OUT2
-
- bsr RemGads
-
- clr.l GainPointer
- move.b PrefsGain,GainPointer+3
-
- move.l OnOffGad1,a0
- and.w #~SELECTED,gg_Flags(a0)
-
- move.l OnOffGad1,a0
- tst.b PrefsOnOff
- beq SetModes1
- or.w #SELECTED,gg_Flags(a0)
-
- SetModes1: move.l mlist,a0 ;UnCheck SampType1
- move.l #Samp1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck SampType2
- move.l #Samp2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck SampType3
- move.l #Samp3MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck SampType4
- move.l #Samp4MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- cmp.b #SAMP_PERFSND,PrefsSampType ;PerfectSound
- bne SetModes2
- move.l mlist,a0
- move.l #Samp1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
- move.l GainUGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
-
- SetModes2: cmp.b #SAMP_SNDMSTR,PrefsSampType ;SoundMaster
- bne SetModes2.1
- move.l mlist,a0
- move.l #Samp2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
- move.l GainUGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
-
- SetModes2.1: cmp.b #SAMP_DSS8,PrefsSampType ;DSS 8
- bne SetModes2.2
- move.l mlist,a0
- move.l #Samp3MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
- move.l GainUGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
-
- SetModes2.2: cmp.b #SAMP_GENERIC,PrefsSampType ;Generic
- bne SetModes3
- move.l mlist,a0
- move.l #Samp4MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
- move.l GainUGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
-
- SetModes3: move.l mlist,a0 ;UnCheck ResLo
- move.l #ResLoMenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck ResHi
- move.l #ResHiMenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- cmp.b #1,PrefsSampRes
- bne SetModes4
- move.l mlist,a0
- move.l #ResLoMenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes4: tst.b PrefsSampRes
- bne SetModes5
- move.l mlist,a0
- move.l #ResHiMenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes5: move.l mlist,a0 ;UnCheck Lowest
- move.l #Acc1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Lower
- move.l #Acc2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Low
- move.l #Acc3MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Normal
- move.l #Acc4MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck High
- move.l #Acc5MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Higher
- move.l #Acc6MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Even higher
- move.l #Acc7MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Maximum
- move.l #Acc8MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- cmp.w #AccVal1,PrefsScore
- bne SetModes7
- move.l mlist,a0
- move.l #Acc1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes7: cmp.w #AccVal2,PrefsScore
- bne SetModes8
- move.l mlist,a0
- move.l #Acc2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes8: cmp.w #AccVal3,PrefsScore
- bne SetModes9
- move.l mlist,a0
- move.l #Acc3MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes9: cmp.w #AccVal4,PrefsScore
- bne SetModes10
- move.l mlist,a0
- move.l #Acc4MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes10: cmp.w #AccVal5,PrefsScore
- bne SetModes11
- move.l mlist,a0
- move.l #Acc5MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes11: cmp.w #AccVal6,PrefsScore
- bne SetModes12
- move.l mlist,a0
- move.l #Acc6MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes12: cmp.w #AccVal7,PrefsScore
- bne SetModes13
- move.l mlist,a0
- move.l #Acc7MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes13: cmp.w #AccVal8,PrefsScore
- bne SetModes14
- move.l mlist,a0
- move.l #Acc8MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes14: move.l mlist,a0 ;UnCheck Left
- move.l #Chan1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Right
- move.l #Chan2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Mic
- move.l #Input1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Line
- move.l #Input2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- cmp.b #CHANNEL_LEFT,PrefsChannel
- bne SetModes15
- move.l mlist,a0
- move.l #Chan1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes15: cmp.b #CHANNEL_RIGHT,PrefsChannel
- bne SetModes16
- move.l mlist,a0
- move.l #Chan2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes16: cmp.b #INPUT_MIC,PrefsInput
- bne SetModes17
- move.l mlist,a0
- move.l #Input1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes17: cmp.b #INPUT_LINE,PrefsInput
- bne SetModes18
- move.l mlist,a0
- move.l #Input2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes18: move.l mlist,a0 ;UnCheck Timer A
- move.l #Timer1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Timer B
- move.l #Timer2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- cmp.b #TIMER_A,PrefsTimer
- bne SetModes19
- move.l mlist,a0
- move.l #Timer1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes19: cmp.b #TIMER_B,PrefsTimer
- bne SetModes20
- move.l mlist,a0
- move.l #Timer2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes20: move.l mlist,a0 ;UnCheck Confirm
- move.l #ConfirmMenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- cmp.b #1,PrefsConfirm
- bne SetModes20.1
- move.l mlist,a0
- move.l #ConfirmMenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes20.1: move.l mlist,a0 ;UnCheck Wake0
- move.l #Wake1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Wake5
- move.l #Wake2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Wake10
- move.l #Wake3MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Wake15
- move.l #Wake4MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- move.l mlist,a0 ;UnCheck Wake20
- move.l #Wake5MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- and.w #~CHECKED,$c(a0)
-
- cmp.b #0,PrefsWake
- bne SetModes20.2
- move.l mlist,a0
- move.l #Wake1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes20.2: cmp.b #5,PrefsWake
- bne SetModes20.3
- move.l mlist,a0
- move.l #Wake2MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes20.3: cmp.b #10,PrefsWake
- bne SetModes20.4
- move.l mlist,a0
- move.l #Wake3MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes20.4: cmp.b #15,PrefsWake
- bne SetModes20.5
- move.l mlist,a0
- move.l #Wake4MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes20.5: cmp.b #20,PrefsWake
- bne SetModes20.9
- move.l mlist,a0
- move.l #Wake5MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
-
- SetModes20.9: lea.l DatBuffer,a0
- move.l DatStrGadBuf1,a1
- move.l #32,d0
- lib Exec,CopyMem
-
- tst.l Window1
- beq SetModes21
- tst.l OptionIconify
- beq SetModes21
- move.l Window1,a0
- move.w Alt1XPos,d0
- move.w Alt1YPos,d1
- move.w wd_Width(a0),d2
- move.w wd_Height(a0),d3
- lib Intuition,ChangeWindowBox
- bra SetModes22
- SetModes21: move.l Alt1XPos,NewWindow1
-
- ;None of the below are allowed to assume the window is open, it might not
- ;be!
-
- SetModes22: cmp.b #SAMP_PERFSND,PrefsSampType ;PerfectSound
- bne SetModes23
-
- move.l #SAMP_PERFSND,d0
- clr.l d1
- lib Voice,PickSampler
-
- SetModes23: cmp.b #SAMP_SNDMSTR,PrefsSampType ;SoundMaster
- bne SetModes24
-
- move.l #SAMP_SNDMSTR,d0
- clr.l d1
- lib Voice,PickSampler
-
-
- SetModes24: cmp.b #SAMP_DSS8,PrefsSampType ;DSS 8
- bne SetModes25
-
- move.l #SAMP_DSS8,d0
- clr.l d1
- move.b PrefsGain,d1
- lib Voice,PickSampler
-
- SetModes25: cmp.b #SAMP_GENERIC,PrefsSampType ;Generic
- bne SetModes26
-
- move.l #SAMP_GENERIC,d0
- clr.l d1
- lib Voice,PickSampler
-
- SetModes26: cmp.b #CHANNEL_LEFT,PrefsChannel
- bne SetModes27
-
- move.l #CHANNEL_LEFT,d0
- lib Voice,PickChannel
-
- SetModes27: cmp.b #CHANNEL_RIGHT,PrefsChannel
- bne SetModes28
-
- move.l #CHANNEL_RIGHT,d0
- lib Voice,PickChannel
-
- SetModes28: cmp.b #INPUT_MIC,PrefsInput
- bne SetModes29
-
- move.l #INPUT_MIC,d0
- lib Voice,PickInput
-
- SetModes29: cmp.b #INPUT_LINE,PrefsInput
- bne SetModes30
-
- move.l #INPUT_LINE,d0
- lib Voice,PickInput
-
- SetModes30: cmp.b #TIMER_A,PrefsTimer
- bne SetModes31
-
- move.l #TIMER_A,d0
- lib Voice,PickTimer
-
- SetModes31: cmp.b #TIMER_B,PrefsTimer
- bne SetModes32
-
- move.l #TIMER_B,d0
- lib Voice,PickTimer
-
- SetModes32:
-
- SetModes_OUT: bsr AddGads
- rts
-
- ;Here we do some 'patches' when the window isn't open and then do the
- ;normal stuff that needs to be done.
-
- SetModes_OUT2: lea.l DatBuffer,a0
- move.l a0,DatStrGadBuf1
- bra SetModes22
-
- CheckModes: tst.l Window1
- beq CheckModes_OUT
- move.l OnOffGad1,a0
- move.w gg_Flags(a0),d0
- clr.b PrefsOnOff
- and.w #SELECTED,d0
- cmp.w #SELECTED,d0
- bne CheckModes1
- move.b #$01,PrefsOnOff
-
- CheckModes1: move.l DatStrGadBuf1,a0
- lea.l DatBuffer,a1
- move.l #32,d0
- lib Exec,CopyMem
-
- tst.l Window1
- beq CheckModes_OUT
- move.l Window1,a0
- move.l wd_LeftEdge(a0),Alt1XY
- CheckModes_OUT: rts
-
- RemGads: tst.l Window1
- beq RemGads_OUT
- move.l Window1,a0
- lea.l glist,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RemoveGList
- RemGads_OUT: rts
-
- AddGads: tst.l Window1
- beq AddGads_OUT
- move.l Window1,a0
- lea.l glist,a1
- sub.l a2,a2
- move.l #-1,d0
- move.l #-1,d1
- lib Intuition,AddGList
-
- lea.l glist,a0
- move.l Window1,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RefreshGList
-
- move.l GainGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- lea.l GainGadTagList,a3
- lib GadTools,GT_SetGadgetAttrsA
-
- move.l Window1,a0
- sub.l a1,a1
- lib GadTools,GT_RefreshWindow
- AddGads_OUT: rts
-
- RemGads2: tst.l Window2
- beq RemGads2_OUT
- move.l Window2,a0
- lea.l glist2,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RemoveGList
- RemGads2_OUT: rts
-
- AddGads2: tst.l Window2
- beq AddGads2_OUT
- move.l Window2,a0
- lea.l glist2,a1
- sub.l a2,a2
- move.l #-1,d0
- move.l #-1,d1
- lib Intuition,AddGList
-
- lea.l glist2,a0
- move.l Window2,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RefreshGList
-
- move.l Window2,a0
- sub.l a1,a1
- lib GadTools,GT_RefreshWindow
- AddGads2_OUT: rts
-
- RemGads4: tst.l Window4
- beq RemGads4_OUT
- move.l Window4,a0
- lea.l glist4,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RemoveGList
- RemGads4_OUT: rts
-
- AddGads4: tst.l Window4
- beq AddGads4_OUT
- move.l Window4,a0
- lea.l glist4,a1
- sub.l a2,a2
- move.l #-1,d0
- move.l #-1,d1
- lib Intuition,AddGList
-
- lea.l glist4,a0
- move.l Window4,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RefreshGList
-
- move.l Window4,a0
- sub.l a1,a1
- lib GadTools,GT_RefreshWindow
- AddGads4_OUT: rts
-
- ;Abort timer request
-
- ClearTimer: move.l TIORequest,a1
- lib Exec,AbortIO
- tst.l d0
- beq ClearTimer1
- move.l TRPort,a0
- lib Exec,GetMsg
- ClearTimer1: move.l TIORequest,a1
- lib Exec,WaitIO
- rts
-
- ;Send timer request
-
- Waiter: move.l TIORequest,a1
- move.w #TR_ADDREQUEST,IO_COMMAND(a1)
- move.l Time,IOTV_TIME(a1)
- move.l #2,IOTV_TIME+4(a1) ;just in case secs=0
- lib Exec,SendIO
- rts
-
- Quit: tst.w Saved
- bne ShutDown
- bsr RemVTask1
- bsr SleepPointer
- bsr MenusOff
- bsr RemGads
-
- lea.l QuitTxt1,a1
- lea.l OKTxt,a2
- lea.l CancelTxt,a3
- bsr DoAutoRequest
- tst.l d0
- bne Quit2
- bsr AddGads
- bsr MenusOn
- bsr NormalPointer
- bsr AddVTask
- bra Window1IDCMP
-
- Quit2: bsr MenusOn
- bsr NormalPointer
- bsr AddGads
- bsr AddVTask
- bra ShutDown
-
- ShutDown: bsr RemVTask1
- tst.l PubScreen
- beq ShutDown9900
- sub.l a0,a0
- move.l PubScreen,a1
- lib Intuition,UnlockPubScreen
- clr.l PubScreen
-
- ShutDown9900: tst.w TimerOpen
- beq ShutDown9800
- bsr ClearTimer
- move.l TIORequest,a1
- lib Exec,CloseDevice
- clr.w TimerOpen
-
- ShutDown9800: move.l TIORequest,a0
- lib Exec,DeleteIORequest
-
- lib Exec,Forbid ;Remove all
- move.l TRPort,a2 ;pending messages
-
- ClearTRPort: move.l a2,a0
- flib Exec,GetMsg
- tst.l d0
- beq ClearTRPort2
- move.l d0,a1
- flib Exec,ReplyMsg
- bra ClearTRPort
- ClearTRPort2: move.l TRPort,a0
- flib Exec,DeleteMsgPort
- flib Exec,Permit
-
- tst.l CXBroker1
- beq ShutDown8800
-
- lib Exec,Forbid ;Remove all
- move.l CXPort,a2 ;pending messages
-
- ClearCX1: move.l a2,a0
- flib Exec,GetMsg
- tst.l d0
- beq ClearCX2
- move.l d0,a1
- flib Exec,ReplyMsg
- bra ClearCX1
- ClearCX2: move.l CXBroker1,a0
- lib Commodities,DeleteCxObjAll
- lib Exec,Permit
-
- ShutDown8800: bsr CloseWin1
- bsr CloseWin2
- bsr CloseWin3
- bsr CloseWin4
- bsr Clean2.0Magic
-
- ShutDown8000: move.l PrefsFile,d1
- beq ShutDown7000
- lib Dos,Close
-
- ShutDown7000: tst.l NILFile
- beq ShutDown6000
- move.l NILFile,d1
- lib Dos,Close
-
- ShutDown6000: tst.l DiskObject
- beq ShutDown5000
- move.l DiskObject,a0
- lib Icon,FreeDiskObject
-
- ShutDown5000: move.l OldLock,d1
- beq ShutDown4050
- lib Dos,CurrentDir
-
- ShutDown4050: move.l WBMsg,d2
- beq ShutDown3000
- lib Exec,Forbid
- move.l d2,a1
- flib Exec,ReplyMsg
-
- ShutDown3000: move.l RDArgs1,d1
- beq ShutDown2500
- lib Dos,FreeArgs
-
- ShutDown2500: tst.l AslReq
- beq ShutDown2000
- move.l AslReq,a0
- lib Asl,FreeFileRequest
-
- ShutDown2000: move.l VoicePort,a0 ;Messages cleared earlier
- lib Exec,DeleteMsgPort
-
- move.l CXPort,a0 ;Messages cleared earlier
- lib Exec,DeleteMsgPort
-
- move.l ARexxPort,a1 ;Remove possible
- cmp.l #$00,a1 ;ports from lists
- beq ShutDown1000 ;and then delete
- lib Exec,RemPort ;the ports
-
- flib Exec,Forbid ;Remove all
- move.l ARexxPort,a2 ;pending messages
-
- ClearARexx1: move.l a2,a0
- flib Exec,GetMsg
- tst.l d0
- beq ClearARexx2
- move.l d0,a1
- move.l #RC_FATAL,RESULT1(a1) ;Fail all requests
- flib Exec,ReplyMsg
- bra ClearARexx1
- ClearARexx2: move.l ARexxPort,a0
- flib Exec,DeleteMsgPort
- flib Exec,Permit
-
- ShutDown1000: closlib Voice
- closlib Commodities
- closlib Icon
- closlib Intuition
- closlib GadTools
- closlib Asl
- closlib Utility
- closlib Dos
-
- move.l OurTask,a1 ;reset task pri after
- clr.l d0 ;voice.lib has been
- lib Exec,SetTaskPri ;opened and closed
-
- pull d2-d7/a2-a6
- clr.l d0
- rts
-
- ;CheckIDCMP gets messages from keyboard (CTRL_C/D/E), Intuition and
- ;voice.library, commodities.library and ARexx
- ;
- ;Give it the window structure in a0
-
- CheckIDCMP: clr.l d1
- clr.l d0
- cmp.l #0,a0 ;Window open?
- beq CheckIDCMP1 ;Nope ->
- move.l $56(a0),a2 ;Get window's port
- move.b MP_SIGBIT(a2),d1 ;IntuiMessages signals
- bset.l d1,d0
- CheckIDCMP1: clr.l d1 ;Set signals for
- move.l VoicePort,a0 ;voice.library
- move.b MP_SIGBIT(a0),d1
- bset.l d1,d0
- clr.l d1
- move.l CXPort,a0 ;commodities.library
- move.b MP_SIGBIT(a0),d1
- bset.l d1,d0
- clr.l d1
- move.l ARexxPort,a0 ;ARexx
- move.b MP_SIGBIT(a0),d1
- bset.l d1,d0
- clr.l d1
- move.l TRPort,a0 ;timer.device
- move.b MP_SIGBIT(a0),d1
- bset.l d1,d0
- bset.l #SIGBREAKB_CTRL_C,d0 ;and CTRL_C
- bset.l #SIGBREAKB_CTRL_D,d0 ;and CTRL_D
- bset.l #SIGBREAKB_CTRL_E,d0 ;and CTRL_E
- lib Exec,Wait
-
- cmp.l #SIGBREAKF_CTRL_C,d0 ;If CTRL_C
- beq Break ;go break
- cmp.l #SIGBREAKF_CTRL_D,d0 ;If CTRL_D
- bne CheckIDCMP2 ;inform about it
- move.l #1,d0
- rts
- CheckIDCMP2: cmp.l #SIGBREAKF_CTRL_E,d0 ;If CTRL_E
- bne CheckIDCMP3 ;inform about it
- move.l #2,d0
- rts
- CheckIDCMP3: move.l VoicePort,a0 ;If voice.library
- move.b MP_SIGBIT(a0),d1
- btst d1,d0
- bne C3GetMsg1
-
- move.l CXPort,a0 ;If commodities.library
- move.b MP_SIGBIT(a0),d1
- btst d1,d0
- bne C4GetMsg1
-
- move.l TRPort,a0 ;If commodities.library
- move.b MP_SIGBIT(a0),d1
- btst d1,d0
- bne C5GetMsg1
-
- move.l ARexxPort,a0 ;If ARexx
- move.b MP_SIGBIT(a0),d1
- btst d1,d0
- beq C2GetMsg1
-
- bsr DoARexx ;Go do ARexx magic
- rts
-
- C2GetMsg1: move.l a2,a0 ;If Intuition
- lib GadTools,GT_GetIMsg
- tst.l d0
- beq C2GetMsg2
-
- move.l d0,a1
- move.l im_Class(a1),d2 ;answers with Class in d2,
- move.w im_Code(a1),d3 ;Code in d3 and
- move.w im_Qualifier(a1),a4 ;Qualifier in a4
- move.l im_IAddress(a1),a5 ;IAddress in a5
- lib GadTools,GT_ReplyIMsg
- bra C2GetMsg1
- C2GetMsg2: move.l #-1,d0
- rts
-
- C3GetMsg1: move.l VoicePort,a0
- lib Exec,GetMsg
- tst.l d0
- beq C3GetMsg2
-
- move.l d0,a1
- move.l im_Class(a1),d2 ;Class in d2 and
- move.w im_Code(a1),d3 ;Code in d3
- move.w im_Qualifier(a1),a4 ;Qualifier in a4
-
- lib Exec,ReplyMsg
- bra C3GetMsg1
- C3GetMsg2: move.l #3,d0
- rts
-
- C4GetMsg1: move.l CXPort,a0
- lib Exec,GetMsg
- tst.l d0
- beq C4GetMsg_OUT
-
- move.l d0,a2 ;Message in a2
-
- move.l a2,a0
- lib Commodities,CxMsgType
- move.l d0,d2 ;Type in d2
-
- move.l a2,a0
- lib Commodities,CxMsgID
- move.l d0,d3 ;ID in d3
-
- move.l a2,a1
- lib Exec,ReplyMsg
-
- bsr CX ;Go do magic stuff
- tst.l d0
- bne C4GetMsg1 ;Loop all messages
- rts
-
- C4GetMsg_OUT: move.l #4,d0 ;Return as CX
- rts
-
- C5GetMsg1: move.l TRPort,a0
- lib Exec,GetMsg
- tst.l d0
- beq C4GetMsg_OUT
-
- clr.w Awake
-
- C5GetMsg_OUT: move.l #4,d0
- rts
-
- ;Newer MenuNull subroutine
-
- MenuNull: move.w d3,d0
- and.w #$1f,d0
- move.w d0,d6
- move.w d3,d0
- lsr.w #5,d0
- move.w d0,d1
- and.w #$3f,d0
- move.w d0,d5
- lsr.w #6,d1
- move.w d1,d4
- rts
-
- ;ARexx interface
-
- DoARexx: move.l ARexxPort,a0
- lib Exec,GetMsg
-
- move.l #4,d2 ;answer to Window1IDCMP
- tst.l d0
- beq DoARexx_OUT
-
- move.l d0,a5
- cmp.l #RXCOMM,ACTION(a5)
- bne DoARexxReply
-
- tst.l Window2 ;Don't do ARexx while other
- bne DoARexxFail ;windows are open!
- tst.l Window3
- bne DoARexxFail
-
- lea.l RexxFront,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxFront
-
- lea.l RexxBack,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxBack
-
- lea.l RexxZoom,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxZoom
-
- lea.l RexxHide,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxHide
-
- lea.l RexxShow,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxShow
-
- lea.l RexxOn,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxOn
-
- lea.l RexxOff,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxOff
-
- lea.l RexxQuit,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxQuit
-
- lea.l RexxPerfSnd,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxPerfSnd
-
- lea.l RexxSndMstr,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxSndMstr
-
- lea.l RexxDSS8,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxDSS8
-
- lea.l RexxGeneric,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxGeneric
-
- lea.l RexxResLo,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxResLo
-
- lea.l RexxResHi,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxResHi
-
- lea.l RexxLowest,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxLowest
-
- lea.l RexxLower,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxLower
-
- lea.l RexxLow,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxLow
-
- lea.l RexxNormal,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxNormal
-
- lea.l RexxHigh,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxHigh
-
- lea.l RexxHigher,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxHigher
-
- lea.l RexxEHigher,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxEHigher
-
- lea.l RexxMaximum,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxMaximum
-
- lea.l RexxLeft,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxLeft
-
- lea.l RexxRight,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxRight
-
- lea.l RexxLine,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxLine
-
- lea.l RexxMic,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxMic
-
- lea.l RexxGainUp,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxGainUp
-
- lea.l RexxGainDown,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxGainDown
-
- lea.l RexxTimerA,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxTimerA
-
- lea.l RexxTimerB,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxTimerB
-
- lea.l RexxConfirm,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxConf
-
- lea.l RexxNoConfirm,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxNoConf
-
- lea.l RexxWake0,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxWake0
-
- lea.l RexxWake5,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxWake5
-
- lea.l RexxWake10,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxWake10
-
- lea.l RexxWake15,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxWake15
-
- lea.l RexxWake20,a0
- move.l ARG0(a5),a1
- bsr CmpStrings
- bne DoRexxWake20
-
- move.l ARG0(a5),a1
- cmp.b #'K',(a1)+
- bne DoARexx2
- cmp.b #'E',(a1)+
- bne DoARexx2
- cmp.b #'Y',(a1)+
- bne DoARexx2
- cmp.b #' ',(a1)+
- beq DoRexxKeyInput
-
- DoARexx2: move.l ARG0(a5),a1
- cmp.b #'L',(a1)+
- bne DoARexxFail
- cmp.b #'O',(a1)+
- bne DoARexxFail
- cmp.b #'A',(a1)+
- bne DoARexxFail
- cmp.b #'D',(a1)+
- bne DoARexxFail
- cmp.b #' ',(a1)+
- beq DoRexxLoad
-
- DoARexxFail: move.l #RC_FATAL,RESULT1(a5)
- move.l #4,d2
- bra DoARexxReply
-
- DoARexxOK: move.l #RC_OK,RESULT1(a5)
- DoARexxReply: move.l a5,a1
- lib Exec,ReplyMsg
- DoARexx_OUT: move.l d2,d0
- rts
-
-
- DoRexxFront: bsr ToFront
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxBack: bsr ToBack
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxZoom: bsr Zoom
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxHide: bsr DoCXDisappear
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxShow: bsr DoCXAppear
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxOn: tst.w DisActive
- bne DoARexxFail
- push a5
- bsr CLITypeOn
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxOff: tst.w DisActive
- bne DoARexxFail
- push a5
- bsr CLITypeOff
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxQuit: clr.l d2
- bra DoARexxOK
-
- DoRexxPerfSnd: push a5
- bsr SetSamp1
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxSndMstr: push a5
- bsr SetSamp2
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxDSS8: push a5
- bsr SetSamp3
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxGeneric: push a5
- bsr SetSamp4
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxResLo: push a5
- bsr SetResLo
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxResHi: push a5
- bsr SetResHi
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxLowest: push a5
- bsr SetAccLowest
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxLower: push a5
- bsr SetAccLower
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxLow: push a5
- bsr SetAccLow
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxNormal: push a5
- bsr SetAccNormal
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxHigh: push a5
- bsr SetAccHigh
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxHigher: push a5
- bsr SetAccHigher
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxEHigher: push a5
- bsr SetAccEHigher
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxMaximum: push a5
- bsr SetAccMaximum
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxLeft: push a5
- bsr SetLeft
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxRight: push a5
- bsr SetRight
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxLine: push a5
- bsr SetLine
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxMic: push a5
- bsr SetMic
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxGainUp: push a5
- bsr GainUp
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxGainDown: push a5
- bsr GainDown
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxTimerA: push a5
- bsr SetTimerA
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxTimerB: push a5
- bsr SetTimerB
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxConf: push a5
- move.b #1,PrefsConfirm
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxNoConf: push a5
- clr.b PrefsConfirm
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxWake0: push a5
- move.b #0,PrefsWake
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxWake5: push a5
- move.b #5,PrefsWake
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxWake10: push a5
- move.b #10,PrefsWake
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxWake15: push a5
- move.b #15,PrefsWake
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxWake20: push a5
- move.b #20,PrefsWake
- bsr SetModes
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxLoad: push a5
-
- move.l a1,FromFile ;Fake CLI Input :)
- bsr Load
- bsr AddVTask
-
- pull a5
- move.l #4,d2
- bra DoARexxOK
-
- DoRexxKeyInput: move.l a1,a0
- lea.l StringBuffer,a1
- bsr CopyStrs
-
- bsr SendEvents
- move.l #4,d2
- tst.l IEvents
- beq DoARexxFail
- clr.l IEvents
- bra DoARexxOK
-
- ;SendEvents converts ARexx string to lower case and converts it into input
- ;events and merges these events into the input chain.
- ;
- ;Inputs StringBuffer = String to send
-
- SendEvents: lea.l StringBuffer,a2
- bsr MakeLowerCase
-
- ;Convert string into Input Events
-
- move.l #0,-(sp)
- pea StringBuffer
- jsr _InvertString
- add.l #8,sp
- move.l d0,IEvents
- beq SendEvents2
-
- ;Send Input Events
-
- move.l IEvents,a0
- lib Commodities,AddIEvents
-
- ;Free Input Events
-
- move.l IEvents,-(sp)
- jsr _FreeIEvents
- add.l #4,sp
- SendEvents2: rts
-
- ;Compares two strings.
- ;
- ;INPUT
- ;
- ;A0 String 1
- ;A1 String 2
- ;
- ;OUTPUT
- ;
- ;D0 = 0 if not same
- ;
- ;BUGS
- ;
- ;String 1 has to have NULL at end!
- ;
-
- CmpStrings: bsr GetLength
- move.l d0,d4 ;length of string1 to d4
- push a0
- move.l a1,a0
- bsr GetLength
- pull a0
- cmp.l d4,d0 ;length of string2 in d3
- bne CmpStrings1.1
- CmpStrings1: tst.b (a0)
- beq CmpStrings2
- cmp.b (a0)+,(a1)+
- beq CmpStrings1
- CmpStrings1.1: clr.l d0
- rts
- CmpStrings2: move.l #-1,d0
- rts
-
- ;Get length of text in given address
- ;
- ;Input a0 = Address of null terminated text string
- ;
- ;Result d0 = Length
-
- GetLength: push a0
- clr.l d0
- cmp.l #$00,a0 ;fixes enforcer hit
- beq GetLength_OUT
- GetLength2: add.l #1,d0
- tst.b (a0)+
- bne GetLength2
- sub.l #1,d0 ;don't include NULL
- GetLength_OUT: pull a0
- rts
-
- ;Inputs a0 = ASCII number
- ;Output d0 = Hexadecimal number
-
- ConvASCII: clr.l d0
- clr.l d1
- cmp.b #' ',(a0)
- bne ConvASCII2
- add.l #1,a0
- ConvASCII2: move.b (a0),d1
- cmp.b #'0',d1
- bcs ConvASCII_OUT
- cmp.b #'9',d1
- bhi ConvASCII_OUT
- sub.b #'0',d1
- mulu.w #10,d0
- add.l d1,d0
- add.l #1,a0
- bra ConvASCII2
- ConvASCII_OUT: rts
-
- ;Inputs a2 = Pointer to NULL terminated string to convert
-
- MakeLowerCase: tst.b (a2)
- beq MakeLowerCase3
- move.b (a2),d0
- lib Utility,ToLower
- move.b d0,(a2)
-
- MakeLowerCase2: add.l #1,a2
- bra MakeLowerCase
-
- MakeLowerCase3: rts
-
- ;Copies bytes from a0 to a1 until NULL is reached or maximum amount of
- ;255 bytes is copied. Destination will include NULL
- ;
- ;Inputs a0 = Source
- ; a1 = Destination
-
- CopyStrs: move.l #255,d0
-
- CopyStrs1: tst.b (a0)
- beq CopyStrs_OUT
- move.b (a0)+,(a1)+
- sub.l #1,d0
- beq CopyStrs_OUT
- bra CopyStrs1
- CopyStrs_OUT: clr.b (a1)
- rts
-
- ;Joins path and filename together from ASL Requester.
-
- MakeCmd: move.l AslReq,a0
- move.l rf_Dir(a0),a1 ;Source 1
- move.l rf_File(a0),a2 ;Source 2
-
- move.l $22(a5),a0
- move.l (a0),a3 ;Destination
-
- clr.l d0
-
- MakeCmd1: tst.b (a1)
- beq MakeCmd2
- cmp.l #GADLENG2-1,d0
- bcc MakeCmd2
- move.b (a1)+,(a3)+
- add.l #1,d0
- bra MakeCmd1
-
- MakeCmd2: cmp.b #':',-1(a3)
- beq MakeCmd3
- tst.b -1(a3)
- beq MakeCmd3
- move.b #'/',(a3)+
-
- MakeCmd3: tst.b (a2)
- beq MakeCmd4
- cmp.l #GADLENG2-1,d0
- bcc MakeCmd3
- move.b (a2)+,(a3)+
- add.l #1,d0
- bra MakeCmd3
-
- MakeCmd4: clr.b (a3) ;Add NULL to destination
- rts
-
- SleepPointer: tst.l Window1
- beq SleepPoint_OUT
- move.l Window1,a0
- lea.l ClockPointer1,a1
- move.l #16,d0
- move.l #16,d1 ;WHAT-THE-HECK IS THIS FOR?
- move.l #-6,d2
- move.l #0,d3
- lib Intuition,SetPointer
- SleepPoint_OUT: rts
-
- NormalPointer: tst.l Window1
- beq NormPoint_OUT
- move.l Window1,a0
- lib Intuition,ClearPointer
- NormPoint_OUT: rts
-
- MenusOn: tst.l Window1
- beq MenusOn_OUT
- move.l Window1,a0
- move.l mlist,a1
- lib Intuition,SetMenuStrip
- MenusOn_OUT: rts
-
- MenusOff: tst.l Window1
- beq MenusOff_OUT
- move.l Window1,a0
- lib Intuition,ClearMenuStrip
- MenusOff_OUT: rts
-
- ;Lock PublicScreen
-
- LockPubScr: move.l OptPubScreen,a0
- lib Intuition,LockPubScreen
- move.l d0,PubScreen
- beq LockPubScr_OUT
-
- ;Set default sizes
-
- move.w #62,Win1YSize
- move.w #ShellTop+12*(10+INTERHEIGHT)+3*INTERHEIGHT,Win2YSize
- move.w #30,Win3YSize
- move.w #ShellTop+12*(10+INTERHEIGHT)+2*INTERHEIGHT,Win4YSize
-
- ;Get some sizes
-
- move.l PubScreen,a0
- move.b sc_BarHeight(a0),d0
- add.b #1,d0
- move.b d0,BHeight+1
- move.w BHeight,d5
- add.w d5,SmallYSize
- add.w d5,Win1YSize
- add.w d5,Win2YSize
- add.w d5,Win3YSize
- LockPubScr_OUT: rts
-
- UnLockPubScr: tst.l PubScreen
- beq UnLPubScr_OUT
-
- sub.l a0,a0
- move.l PubScreen,a1
- lib Intuition,UnlockPubScreen
- clr.l PubScreen
- UnLPubScr_OUT: rts
-
- DoLayOut: bsr UnLockPubScr
-
- bsr LockPubScr
- tst.l PubScreen
- beq NoPubScreen
-
- ;Get visualinfo
-
- move.l PubScreen,a0
- sub.l a1,a1
- lib GadTools,GetVisualInfoA
- move.l d0,vi
-
- ;Make gadget stuff
-
- lea.l glist,a0
- lib GadTools,CreateContext
- move.l d0,ContextGad
- beq NoContextGad
-
- move.l glist,a0
- lea.l NGOnOffGad1,a1
- move.w #ShellTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #CHECKBOX_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,OnOffGad1
- move.l d0,a0
-
- lea.l NGGainUGad,a1
- move.w #ShellTop+1*(10+INTERHEIGHT),gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #BUTTON_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,GainUGad1
-
- lea.l NGGainDGad,a1
- move.w #ShellTop+2*(10+INTERHEIGHT),gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #BUTTON_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,GainDGad1
-
- lea.l NGGainGad,a1
- move.w #ShellTop+2*(10+INTERHEIGHT),gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #NUMBER_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GainGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,GainGad1
-
- lea.l NGSaveGad,a1
- move.w #OptionTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #BUTTON_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,SaveGad1
-
- lea.l NGQuitGad,a1
- move.w #OptionTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #BUTTON_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,QuitGad1
- or.w #GRELRIGHT,gg_Flags(a0)
-
- lea.l NGDatStrGad1,a1
- move.w #ShellTop+28,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DatStrGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,DatStrGad1
- move.l d0,a0
- move.l $22(a0),a1
- move.l (a1),DatStrGadBuf1
-
- lea.l NGStatusGad,a1
- move.w #ShellTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StatGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,StatusGad1
-
- lea.l NGLoadGad,a1
- move.w #ShellTop+28,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #BUTTON_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,LoadGad1
- or.w #GRELRIGHT,gg_Flags(a0)
-
- lea.l glist2,a0
- lib GadTools,CreateContext
- move.l d0,ContextGad2
- beq NoContextGad
-
- move.l glist2,a0
- lea.l NGStrGad1,a1
- move.w #ShellTop+1*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad1
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf1
-
- lea.l NGStrGad2,a1
- move.w #ShellTop+1*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad2
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf2
-
- lea.l NGStrGad3,a1
- move.w #ShellTop+2*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad3
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf3
-
- lea.l NGStrGad4,a1
- move.w #ShellTop+2*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad4
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf4
-
- lea.l NGStrGad5,a1
- move.w #ShellTop+3*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad5
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf5
-
- lea.l NGStrGad6,a1
- move.w #ShellTop+3*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad6
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf6
-
- lea.l NGStrGad7,a1
- move.w #ShellTop+4*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad7
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf7
-
- lea.l NGStrGad8,a1
- move.w #ShellTop+4*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad8
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf8
-
- lea.l NGStrGad9,a1
- move.w #ShellTop+5*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad9
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf9
-
- lea.l NGStrGad10,a1
- move.w #ShellTop+5*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad10
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf10
-
- lea.l NGStrGad11,a1
- move.w #ShellTop+6*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad11
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf11
-
- lea.l NGStrGad12,a1
- move.w #ShellTop+6*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad12
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf12
-
- lea.l NGStrGad13,a1
- move.w #ShellTop+7*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad13
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf13
-
- lea.l NGStrGad14,a1
- move.w #ShellTop+7*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad14
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf14
-
- lea.l NGStrGad15,a1
- move.w #ShellTop+8*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad15
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf15
-
- lea.l NGStrGad16,a1
- move.w #ShellTop+8*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad16
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf16
-
- lea.l NGStrGad17,a1
- move.w #ShellTop+9*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad17
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf17
-
- lea.l NGStrGad18,a1
- move.w #ShellTop+9*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad18
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf18
-
- lea.l NGStrGad19,a1
- move.w #ShellTop+10*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList1,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad19
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf19
-
- lea.l NGStrGad20,a1
- move.w #ShellTop+10*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad20
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf20
-
- lea.l NGDesc1Gad,a1
- move.w #ShellTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc2Gad,a1
- move.w #ShellTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- lea.l NGGetGad1,a1
- move.w #ShellTop+11*(10+INTERHEIGHT)+2*INTERHEIGHT,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #BUTTON_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,GetGad1
-
- ;Priority Window
-
- lea.l glist3,a0
- lib GadTools,CreateContext
- move.l d0,ContextGad3
- beq NoContextGad
-
- move.l glist3,a0
- lea.l NGStrGad21,a1
- move.w #ShellTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #INTEGER_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList3,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad21
- move.l d0,a0
- move.l gg_SpecialInfo(a0),a1
- add.l #si_LongInt,a1
- move.l a1,StrGadInt21
-
- ;Error window
-
- lea.l glist4,a0
- lib GadTools,CreateContext
- move.l d0,ContextGad4
- beq NoContextGad
-
- move.l glist4,a0
- lea.l NGStrGad22,a1
- move.w #ShellTop+1*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad22
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf22
-
- lea.l NGStrGad23,a1
- move.w #ShellTop+2*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad23
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf23
-
- lea.l NGStrGad24,a1
- move.w #ShellTop+3*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad24
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf24
-
- lea.l NGStrGad25,a1
- move.w #ShellTop+4*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad25
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf25
-
- lea.l NGStrGad26,a1
- move.w #ShellTop+5*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad26
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf26
-
- lea.l NGStrGad27,a1
- move.w #ShellTop+6*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad27
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf27
-
- lea.l NGStrGad28,a1
- move.w #ShellTop+7*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad28
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf28
-
- lea.l NGStrGad29,a1
- move.w #ShellTop+8*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad29
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf29
-
- lea.l NGStrGad30,a1
- move.w #ShellTop+9*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #STRING_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l StrGadTagList2,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,StrGad30
- move.l d0,a0
- or.w #GADGIMMEDIATE,gg_Activation(a0)
- move.l gg_SpecialInfo(a0),a1
- move.l (a1),StrGadBuf30
-
- lea.l NGDesc3Gad,a1
- move.w #ShellTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc4Gad,a1
- move.w #ShellTop,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc5Gad,a1
- move.w #ShellTop+1*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc6Gad,a1
- move.w #ShellTop+2*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc7Gad,a1
- move.w #ShellTop+3*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc8Gad,a1
- move.w #ShellTop+4*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc9Gad,a1
- move.w #ShellTop+5*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc10Gad,a1
- move.w #ShellTop+6*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc11Gad,a1
- move.w #ShellTop+7*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc12Gad,a1
- move.w #ShellTop+8*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGDesc13Gad,a1
- move.w #ShellTop+9*(10+INTERHEIGHT)+5,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
-
- lea.l NGGetGad2,a1
- move.w #ShellTop+10*(10+INTERHEIGHT)+2*INTERHEIGHT,gng_TopEdge(a1)
- add.w d5,gng_TopEdge(a1)
- move.l #BUTTON_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l GadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- move.l a0,GetGad2
-
- move.b #1,GadMagic ;Make worked OK
-
- ;New style menu stuff
-
- lea.l MNProjectMenu1,a0
- lea.l MenuTagList,a1
- lib GadTools,CreateMenusA
- move.l d0,mlist
- beq NoMenus
-
- move.l mlist,a0
- move.l vi,a1
- lea.l MenuTagList,a2
- lib GadTools,LayoutMenusA
-
- lea.l MNPageMenu1,a0
- lea.l MenuTagList2,a1
- lib GadTools,CreateMenusA
- move.l d0,mlist2
- beq NoMenus
-
- move.l mlist2,a0
- move.l vi,a1
- lea.l MenuTagList2,a2
- lib GadTools,LayoutMenusA
- tst.l d0
- beq NoMenus
- move.b #1,MenuMagic
- move.l #-1,d0
- rts
-
- ;Open Window 1
-
- OpenWin1: tst.l Window1
- bne OpenWin1_OUT
-
- bsr DoLayOut
- tst.l d0
- beq OpenWin1_ERR1
-
- move.l OptPubScreen,Win1TagList.1
- tst.l OptionIconify
- beq OpenWin1.01
- lea.l NewWindow1,a0
- and.l #~ACTIVATE,nw_Flags(a0)
- move.l NewWindow1,ZoomXY
- move.l NewWindow1+4,ZoomXY+4
- move.l Alt1XY,nw_LeftEdge(a0)
- move.w #160,nw_Width(a0)
- move.w BHeight,nw_Height(a0)
- OpenWin1.01: lea.l NewWindow1,a0
- lea.l Win1TagList,a1
- lib Intuition,OpenWindowTagList
- move.l d0,Window1
- beq OpenWin1_ERR1
- move.l Window1,AslReqTags+4
- bsr AddGads ;Window refreshed here
- move.l Window1,a0
- move.l $32(a0),RP
- move.l mlist,a1
- lib Intuition,SetMenuStrip
- bsr UnLockPubScr
- ; bsr ActGad ;BUG: Crashes in certain cases?!?
- OpenWin1_OUT: move.l #-1,d0 ;BUG: When no prefs file?
- rts
- OpenWin1_ERR1: clr.l d0
- rts
-
- CloseWin1: tst.l Window1
- beq CloseWin1_OUT
- CloseWin1.1: move.l Window1,a0
- lib Intuition,ClearMenuStrip
- move.l Window1,a3
- bsr ClearMSGs
- CloseWin1_OUT: clr.l Window1
- rts
-
- ;Open Window 2 (Edit commands)
-
- OpenWin2: move.l OptPubScreen,Win2TagList.1
- lea.l NewWindow2,a0
- lea.l Win2TagList,a1
- lib Intuition,OpenWindowTagList
- move.l d0,Window2
- beq OpenWin2_ERR1
- move.l Window2,a0
- move.l mlist2,a1
- lib Intuition,SetMenuStrip
- bsr AddGads2 ;Window refreshed here
- move.l #-1,d0
- rts
- OpenWin2_ERR1: clr.l d0
- rts
-
- CloseWin2: tst.l Window2
- beq CloseWin2_OUT
- move.l Window2,a0
- lib Intuition,ClearMenuStrip
- move.l Window2,a3
- bsr ClearMSGs
- CloseWin2_OUT: clr.l Window2
- rts
-
- ;Open Window 3 (Priority requester)
-
- OpenWin3: move.l OptPubScreen,Win2TagList.1 ;Yes, use Win2's tags...
- lea.l NewWindow3,a0
- lea.l glist3,a1
- move.l a1,nw_FirstGadget(a0)
- lea.l Win2TagList,a1
- lib Intuition,OpenWindowTagList
- move.l d0,Window3
- beq OpenWin3_ERR1
-
- move.l Window3,a0
- sub.l a1,a1
- lib GadTools,GT_RefreshWindow
- move.l #-1,d0
- rts
- OpenWin3_ERR1: clr.l d0
- rts
-
- CloseWin3: tst.l Window3
- beq CloseWin3_OUT
- move.l Window3,a3
- bsr ClearMSGs
- CloseWin3_OUT: clr.l Window3
- rts
-
- ;Open Window 4 (Edit commands)
-
- OpenWin4: move.l OptPubScreen,Win2TagList.1 ;Yes, use Win2's tags...
- lea.l NewWindow4,a0
- lea.l Win2TagList,a1
- lib Intuition,OpenWindowTagList
- move.l d0,Window4
- beq OpenWin4_ERR1
- bsr AddGads4 ;Window refreshed here
- move.l #-1,d0
- rts
- OpenWin4_ERR1: clr.l d0
- rts
-
- CloseWin4: tst.l Window4
- beq CloseWin4_OUT
- move.l Window4,a3
- bsr ClearMSGs
- CloseWin4_OUT: clr.l Window4
- rts
-
- ;ClearMsgs subroutine
- ;a3 = window structure
-
- ClearMSGs: lib Exec,Forbid
- move.l $56(a3),a2
- ClearMsg1: move.l a2,a0
- lib GadTools,GT_GetIMsg
- tst.l d0
- beq ClearMsg2
- move.l d0,a1
- flib GadTools,GT_ReplyIMsg
- bra ClearMsg1
- ClearMsg2: move.l a3,a0
- lib Intuition,CloseWindow
- lib Exec,Permit
- ClearMsg3: rts
-
- Clean2.0Magic: tst.b GadMagic
- beq Clean2.0M2
- move.l glist,a0
- lib GadTools,FreeGadgets
- move.l glist2,a0
- lib GadTools,FreeGadgets
- move.l glist3,a0
- lib GadTools,FreeGadgets
- move.l glist4,a0
- lib GadTools,FreeGadgets
-
- Clean2.0M2: tst.b MenuMagic
- beq Clean2.0M3
- move.l mlist,a0
- lib GadTools,FreeMenus
- move.l mlist2,a0
- lib GadTools,FreeMenus
-
- Clean2.0M3: tst.l vi
- beq Clean2.0_OUT
- move.l vi,a0
- lib GadTools,FreeVisualInfo
-
- Clean2.0_OUT: rts
-
- ;Error etc. messages
-
- NoRDArgs: lib Dos,IoErr
- move.l d0,d1
- clr.l d2
- lib Dos,PrintFault
- bra ShutDown
-
- NoMsgPort: lea.l NoMsgPortText1,a0
- bsr Printer
- bra ShutDown
-
- NoMsgPort2: lea.l NoMsgPortText2,a0
- bsr Printer
- bra ShutDown
-
- NoDos: pull d2-d7/a2-a6
- move.l #RETURN_FAIL,d0
- rts
-
- NoInt: lea.l NoIntText1,a0
- bsr Printer
- bra ShutDown
-
- NoCommodities: lea.l NoCommoText1,a0
- bsr Printer
- bra ShutDown
-
- NoAsl: lea.l NoAslText1,a0
- bsr Printer
- bra ShutDown
-
- NoAslReq: lea.l NoAslReqText1,a0
- bsr Printer
- bra ShutDown
-
- NoUtility: lea.l NoUtilityText1,a0
- bsr Printer
- bra ShutDown
-
- NoVoice: lea.l NoVoiceText1,a0
- bsr Printer
- bra ShutDown
-
- NoGadTools: lea.l NoGTText1,a0
- bsr Printer
- bra ShutDown
-
- NoIcon: lea.l NoIconText1,a0
- bsr Printer
- bra ShutDown
-
- NoIOReq: lea.l NoIOReqText1,a0
- bsr Printer
- bra ShutDown
-
- NoTimer: lea.l NoTimerText1,a0
- bsr Printer
- bra ShutDown
-
- NoPubScreen: lea.l NoPubScrText1,a0
- bsr Printer
- clr.l d0
- rts
-
- NoWindow1: lea.l NoWindowText1,a0
- bsr Printer
- bra ShutDown
-
- NoContextGad: lea.l NoContextText1,a0
- bsr Printer
- clr.l d0
- rts
-
- NoMenus: lea.l NoMenusText1,a0
- bsr Printer
- clr.l d0
- rts
-
- NoCommodity: lea.l NoCommodityText1,a0
- bsr Printer
- bra ShutDown
-
- NoFilter: lea.l BadPopKeyText1,a0
- bsr Printer
- bra NoCommodity
-
- BadPriority: lea.l BadPriorityText1,a0
- bsr Printer
- bra NoCommodity
-
- Printer: printa a0,_stdout
- rts
-
- Inform: tst.l Window1
- beq Inform_OUT
- push a0
- move.l a0,SGTL2
- move.l StatusGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- lea.l StatGadTagList2,a3
- lib GadTools,GT_SetGadgetAttrsA
-
- pull a1
- bsr SetTitle
- Inform_OUT: rts
-
- ;Give this the title pointer in a1
-
- SetTitle: tst.l Window1
- beq SetTitle_OUT
- push a2
- move.l Window1,a0
- move.l #-1,a2
- lib Intuition,SetWindowTitles
- pull a2
- SetTitle_OUT: rts
-
- ;Does a normal AutoRequest
- ;
- ;INPUT
- ;
- ;a1 = Main text body
- ;a2 = Pos text
- ;a3 = Neg text
-
- DoAutoRequest: clr.l d0
- clr.l d1
- clr.l d2
- clr.l d3
- sub.l a0,a0 ;No win, cos' might be here b4 anything open
- lib Intuition,AutoRequest
- rts
-
- ;Reservations
-
- libnames
-
- _SysBase: dc.l 0
- _DOSBase: dc.l 0
- _CxBase: dc.l 0
-
- ;Options
-
- RDArgs1: dc.l 0
-
- CLArray1:
- FromFile: dc.l 0 ;A pointer to filename of PREFS!
- OptionIconify: dc.l 0
- OptPubScreen: dc.l 0 ;A pointer to pubscreen name
- OptCXPri: dc.l 0
- OptCXPopKey: dc.l DefaultPopKey ;A pointer to popkey string
- OptCXPopUp: dc.l 0 ;A pointer to 'Yes'/'No'
- WBOptCXPri: dc.l 0
-
- ;ASL Stuff
-
- AslReq: dc.l 0
-
- ;GadTools stuff
-
- vi: dc.l 0 ;Visual Info
- mlist: dc.l 0
- mlist2: dc.l 0
- ContextGad: dc.l 0
- ContextGad2: dc.l 0
- ContextGad3: dc.l 0
- ContextGad4: dc.l 0
- GadMagic: dc.b 0
- MenuMagic: dc.b 0
-
- ;Gadgets
-
- OnOffGad1: dc.l 0
- GainUGad1: dc.l 0
- GainDGad1: dc.l 0
- GainGad1: dc.l 0 ;Gain number
- SaveGad1: dc.l 0
- QuitGad1: dc.l 0
- DatStrGad1: dc.l 0
- DatStrGadBuf1: dc.l 0 ;Only a pointer!
- StatusGad1: dc.l 0
- LoadGad1: dc.l 0
- GetGad1: dc.l 0
- GetGad2: dc.l 0
-
- StrGad1: dc.l 0
- StrGadBuf1: dc.l 0 ;Only a pointer!
- StrGad2: dc.l 0
- StrGadBuf2: dc.l 0 ;Only a pointer!
- StrGad3: dc.l 0
- StrGadBuf3: dc.l 0 ;Only a pointer!
- StrGad4: dc.l 0
- StrGadBuf4: dc.l 0 ;Only a pointer!
- StrGad5: dc.l 0
- StrGadBuf5: dc.l 0 ;Only a pointer!
- StrGad6: dc.l 0
- StrGadBuf6: dc.l 0 ;Only a pointer!
- StrGad7: dc.l 0
- StrGadBuf7: dc.l 0 ;Only a pointer!
- StrGad8: dc.l 0
- StrGadBuf8: dc.l 0 ;Only a pointer!
- StrGad9: dc.l 0
- StrGadBuf9: dc.l 0 ;Only a pointer!
- StrGad10: dc.l 0
- StrGadBuf10: dc.l 0 ;Only a pointer!
- StrGad11: dc.l 0
- StrGadBuf11: dc.l 0 ;Only a pointer!
- StrGad12: dc.l 0
- StrGadBuf12: dc.l 0 ;Only a pointer!
- StrGad13: dc.l 0
- StrGadBuf13: dc.l 0 ;Only a pointer!
- StrGad14: dc.l 0
- StrGadBuf14: dc.l 0 ;Only a pointer!
- StrGad15: dc.l 0
- StrGadBuf15: dc.l 0 ;Only a pointer!
- StrGad16: dc.l 0
- StrGadBuf16: dc.l 0 ;Only a pointer!
- StrGad17: dc.l 0
- StrGadBuf17: dc.l 0 ;Only a pointer!
- StrGad18: dc.l 0
- StrGadBuf18: dc.l 0 ;Only a pointer!
- StrGad19: dc.l 0
- StrGadBuf19: dc.l 0 ;Only a pointer!
- StrGad20: dc.l 0
- StrGadBuf20: dc.l 0 ;Only a pointer!
-
- ;Priority
-
- StrGad21: dc.l 0
- StrGadInt21: dc.l 0 ;Only a pointer!
-
- ;Errors
-
- StrGad22: dc.l 0
- StrGadBuf22: dc.l 0 ;Only a pointer!
- StrGad23: dc.l 0
- StrGadBuf23: dc.l 0 ;Only a pointer!
- StrGad24: dc.l 0
- StrGadBuf24: dc.l 0 ;Only a pointer!
- StrGad25: dc.l 0
- StrGadBuf25: dc.l 0 ;Only a pointer!
- StrGad26: dc.l 0
- StrGadBuf26: dc.l 0 ;Only a pointer!
- StrGad27: dc.l 0
- StrGadBuf27: dc.l 0 ;Only a pointer!
- StrGad28: dc.l 0
- StrGadBuf28: dc.l 0 ;Only a pointer!
- StrGad29: dc.l 0
- StrGadBuf29: dc.l 0 ;Only a pointer!
- StrGad30: dc.l 0
- StrGadBuf30: dc.l 0 ;Only a pointer!
-
- ;Display stuff
-
- PubScreen: dc.l 0
- Window1: dc.l 0
- Window2: dc.l 0
- Window3: dc.l 0
- Window4: dc.l 0
- BHeight: dc.w 0
- RP: dc.l 0
-
- ds.w 0
-
- ;Devices etc.
-
- TRPort: dc.l 0
- TIORequest: dc.l 0
- TimerOpen: dc.w 0
-
- ;Other stuff, part I
-
- OurTask: dc.l 0
- PrefsFile: dc.l 0
- DataFile: dc.l 0
- NILFile: dc.l 0
- _stdout: dc.l 0
- WBMsg: dc.l 0
- DiskObject: dc.l 0
- OldLock: dc.l 0
- TaskOn: dc.w 0 ;0=Off, 1=On
- TickCount: dc.w 10 ;Delay Status update
- Page: dc.w 0 ;What page are we on ?
- Saved: dc.w 1 ;0=No, 1=Yes
- PopUp: dc.w 1 ;0=No, 1=Yes
- DisActive: dc.w 0 ;0=Yes, 1=No. Can we turn on/off?
- VoicePort: dc.l 0 ;Message port for voice.library
- ARexxPort: dc.l 0 ;Our ARexx port
- CXPort: dc.l 0 ;Message port for commodities
- IEvents: dc.l 0 ;List of Input Events to add
- LastGad: dc.l 0 ;Last active string gadget
- LastGad2: dc.l 0 ;Last active string gadget, part II
- CXBroker1: dc.l 0 ;Our commodities broker list
- ConfAddress: dc.l 0 ;Address of last command
- Awake: dc.w 0 ;Are we awake? (0=No, 1=Yes)
- Time: dc.l 0 ;How many secs are we awake?
-
- ;Strings, error & other info
-
- BreakText1: dc.b "***Break: VoiceShell",13,10,0
- NoMsgPortText1: dc.b "ERROR: Couldn't open message port!",13,10,0
- NoMsgPortText2: dc.b "ERROR: An ARexx port with the name 'VOICESHELL' already exists!",13,10,0
- NoIntText1: dc.b "ERROR: Couldn't open intuition.library!",13,10,0
- NoCommoText1: dc.b "ERROR: Couldn't open commodities.library!",13,10,0
- NoAslText1: dc.b "ERROR: Couldn't open asl.library!",13,10,0
- NoAslReqText1: dc.b "ERROR: Couldn't allocate ASL requester!",13,10,0
- NoUtilityText1: dc.b "ERROR: Couldn't open utility.library!",13,10,0
- NoVoiceText1: dc.b "ERROR: Couldn't open voice.library, version 8.2!",13,10,13,10
- dc.b "CHECK: 1. Is the parallel port available?",13,10
- dc.b " 2. Is another program using the voice.library?",13,10,0
- NoGTText1: dc.b "ERROR: Couldn't open gadtools.library!",13,10,0
- NoIconText1: dc.b "ERROR: Couldn't open icon.library!",13,10,0
- NoTimerText1: dc.b "ERROR: Couldn't open timer.device",13,10,0
- NoIOReqText1: dc.b "ERROR: Couldn't get IORequest!",13,10,0
- NoPubScrText1: dc.b "ERROR: Couldn't lock PublicScreen!",13,10,0
- NoContextText1: dc.b "ERROR: Couldn't create context gadget!",13,10,0
- NoMenusText1: dc.b "ERROR: Couldn't allocate menus structure!",13,10,0
- NoWindowText1: dc.b "ERROR: Couldn't open window!",13,10,0
- NoCommodityText1: dc.b "ERROR: Couldn't create commodity!",13,10
- dc.b " Another copy of VoiceShell is probably running.",13,10,0
- BadPopKeyText1: dc.b "ERROR: Bad hotkey setting!",13,10,0
- BadPriorityText1: dc.b "ERROR: Bad priority value!",13,10,0
- File_ERRText1: dc.b "Couldn't open preferences file!",0
- File_ERRText2: dc.b "File error!",0
- File_ERRText3: dc.b "Incorrect file type or version!",0
- File_ERRText4: dc.b "Couldn't open data file!",0
- NoMatchText1: dc.b "No Match",0
- LowVolText1: dc.b "Low Volume",0
- ClippingText1: dc.b "Too Loud",0
- NoisyText1: dc.b "Too Noisy",0
- TaskOnText1: dc.b "Turned On",0
- TaskOffText1: dc.b "Turned Off",0
- ReadyText1: dc.b "Ready",0
- InactiveText1: dc.b "Inactive",0
- NoCMDText1: dc.b "No Command",0
- CMDFailText1: dc.b "Command Failed!",0
- NoConfText1: dc.b "Not Confirmed!",0
- AwakeText1: dc.b "Awake",0
-
- ;Strings, names
-
- TimerName: dc.b "timer.device",0
- CLTemplate1: dc.b "FROM/K,I=ICONIFY/S,PS=PUBSCREEN/K," ;Cont'd
- dc.b "PRI=CX_PRIORITY/N/K,PK=CX_POPKEY/K,PU=CX_POPUP/K",0
- VSVersion: dc.b "$VER: VoiceShell "
- PROGVERSION
- dc.b " (c) Copyright Tomi Blinnikka 1994",0
- OKText1: dc.b "OK",0
- CancelText1: dc.b "Cancel",0
- PrefsName: dc.b "ENVARC:VoiceShell.PREFS",0
- NILName: dc.b "CON:0/10/500/70/VoiceShell_Error/CLOSE/AUTO/WAIT",0
- ICONIFYText1: dc.b "ICONIFY",0
- PUBSCREENText1: dc.b "PUBSCREEN",0
- CXPOPUPText1: dc.b "CX_POPUP",0
- CXPOPKEYText1: dc.b "CX_POPKEY",0
- CXPRIText1: dc.b "CX_PRIORITY",0
- DefaultPopKey: dc.b "ctrl alt v",0
- YESText1: dc.b "YES",0
- NOText1: dc.b "NO",0
- FROMText1: dc.b "FROM",0
- AboutText1: dc.b "Name : VoiceShell",0
- AboutText2: dc.b "Version: "
- PROGVERSION
- dc.b 0
- AboutText3: dc.b "Author : Tomi Blinnikka",0
- AboutText4: dc.b " (c) Copyright 1994",0
-
- IFD VS_REGISTERED
- AboutText5: dc.b "NOTE: Registered version",0
- ENDC
-
- IFND VS_REGISTERED
- AboutText5: dc.b "NOTE: Unregistered version",0
- ENDC
- AboutText6: dc.b "Hotkey: ",0
-
- QuitText1: dc.b "The data file has not been saved!",0
- QuitText2: dc.b "Are you sure you want to quit?",0
- VSName1: dc.b "VoiceShell",0
- VSName2: dc.b "VoiceShell: Edit & Learn",0
- VSName3: dc.b "Please enter:",0
- VSName4: dc.b "VoiceShell: Error Commands",0
- VSTitle: dc.b "Voice recognition:",0
- VSDesc: dc.b "Start programs with voice commands",0
- GetText1: dc.b "Command to run",0
-
- ;ARexx strings
-
- ARexxPortName: dc.b "VOICESHELL",0
-
- ;Window control
-
- RexxFront: dc.b "FRONT",0
- RexxBack: dc.b "BACK",0
- RexxZoom: dc.b "ZOOM",0
- RexxHide: dc.b "HIDE",0
- RexxShow: dc.b "SHOW",0
-
- ;Misc
-
- RexxOn: dc.b "ON",0
- RexxOff: dc.b "OFF",0
- RexxQuit: dc.b "QUIT",0
-
- ;Sampler settings
-
- RexxPerfSnd: dc.b "PERFSND",0
- RexxSndMstr: dc.b "SNDMSTR",0
- RexxDSS8: dc.b "DSS8",0
- RexxGeneric: dc.b "GENERIC",0
-
- ;Resolution
-
- RexxResLo: dc.b "RESLO",0
- RexxResHi: dc.b "RESHI",0
-
- ;Accuracy
-
- RexxLowest: dc.b "LOWEST",0
- RexxLower: dc.b "LOWER",0
- RexxLow: dc.b "LOW",0
- RexxNormal: dc.b "NORMAL",0
- RexxHigh: dc.b "HIGH",0
- RexxHigher: dc.b "HIGHER",0
- RexxEHigher: dc.b "EVENHIGHER",0
- RexxMaximum: dc.b "MAXIMUM",0
-
- ;Channel
-
- RexxLeft: dc.b "LEFT",0
- RexxRight: dc.b "RIGHT",0
-
- ;Input gain
-
- RexxLine: dc.b "LINE",0
- RexxMic: dc.b "MIC",0
-
- RexxGainUp: dc.b "GAINUP",0
- RexxGainDown: dc.b "GAINDOWN",0
-
- ;Timer
-
- RexxTimerA: dc.b "TIMERA",0
- RexxTimerB: dc.b "TIMERB",0
-
- ;Confirmation
-
- RexxConfirm: dc.b "CONFIRM",0
- RexxNoConfirm: dc.b "NOCONFIRM",0
-
- ;Wake up
-
- RexxWake0: dc.b "WAKE0",0
- RexxWake5: dc.b "WAKE5",0
- RexxWake10: dc.b "WAKE10",0
- RexxWake15: dc.b "WAKE15",0
- RexxWake20: dc.b "WAKE20",0
-
- ;Others not defined here:
- ;
- ; LOAD
- ; KEY
- ;
-
- ds.w 0
-
- ;New screen & new window structures
-
- NewWindow1: dc.w 200,31 ;X,Y POS
- dc.w 320 ;WIDTH
- Win1YSize: dc.w 0 ;HEIGHT
- dc.b 0,1 ;PENS
- dc.l REFRESHWINDOW!INTUITICKS!ACTIVEWINDOW!CLOSEWINDOW!VANILLAKEY!MENUPICK!GADGETUP ;IDCMP FLAGS
- dc.l SMART_REFRESH!WINDOWDRAG!WINDOWDEPTH!WINDOWCLOSE!ACTIVATE ;FLAGS
- dc.l 0,0 ;GADGETS, CHECKMARK
- dc.l VSName1 ;TITLE
- dc.l 0 ;SCREEN ADDRESS
- dc.l 0 ;BITMAP
- dc.w 0,0,0,0 ;MIN/MAX SIZE
- dc.w PUBLICSCREEN ;TYPE
-
- Win1TagList: dc.l WA_AutoAdjust,TRUE
- dc.l WA_PubScreenName
- Win1TagList.1: dc.l 0
- dc.l WA_Zoom,ZoomXY
- dc.l TAG_DONE,0
-
- ZoomXY:
- SmallXPos: dc.w 10
- SmallYPos: dc.w 21
- SmallXSize: dc.w 160
- SmallYSize: dc.w 0
-
- NewWindow2: dc.w 100,42 ;X,Y POS
- dc.w 430 ;WIDTH
- Win2YSize: dc.w 0 ;HEIGHT
- dc.b 0,1 ;PENS
- dc.l REFRESHWINDOW!CLOSEWINDOW!VANILLAKEY!MENUPICK!GADGETUP!GADGETDOWN ;IDCMP FLAGS
- dc.l SMART_REFRESH!WINDOWDRAG!WINDOWDEPTH!WINDOWCLOSE!ACTIVATE ;FLAGS
- dc.l 0,0 ;GADGETS, CHECKMARK
- dc.l VSName2 ;TITLE
- dc.l 0 ;SCREEN ADDRESS
- dc.l 0 ;BITMAP
- dc.w 0,0,0,0 ;MIN/MAX SIZE
- dc.w PUBLICSCREEN ;TYPE
-
- Win2TagList: dc.l WA_AutoAdjust,TRUE
- dc.l WA_PubScreenName
- Win2TagList.1: dc.l 0
- dc.l TAG_DONE,0
-
- NewWindow3: dc.w 220,42 ;X,Y POS
- dc.w 200 ;WIDTH
- Win3YSize: dc.w 0 ;HEIGHT
- dc.b 0,1 ;PENS
- dc.l REFRESHWINDOW!ACTIVEWINDOW!CLOSEWINDOW!VANILLAKEY!GADGETUP ;IDCMP FLAGS
- dc.l SMART_REFRESH!WINDOWDRAG!WINDOWDEPTH!WINDOWCLOSE!ACTIVATE ;FLAGS
- dc.l 0,0 ;GADGETS, CHECKMARK
- dc.l VSName3 ;TITLE
- dc.l 0 ;SCREEN ADDRESS
- dc.l 0 ;BITMAP
- dc.w 0,0,0,0 ;MIN/MAX SIZE
- dc.w PUBLICSCREEN ;TYPE
-
-
- NewWindow4: dc.w 100,42 ;X,Y POS
- dc.w 430 ;WIDTH
- Win4YSize: dc.w 0 ;HEIGHT
- dc.b 0,1 ;PENS
- dc.l REFRESHWINDOW!CLOSEWINDOW!VANILLAKEY!MENUPICK!GADGETUP!GADGETDOWN ;IDCMP FLAGS
- dc.l SMART_REFRESH!WINDOWDRAG!WINDOWDEPTH!WINDOWCLOSE!ACTIVATE ;FLAGS
- dc.l 0,0 ;GADGETS, CHECKMARK
- dc.l VSName4 ;TITLE
- dc.l 0 ;SCREEN ADDRESS
- dc.l 0 ;BITMAP
- dc.w 0,0,0,0 ;MIN/MAX SIZE
- dc.w PUBLICSCREEN ;TYPE
-
- ;Fonts
-
- Topaz: dc.l TopazName
- dc.w 8
- dc.b 0
- dc.b 0
- TopazName: dc.b "topaz.font",0
- ds.w 0
-
-
- ;ASL stuff
-
- AslReqTags: dc.l ASL_Window
- dc.l 0 ;Move window pointer here!
- dc.l TAG_DONE,0
- GetReqTags: dc.l ASL_Hail,GetText1
- dc.l ASL_Dir,0
- dc.l ASL_File,0
- dc.l ASL_FuncFlags,0
- dc.l TAG_DONE,0
-
- ;ITextStructures
-
- OKTxt: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,0 ;LEFT+TOPEDGE
- dc.l 0 ;FONT
- dc.l OKText1 ;TEXT
- dc.l 0 ;NEXTTEXT
-
- CancelTxt: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,0 ;LEFT+TOPEDGE
- dc.l 0 ;FONT
- dc.l CancelText1 ;TEXT
- dc.l 0 ;NEXTTEXT
-
- File_ERRTxt1: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 10,10 ;LEFT+TOPEDGE
- dc.l 0 ;FONT
- dc.l File_ERRText1 ;TEXT
- dc.l 0 ;NEXTTEXT
-
- File_ERRTxt2: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 10,10 ;LEFT+TOPEDGE
- dc.l 0 ;FONT
- dc.l File_ERRText2 ;TEXT
- dc.l 0 ;NEXTTEXT
-
- File_ERRTxt3: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 10,10 ;LEFT+TOPEDGE
- dc.l 0 ;FONT
- dc.l File_ERRText3 ;TEXT
- dc.l 0 ;NEXTTEXT
-
- File_ERRTxt4: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 10,10 ;LEFT+TOPEDGE
- dc.l 0 ;FONT
- dc.l File_ERRText4 ;TEXT
- dc.l 0 ;NEXTTEXT
-
- AboutTxt1: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,0 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- dc.l AboutText1 ;TEXT
- dc.l AboutTxt2 ;NEXTTEXT
-
- AboutTxt2: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,10 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- dc.l AboutText2 ;TEXT
- dc.l AboutTxt3 ;NEXTTEXT
-
- AboutTxt3: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,20 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- dc.l AboutText3 ;TEXT
- dc.l AboutTxt4 ;NEXTTEXT
-
- AboutTxt4: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,30 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- dc.l AboutText4 ;TEXT
- dc.l AboutTxt5 ;NEXTTEXT
-
- AboutTxt5: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,50 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- dc.l AboutText5 ;TEXT
- dc.l AboutTxt6 ;NEXTTEXT
-
- AboutTxt6: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,70 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- dc.l AboutText6 ;TEXT
- dc.l AboutTxt7 ;NEXTTEXT
-
- AboutTxt7: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,80 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- AboutTxt7.X: dc.l 0 ;TEXT
- dc.l 0 ;AboutTxt8 ;NEXTTEXT
-
- QuitTxt1: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,0 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- dc.l QuitText1 ;TEXT
- dc.l QuitTxt2 ;NEXTTEXT
-
- QuitTxt2: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,20 ;LEFT+TOPEDGE
- dc.l Topaz ;FONT
- dc.l QuitText2 ;TEXT
- dc.l 0 ;QuitTxt3 ;NEXTTEXT
-
- ;Gadgets
-
- OnOffGadText1: dc.b "On/Off",0
- GainUGadText1: dc.b "Vol _Up",0
- GainDGadText1: dc.b "Vol _Dwn",0
- SaveGadText1: dc.b "_Save",0
- QuitGadText1: dc.b "_Quit",0
- DatGadText1: dc.b "Data _file",0
- StatGadText1: dc.b "Status",0
- LoadGadText1: dc.b "_Load",0
- DescGadText1: dc.b "Description",0
- DescGadText1.1: dc.b "On Error",0
- DescGadText2: dc.b "Command to run",0
- DescGadText3: dc.b "No Command",0
- DescGadText4: dc.b "Cmd Failed",0
- DescGadText5: dc.b "No Match",0
- DescGadText6: dc.b "Too Loud",0
- DescGadText7: dc.b "Too Low",0
- DescGadText8: dc.b "Too Noisy",0
- DescGadText9: dc.b "Confirm",0
- DescGadText10: dc.b "Not Conf'd",0
- DescGadText11: dc.b "Wake Up",0
- GetGadText1: dc.b "_Get",0
- PriGadText1: dc.b "Priority",0
- ds.w 0
-
- glist: dcb.b gg_SIZEOF,0
- glist2: dcb.b gg_SIZEOF,0
- glist3: dcb.b gg_SIZEOF,0
- glist4: dcb.b gg_SIZEOF,0
-
- NGOnOffGad1: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 0 ;gng_Width
- dc.w 13 ;gng_Height
- dc.l OnOffGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 10 ;gng_GadgetID
- dc.l PLACETEXT_RIGHT ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGGainUGad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 60 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l GainUGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 20 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGGainDGad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 60 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l GainDGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 30 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGGainGad: dc.w 10+60+INTERWIDTH-3 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 20 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 0 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGSaveGad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 60 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l SaveGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 98 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGQuitGad: dc.w -70 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 60 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l QuitGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 99 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDatStrGad1: dc.w 100 ;gng_LeftEdge
- dc.w ShellTop+28 ;gng_TopEdge
- dc.w 135 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DatGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_BELOW ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStatusGad: dc.w 100 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 199 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l StatGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 0 ;gng_GadgetID
- dc.l PLACETEXT_BELOW ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGLoadGad: dc.w -70 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 60 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l LoadGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 40 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- ;Gadget TagLists
-
- GadTagList: dc.l GT_Underscore,'_'
- dc.l TAG_DONE,0
-
- GainGadTagList: dc.l GTNM_Border,TRUE
- dc.l GTNM_Number
- GainPointer: dc.l 0
- dc.l TAG_DONE,0
-
- StatGadTagList: dc.l GTTX_Border,TRUE
- dc.l TAG_DONE,0
-
- StatGadTagList2: dc.l GTTX_Border,TRUE
- dc.l GTTX_Text
- SGTL2: dc.l 0
- dc.l TAG_DONE,0
-
- DatStrGadTagList: dc.l GTST_String,DatBuffer
- dc.l GT_Underscore,'_'
- dc.l GTST_MaxChars,32
- dc.l TAG_DONE,0
-
- DisabledTags: dc.l GA_DISABLED,TRUE
- dc.l TAG_DONE,0
-
- EnabledTags: dc.l GA_DISABLED,FALSE
- dc.l TAG_DONE,0
-
- ;Gadgets for edit window
-
- NGDesc1Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 0 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc2Gad: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText2 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 0 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad1: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad2: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad3: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad4: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad5: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad6: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad7: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad8: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad9: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad10: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad11: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad12: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad13: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad14: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad15: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad16: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad17: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad18: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad19: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad20: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGGetGad1: dc.w 185 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 60 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l GetGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 55 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- DescGadTagList: dc.l GTTX_Border,1
- dc.l TAG_DONE,0
-
- StrGadTagList1: dc.l GTST_MaxChars,GADLENG1-1
- dc.l TAG_DONE,0
- StrGadTagList2: dc.l GTST_MaxChars,GADLENG2-1
- dc.l TAG_DONE,0
- StrGadTagList3: dc.l GTIN_Number,120
- dc.l TAG_DONE,0
-
- ;Priority gadget
-
- NGStrGad21: dc.w 60 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 80 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l PriGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 0 ;gng_GadgetID
- dc.l PLACETEXT_BELOW ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- ;Gadgets for error window
-
- NGDesc3Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText1.1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 0 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc4Gad: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText2 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 0 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc5Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText3 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad22: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc6Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText4 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad23: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc7Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText5 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad24: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc8Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText6 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad25: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc9Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText7 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad26: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc10Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText8 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad27: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc11Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText9 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad28: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc12Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText10 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad29: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGDesc13Gad: dc.w 10 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 100 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l DescGadText11 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 1 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGStrGad30: dc.w 120 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 300 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l 0 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 2 ;gng_GadgetID
- dc.l 0 ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- NGGetGad2: dc.w 185 ;gng_LeftEdge
- dc.w 0 ;gng_TopEdge
- dc.w 60 ;gng_Width
- dc.w 12 ;gng_Height
- dc.l GetGadText1 ;gng_GadgetText
- dc.l Topaz ;gng_TextAttr
- dc.w 55 ;gng_GadgetID
- dc.l PLACETEXT_IN ;gng_Flags
- dc.l 0 ;gng_VisualInfo
- dc.l 0 ;gng_UserData
-
- ;Menus
-
- Menu1Name: dc.b "Project",0
- Menu2Name: dc.b "Commands",0
- Menu3Name: dc.b "Setup",0
-
- LoadMenuText1: dc.b "Load",0
- LoadCommKey: dc.b "L",0
- SaveMenuText1: dc.b "Save",0
- SaveCommKey: dc.b "S",0
- AboutMenuText1: dc.b "About...",0
- AboutCommKey: dc.b "?",0
- QuitMenuText1: dc.b "Quit",0
- QuitCommKey: dc.b "Q",0
- EditMenuText1: dc.b "Edit/Learn",0
- EditCommKey: dc.b "E",0
- ErrorMenuText1: dc.b "Errors",0
- ErrorCommKey: dc.b "R",0
-
- TypeMenuText1: dc.b "Sampler",0
- PerfSMenuText1: dc.b "PerfectSound",0
- Type1CommKey: dc.b "1",0
- SoundMMenuText1: dc.b "SoundMaster",0
- Type2CommKey: dc.b "2",0
- DSSMenuText1: dc.b "GVP DSS 8",0
- Type3CommKey: dc.b "3",0
- GenericMenuText1: dc.b "Generic",0
- Type4CommKey: dc.b "4",0
-
- ResMenuText1: dc.b "Resolution",0
- ResLoMenuText1: dc.b "Low",0
- Res1CommKey: dc.b "-",0
- ResHiMenuText1: dc.b "High",0
- Res2CommKey: dc.b "+",0
-
- AccMenuText1: dc.b "Accuracy",0
- AccLo1MenuText1: dc.b "Lowest",0
- Acc1CommKey: dc.b "T",0
- AccLo2MenuText1: dc.b "Lower",0
- Acc2CommKey: dc.b "W",0
- AccLo3MenuText1: dc.b "Low",0
- Acc3CommKey: dc.b "O",0
- AccNoMenuText1: dc.b "Normal",0
- Acc4CommKey: dc.b "N",0
- AccHi1MenuText1: dc.b "High",0
- Acc5CommKey: dc.b "H",0
- AccHi2MenuText1: dc.b "Higher",0
- Acc6CommKey: dc.b "I",0
- AccHi3MenuText1: dc.b "Even higher",0
- Acc7CommKey: dc.b "G",0
- AccHi4MenuText1: dc.b "Maximum",0
- Acc8CommKey: dc.b "M",0
-
- ChanMenuText1: dc.b "Channel",0
- Chan1MenuText1: dc.b "Left",0
- Chan1CommKey: dc.b ",",0
- Chan2MenuText1: dc.b "Right",0
- Chan2CommKey: dc.b ".",0
-
- InputMenuText1: dc.b "Input level",0
- Input1MenuText1: dc.b "Microphone",0
- Input1CommKey: dc.b "/",0
- Input2MenuText1: dc.b "Line",0
- Input2CommKey: dc.b "*",0
-
- TimerMenuText1: dc.b "CIA Timer",0
- TimerAMenuText1: dc.b "Timer A",0
- TimerACommKey: dc.b "A",0
- TimerBMenuText1: dc.b "Timer B",0
- TimerBCommKey: dc.b "B",0
-
- WakeMenuText1: dc.b "Wake up",0
- WakeMenuText2: dc.b "0 Secs",0
- WakeCommKey1: dc.b "5",0
- WakeMenuText3: dc.b "5 Secs",0
- WakeCommKey2: dc.b "6",0
- WakeMenuText4: dc.b "10 Secs",0
- WakeCommKey3: dc.b "7",0
- WakeMenuText5: dc.b "15 Secs",0
- WakeCommKey4: dc.b "8",0
- WakeMenuText6: dc.b "20 Secs",0
- WakeCommKey5: dc.b "9",0
-
- PriMenuText1: dc.b "Priority...",0
- PriCommKey: dc.b "P",0
-
- ConfMenuText1: dc.b "Confirm",0
- ConfCommKey: dc.b "C",0
-
- Menu1Name2: dc.b "Page",0
- EditMenu1Text1: dc.b "Commands 1-10",0
- Edit1CommKey: dc.b "1",0
- EditMenu2Text1: dc.b "Commands 11-20",0
- Edit2CommKey: dc.b "2",0
- EditMenu3Text1: dc.b "Commands 21-30",0
- Edit3CommKey: dc.b "3",0
- EditMenu4Text1: dc.b "Commands 31-40",0
- Edit4CommKey: dc.b "4",0
- EditMenu5Text1: dc.b "Commands 41-50",0
- Edit5CommKey: dc.b "5",0
- EditMenu6Text1: dc.b "Commands 51-60",0
- Edit6CommKey: dc.b "6",0
- ds.l 0
-
- MNProjectMenu1: dc.b NM_TITLE ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l Menu1Name ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNLoad1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l LoadMenuText1 ;gnm_Label
- dc.l LoadCommKey ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNSave1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l SaveMenuText1 ;gnm_Label
- dc.l SaveCommKey ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAbout1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AboutMenuText1 ;gnm_Label
- dc.l AboutCommKey ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNP1SepMenu1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l NM_BARLABEL ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNQuit1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l QuitMenuText1 ;gnm_Label
- dc.l QuitCommKey ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNCmdMenu1: dc.b NM_TITLE ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l Menu2Name ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNEdit1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l EditMenuText1 ;gnm_Label
- dc.l EditCommKey ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNError2: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l ErrorMenuText1 ;gnm_Label
- dc.l ErrorCommKey ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNSetUpMenu1: dc.b NM_TITLE ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l Menu3Name ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNType1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l TypeMenuText1 ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNTypeSub1: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l PerfSMenuText1 ;gnm_Label
- dc.l Type1CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~1 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNTypeSub2: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l SoundMMenuText1 ;gnm_Label
- dc.l Type2CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~2 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNTypeSub3: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l DSSMenuText1 ;gnm_Label
- dc.l Type3CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~4 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNTypeSub4: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l GenericMenuText1 ;gnm_Label
- dc.l Type4CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~8 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNRes1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l ResMenuText1 ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNResSub1: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l ResLoMenuText1 ;gnm_Label
- dc.l Res1CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~1 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNResSub2: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l ResHiMenuText1 ;gnm_Label
- dc.l Res2CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~2 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccuracy1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccMenuText1 ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccurarySub1: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccLo1MenuText1 ;gnm_Label
- dc.l Acc1CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~1 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccurarySub2: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccLo2MenuText1 ;gnm_Label
- dc.l Acc2CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~2 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccurarySub3: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccLo3MenuText1 ;gnm_Label
- dc.l Acc3CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~4 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccurarySub4: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccNoMenuText1 ;gnm_Label
- dc.l Acc4CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~8 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccuracySub5: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccHi1MenuText1 ;gnm_Label
- dc.l Acc5CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~16 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccuracySub6: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccHi2MenuText1 ;gnm_Label
- dc.l Acc6CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~32 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccuracySub7: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccHi3MenuText1 ;gnm_Label
- dc.l Acc7CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~64 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNAccuracySub8: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l AccHi4MenuText1 ;gnm_Label
- dc.l Acc8CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~128 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNChannel1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l ChanMenuText1 ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNChanSub1: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l Chan1MenuText1 ;gnm_Label
- dc.l Chan1CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~1 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNChanSub2: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l Chan2MenuText1 ;gnm_Label
- dc.l Chan2CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~2 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNInput1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l InputMenuText1 ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNInputSub1: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l Input1MenuText1 ;gnm_Label
- dc.l Input1CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~1 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNInputSub2: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l Input2MenuText1 ;gnm_Label
- dc.l Input2CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~2 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNTimer1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l TimerMenuText1 ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNTimerSub1: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l TimerAMenuText1 ;gnm_Label
- dc.l TimerACommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~1 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNTimerSub2: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l TimerBMenuText1 ;gnm_Label
- dc.l TimerBCommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~2 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNWakeUp: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l WakeMenuText1 ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNWakeSub1: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l WakeMenuText2 ;gnm_Label
- dc.l WakeCommKey1 ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~1 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNWakeSub2: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l WakeMenuText3 ;gnm_Label
- dc.l WakeCommKey2 ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~2 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNWakeSub3: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l WakeMenuText4 ;gnm_Label
- dc.l WakeCommKey3 ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~4 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNWakeSub4: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l WakeMenuText5 ;gnm_Label
- dc.l WakeCommKey4 ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~8 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNWakeSub5: dc.b NM_SUB ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l WakeMenuText6 ;gnm_Label
- dc.l WakeCommKey5 ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~16 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNPriority: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l PriMenuText1 ;gnm_Label
- dc.l PriCommKey ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNConfirm: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l ConfMenuText1 ;gnm_Label
- dc.l ConfCommKey ;gnm_CommKey
- dc.w CHECKIT!MENUTOGGLE ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- dc.w 0 ;NM_END?
-
- ;Menu TagList(s)
-
- MenuTagList: dc.l GTMN_Menu,MNProjectMenu1
- dc.l TAG_DONE,0
-
- MNPageMenu1: dc.b NM_TITLE ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l Menu1Name2 ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNPage1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l EditMenu1Text1 ;gnm_Label
- dc.l Edit1CommKey ;gnm_CommKey
- dc.w CHECKIT!CHECKED ;gnm_Flags
- dc.l ~1 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNPage2: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l EditMenu2Text1 ;gnm_Label
- dc.l Edit2CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~2 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNPage3: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l EditMenu3Text1 ;gnm_Label
- dc.l Edit3CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~4 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNPage4: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l EditMenu4Text1 ;gnm_Label
- dc.l Edit4CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~8 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNPage5: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l EditMenu5Text1 ;gnm_Label
- dc.l Edit5CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~16 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNPage6: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l EditMenu6Text1 ;gnm_Label
- dc.l Edit6CommKey ;gnm_CommKey
- dc.w CHECKIT ;gnm_Flags
- dc.l ~32 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNP2SepMenu1: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l NM_BARLABEL ;gnm_Label
- dc.l 0 ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNQuit2: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l QuitMenuText1 ;gnm_Label
- dc.l QuitCommKey ;gnm_CommKey
- dc.w 0 ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- dc.w 0 ;NM_END?
-
- ;Menu TagList(s) for Edit window
-
- MenuTagList2: dc.l GTMN_Menu,MNPageMenu1
- dc.l TAG_DONE,0
-
- ;Commodities stuff (Brokers etc..)
-
- NewBroker1: dc.b NB_VERSION,0 ;Version, Reserved 1
- dc.l VSName1,VSTitle,VSDesc ;Name, Title, Description
- dc.w NBU_UNIQUE!NBU_NOTIFY,COF_SHOW_HIDE ;Uniq, Flags
- NBPri: dc.b 0,0 ;Priority, Reserved 2
- dc.l 0 ;Port
- dc.w 0 ;Reserved channel
-
- PREFS_START:
-
- Prefs: dc.l VSFileVersion
- PrefsOnOff: dc.b 0 ;0=Off, 1=On
- PrefsSampType: dc.b SAMP_GENERIC ;0=Perf.Snd, 1=SndMstr, 2=Generic, 3=DSS8
- PrefsSampRes: dc.b RES_HI ;0=High, 1=Low
- PrefsTimer dc.b TIMER_B ;0=Timer B, 1=Timer A
- PrefsGain: dc.b 0 ;DSS gain
- PrefsChannel: dc.b CHANNEL_LEFT ;0=right, 1=left
- PrefsInput: dc.b INPUT_LINE ;0=mic, 1=line
- PrefsConfirm: dc.b 0 ;0=No, 1=Yes
- PrefsPriority: dc.l 120 ;Priority
- PrefsScore: dc.w AccVal4 ;Score needed
- PrefsWake: dc.b 0 ;0=No, Other = Seconds
- PrefsPad1: dc.b 0
- Future1: dc.w 0
- Future2: dc.l 0
- Future3: dc.l 0
- Future4: dc.l 0
-
- Alt1XY:
- Alt1XPos: dc.w 200
- Alt1YPos: dc.w 31
-
- DatBuffer: dc.b "S:VoiceShell.DAT"
- dcb.b 34-12,0
-
- PREFS_END: dc.l 0,0
-
- PrefsSize: EQU (PREFS_END-PREFS_START)
-
- Section VS,BSS
-
- DATA_START:
-
- MapBuffer: ds.b (VocabSIZE*304) ;64 words
-
- CmdList: ds.b (VocabSIZE*GADLENGTH)
-
- ErrCmd1: ds.b GADLENG2 ;No Command
- ErrCmd2: ds.b GADLENG2 ;Cmd Failed
- ErrCmd3: ds.b GADLENG2 ;No Match
- ErrCmd4: ds.b GADLENG2 ;Too Loud
- ErrCmd5: ds.b GADLENG2 ;Too Low
- ErrCmd6: ds.b GADLENG2 ;Too Noisy
- ConfCmd1: ds.b GADLENG2 ;Confirm
- ConfCmd2: ds.b GADLENG2 ;Not Confirmed
- WakeCmd1: ds.b GADLENG2 ;Confirm
-
- DATA_END: ds.l 1
-
- DataSize: EQU (DATA_END-DATA_START)
-
- StringBuffer: ds.b 256
-
- Section VS,DATA,CHIP
-
- ds.w 0
-
- ClockPointer1: dc.w $0000,$0000
- dc.w $0400,$07C0,$0000,$07C0,$0100,$0380,$0000,$07E0
- dc.w $07C0,$1FF8,$1FF0,$3FEC,$3FF8,$7FDE,$3FF8,$7FBE
- dc.w $7FFC,$FF7F,$7EFC,$FFFF,$7FFC,$FFFF,$3FF8,$7FFE
- dc.w $3FF8,$7FFE,$1FF0,$3FFC,$07C0,$1FF8,$0000,$07E0
- dc.w $0000,$0000
-
- end
-