Skip to content

Commit c7c395f

Browse files
committed
initial commit
0 parents  commit c7c395f

File tree

6 files changed

+841
-0
lines changed

6 files changed

+841
-0
lines changed

data/build.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/sh
2+
3+
GCC_PREFIX=arm-none-eabi
4+
SOURCE=gxsnd
5+
6+
${GCC_PREFIX}-gcc -mbig-endian -c ${SOURCE}.S -o ${SOURCE}.o
7+
${GCC_PREFIX}-objcopy -O binary ${SOURCE}.o ${SOURCE}.bin
8+
TOTAL=`${GCC_PREFIX}-size ${SOURCE}.o | tail -n 1 | awk -F ' ' '{ print $1 }'`
9+
START_HEX=`${GCC_PREFIX}-objdump -t ${SOURCE}.o | grep HEAD | awk -F ' ' '{print $1 }'`
10+
START=`printf %d 0x${START_HEX}`
11+
SIZE=`expr ${TOTAL} - ${START}`
12+
SIZE_HEX=`printf %x ${SIZE}`
13+
14+
tail -c ${SIZE} ${SOURCE}.bin > ${SOURCE}.dat
15+
16+
${GCC_PREFIX}-objdump -t ${SOURCE}.o | grep CH_ | awk -F ' ' '{print $5 " $" $1 }'

data/gxsnd.S

Lines changed: 301 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,301 @@
1+
#include "../gxsnd.h"
2+
3+
.org 0x00108000
4+
HEAD:
5+
.dc.l CH_1
6+
.dc.l CH_2
7+
.dc.l CH_3
8+
.dc.l CH_4
9+
.dc.l CH_5
10+
.dc.l CH_6
11+
.dc.l CH_7
12+
.dc.l CH_8
13+
.dc.l CH_9
14+
.dc.l CH_10
15+
.dc.l CH_11
16+
.dc.l CH_12
17+
.dc.l CH_13
18+
.dc.l CH_14
19+
.dc.l CH_15
20+
.dc.l CH_16
21+
.dc.l DATA_END
22+
23+
#define TEMPO 230
24+
25+
// Melody
26+
#define VC1 127
27+
CH_1:
28+
.dc.b BPM(TEMPO),REVERB(15,15)
29+
.dc.b VOICE(2),AR(120),PAN(7),RR(16),LFO(96,8,8),LFO_RAMP(32),DETUNE(1)
30+
LOOP_1:
31+
.dc.b G4LG(L2,100,VC1),TIE(L2,100),TIE(L2,100),C5(VC1)
32+
.dc.b A4LG(L2,100,VC1),TIE(L2,100),TIE(L2,100),D5(VC1)
33+
.dc.b C5LG(L2,100,VC1),TIE(L2,100),TIE(L2,100),G5(VC1)
34+
.dc.b Gb5LG(L2,100,VC1),TIE(L2,100),TIE(L2,100)
35+
.dc.b A5LG(L32,90,VC1-5),Ab5(VC1-5),G5(VC1-5),Gb5(VC1-5)
36+
.dc.b F5(VC1-5),E5(VC1-5),Eb5(VC1-5),D5(VC1-5)
37+
.dc.b Db5(VC1-5),C5(VC1-5),B4(VC1-5),Bb4(VC1-5)
38+
.dc.b A4(VC1-5),Ab4(VC1-5),G4(VC1-5),Gb4(VC1-5)
39+
.dc.b LOOP
40+
.dc.l LOOP_1
41+
.dc.b END
42+
43+
// Melody - delay
44+
#define VC2 115
45+
CH_2:
46+
.dc.b BPM(TEMPO),REVERB(15,15)
47+
.dc.b VOICE(2),AR(118),PAN(9),RR(16),LFO(96,8,8),LFO_RAMP(32),DETUNE(-8),R(L8_)
48+
LOOP_2:
49+
.dc.b G4LG(L2,100,VC2),TIE(L2,100),TIE(L2,100),C5(VC2)
50+
.dc.b A4LG(L2,100,VC2),TIE(L2,100),TIE(L2,100),D5(VC2)
51+
.dc.b C5LG(L2,100,VC2),TIE(L2,100),TIE(L2,100),G5(VC2)
52+
.dc.b Gb5LG(L2,100,VC2),TIE(L2,100),TIE(L2,100)
53+
.dc.b A5LG(L32,90,VC2-5),Ab5(VC2-5),G5(VC2-5),Gb5(VC2-5)
54+
.dc.b F5(VC2-5),E5(VC2-5),Eb5(VC2-5),D5(VC2-5)
55+
.dc.b Db5(VC2-5),C5(VC2-5),B4(VC2-5),Bb4(VC2-5)
56+
.dc.b A4(VC2-5),Ab4(VC2-5),G4(VC2-5),Gb4(VC2-5)
57+
.dc.b LOOP
58+
.dc.l LOOP_2
59+
.dc.b END
60+
61+
// SEQ
62+
#define VC3 124
63+
CH_3:
64+
.dc.b BPM(TEMPO),REVERB(15,15)
65+
.dc.b VOICE(5),AR(127),RR(48),LFO(48,12,4),DETUNE(0)
66+
LOOP_3:
67+
.dc.b REPEAT_START
68+
.dc.b PAN(1),PANNING(255,16)
69+
.dc.b G4LG(L16,40,VC3),G4(VC3),E5(VC3),C5(VC3)
70+
.dc.b G4(VC3),Gb5(VC3),D5(VC3),G4(VC3)
71+
.dc.b E5(VC3),C5(VC3),G4(VC3),Gb5(VC3)
72+
.dc.b D5(VC3),G4(VC3),E5(VC3),C5(VC3)
73+
.dc.b PAN(16),PANNING(255,1)
74+
.dc.b G4LG(L16,40,VC3),G4(VC3),E5(VC3),C5(VC3)
75+
.dc.b G4(VC3),Gb5(VC3),D5(VC3),G4(VC3)
76+
.dc.b E5(VC3),C5(VC3),G4(VC3),Gb5(VC3)
77+
.dc.b D5(VC3),G4(VC3),E5(VC3),C5(VC3)
78+
79+
.dc.b PAN(1),PANNING(255,16)
80+
.dc.b A4LG(L16,40,VC3),A4(VC3),Gb5(VC3),D5(VC3)
81+
.dc.b A4(VC3),G5(VC3),D5(VC3),A4(VC3)
82+
.dc.b Gb5(VC3),D5(VC3),A4(VC3),G5(VC3)
83+
.dc.b D5(VC3),A4(VC3),Gb5(VC3),D5(VC3)
84+
.dc.b PAN(16),PANNING(255,1)
85+
.dc.b A4LG(L16,40,VC3),A4(VC3),Gb5(VC3),D5(VC3)
86+
.dc.b A4(VC3),G5(VC3),D5(VC3),A4(VC3)
87+
.dc.b Gb5(VC3),D5(VC3),A4(VC3),G5(VC3)
88+
.dc.b D5(VC3),A4(VC3),Gb5(VC3),D5(VC3)
89+
.dc.b REPEAT_END(2,0,0)
90+
.dc.b LOOP
91+
.dc.l LOOP_3
92+
93+
.dc.b END
94+
95+
// SEQ - delay
96+
#define VC4 118
97+
CH_4:
98+
.dc.b BPM(TEMPO),REVERB(15,15)
99+
.dc.b VOICE(5),AR(127),RR(48),LFO(48,12,4),DETUNE(-8),R(L16_)
100+
LOOP_4:
101+
.dc.b REPEAT_START
102+
.dc.b PAN(16),PANNING(255,1)
103+
.dc.b G4LG(L16,40,VC4),G4(VC4),E5(VC4),C5(VC4)
104+
.dc.b G4(VC4),Gb5(VC4),D5(VC4),G4(VC4)
105+
.dc.b E5(VC4),C5(VC4),G4(VC4),Gb5(VC4)
106+
.dc.b D5(VC4),G4(VC4),E5(VC4),C5(VC4)
107+
.dc.b PAN(1),PANNING(255,16)
108+
.dc.b G4LG(L16,40,VC4),G4(VC4),E5(VC4),C5(VC4)
109+
.dc.b G4(VC4),Gb5(VC4),D5(VC4),G4(VC4)
110+
.dc.b E5(VC4),C5(VC4),G4(VC4),Gb5(VC4)
111+
.dc.b D5(VC4),G4(VC4),E5(VC4),C5(VC4)
112+
113+
.dc.b PAN(16),PANNING(255,1)
114+
.dc.b A4LG(L16,40,VC4),A4(VC4),Gb5(VC4),D5(VC4)
115+
.dc.b A4(VC4),G5(VC4),D5(VC4),A4(VC4)
116+
.dc.b Gb5(VC4),D5(VC4),A4(VC4),G5(VC4)
117+
.dc.b D5(VC4),A4(VC4),Gb5(VC4),D5(VC4)
118+
.dc.b PAN(1),PANNING(255,16)
119+
.dc.b A4LG(L16,40,VC4),A4(VC4),Gb5(VC4),D5(VC4)
120+
.dc.b A4(VC4),G5(VC4),D5(VC4),A4(VC4)
121+
.dc.b Gb5(VC4),D5(VC4),A4(VC4),G5(VC4)
122+
.dc.b D5(VC4),A4(VC4),Gb5(VC4),D5(VC4)
123+
.dc.b REPEAT_END(2,0,0)
124+
.dc.b LOOP
125+
.dc.l LOOP_4
126+
.dc.b END
127+
128+
// Dist.Gt
129+
#define VV5 31
130+
#define VC5 120
131+
CH_5:
132+
.dc.b BPM(TEMPO),REVERB(4,15)
133+
.dc.b VOICE(VV5),AR(127),PAN(10),RR(100),LFO(0,0,0),DETUNE(0)
134+
LOOP_5:
135+
.dc.b REPEAT_START
136+
.dc.b C4LG(L2,99,VC5),R(L8),C4L(L8,VC5),R(L16),C4L(L16,VC5),R(L16),C4(VC5)
137+
.dc.b C4LG(L2,99,VC5),R(L8),C4L(L8,VC5),R(L16),C4L(L16,VC5),R(L16),C4(VC5)
138+
.dc.b D4LG(L2,99,VC5),R(L8),D4L(L8,VC5),R(L16),D4L(L16,VC5),R(L16),D4(VC5)
139+
.dc.b D4LG(L2,99,VC5),R(L8),D4L(L8,VC5),R(L16),D4L(L16,VC5),R(L16),D4(VC5)
140+
.dc.b REPEAT_END(2,0,0)
141+
.dc.b LOOP
142+
.dc.l LOOP_5
143+
.dc.b END
144+
145+
// Chorus
146+
#define VV6 8
147+
#define VC6 115
148+
CH_6:
149+
.dc.b BPM(TEMPO),REVERB(8,8)
150+
.dc.b VOICE(VV6),AR(112),PAN(4),RR(8),LFO(48,12,7),LFO_RAMP(100),DETUNE(-6)
151+
LOOP_6:
152+
.dc.b REPEAT_START
153+
.dc.b C3LG(L2,100,VC6),TIE(L2,80),C4LG(L2,100,VC6),TIE(L2,80)
154+
.dc.b D3LG(L2,100,VC6),TIE(L2,80),D4LG(L2,100,VC6),TIE(L2,80)
155+
.dc.b REPEAT_END(2,0,0)
156+
.dc.b LOOP
157+
.dc.l LOOP_6
158+
.dc.b END
159+
160+
CH_7:
161+
.dc.b BPM(TEMPO),REVERB(8,8)
162+
.dc.b VOICE(VV6),AR(112),PAN(8),RR(8),LFO(48,12,7),LFO_RAMP(100),DETUNE(0)
163+
LOOP_7:
164+
.dc.b REPEAT_START
165+
.dc.b E3LG(L2,100,VC6),TIE(L2,80),E4LG(L2,100,VC6),TIE(L2,80)
166+
.dc.b Gb3LG(L2,100,VC6),TIE(L2,80),Gb4LG(L2,100,VC6),TIE(L2,80)
167+
.dc.b REPEAT_END(2,0,0)
168+
.dc.b LOOP
169+
.dc.l LOOP_7
170+
.dc.b END
171+
172+
CH_8:
173+
.dc.b BPM(TEMPO),REVERB(8,8)
174+
.dc.b VOICE(VV6),AR(112),PAN(12),RR(8),LFO(48,12,7),LFO_RAMP(100),DETUNE(6)
175+
LOOP_8:
176+
.dc.b REPEAT_START
177+
.dc.b G3LG(L2,100,VC6),TIE(L2,80),G4LG(L2,100,VC6),TIE(L2,80)
178+
.dc.b A3LG(L2,100,VC6),TIE(L2,80),A4LG(L2,100,VC6),TIE(L2,80)
179+
.dc.b REPEAT_END(2,0,0)
180+
.dc.b LOOP
181+
.dc.l LOOP_8
182+
.dc.b END
183+
184+
// Hit
185+
#define VC9 124
186+
CH_9:
187+
.dc.b BPM(TEMPO),REVERB(8,15)
188+
.dc.b VOICE(62),AR(127),RR(100),LFO(0,0,0),DETUNE(0)
189+
LOOP_9:
190+
.dc.b REPEAT_START
191+
.dc.b PAN(4)
192+
.dc.b C5LG(L2,90,VC9),R(L4_),C5L(L16,VC9),C5(VC9)
193+
.dc.b C5LG(L2,90,VC9),R(L2)
194+
.dc.b PAN(12)
195+
.dc.b D5LG(L2,90,VC9),R(L4_),D5L(L16,VC9),D5(VC9)
196+
.dc.b D5LG(L2,90,VC9),R(L2)
197+
.dc.b REPEAT_END(2,0,0)
198+
.dc.b LOOP
199+
.dc.l LOOP_9
200+
.dc.b END
201+
202+
// Dr.B
203+
#define _BL(l) C0L(l,127)
204+
#define _B C0(127)
205+
CH_10:
206+
.dc.b BPM(TEMPO),AR(123),REVERB(0,0),PAN(8),RHYTHM_ON
207+
LOOP_10:
208+
.dc.b REPEAT_START
209+
.dc.b _BL(L4),_B,_B,_B
210+
.dc.b _BL(L4),_B,_BL(L8_),_BL(L16),_BL(L8),_B
211+
.dc.b _BL(L4),_B,_B,_B
212+
.dc.b _BL(L4),_B,_B,_B
213+
.dc.b REPEAT_END(2,0,0)
214+
.dc.b LOOP
215+
.dc.l LOOP_10
216+
.dc.b END
217+
218+
// Dr.S
219+
#define _SL(l) Db2L(l,127)
220+
#define __SL(l) Db2L(l,123)
221+
#define _S Db2(127)
222+
#define _CL(l) A1L(l,127)
223+
CH_11:
224+
.dc.b BPM(TEMPO),AR(123),REVERB(0,0),PAN(6),RHYTHM_ON
225+
LOOP_11:
226+
.dc.b _CL(L4),_S,R(L4),_SL(L8_),__SL(L16)
227+
.dc.b R(L4),_S,R(L4),_SL(L16),_S,_S,_S
228+
.dc.b R(L4),_S,R(L4),_SL(L8_),__SL(L16)
229+
.dc.b R(L4),_S,R(L4),_SL(L16),_SL(L8),_SL(L16)
230+
231+
.dc.b _CL(L4),_S,R(L4),_SL(L8_),__SL(L16)
232+
.dc.b R(L4),_S,R(L4),_SL(L16),_S,_S,_S
233+
.dc.b R(L4),_S,R(L4),_SL(L8_),__SL(L16)
234+
.dc.b R(L4),_SL(L8_),_SL(L16),__SL(L64),_SL(L32_),_SL(L16),_S,_S,Bb0(127),Bb0(127),C1(127),Db1(127)
235+
.dc.b LOOP
236+
.dc.l LOOP_11
237+
.dc.b END
238+
239+
// Dr.H
240+
#define _CHL(l) Gb1L(l,123)
241+
#define _CH Gb1(123)
242+
#define _OHL(l) G1L(l,123)
243+
#define _OH G1(123)
244+
CH_12:
245+
.dc.b BPM(TEMPO),AR(123),REVERB(0,0),PAN(2),RHYTHM_ON
246+
LOOP_12:
247+
.dc.b REPEAT_START
248+
.dc.b _CHL(L8),_OH,_CHL(L16),_CH,_OHL(L8),_CH,_OH,_CHL(L16),_CH,_OHL(L8)
249+
.dc.b _CHL(L8),_OH,_CHL(L16),_CH,_OHL(L8),_CH,_OH,_OHL(L4)
250+
.dc.b REPEAT_END(3,0,0)
251+
.dc.b _CHL(L8),_OH,_CHL(L16),_CH,_OHL(L8),_CH,_OH,_CHL(L16),_CH,_OHL(L8)
252+
.dc.b _CHL(L8),_OH,_CHL(L16),_CH,_OHL(L8)
253+
.dc.b PAN(14),A1L(L8_,125),A1(125),A1L(L8,125),PAN(2)
254+
.dc.b LOOP
255+
.dc.l LOOP_12
256+
.dc.b END
257+
258+
// Bass
259+
#define VC13 126
260+
CH_13:
261+
.dc.b BPM(TEMPO),REVERB(4,4)
262+
.dc.b VOICE(36),AR(127),PAN(5),RR(6),LFO(0,0,0),DETUNE(0)
263+
LOOP_13:
264+
.dc.b REPEAT_START
265+
.dc.b C2L(L8,VC13),C3L(L16,VC13),C2(VC13),C2(VC13),C2(VC13),D2(VC13),C2(VC13)
266+
.dc.b C2(VC13),C3(VC13),C2(VC13),C2(VC13),C2(VC13),C2(VC13),G2(VC13),C2(VC13)
267+
.dc.b C2(VC13),C2(VC13),C3(VC13),C2(VC13),G2(VC13),C2(VC13),E2(VC13),C2(VC13)
268+
.dc.b C2(VC13),C3(VC13),C2(VC13),C2(VC13),C2(VC13),C2(VC13),G2(VC13),C3(VC13)
269+
.dc.b D2L(L8,VC13),D3L(L16,VC13),D2(VC13),D2(VC13),D2(VC13),E2(VC13),D2(VC13)
270+
.dc.b D2(VC13),D3(VC13),D2(VC13),D2(VC13),D2(VC13),D2(VC13),A2(VC13),D2(VC13)
271+
.dc.b D2(VC13),D2(VC13),D3(VC13),D2(VC13),A2(VC13),D2(VC13),F2(VC13),D2(VC13)
272+
.dc.b D2(VC13),D3(VC13),D2(VC13),D2(VC13),D2(VC13),D2(VC13),A2(VC13),D3(VC13)
273+
.dc.b REPEAT_END(2,0,0)
274+
.dc.b LOOP
275+
.dc.l LOOP_13
276+
.dc.b END
277+
278+
// Filt
279+
CH_14:
280+
.dc.b BPM(TEMPO),REVERB(15,10)
281+
.dc.b VOICE(21),AR(120),RR(6),LFO(0,0,0),DETUNE(0)
282+
LOOP_14:
283+
.dc.b PAN(8),PANNING(255,1)
284+
.dc.b C2LG(L2,100,120),TIE(L2,100),TIE(L2,100),TIE(L2,99)
285+
.dc.b PAN(8),PANNING(255,16)
286+
.dc.b D2LG(L2,100,120),TIE(L2,100),TIE(L2,100),TIE(L2,99)
287+
.dc.b PAN(8),PANNING(255,1)
288+
.dc.b C3LG(L2,100,120),TIE(L2,100),TIE(L2,100),TIE(L2,99)
289+
.dc.b PAN(8),PANNING(255,16)
290+
.dc.b D3LG(L2,100,120),TIE(L2,100),TIE(L2,100),TIE(L2,99)
291+
.dc.b LOOP
292+
.dc.l LOOP_14
293+
.dc.b END
294+
295+
CH_15:
296+
CH_16:
297+
.dc.b END
298+
DATA_END:
299+
.dc.b END
300+
301+

0 commit comments

Comments
 (0)