home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-21 | 61.8 KB | 3,139 lines |
- *************************************************
- * *
- * (C)opyright 1992-93 *
- * *
- * by Tomi Blinnikka *
- * *
- * Don't try to understand the code *
- * *
- * Version 0.01 13/06/1992- *
- * -0.99รถ 20/06/1992 *
- * *
- * Version 1.00 07/02/1993 *
- * *
- * Changed parser *
- * *
- * Added: From option, generic sampler, timer *
- * selection, fixed lotsa bugs *
- * *
- * BUGS: *
- * *
- *************************************************
-
- 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/gadtools.i"
- INCLUDE "workbench/startup.i"
- INCLUDE "dos/dostags.i"
-
- INCLUDE "XREF:2.0.xref"
- INCLUDE "XREF:intuition.xref"
- INCLUDE "XREF:exec.xref"
- INCLUDE "XREF:dos.xref"
- INCLUDE "XREF:icon.xref"
- INCLUDE "XREF:gfx.xref"
-
- *************************************************
- * Voice.library version 6.6 offsets *
- *************************************************
- _LVOLearn EQU -30
- _LVORecognize EQU -36
- _LVOAddVoiceTask EQU -42
- _LVORemVoiceTask EQU -48
- _LVOGainUp EQU -54
- _LVOGainDown EQU -60
- _LVORecDataAddress EQU -66
- _LVORecMapAddress EQU -72
- _LVOWordScore EQU -78
- _LVOPickSampler EQU -84
- _LVOSetVoicePri EQU -90
- _LVOPickTimer EQU -96
- *************************************************
-
- DVoice set 1
-
- ShellTop: EQU 2
- OptionTop: EQU 46
- VocabSIZE: EQU 60
- NUMGADS: EQU 10
- GADLENG1: EQU 16
- GADLENG2: EQU 64
- GADLENGTH: EQU (GADLENG1+GADLENG2)
-
- Samp1MenuN: EQU $0002 ;0002
- Samp2MenuN: EQU $0802 ;0802
- Samp3MenuN: EQU $1002 ;1002
- ResLoMenuN: EQU $0022 ;0022
- ResHiMenuN: EQU $0822 ;0822
-
- TRUE: EQU 1
- 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_NEWFILE,d2
- lib Dos,Open
- move.l d0,NILFile
- beq NoNIL
- 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 do_ToolTypes(a4),a0
- lea.l FROMText1,a1
- lib Icon,FindToolType
- move.l d0,FromFile
-
- DoToolType3: 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
-
- MainStart: openlib Intuition,NoInt
-
- move.l #6,d0
- move.l $4,a6
- lea.l _VoiceLib,a1
- jsr _LVOOpenLibrary(a6)
- move.l d0,_VoiceBase
- beq NoVoice
-
- openlib GadTools,NoGadTools
- openlib Gfx,NoGfx
-
- ;Create a message port for the voice.library
-
- lib Exec,CreateMsgPort
- move.l d0,VoicePort
- beq NoMsgPort
-
- 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.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
- or.w #RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGGainUGad,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
- or.w #RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGGainDGad,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
- or.w #RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGSaveGad,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
- or.w #RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGQuitGad,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)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGDatStrGad1,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
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStatusGad,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
- add.w d5,gg_TopEdge(a0)
-
- lea.l glist2,a0
- lib GadTools,CreateContext
- move.l d0,ContextGad2
- beq NoContextGad
-
- move.l glist2,a0
- lea.l NGStrGad1,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf1
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad2,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf2
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad3,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf3
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad4,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf4
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad5,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf5
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad6,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf6
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad7,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf7
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad8,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf8
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad9,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf9
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad10,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf10
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad11,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf11
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad12,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf12
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad13,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf13
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad14,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf14
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad15,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf15
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad16,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf16
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad17,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf17
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad18,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf18
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad19,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf19
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGStrGad20,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
- move.l $22(a0),a1
- move.l (a1),StrGadBuf20
- or.w #GADGIMMEDIATE!RELVERIFY,gg_Activation(a0)
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGDesc1Gad,a1
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- add.w d5,gg_TopEdge(a0)
-
- lea.l NGDesc2Gad,a1
- move.l #TEXT_KIND,d0
- move.l vi,gng_VisualInfo(a1)
- lea.l DescGadTagList,a2
- lib GadTools,CreateGadgetA
-
- move.l d0,a0
- add.w d5,gg_TopEdge(a0)
-
- 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
- move.b #1,MenuMagic
-
- ;Read preferences
-
- bsr Load
-
- bsr OpenWin1
- tst.l Window1
- beq NoWindow1
-
- bsr AddVTask
-
- ;Unlock PubScreen
-
- sub.l a0,a0
- move.l PubScreen,a1
- lib Intuition,UnlockPubScreen
- clr.l PubScreen
-
- 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
- cmp.l #INTUITICKS,d2
- beq DoTicks
- cmp.l #GADGETUP,d2
- beq DoGads
- cmp.l #CLOSEWINDOW,d2
- beq Quit
- cmp.l #MENUPICK,d2
- beq Win1Menus
- cmp.l #VANILLAKEY,d2
- beq VanillaKeys
- cmp.l #ACTIVEWINDOW,d2
- beq ActivateGads
- bra Window1IDCMP
-
- DoCTRL_D: bsr RemGads
- move.l OnOffGad1,a0
- and.w #~SELECTED,gg_Flags(a0)
- bsr RemVTask1
- bsr AddGads
- bra Window1IDCMP
- DoCTRL_E: bsr RemGads
- move.l OnOffGad1,a0
- or.w #SELECTED,gg_Flags(a0)
- bsr AddVTask1
- bsr AddGads
- 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
- bra Window1IDCMP
- Win1Menus3: cmp.w #$00,d5
- beq Win1Menus3.1
- cmp.w #$01,d5
- beq Win1Menus3.2
- cmp.w #$02,d5
- beq Win1Menus3.3
- bra Window1IDCMP
- Win1Menus3.1: cmp.w #$00,d4
- beq SetSamp1
- cmp.w #$01,d4
- beq SetSamp2
- cmp.w #$02,d4
- beq SetSamp3
- bra Window1IDCMP
- Win1Menus3.2: cmp.w #$00,d4
- beq SetResLo
- cmp.w #$01,d4
- beq SetResHi
- Win1Menus3.3: cmp.w #$00,d4
- beq SetTimerA
- cmp.w #$01,d4
- beq SetTimerB
- 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
- bsr RemVTask1
- bsr SleepPointer
- bsr MenusOff
- bsr RemGads
-
- bsr OpenWin2
- tst.l d0
- beq NoWindow1
- bsr RemGads2
- bsr SetStrGads
- bsr AddGads2
-
- Window2IDCMP: move.l Window2,a0
- bsr CheckIDCMP
-
- tst.l d0
- beq ShutDown
- cmp.l #GADGETUP,d2
- beq ActivateGads2
- cmp.l #CLOSEWINDOW,d2
- beq EditCmds_OUT
- cmp.l #MENUPICK,d2
- beq Win2Menus
- cmp.l #VANILLAKEY,d2
- beq EditKeys
- cmp.l #ACTIVEWINDOW,d2
- beq GoActGads2
- 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.w 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.w 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
-
- GoActGads2: bsr ActGad2
- bra Window2IDCMP
-
- EditCmds_OUT: bsr SaveStrGads
- bsr CloseWin2
- bsr AddGads
- bsr MenusOn
- bsr AddVTask
- bsr NormalPointer
- bra Window1IDCMP
-
- EditKeys: cmp.w #$1b,d3
- beq EditCmds_OUT
- bra Window2IDCMP
-
- DoVoice: cmp.w #-1,d3
- beq VoiceUnknown
- cmp.w #-2,d3
- beq VoiceClip
- cmp.w #-3,d3
- beq VoiceLow
- cmp.w #-4,d3
- beq VoiceNoisy
-
- lea.l CmdList,a2
- move.w d3,d0
- mulu.w #GADLENGTH,d0
- add.w d0,a2 ;a2=start of strings
-
- move.l a2,a0
- bsr GetLength
- bsr Inform
-
- add.l #GADLENG1,a2
- cmp.l #0,(a2)
- beq DoVoice2
-
- move.l a2,d1 ;execute command
- lea.l CMDTags,a0
- move.l a0,d2
- lib Dos,SystemTagList
- cmp.l #-1,d0
- beq DoVoice3
-
- bra Window1IDCMP
-
- DoVoice2: lea.l NoCMDText1,a0
- bsr GetLength
- bsr Inform
- bra Window1IDCMP
- DoVoice3: lea.l CMDFailText1,a0
- bsr GetLength
- bsr Inform
- bra Window1IDCMP
-
- VoiceUnknown: lea.l NoMatchText1,a0
- bsr GetLength
- bsr Inform
- bra Window1IDCMP
- VoiceClip: lea.l ClippingText1,a0
- bsr GetLength
- bsr Inform
- bra Window1IDCMP
- VoiceLow: lea.l LowVolText1,a0
- bsr GetLength
- bsr Inform
- bra Window1IDCMP
- VoiceNoisy: lea.l NoisyText1,a0
- bsr GetLength
- bsr Inform
- bra Window1IDCMP
-
- SetResLo: bsr RemVTask
- move.b #1,PrefsSampRes
- bsr AddVTask
- bra Window1IDCMP
- SetResHi: bsr RemVTask
- move.b #0,PrefsSampRes
- bsr AddVTask
- bra Window1IDCMP
-
- SetSamp1: clr.b PrefsSampType ;PerfectSound
- clr.l d0
- 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
- bra Window1IDCMP
- SetSamp2: move.b #1,PrefsSampType ;SoundMaster
- move.l #$01,d0
- 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
- bra Window1IDCMP
- SetSamp3: move.b #2,PrefsSampType ;Generic
- move.l #$02,d0
- 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
- bra Window1IDCMP
-
- SetTimerA: move.b #1,PrefsTimer ;Timer A=1
- move.l #$01,d0
- lib Voice,PickTimer
- bra Window1IDCMP
-
- SetTimerB: clr.b PrefsTimer ;Timer B=0
- clr.l d0
- lib Voice,PickTimer
- bra Window1IDCMP
-
- DoLoad: bsr RemGads
- bsr Load
- bsr AddVTask
- bsr AddGads
- move.l #5,d1
- lib Dos,Delay
- bra ActivateGads
-
- VanillaKeys: cmp.w #$1b,d3
- beq Quit
- cmp.w #'s',d3 ;Lower case
- beq Save
- cmp.w #'q',d3
- beq Quit
- cmp.w #'d',d3
- beq ActivateGads
- cmp.w #'S',d3 ;Upper case
- beq Save
- cmp.w #'Q',d3
- beq Quit
- cmp.w #'D',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 GainUp
- cmp.w #30,$26(a5)
- beq GainDown
- cmp.w #98,$26(a5)
- beq Save
- cmp.w #99,$26(a5)
- beq Quit
- bra Window1IDCMP
-
- DoOnOff: bsr AddVTask ;one or the other
- bsr RemVTask ;will respond
- bra Window1IDCMP
-
- GainUp: lib Voice,GainUp
- bra Window1IDCMP
- GainDown: lib Voice,GainDown
- bra Window1IDCMP
-
- ActivateGads: move.l DatStrGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- bra Window1IDCMP
-
- ActGad: move.l DatStrGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- lib Intuition,ActivateGadget
- rts
-
- ActivateGads2: 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
-
- 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 #2,d3
- lib Dos,Read
- cmp.l #2,d0
- bne Load_ERR2
-
- cmp.w #'VS',Prefs
- bne Load_ERR3
-
- move.l PrefsFile,d1
- add.l #2,d2
- move.l #PrefsSize-2,d3
- lib Dos,Read
- cmp.l #PrefsSize-2,d0
- bne Load_ERR2
-
- Load2: move.l DatStrGadBuf1,d1
- 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_ERR2
-
- 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: bsr SetModes
- rts
-
- Load_ERR1: lea.l File_ERRTxt1,a1
- move.l #$00,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- bra Load2
-
- Load_ERR1.1: lea.l File_ERRTxt4,a1
- move.l #$00,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- bra Load_OUT
-
- Load_ERR2: lea.l File_ERRTxt2,a1
- move.l #$00,a2
- lea.l OKTxt,a3
- bsr DoAutoRequest
- bra Load_OUT
-
- Load_ERR3: lea.l File_ERRTxt3,a1
- move.l #$00,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.w #'VS',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: bsr RemVTask1
- bsr SleepPointer
- bsr MenusOff
- bsr RemGads
-
- move.l Window1,a0
- lea.l AboutTxt1,a1
- move.l #$00,a2 ;positive text
- lea.l OKTxt,a3 ;a bit the wrong way around but...
- move.l #$00,d0
- move.l #$00,d1
- move.l #320,d2
- move.l #$50,d3
- lib Intuition,AutoRequest
- bsr AddGads
- bsr MenusOn
- bsr NormalPointer
- bsr AddVTask
- bra Window1IDCMP
-
- ;This is emergency exit, that's why it changes the Saved-flag
-
- Break: lea.l BreakText1,a0
- bsr Printer
- move.l #CLOSEWINDOW,d2 ;fake closewindow...
- move.l #-1,d0
- move.w #1,Saved
- rts
-
- AddVTask: move.l OnOffGad1,a0
- move.w gg_Flags(a0),d0
- and.w #SELECTED,d0
- cmp.w #SELECTED,d0
- bne AddVTask_OUT
- 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.w #1,TaskOn
- lea.l TaskOnText1,a0
- bsr GetLength
- bsr Inform
- AddVTask_OUT: rts
-
- RemVTask: 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
- bsr C3GetMsg1 ;Clear messages
- lib Voice,RemVoiceTask
-
- clr.w TaskOn
- lea.l TaskOffText1,a0
- bsr GetLength
- bsr Inform
- RemVTask_OUT: rts
-
- SetModes: 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)
-
- tst.b PrefsSampType
- bne SetModes2
- move.l mlist,a0
- move.l #Samp1MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
- move.l #$00,d0
- lib Voice,PickSampler
- move.l GainUGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- and.w #~GADGDISABLED,gg_Flags(a0)
-
- SetModes2: cmp.b #1,PrefsSampType
- 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 #$01,d0
- lib Voice,PickSampler
- move.l GainUGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
- move.l GainDGad1,a0
- or.w #GADGDISABLED,gg_Flags(a0)
-
- SetModes2.1: cmp.b #2,PrefsSampType
- bne SetModes3
- move.l mlist,a0
- move.l #Samp3MenuN,d0
- lib Intuition,ItemAddress
- move.l d0,a0
- or.w #CHECKED,$c(a0)
- move.l #$01,d0
- lib Voice,PickSampler
- 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: lea.l DatBuffer,a0
- move.l DatStrGadBuf1,a1
- move.l #32,d0
- lib Exec,CopyMem
-
- tst.l Window1
- beq SetModes6
- 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
- rts
- SetModes6: move.l Alt1XPos,NewWindow1
- rts
-
- CheckModes: 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
-
- move.l Window1,a0
- move.l wd_LeftEdge(a0),Alt1XY
- rts
-
- RemGads: move.l Window1,a0
- move.l OnOffGad1,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RemoveGList
- rts
-
- AddGads: move.l Window1,a0
- move.l OnOffGad1,a1
- sub.l a2,a2
- move.l #-1,d0
- move.l #-1,d1
- lib Intuition,AddGList
-
- move.l OnOffGad1,a0
- move.l Window1,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RefreshGList
-
- move.l Window1,a0
- sub.l a1,a1
- lib GadTools,GT_RefreshWindow
- rts
-
- RemGads2: move.l Window2,a0
- move.l StrGad1,a1
- sub.l a2,a2
- move.l #-1,d0
- lib Intuition,RemoveGList
- rts
-
- AddGads2: move.l Window2,a0
- move.l StrGad1,a1
- sub.l a2,a2
- move.l #-1,d0
- move.l #-1,d1
- lib Intuition,AddGList
-
- move.l StrGad1,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
- 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 ShutDown9000
- sub.l a0,a0
- move.l PubScreen,a1
- lib Intuition,UnlockPubScreen
-
- ShutDown9000: bsr CloseWin1
- bsr CloseWin2
- 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
- flib Exec,Permit ;Added, not checked
-
- ShutDown3000: move.l RDArgs1,d1
- beq ShutDown2000
- lib Dos,FreeArgs
-
- ShutDown2000: move.l VoicePort,a0
- lib Exec,DeleteMsgPort
-
- ShutDown1000: closlib Voice
- closlib Icon
- closlib Intuition
- closlib GadTools
- closlib Gfx
- closlib Dos
- pull d2-d7/a2-a6
- clr.l d0
- rts
-
- ;CheckIDCMP gets messages from keyboard (CTRL_C) and Intuition.
- ;Give it the window structure in a0
-
- CheckIDCMP: move.l $56(a0),a2 ;Get window's port
- clr.l d1 ;Set signals for
- clr.l d0
- move.b MP_SIGBIT(a2),d1 ;IntuiMessages,
- bset.l d1,d0
- clr.l d1 ;Set signals for
- move.l VoicePort,a0 ;voice.library
- 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_C
- bset.l #SIGBREAKB_CTRL_E,d0 ;and CTRL_C
- 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
- move.b MP_SIGBIT(a0),d1 ;If voice.library
- btst d1,d0
- bne C3GetMsg1
-
- C2GetMsg1: move.l a2,a0
- lib GadTools,GT_GetIMsg
- tst.l d0
- beq C2GetMsg2
-
- move.l d0,a1
- move.l $14(a1),d2 ;answers with Class in d2,
- move.w $18(a1),d3 ;Code in d3 and
- move.w $1a(a1),a4 ;Qualifier in a4
- move.l $1c(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 $14(a1),d2 ;Class in d2 and
- move.w $18(a1),d3 ;Code in d3
- lib Exec,ReplyMsg
- bra C3GetMsg1
- C3GetMsg2: move.l #3,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
-
- SleepPointer: 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
- rts
-
- NormalPointer: move.l Window1,a0
- lib Intuition,ClearPointer
- rts
-
- MenusOn: move.l Window1,a0
- move.l mlist,a1
- lib Intuition,SetMenuStrip
- rts
-
- MenusOff: move.l Window1,a0
- lib Intuition,ClearMenuStrip
- rts
-
- ;Lock PublicScreen
-
- LockPubScr: sub.l a0,a0
- lib Intuition,LockPubScreen
- move.l d0,PubScreen
- beq LockPubScr_OUT
-
- ;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
- LockPubScr_OUT: rts
-
- ;Open Window 1
-
- OpenWin1: 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
- bsr AddGads
- move.l Window1,a0
- move.l $32(a0),RP
- move.l mlist,a1
- lib Intuition,SetMenuStrip
- bsr ActGad
- move.l #-1,d0
- 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
-
- OpenWin2: lea.l NewWindow2,a0
- add.w d0,nw_Height(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
- move.l #-1,d0
- rts
- OpenWin2_ERR1: clr.l d0
- rts
-
- CloseWin2: tst.l Window2
- beq CloseWin2_OUT
- CloseWin2.1: move.l Window2,a0
- lib Intuition,ClearMenuStrip
- move.l Window2,a3
- bsr ClearMSGs
- CloseWin2_OUT: clr.l Window2
- 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
-
- ;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
-
- 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
-
- Clean2.0Magic: tst.b GadMagic
- beq Clean2.0M2
- move.l glist,a0
- lib GadTools,FreeGadgets
- move.l glist2,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
-
- NoDos: pull d2-d7/a2-a6
- move.l #RETURN_FAIL,d0
- rts
-
- NoInt: lea.l NoIntText1,a0
- bsr Printer
- bra ShutDown
-
- NoVoice: lea.l NoVoiceText1,a0
- bsr Printer
- bra ShutDown
-
- NoGadTools: lea.l NoGTText1,a0
- bsr Printer
- bra ShutDown
-
- NoGfx: lea.l NoGfxText1,a0
- bsr Printer
- bra ShutDown
-
- NoNIL: lea.l NoNILText1,a0
- bsr Printer
- bra ShutDown
-
- NoNIL2: lea.l NoNILText1,a0
- bsr Printer
- rts
-
- NoIcon: lea.l NoIconText1,a0
- bsr Printer
- bra ShutDown
-
- NoPubScreen: lea.l NoPubScrText1,a0
- bsr Printer
- bra ShutDown
-
- NoWindow1: lea.l NoWindowText1,a0
- bsr Printer
- bra ShutDown
-
- NoContextGad: lea.l NoContextText1,a0
- bsr Printer
- bra ShutDown
-
- NoMenus: lea.l NoMenusText1,a0
- bsr Printer
- bra ShutDown
-
- Printer: printa a0,_stdout
- rts
-
- Inform: push a0/d0
- move.l RP,a1
- clr.l d0
- lib Gfx,SetAPen
-
- move.l RP,a1
- move.l #12,d0
- move.l #20,d1
- add.w BHeight,d1
- move.l #147,d2
- move.l #29,d3
- add.w BHeight,d3
- lib Gfx,RectFill
-
- ;Draw text
- move.l RP,a1
- move.l #$01,d0
- lib Gfx,SetAPen
-
- move.l RP,a1
- move.l #13,d0
- move.l #27,d1
- add.w BHeight,d1
- lib Gfx,Move
-
- pull a0/d0
- push a0
- move.l RP,a1
- lib Gfx,Text
-
- pull a1
- bsr SetTitle
-
- rts
-
- ;Give this the title pointer in a1
-
- SetTitle: push a2
- move.l Window1,a0
- lea.l VSName1,a2
- lib Intuition,SetWindowTitles
- pull a2
- 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
-
- RDArgs1: dc.l 0
-
- ;Options
-
- CLArray1:
- FromFile: dc.l 0 ;A pointer to filename of PREFS!
- OptionIconify: 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
- GadMagic: dc.b 0
- MenuMagic: dc.b 0
-
- ;Gadgets
-
- OnOffGad1: dc.l 0
- GainUGad1: dc.l 0
- GainDGad1: dc.l 0
- SaveGad1: dc.l 0
- QuitGad1: dc.l 0
- DatStrGad1: dc.l 0
- DatStrGadBuf1: dc.l 0 ;Only a pointer!
- StatusGad1: 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!
-
- ;display stuff
-
- PubScreen: dc.l 0
- Window1: dc.l 0
- Window2: dc.l 0
- BHeight: dc.w 0
- RP: dc.l 0
-
-
- ds.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
- VoicePort: dc.l 0 ;Message port for voice.library
-
- ;Strings, error
-
- BreakText1: dc.b "***Break",13,10,0
- NoMsgPortText1: dc.b "ERROR: Couldn't get message port!",13,10,0
- NoIntText1: dc.b "ERROR: Couldn't open intuition.library",13,10,0
- NoVoiceText1: dc.b "ERROR: Couldn't open voice.library",13,10,0
- NoGTText1: dc.b "ERROR: Couldn't open gadtools.library!",13,10,0
- NoGfxText1: dc.b "ERROR: Couldn't open graphics.library!",13,10,0
- NoNILText1: dc.b "ERROR: Couldn't open device NIL:!",13,10,0
- NoIconText1: dc.b "ERROR: Couldn't open icon.library!",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
- File_ERRText1: dc.b "Couldn't open preferences file!",0
- File_ERRText2: dc.b "File error!",0
- File_ERRText3: dc.b "Incorrect file type!",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 "Clipping",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
-
- ;Strings, names
-
- CLTemplate1: dc.b "FROM/K,I=ICONIFY/S",0
- VSVersion: dc.b "$VER: VShell 1.00 (7.2.93) (C)opyright Tomi Blinnikka 1993",0
- OKText1: dc.b "OK",0
- CancelText1: dc.b "Cancel",0
- PrefsName: dc.b "ENV:VShell.PREFS",0
- NILName: dc.b "NIL:",0
- ICONIFYText1: dc.b "ICONIFY",0
- YESText1: dc.b "YES",0
- FROMText1: dc.b "FROM",0
- AboutText1: dc.b "Name : VShell",0
- AboutText2: dc.b "Version: 1.00",0
- AboutText3: dc.b "Author : Tomi Blinnikka",0
- AboutText4: dc.b " (C)opyright 1993",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 "VShell",0
- VSName2: dc.b "VShell: Edit & Learn",0
- ds.w 0
-
- ;New screen & new window structures
-
- NewWindow1: dc.w 200,31 ;X,Y POS
- dc.w 310 ;WIDTH
- Win1YSize: dc.w 62 ;HEIGHT
- dc.b 0,1 ;PENS
- dc.l INTUITICKS!ACTIVEWINDOW!CLOSEWINDOW!VANILLAKEY!MENUPICK!GADGETUP ;IDCMP FLAGS
- dc.l NOCAREREFRESH!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_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 220,42 ;X,Y POS
- dc.w 330 ;WIDTH
- Win2YSize: dc.w 122 ;HEIGHT
- dc.b 0,1 ;PENS
- dc.l ACTIVEWINDOW!CLOSEWINDOW!VANILLAKEY!MENUPICK!GADGETUP ;IDCMP FLAGS
- dc.l NOCAREREFRESH!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 TAG_DONE,0
- ;Fonts
-
- Topaz: dc.l TopazName
- dc.w 8
- dc.b 0
- dc.b 0
- TopazName: dc.b "topaz.font",0
- ds.w 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 0 ;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 0 ;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 0 ;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 0 ;FONT
- dc.l AboutText4 ;TEXT
- dc.l 0 ;AboutTxt5 ;NEXTTEXT
-
- QuitTxt1: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,0 ;LEFT+TOPEDGE
- dc.l 0 ;FONT
- dc.l QuitText1 ;TEXT
- dc.l QuitTxt2 ;NEXTTEXT
-
- QuitTxt2: dc.b 1,2 ;PENS
- dc.w 0 ;MODE
- dc.w 0,10 ;LEFT+TOPEDGE
- dc.l 0 ;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
- DescGadText1: dc.b "Description",0
- DescGadText2: dc.b "Command to run",0
- ds.l 0
-
- glist: dcb.b gg_SIZEOF,0
- glist2: dcb.b gg_SIZEOF,0
-
- NGOnOffGad1: dc.w 10 ;gng_LeftEdge
- dc.w ShellTop ;gng_TopEdge
- dc.w 0 ;gng_Width
- dc.w 12 ;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 160 ;gng_LeftEdge
- dc.w ShellTop ;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 228 ;gng_LeftEdge
- dc.w ShellTop ;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
-
- NGSaveGad: dc.w 10 ;gng_LeftEdge
- dc.w OptionTop ;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 OptionTop ;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 160 ;gng_LeftEdge
- dc.w ShellTop+17 ;gng_TopEdge
- dc.w 128 ;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 10 ;gng_LeftEdge
- dc.w ShellTop+17 ;gng_TopEdge
- dc.w 140 ;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
-
- ;Gadget TagLists
-
- GadTagList: dc.l GT_Underscore,'_'
- dc.l TAG_DONE,0
-
- StatGadTagList: dc.l GTTX_Border,1
- 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
-
- ;Gadgets for edit window
-
- NGDesc1Gad: dc.w 10 ;gng_LeftEdge
- dc.w ShellTop ;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 ShellTop ;gng_TopEdge
- dc.w 200 ;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 ShellTop+15 ;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 ShellTop+15 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+25 ;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 ShellTop+25 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+35 ;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 ShellTop+35 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+45 ;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 ShellTop+45 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+55 ;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 ShellTop+55 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+65 ;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 ShellTop+65 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+75 ;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 ShellTop+75 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+85 ;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 ShellTop+85 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+95 ;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 ShellTop+95 ;gng_TopEdge
- dc.w 200 ;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 ShellTop+105 ;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 ShellTop+105 ;gng_TopEdge
- dc.w 200 ;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
-
- 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
-
- ;Menus
-
- Menu1Name: dc.b "Project",0
- Menu2Name: dc.b "Commands",0
- Menu3Name: dc.b "Sampler",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
- PriMenuText1: dc.b "Priority",0
- PriCommKey: dc.b "P",0
-
- TypeMenuText1: dc.b "Type",0
- PerfSMenuText1: dc.b "PerfectSound",0
- Type1CommKey: dc.b "1",0
- SoundMMenuText1: dc.b "SoundMaster",0
- Type2CommKey: dc.b "2",0
- GenericMenuText1: dc.b "Generic",0
- Type3CommKey: dc.b "3",0
-
- ResMenuText1: dc.b "Resolution",0
- ResLoMenuText1: dc.b "Low",0
- Res1CommKey: dc.b "-",0
- ResHiMenuText1: dc.b "High",0
- Res2CommKey: 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
-
- 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
-
- MNPriority: dc.b NM_ITEM ;gnm_Type
- dc.b 0 ;gnm_Pad
- dc.l PriMenuText1 ;gnm_Label
- dc.l PriCommKey ;gnm_CommKey
- dc.w NM_ITEMDISABLED ;gnm_Flags
- dc.l 0 ;gnm_MutualExclude
- dc.l 0 ;gnm_UserData
-
- MNSamplerMenu1: 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 GenericMenuText1 ;gnm_Label
- dc.l Type3CommKey ;gnm_CommKey
- dc.w CHECKIT!CHECKED ;gnm_Flags
- dc.l ~4 ;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!CHECKED ;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!CHECKED ;gnm_Flags
- dc.l ~2 ;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
-
- ;SysTagList 2.0 Execute commands TagList(s)
-
- CMDTags: dc.l SYS_Asynch
- dc.l TAG_DONE
-
- PREFS_START:
-
- Prefs: dc.b "VS"
- PrefsOnOff: dc.b 1 ;0=Off, 1=On
- PrefsSampType: dc.b 2 ;0=Perf.Snd, 1=SndMstr, 2=Generic
- PrefsSampRes: dc.b 0 ;0=High, 1=Low
- PrefsTimer dc.b 0 ;0=Timer B, 1=Timer A
-
- Alt1XY:
- Alt1XPos: dc.w 200
- Alt1YPos: dc.w 31
-
- DatBuffer: dc.b "S:VShell.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)
-
- DATA_END: ds.l 1
-
- DataSize: EQU (DATA_END-DATA_START)
-
-
- 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
-
-