Subversion Repositories svn.mios

Rev

Rev 1 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
44 tk 1
; $Id: sid_dmodel.inc 44 2008-01-30 21:39:30Z tk $
1 tk 2
;
3
; MIDIbox SID Drum Models
4
;
5
; Important: this file must be located in upper 64k area!
6
;            (in most routines it is assumed, that TBLPTRU == 0x01)
7
; this is checked here
8
	IF ($ & 0xff0000) != 0x010000
9
	ERROR	"sid_dmodel.inc must be located in upper 64k area!"
10
	ENDIF
11
;
12
; ==========================================================================
13
;
14
;  Copyright 1998-2007 Thorsten Klose (tk@midibox.org)
15
;  Licensed for personal non-commercial use only.
16
;  All other rights reserved.
17
;
18
; ==========================================================================
19
 
20
;; drum model types (defines the data structure)
21
SID_DMODEL_WT		EQU	0	; wavetable based model.    PAR1: GL offset, PAR2: Speed offset
22
 
23
;; --------------------------------------------------------------------------
24
;;  Linked list to drum models
25
;; --------------------------------------------------------------------------
26
SID_DMODEL_TABLE
27
	dw	(SID_DMODEL_WT_BD1_TAB) & 0xffff	; model 1: WT Bass Drum #1
28
	dw	(SID_DMODEL_WT_BD2_TAB) & 0xffff	; model 2: WT Bass Drum #2
29
	dw	(SID_DMODEL_WT_BD3_TAB) & 0xffff	; model 3: WT Bass Drum #3
30
	dw	(SID_DMODEL_WT_SD1_TAB) & 0xffff 	; model 4: WT Snare Drum #1
31
	dw	(SID_DMODEL_WT_SD2_TAB) & 0xffff 	; model 5: WT Snare Drum #2
32
	dw	(SID_DMODEL_WT_SD3_TAB) & 0xffff 	; model 6: WT Snare Drum #3
33
	dw	(SID_DMODEL_WT_HH1_TAB) & 0xffff 	; model 7: WT HiHat #1
34
	dw	(SID_DMODEL_WT_HH2_TAB) & 0xffff 	; model 8: WT HiHat #2
35
	dw	(SID_DMODEL_WT_TOM1_TAB) & 0xffff 	; model 9: WT Tom #1
36
	dw	(SID_DMODEL_WT_TOM2_TAB) & 0xffff 	; model 10: WT Tom #2
37
	dw	(SID_DMODEL_WT_CLAP_TAB) & 0xffff 	; model 11: WT Clap
38
	dw	(SID_DMODEL_WT_FX1_TAB) & 0xffff 	; model 12: WT FX #1
39
	dw	(SID_DMODEL_WT_FX2_TAB) & 0xffff 	; model 13: WT FX #2
40
	dw	(SID_DMODEL_WT_FX3_TAB) & 0xffff 	; model 14: WT FX #3
41
	dw	(SID_DMODEL_WT_FX4_TAB) & 0xffff 	; model 15: WT FX #4
42
	dw	(SID_DMODEL_WT_FX5_TAB) & 0xffff 	; model 16: WT FX #5
43
	dw	(SID_DMODEL_WT_FX6_TAB) & 0xffff 	; model 16: WT FX #6
44
	dw	(SID_DMODEL_WT_FX7_TAB) & 0xffff 	; model 16: WT FX #7
45
	dw	(SID_DMODEL_WT_FX8_TAB) & 0xffff 	; model 16: WT FX #8
46
	dw	(SID_DMODEL_WT_FX9_TAB) & 0xffff 	; model 16: WT FX #9
47
SID_DMODEL_TABLE_END
48
 
49
	;; calculate number of available models - used at various places
50
SID_DMODEL_NUM	EQU	(SID_DMODEL_TABLE_END-SID_DMODEL_TABLE) / 2
51
 
52
 
53
;; --------------------------------------------------------------------------
54
;;  Wavetable Bass Drum #1
55
;; --------------------------------------------------------------------------
56
SID_DMODEL_WT_BD1_TAB
57
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
58
	db	"BD1 ", SID_DMODEL_WT, 0x3c, 0x20, 0x01, 0x80, 0x0a, 0x07, 0xff
59
	db	0x3c | 0x80, 0x01	; Note/Wave Step #1
60
	db	0x3a | 0x00, 0x01	; Note/Wave Step #1
61
	db	0x38 | 0x00, 0x01	; Note/Wave Step #2
62
	db	0x34 | 0x00, 0x01	; Note/Wave Step #3
63
	db	0x30 | 0x00, 0x01	; Note/Wave Step #4
64
	db	0x2c | 0x00, 0x01	; Note/Wave Step #5
65
	db	0x28 | 0x00, 0x01	; Note/Wave Step #6
66
	db	0x20 | 0x00, 0x01	; Note/Wave Step #7
67
 
68
;; --------------------------------------------------------------------------
69
;;  Wavetable Bass Drum #2
70
;; --------------------------------------------------------------------------
71
SID_DMODEL_WT_BD2_TAB
72
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
73
	db	"BD2 ", SID_DMODEL_WT, 0x6b, 0x20, 0x08, 0x80, 0x0a, 0x04, 0xff
74
	db	0x6b | 0x80, 0x08	; Note/Wave Step #0
75
	db	0x3c | 0x00, 0x04	; Note/Wave Step #1
76
	db	0x37 | 0x00, 0x04	; Note/Wave Step #2
77
	db	0x32 | 0x00, 0x04	; Note/Wave Step #3
78
	db	0x2a | 0x00, 0x04	; Note/Wave Step #4
79
 
80
;; --------------------------------------------------------------------------
81
;;  Wavetable Bass Drum #3
82
;; --------------------------------------------------------------------------
83
SID_DMODEL_WT_BD3_TAB
84
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
85
	db	"BD3 ", SID_DMODEL_WT, 0x48, 0x20, 0x01, 0x80, 0x0a, 0x07, 0xff
86
	db	0x48 | 0x80, 0x01	; Note/Wave Step #0
87
	db	0x4e | 0x00, 0x08	; Note/Wave Step #1
88
	db	0x45 | 0x80, 0x01	; Note/Wave Step #2
89
	db	0x35 | 0x80, 0x04	; Note/Wave Step #3
90
	db	0x4e | 0x00, 0x08	; Note/Wave Step #4
91
	db	0x40 | 0x00, 0x08	; Note/Wave Step #5
92
	db	0x47 | 0x00, 0x08	; Note/Wave Step #6
93
	db	0x3b | 0x00, 0x08	; Note/Wave Step #7
94
 
95
;; --------------------------------------------------------------------------
96
;;  Wavetable Snare Drum #1
97
;; --------------------------------------------------------------------------
98
SID_DMODEL_WT_SD1_TAB
99
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
100
	db	"SD1 ", SID_DMODEL_WT, 0x6b, 0x20, 0x08, 0x80, 0x0a, 0x04, 0xff
101
	db	0x6b | 0x00, 0x08	; Note/Wave Step #0
102
	db	0x3c | 0x80, 0x04	; Note/Wave Step #1
103
	db	0x6b | 0x00, 0x08	; Note/Wave Step #2
104
	db	0x3b | 0x80, 0x04	; Note/Wave Step #3
105
	db	0x6b | 0x00, 0x08	; Note/Wave Step #4
106
 
107
;; --------------------------------------------------------------------------
108
;;  Wavetable Snare Drum #2
109
;; --------------------------------------------------------------------------
110
SID_DMODEL_WT_SD2_TAB
111
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
112
	db	"SD2 ", SID_DMODEL_WT, 0x50, 0x20, 0x08, 0x80, 0x0a, 0x0a, 0xff
113
	db	0x50 | 0x00, 0x08	; Note/Wave Step #0
114
	db	0x3c | 0x80, 0x04	; Note/Wave Step #1
115
	db	0x3a | 0x80, 0x04	; Note/Wave Step #2
116
	db	0x50 | 0x00, 0x08	; Note/Wave Step #3
117
	db	0x51 | 0x00, 0x08	; Note/Wave Step #4
118
	db	0x52 | 0x00, 0x08	; Note/Wave Step #5
119
	db	0x53 | 0x00, 0x08	; Note/Wave Step #6
120
	db	0x54 | 0x00, 0x08	; Note/Wave Step #7
121
	db	0x55 | 0x00, 0x08	; Note/Wave Step #8
122
	db	0x56 | 0x00, 0x08	; Note/Wave Step #9
123
	db	0x57 | 0x00, 0x08	; Note/Wave Step #10
124
 
125
;; --------------------------------------------------------------------------
126
;;  Wavetable Snare Drum #3
127
;; --------------------------------------------------------------------------
128
SID_DMODEL_WT_SD3_TAB
129
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
130
	db	"SD3 ", SID_DMODEL_WT, 0x4b, 0x20, 0x08, 0x80, 0x0a, 0x01, 0x00
131
	db	0x4b | 0x00, 0x08	; Note/Wave Step #0
132
	db	0x3c | 0x80, 0x01	; Note/Wave Step #1
133
 
134
;; --------------------------------------------------------------------------
135
;;  Wavetable HiHat #1
136
;; --------------------------------------------------------------------------
137
SID_DMODEL_WT_HH1_TAB
138
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
139
	db	"HH1 ", SID_DMODEL_WT, 0x6c, 0x20, 0x08, 0x80, 0x0a, 0x00, 0xff
140
	db	0x6c | 0x80, 0x08	; Note/Wave Step #0
141
 
142
;; --------------------------------------------------------------------------
143
;;  Wavetable HiHat #2
144
;; --------------------------------------------------------------------------
145
SID_DMODEL_WT_HH2_TAB
146
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
147
	db	"HH2 ", SID_DMODEL_WT, 0x6c, 0x20, 0x08, 0x80, 0x0a, 0x02, 0xff
148
	db	0x6c | 0x80, 0x08	; Note/Wave Step #0
149
	db	0x33 | 0x00, 0x04	; Note/Wave Step #1
150
	db	0x6c | 0x80, 0x08	; Note/Wave Step #2
151
 
152
;; --------------------------------------------------------------------------
153
;;  Wavetable Tom #1
154
;; --------------------------------------------------------------------------
155
SID_DMODEL_WT_TOM1_TAB
156
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
157
	db	"TO1 ", SID_DMODEL_WT, 0x3c, 0x20, 0x04, 0x80, 0x0a, 0x0d, 0xff
158
	db	0x3c | 0x80, 0x04	; Note/Wave Step #0
159
	db	0x3b | 0x00, 0x04	; Note/Wave Step #1
160
	db	0x3a | 0x80, 0x04	; Note/Wave Step #2
161
	db	0x38 | 0x00, 0x04	; Note/Wave Step #3
162
	db	0x37 | 0x80, 0x04	; Note/Wave Step #4
163
	db	0x34 | 0x00, 0x04	; Note/Wave Step #5
164
	db	0x33 | 0x80, 0x04	; Note/Wave Step #6
165
	db	0x31 | 0x00, 0x04	; Note/Wave Step #7
166
	db	0x2f | 0x80, 0x04	; Note/Wave Step #8
167
	db	0x2d | 0x00, 0x04	; Note/Wave Step #9
168
	db	0x2a | 0x80, 0x04	; Note/Wave Step #10
169
	db	0x26 | 0x00, 0x04	; Note/Wave Step #11
170
	db	0x22 | 0x80, 0x04	; Note/Wave Step #12
171
	db	0x1c | 0x00, 0x04	; Note/Wave Step #13
172
	db	0x13 | 0x80, 0x04	; Note/Wave Step #14
173
 
174
;; --------------------------------------------------------------------------
175
;;  Wavetable Tom #2 (MEMO: try high tune and fast speed - sounds cool!)
176
;; --------------------------------------------------------------------------
177
SID_DMODEL_WT_TOM2_TAB
178
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
179
	db	"TO2 ", SID_DMODEL_WT, 0x3c, 0x20, 0x04, 0x80, 0x0a, 0x0d, 0x0c
180
	db	0x3c | 0x80, 0x04	; Note/Wave Step #0
181
	db	0x3b | 0x00, 0x01	; Note/Wave Step #1
182
	db	0x3a | 0x80, 0x04	; Note/Wave Step #2
183
	db	0x38 | 0x00, 0x01	; Note/Wave Step #3
184
	db	0x37 | 0x80, 0x04	; Note/Wave Step #4
185
	db	0x34 | 0x00, 0x01	; Note/Wave Step #5
186
	db	0x33 | 0x80, 0x04	; Note/Wave Step #6
187
	db	0x31 | 0x00, 0x01	; Note/Wave Step #7
188
	db	0x2f | 0x80, 0x04	; Note/Wave Step #8
189
	db	0x2d | 0x00, 0x01	; Note/Wave Step #9
190
	db	0x2a | 0x80, 0x04	; Note/Wave Step #10
191
	db	0x26 | 0x00, 0x01	; Note/Wave Step #11
192
	db	0x22 | 0x80, 0x04	; Note/Wave Step #12
193
	db	0x1c | 0x00, 0x01	; Note/Wave Step #13
194
	db	0x13 | 0x80, 0x04	; Note/Wave Step #14
195
 
196
;; --------------------------------------------------------------------------
197
;;  Wavetable Clap
198
;; --------------------------------------------------------------------------
199
SID_DMODEL_WT_CLAP_TAB
200
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
201
	db	"CLP ", SID_DMODEL_WT, 0x3c, 0x20, 0x08, 0x80, 0x0a, 0x04, 0x01
202
	db	0x3c | 0x00, 0x08	; Note/Wave Step #0
203
	db	0x70 | 0x80, 0x08	; Note/Wave Step #1
204
	db	0x30 | 0x00, 0x08	; Note/Wave Step #2
205
	db	0x3c | 0x80, 0x08	; Note/Wave Step #3
206
 
207
;; --------------------------------------------------------------------------
208
;;  Wavetable FX #1 (just a triangle wave - as basis for ring modulation)
209
;; --------------------------------------------------------------------------
210
SID_DMODEL_WT_FX1_TAB
211
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
212
	db	"FX1 ", SID_DMODEL_WT, 0x3c, 0x20, 0x01, 0x80, 0x0a, 0x00, 0xff
213
	db	0x3c | 0x80, 0x01	; Note/Wave Step #0
214
 
215
;; --------------------------------------------------------------------------
216
;;  Wavetable FX #2 (trilling triangle wave - also as basis for ring modulation)
217
;; --------------------------------------------------------------------------
218
SID_DMODEL_WT_FX2_TAB
219
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
220
	db	"FX2 ", SID_DMODEL_WT, 0x3c, 0x20, 0x01, 0x80, 0x0a, 0x03, 0x00
221
	db	0x3c | 0x80, 0x01	; Note/Wave Step #0
222
	db	0x30 | 0x00, 0x01	; Note/Wave Step #1
223
	db	0x3c | 0x80, 0x01	; Note/Wave Step #2
224
	db	0x48 | 0x00, 0x01	; Note/Wave Step #3
225
 
226
;; --------------------------------------------------------------------------
227
;;  Wavetable FX #3 (Triangle with Ringmodulation enabled)
228
;; --------------------------------------------------------------------------
229
SID_DMODEL_WT_FX3_TAB
230
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
231
	db	"FX3 ", SID_DMODEL_WT, 0x3c, 0x20, 0x41, 0x80, 0x0a, 0x00, 0xff
232
	db	0x3c | 0x80, 0x41	; Note/Wave Step #0
233
 
234
;; --------------------------------------------------------------------------
235
;;  Wavetable FX #4 (Triangle with Ringmodulation, frequency sweeped down)
236
;; --------------------------------------------------------------------------
237
SID_DMODEL_WT_FX4_TAB
238
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
239
	db	"FX4 ", SID_DMODEL_WT, 0x3c, 0x20, 0x41, 0x80, 0x0a, 0x0d, 0xff
240
	db	0x3c | 0x80, 0x41	; Note/Wave Step #0
241
	db	0x3b | 0x00, 0x41	; Note/Wave Step #1
242
	db	0x3a | 0x80, 0x41	; Note/Wave Step #2
243
	db	0x38 | 0x00, 0x41	; Note/Wave Step #3
244
	db	0x37 | 0x80, 0x41	; Note/Wave Step #4
245
	db	0x34 | 0x00, 0x41	; Note/Wave Step #5
246
	db	0x33 | 0x80, 0x41	; Note/Wave Step #6
247
	db	0x31 | 0x00, 0x41	; Note/Wave Step #7
248
	db	0x2f | 0x80, 0x41	; Note/Wave Step #8
249
	db	0x2d | 0x00, 0x41	; Note/Wave Step #9
250
	db	0x2a | 0x80, 0x41	; Note/Wave Step #10
251
	db	0x26 | 0x00, 0x41	; Note/Wave Step #11
252
	db	0x22 | 0x80, 0x41	; Note/Wave Step #12
253
	db	0x1c | 0x00, 0x41	; Note/Wave Step #13
254
	db	0x13 | 0x80, 0x41	; Note/Wave Step #14
255
 
256
;; --------------------------------------------------------------------------
257
;;  Wavetable FX #5 (Computer Effect, with high speed it sounds "Kraftwerkisch")
258
;; --------------------------------------------------------------------------
259
SID_DMODEL_WT_FX5_TAB
260
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
261
	db	"FX5 ", SID_DMODEL_WT, 0x54, 0x20, 0x04, 0x80, 0x0a, 0x0d, 0x0a
262
	db	0x54 | 0x80, 0x04	; Note/Wave Step #0
263
	db	0x3b | 0x00, 0x01	; Note/Wave Step #1
264
	db	0x60 | 0x80, 0x04	; Note/Wave Step #2
265
	db	0x38 | 0x00, 0x01	; Note/Wave Step #3
266
	db	0x54 | 0x80, 0x04	; Note/Wave Step #4
267
	db	0x34 | 0x00, 0x01	; Note/Wave Step #5
268
	db	0x60 | 0x80, 0x04	; Note/Wave Step #6
269
	db	0x31 | 0x00, 0x01	; Note/Wave Step #7
270
	db	0x54 | 0x80, 0x04	; Note/Wave Step #8
271
	db	0x2d | 0x00, 0x01	; Note/Wave Step #9
272
	db	0x60 | 0x80, 0x04	; Note/Wave Step #10
273
	db	0x26 | 0x00, 0x01	; Note/Wave Step #11
274
	db	0x54 | 0x80, 0x04	; Note/Wave Step #12
275
	db	0x1c | 0x00, 0x01	; Note/Wave Step #13
276
	db	0x60 | 0x80, 0x04	; Note/Wave Step #14
277
 
278
;; --------------------------------------------------------------------------
279
;;  Wavetable FX #6 (just another effect)
280
;; --------------------------------------------------------------------------
281
SID_DMODEL_WT_FX6_TAB
282
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
283
	db	"FX6 ", SID_DMODEL_WT, 0x18, 0x20, 0x01, 0x80, 0x0a, 0x05, 0x00
284
	db	0x18 | 0x80, 0x01	; Note/Wave Step #0
285
	db	0x24 | 0x00, 0x01	; Note/Wave Step #1
286
	db	0x30 | 0x80, 0x01	; Note/Wave Step #2
287
	db	0x3c | 0x00, 0x01	; Note/Wave Step #3
288
	db	0x48 | 0x80, 0x01	; Note/Wave Step #4
289
	db	0x54 | 0x00, 0x01	; Note/Wave Step #5
290
 
291
;; --------------------------------------------------------------------------
292
;;  Wavetable FX #7 (just another effect)
293
;; --------------------------------------------------------------------------
294
SID_DMODEL_WT_FX7_TAB
295
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
296
	db	"FX7 ", SID_DMODEL_WT, 0x18, 0x20, 0x02, 0x80, 0x0a, 0x04, 0x00
297
	db	0x18 | 0x80, 0x02	; Note/Wave Step #0
298
	db	0x3c | 0x00, 0x02	; Note/Wave Step #1
299
	db	0x24 | 0x00, 0x02	; Note/Wave Step #2
300
	db	0x3c | 0x00, 0x02	; Note/Wave Step #3
301
	db	0x30 | 0x80, 0x02	; Note/Wave Step #4
302
 
303
;; --------------------------------------------------------------------------
304
;;  Wavetable FX #8 (just another effect)
305
;; --------------------------------------------------------------------------
306
SID_DMODEL_WT_FX8_TAB
307
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
308
	db	"FX8 ", SID_DMODEL_WT, 0x70, 0x20, 0x08, 0x80, 0x0a, 0x08, 0x00
309
	db	0x70 | 0x80, 0x08	; Note/Wave Step #0
310
	db	0x68 | 0x00, 0x08	; Note/Wave Step #1
311
	db	0x60 | 0x00, 0x04	; Note/Wave Step #2
312
	db	0x58 | 0x80, 0x04	; Note/Wave Step #3
313
	db	0x50 | 0x00, 0x08	; Note/Wave Step #4
314
	db	0x48 | 0x00, 0x08	; Note/Wave Step #5
315
	db	0x40 | 0x80, 0x04	; Note/Wave Step #6
316
	db	0x38 | 0x00, 0x08	; Note/Wave Step #7
317
	db	0x30 | 0x00, 0x04	; Note/Wave Step #8
318
 
319
;; --------------------------------------------------------------------------
320
;;  Wavetable FX #9 (just another effect)
321
;; --------------------------------------------------------------------------
322
SID_DMODEL_WT_FX9_TAB
323
	;;	name    type           note  GLng  Wave   PW   Speed End   Loop
324
	db	"FX9 ", SID_DMODEL_WT, 0x18, 0x20, 0x04, 0x80, 0x0a, 0x11, 0x00
325
	db	0x18 | 0x80, 0x04	; Note/Wave Step #0
326
	db	0x54 | 0x00, 0x01	; Note/Wave Step #1
327
	db	0x24 | 0x00, 0x04	; Note/Wave Step #2
328
	db	0x48 | 0x80, 0x01	; Note/Wave Step #3
329
	db	0x30 | 0x00, 0x04	; Note/Wave Step #4
330
	db	0x3c | 0x00, 0x01	; Note/Wave Step #5
331
	db	0x3c | 0x80, 0x04	; Note/Wave Step #6
332
	db	0x30 | 0x00, 0x01	; Note/Wave Step #7
333
	db	0x48 | 0x00, 0x04	; Note/Wave Step #8
334
	db	0x18 | 0x80, 0x01	; Note/Wave Step #9
335
	db	0x54 | 0x00, 0x04	; Note/Wave Step #10
336
	db	0x24 | 0x00, 0x01	; Note/Wave Step #11
337
	db	0x48 | 0x80, 0x04	; Note/Wave Step #12
338
	db	0x30 | 0x00, 0x01	; Note/Wave Step #13
339
	db	0x3c | 0x00, 0x04	; Note/Wave Step #14
340
	db	0x3c | 0x80, 0x01	; Note/Wave Step #15
341
	db	0x30 | 0x00, 0x04	; Note/Wave Step #16
342
	db	0x48 | 0x00, 0x01	; Note/Wave Step #17