#amk 2

#option smwvtable

#SPC
{
	#title		"Castle"
	#game		"New Super Mario Bros."
	#comment	"Ported by Lui37"
}

#samples
{
	#optimized
	"ff6 timpani.brr"
	"dkc bass.brr"
	"yi bell.brr"
	"ff6 church organ.brr"
	"ff6 glock.brr"
	"ff6 normal choir.brr"
	"ct sitar.brr"
	"ff6 snare.brr"
	"ff6 flute.brr"
}

#instruments
{
	"ff6 timpani.brr"	$FF $E0 $B8 $09	$00	;@30 timpani
	"dkc bass.brr"		$8E $F4 $B8 $03	$00	;@31 bass
	"yi bell.brr"		$FF $F0 $B8 $04	$00	;@32 bell (transpose +1)
	"ff6 church organ.brr"	$FF $E2 $B8 $06	$00	;@33 organ
	"ff6 glock.brr"		$FF $F1 $B8 $03	$00	;@34 glockenspiel
	"ff6 normal choir.brr"	$F9 $E2 $B8 $04	$00	;@35 choir
	"ct sitar.brr"		$FF $EF $B8 $05	$00	;@36 sitar
	"ff6 snare.brr"		$69 $69 $7F $08	$00	;@37 snare
	"ff6 flute.brr"		$FF $E0 $B8 $04	$00	;@38 flute
}

;===============================;
; CHANNEL #0			;
;===============================;

#0 t50 w255

$EF $FE $25 $25
$F1 $05 $40 $01

h2 @31 $EE $A8 y10 q7F o3
[v255 f+4 v180 f+2]12
r1^2

/

v255 (1)[e8 v190 e8 v230]3
v255 (1)3
v255 (2)[g+8 v190 g+8 v230]3
v255 (2) g+16 v190 > g+16 < g+8 v230 (2)
v255 (3)[f+8 v190 f+8 v230]3
v255 (3)3
v255 (3) f+16 v190 > f+16 < f+8 v230 (3)
v255 (1)3
v255 (4)[a8 v190 a8 v230]3
v255 (2)3
> v255 [c8 v190 c8 v230]3
v255 c+8 v190 c+8 v230 c+16 v190 > c+16 < c+8 < v230 b8 v190 b8
v255 [a+8 v190 a+8 v230]3
v255 (4)3
v255 (2)3
v255 (2)3

v255 (5)[c+8 v190 c+8 v230]2 (6)[c+16 v190 > c+16 < c+8 v230]
v255 (5)(6)(5)
v255 (5)3
v255 (5)3
v255 (5)(6)(5)
v255 [g+8 v190 g+8 v230]3
v255 $ED $3E $0C g+2.

;===============================;
; CHANNEL #1			;
;===============================;

#1
@33 v120 y9 q7F o3
r2^2.
a4
g+1.
r2.
f+4 a4 > c+4
c8. c+32 d32 d+2 $E8 $60 $B0^2
r4
v120
d2.
c+2.
< b2.
a2.
g+2.
r2.

/

@33 | $ED $0F $E0 v150 y9 o3 c+4. d+8 e8 f+8
v140 g+2 > c+8 r8
c+2 < a+4
> c2.
< v150 a4. g+8 a8 b8
v140 > c+2 f+4
d+2 c4
g+2.
f+4. f+8 g+8 a8
g+4 c+8 r8 e4
d+4. c8 d+8 f+8
e4 c+8 r8 e4
d+4. d+8 < a+8 > d+8
d4 f+8 a16 r16 > d8 c+16 r16
c+2.
c2.

@34 v160 y10 o5
e8 g+8 > c+8 c+4.
< d+8 g8 a+8 a+4.
d8 f+8 a8 a4.
c+8 e8 g+8 g+4.
< a8 > d8 f+8 f+4.
r1.

;===============================;
; CHANNEL #2			;
;===============================;

#2
@33 v120 y10 q7F o3
r2^2.
f+4
d+1.
r2.
c+2 a4
g+4 > c2 $E8 $60 $B0^2
r4
v120 y11
< b2.
b2.
g+2.
f+2.
d+2.
r2.

/

@33 | $ED $0F $E0 | $EC $00 $00 $00 | $EE $00 | $E5 $00 $00 $00 y13 v120 o2
g+2. 
> c+2 g+8 r8
g+2 f+4
g+2.
e2.
a2
> c+4
c2 < g+4
> e2.
c+2.
e4 < g+8 r8 > c+4
< g+2.
> c+4 < g+8 r8 b4
a+4. a+8 g8 a+8
a4 > c+8 e16 r16 a8 g+16 r16
g+2.
g+2.

@34 v160 y10 o6
r4.^32 e4^16.
r4.^32 d+4^16.
r4.^32 d4^16.
r4.^32 c+4^16.
r4.^32 < a4^16.
r2.
@35 $EE $18 v145 y10 o3
$EC $00 $06 $01 | $E5 $0A $00 $38
g+2^8 r8

;===============================;
; CHANNEL #3			;
;===============================;

#3
@33 v120 y11 q7F o3
r2^2.
c+4
c1.
r2.
< a2 > f+2
g+2 $E8 $60 $B0^2
r4
@35 $EE $18 v145 y7 q7F o4
$EC $00 $06 $01 | $E5 $0A $00 $38
r2 f+1
r2 d4
r2 d4
r4 c2
$EC $00 $00 $00 | $E5 $00 $00 $00 r2.

/

h-2 @36 $EE $70 v160 y10 q7F o4 
$EA $30 | $DE $0C $0C $2C | $EC $00 $00 $00 | $E5 $00 $00 $00
c+4. d+8 e8 f+8
g+2 > c+4
c+2 < a+4
> c2.
< a4. g+8 a8 b8
> c+4. << g+8 > c+8 f+8
> c2 < d+4
g+2.
f+4. f+8 < g+8 > f+8
e4 g+8 r8 e4
d+4. g+8 d+8 f+8
c+4 g+8 r8 e4
g4. d+8 g8 a+8
f+2.
d+4 h0 @38 | $EE $40 | $EA $48 v150 y10 o4 $DE $1E $12 $7C | ;$E5 $10 $00 $50
d+8 g+16 r16 > c+8 d+16 r16
c2^8 $DF | $EA $00 | @30 o1 v80 c+32 v120 c+32 v160 c+32 v200 c+32

@35 $EE $18 v145 y13 o5
$EC $00 $06 $01 | $E5 $0A $00 $38
c+2.
< a+2.
a2.
g+4 e4 g+4
f+2 d4
d+2.
d+2^8 r8

;===============================;
; CHANNEL #4 (SFX)		;
;===============================;

#4
r1^1^4
@34 v110 y10 q7F o4
[c4 g+2] r4
r1^1
*
[r2.]6

/

@35 | $EE $18 v135 y13 o3
$EC $00 $06 $01 | $E5 $0A $00 $38
g+1.
> d+2.
c2.
c+2.
e2.
d+2.
e2.
c+2.
c+2 g+4
d+2.
c+2 g+4
g2.
f+2 e4
d+2.
d+2.

$EC $00 $00 $00 | $E5 $00 $00 $00
h0 @30 $EE $00 v210 y10 o1 c+2.
@32 v250 y7 o4 g+2.
r1^4
@30 v180 y10 o2 c+8 < g+8
> c+2.
@32 v250 y7 o4 a2.
r2 @30 y10 o1 v100 c+32 v120 c+32 v140 c+32 v160 c+32 v180 c+32 v200 c+32 v220 c+32 v240 c+32

;===============================;
; CHANNEL #5			;
;===============================;

#5
@35 $EE $18 v145 y13 q7F o4
$EC $00 $06 $01 | $E5 $0A $00 $38 
r2^2.
f+4
d+1.
r2.
c+2 f+4
d+1.
b1^4
a4
g+2.
f+2 r4
v135 d+2.
r2.

/

o4 v135 y7 c+1^8
d+8 e8 f+8
g+2.
f+2.
e2.
a2 g+4
g+2.
g+2.
f+2.
e2 > c+4
< f+2.
e2 b4
a+2.
a2 a4
g+2.
f+2.

> v145 e2.
d+2.
d2.
c+2 < b4
a2.
g+2.
g+2^8 r8

;===============================;
; CHANNEL #6 (SFX)		;
;===============================;

#6
@30 y10 q7F o1
[v150 f+8 r8 v80 f+8 r4.]12
r1^4
v80 c+32 v100 c+32 v120 c+32 v140 c+32 v160 c+32 v180 c+32 v200 c+32 v220 c+32

/

@32 v225 y6 o5 d2 | @33 v110 y10 o5 c+16 < g+16 c+16 g+16
[c+16 g+16 > c+16 < g+16 c+16 g+16]4
(60)[d+16 g+16 > c16 < g+16 d+16 g+16] d+16 g+16 | @30 v200 o2 c+8 < g+8
> c+8 | @33 v110 o5 c+16 < a16 e16 a16 [e16 a16 > c+16 < a16 e16 a16]3
(60)2
> (61)[c+16 < g+16 e16 g+16] | (63)[@30 o1 v210 c+8] | @33 v110 (61) | (64)[@30 o1 v70 c+32 v110 c+32 v150 c+32 v190 c+32
v210 f+8] | @33 v110 o5 c+16 < a16 f+16 a16 (62)[f+16 a16 > c+16 < a16 f+16 a16]
[e16 g+16 > c+16 < g+16 e16 g+16]2
(63) | @33 v110 o5 c16 < g+16 d+16 g+16 (60)
(65)[e16 g+16 > c+16 < g+16] | (63) | @33 v110 (65) | (64)
@33 v110 o5 [d+16 < a+16 g16 a+16] g16 a+16 *
(66)[f+16 a16 > d16 < a16] | (63) | @33 v110 (66) o4 f+16 a16
(63) | @33 v110 o5 [c+16 < g+16 d+16 g+16] d+16 g+16 *
d+16 f+16 d+16 f+16 d+16 g+16 d+16 f+16 d+16 c16 < g+16 d+16

o4 [g+16 > c+16]6
< [g16 a+16]6
[f+16 a16]6
[e16 g+16]6
[d16 f+16]6
< [g+16 > c+16 d+16 c+16]3
c2^8 r8

;===============================;
; CHANNEL #7 (SFX)		;
;===============================;

#7
@32 v200 y6 q7F o4 ;-2
g2.
[r2.]3
g2.
[r2.]3
g2.
[r2.]5

/

$F4 $03 @37 $EE $40 o3 y10
(70)[v200 b8 v140 b16 b16 v180 b8 v200 b32 v160 b32 v120 b32 v80 b32 v180 b8 v140 b8
v200 b8 v120 b16 v140 b16 v180 b16 v140 b16 v180 b8 v180 b8 v140 b8]7

v200 b8 v140 b16 b16 v180 b8 v200 b32 v160 b32 v120 b32 v80 b32 v180 b8 v140 b8
v200 b8 v120 b16 v140 b16 v180 b16 v140 b16 v180 b8 v60 b32 v80 b32 v100 b32 v120 b32 v140 b32 v160 b32 v180 b32 v200 b32

(70)3
v200 b4 b32 v160 b32 v120 b32 v80 b32 v70 b32 v90 b32 v80 b32 v70 b32 v80 b32 v100 b32 v120 b32 v140 b32 v160 b32 v180 b32 v200 b32 v240 b32
