-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWave_SampleEditor.s
More file actions
113 lines (100 loc) · 1.58 KB
/
Wave_SampleEditor.s
File metadata and controls
113 lines (100 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
;Sample Editor
SampleKeyDescriptionIDList
.byt 8,9,77,18,19,22,21,23
.byt 66
.byt 72,75
SampleKeyAreaIDList
.dsb 8,78
.byt 81
.dsb 2,82
SampleKeyVectorLo
.byt <se_Up
.byt <se_Down
.byt <GenericHelp
.byt <se_SwitchList
.byt <se_SwitchPattern
.byt <se_SwitchOrnament
.byt <se_SwitchEffect
.byt <se_SwitchMenu
.byt <se_Use
.byt <se_Play
.byt <se_Stop
SampleKeyVectorHi
.byt >se_Up
.byt >se_Down
.byt >GenericHelp
.byt >se_SwitchList
.byt >se_SwitchPattern
.byt >se_SwitchOrnament
.byt >se_SwitchEffect
.byt >se_SwitchMenu
.byt >se_Use
.byt >se_Play
.byt >se_Stop
se_Up
lda SampleCursorY
.(
beq skip1
dec SampleCursorY
skip1 rts
.)
se_Down
lda SampleCursorY
cmp #6
.(
bcs skip1
inc SampleCursorY
skip1 rts
.)
se_SwitchList
lda #LISTEDITOR
sta EditorID
rts
se_SwitchPattern
lda #PATTERNEDITOR
sta EditorID
rts
se_SwitchOrnament
lda #ORNAMENTEDITOR
sta EditorID
rts
se_SwitchEffect
lda #EFFECTEDITOR
sta EditorID
rts
se_SwitchMenu
lda #TOPMENU
sta EditorID
rts
se_Stop jmp TurnOffMusic
se_Use ;Switch to Pattern Editor and Insert this sample in the row
ldy PatternCursorY
ldx #00
jsr FetchPatternRowAddress
jsr FetchPatternFieldRange2
lda SampleCursorY
clc
adc #01
jsr StorePatternFieldRange2
;Display It
jsr PatternPlot
;Now switch to PatternEditor
jmp se_SwitchPattern
se_Play
;Ensure nothing interrupts us
sei
;disable status noise and tone and turn off all music
lda SAMRegister+1
and #3
tax
lda #%01111111
sta ayStatus
jsr TurnOffMusic
;Start sample
ldx SampleCursorY
inx
jsr StartSample
ldx #00
jsr pmCom_ApplySample
cli
rts