̃eLXǵuMS SVbNvȂǁÃtHgŌ邱Ƃz肵Ă܂B
ȂA͂̕ɏĂe͓Ǝ̌،ʂɏĂAmȎdl̂܂Ƃ߂ł͂ȂƂB





@@@@@@GBA TEhtH[}bgɂĂ̂܂Ƃߎ
				Ver. 1.6a
@@@@@@@@@@@@@@@@@@@Written by nagonaDKG4NAGONA


1. ͂߂

̎́AQ[{[CAhoXiȉGBAj̃TEh̎̂łB
Web Ă݂ĂÂ悤ȏ񂪂ȂȂȂ߁AŌ؂
mFʂL^Ă܂B
Ώۂ́Asappy ŋȂĐłׂ̂ĂłAł FR Ώۂɘbi߂Ă܂B

ȂA͈̎ȉ̂ƂɂĂx킩Ăl̓eƂȂĂ܂B

-Gameboy Advance ̃n[h̒m
-Sappy 2006 ̎g킩ĂiȂւ邽߂̑삪łj
-MIDI ̂Ƃx킩Ă
-킩ĂȂĂ͂ŃOOė[߂

o邾eȂĐĂƎv܂AeeɁAƎv܂B
ŒA2iA16imĂāAoCiGfB^x̔\͕͂KvƎvĂB
ȂA̎ŎgĂ閼̂́Anagona Ɍď̂Ă邾ŁÂł͂܂B

̎A芮x̍ BGM ̍쐬Ɍq܂悤ɁB


ȂA̎ŎgpĂc[͈ȉ̂SłB

-MID2GBA
-sappy2006
-oCiGfB^
-Audacity



2. FR ł̃TEhɂ

2.1 GBA ̉ɂ

GBA͈ȉ̂U̃TEh@\Ă܂B

1. pXgP
2. pXgQ
3. g`
4. mCY
5. DirectSoundP
6. DirectSoundQ

ꂼȉ̂悤ȓ̉ƂȂĂ܂B

pXgPCQF
@@@@t@~RƓl̃sRsRB4ނ̉o
g`@@F
@@@@K͂ PCM ̂悤Ȃ́BFR ł͔Cӂ 4bit 32 Tv̔g`ݒ肷邱ƂłB
mCY@@@@@@F
@@@@mCYBzCgmCYBh̃nCnbgAʉɂ悭gB
DirectSoundPCQ F
@@@@GBA ̃LBPCM ۂƂłBĂ FR ł PCM ƎvĂĂ܂ȂB

pXgAg`AmCÝA GB R̉łB
ꂼ̉ŁAƗčAAE3ނ̃psƂł܂B
FR ł DirectSound ́A 2 𓯊ĎgƂŃXeIPCMƂĎgĂ܂B


2.2 FR ł̔ɂ

FR ł́AL46𓝍ĈÃ\tgEFA MIDI Ƃ鉹hCogpāA
BGM łȂAlXȌʉ܂߂ĉ炵Ă܂B

FR ł BGM ʉ́Aׂāuȃe[uvƌĂ΂AXĝ悤Ȃ̂ŊǗĂ܂B
Q[vỎtv́AԖڂ̋Ȃt邩ƂƋɉhCoɑA
ɁAǂ̋Ȃt΂̂𔻒fĂ܂B

̃AhX̏񂩂Aɋȏ񂪓ǂݍ܂܂B
̋ȏɂ́Aꂩ牉t悤ƂĂȂ̃gbNA{CXO[vƃV[PXf[^݂̏ȂǂĂ܂B
QƂJԂƂŁAȂɕKvȏW߁AׂĂ̏W߂Ă牉tn܂̂łB

Ȃ̍Đ̂߂ɕKvȏW߂邽߂ɁAhCo͋ȃe[u珇Ɉȉ̂悤ȏǂݍ݂܂B

@@@@@@@
@@@@@@@ȃe[u
@@@@@@@
@@@@@@@@@@
@@@@@@@@@(Q)
@@@@@@@@@@
@
@@@@@@ȏ(Header)@@@@@
@
 @@@@@@@@@@@@@ 
 @@@(Q) @@@@@@@(Q)
 @@@@@@@@@@@@@ 

V[PXf[^@{CXO[v@

@@@@@@@@@@@@@@@
     @@  (Q)   @@iQƁj
    @@@@              @@@@@@@
@@@@@
h{CXO[v@(Q)    o̓{CXwe[u
@@@    
@@@@@@@@@@@@@@
@@@@@ (Q) @@@@ (Q) 
@@@@@@@@@@@@@@@@@@@
@@@@@@@@
       @@     {CXf[^g`f[^
                


ȃe[úA 1 Ȃ 8 oCg̃oCif[^AȂf[^ƂȂĂ܂B

FR ł́A̋ȃe[u 467f0ch n܂ĂAS 347 ȕ̏񂪏܂Ă܂B
̗͓̈ɂKv͖Ǝv܂A ȃe[ugKvꍇ́AȉQlɂĂB

2.2.1 ȃe[u

8 oCg͈̓ȉ̒ʂłB

1`4oCg (+0h`+3h)
	V[PX̋ȏAhXiwb_AhXj
5`6oCg (+4h`+5h)
	o̓^[QbgF0000hcBGM , 0001hcʉA , 0002hcWOixAbvj , 0003hcHPxABGMƂ͕ʂɖ葱Kv̂鉹
7`8oCg(+6h`+7h)
	5`6oCgڂƓ̂Hi0000h łȂ݂cHj

V[PX̋ȏAhXƂ́AȒPɌ MID2AGB  MIDI ϊƂɁA .s t@C̖ɂ̈w܂B
Sappy2006 łA Header ɕ\AhXłB

o̓^[QbǵAȏAhXŎw肵Ȃɓ邩ɂĒlςKv܂B
Ȃ̍ւ̏ꍇA̋ȂƎgpړIߕύXKv͖̂łAȃe[ugĐVȂꍇA
wԈႤƌʉ BGM r₦AɉȂ̖肪܂B
ȂA^[QbgƂɎggbNɐ܂Bȏ̃gbNgpĂ܂̂ŒӂĂB
00h ł 10 gbNA 01h ł 3 gbNA 02h ł͇HgbNA03h ł 1 gbNƂȂ܂B
ȊO̒lĂ܂̂ŒӂĂB


2.2.2 ȏ(Header)

ȉ̂悤ȏ񂪏܂Ă܂B

EV[PXgbN
E}X^[o[u
EDx
Egp{CXO[ṽAhX
EegbÑV[PX̐擪AhX

ɂĂ̓V[PXf[^̐ŏڂ܂B

2.2.3 V[PXf[^

ȒPɌƉtɎgyłB
MIDI ̃V[PXgbNƂقړłB
ڍׂ 4 V[PXf[^ (.st@C) ɂ B

2.2.4 {CXO[v

V[PXf[^Ŏw肷鉹Fԍŉ炷LqĂ܂B
̃e[u쐬AύX邱ƂŐVF쐬ł܂B
KvɉāÃh{CXO[vAo̓{CXwe[uA
{CXf[^Ag`f[^ǂݍ܂܂B
ڂ 3.1 {CXO[v QƂĂB

2.2.5 h{CXO[v

{CXO[vŃhp̎w肪sꂽꍇɎQƂ{CXO[vłB
hpȂ̂ŁA VOICE ߂ƂłȂAm[gio[Ƃ̉FƂĈ܂B
{Iɂ͒ʏ̃{CXO[vƓ悤ɏĂ܂B
ႤƂ́Aꕔh{CXO[vp̃tOA
pXgw肵ĂijƂłB

2.2.6 o̓{CXwe[u

{CXO[vŉw肳ꂽꍇɎQƂe[ułB
m[gio[Ƃɂǂ̉F炷w肵܂B

2.2.7 {CXf[^

ۂɖ鉹F̂̂łB
8bit m wav f[^ɑ܂B

2.2.8 g`f[^

g`Ŏg 16 oCg̔g`f[^łB




3. Fi{CXj


3.1 {CXO[v

FR ̉hCoł́AȂƂɍő 128 ށiZbgj̉Fݒ肵ĂƂł܂B
̉F̂Ƃ{CXƌĂсA128 ނ̃Zbg{CXO[vƂ܂B

{CX 1 ɂ12oCgŁA{CXO[vł͂ꂪ 128 Av 1536 oCg̘Af[^ƂċLq܂B
{CXɂ́Aǂ̉ǂ̔g`Ŗ炷Aǂ̂悤ȋŖ炷Ƃ񂪏Ă܂B

ƂāAݒ̏ԂoƁAȉ̂悤ɂȂĂ܂B

@@01 3C 00 00 02 00 00 00 00 00 0F 00

̓pXgPŃf[eB[ 50% ̉𔭉܂ōő剹ʂŏo͂ƂӖĂ܂B
Ȃɂ炳ς肾Ǝv܂AŐĂ܂B

ȂAF̍쐬́AŐƂɓeႢ܂̂ŁAꂼĂ܂B


3.2 pXg̉F쐬

{CX̐擪1oCĝ3rbg 001b  010b ̏ꍇApXg炷wƂȂ܂B

pXg 2 `l܂AƗĂĂꂼ̓͂PłB
`l̃pXg𕡐̃gbNŎgpĂ1܂B
a炵ꍇȂǂ́A2̃gbNɕ1炷Kv܂B

{CX̃oCif[^͈ȉ̂悤ȈӖ܂B

1oCg(+00h)
	bit2-0 : o͉ 001:pXgP, 010:pXgQ
	bit3   : iFRł 1 g邪 0 łȂj
	bit7-4 : gp
2oCg(+01h)
	Bׂ 3ch
3oCg(+02h)
	B 00h ?
4oCg(+03h)
	
5oCg(+04h)
	f[eB[ (00h = 12.5%, 01h = 25%, 02h = 50%, 03h = 75%)
6`8oCg((+05h`+07h)
	 00h
9oCg(+08h)
	A^bN^CF00h(ő)-ffh(Œx)
10oCg(+09h)
	fBPC^CF00h(ő)-ffh(Œx)
11oCg(+0ah)
	TXeBxF 00h(mute)-0fh(ő)
12oCg(+0bh)
	[X^C: 00h(ő)-ffh(Œx)

ȂAR͕słAۂɃpXg`ꍇA擪1oCg 09h  0ah gpĂ܂B
01h  02h gpĂȂ悤łAقƂǂ̏ꍇ 09h, 0ah gpĂ܂̂ŁA
ɗR 09h, 0ah gpقƎv܂B

1.6ǋLF l 8 ꍇAIɔɏȃv`mCY悤łB
@@@@@@Aœ炷ꍇA؂ڂ킩悤ɂȂ悤łB

f[eB[ɂ

GBA ̃pXǵAGx[vƂl邱Ƃňȉ4ނ̉FoƂł܂B
ʓIɁAg`㑤ɂȂĂƂ낪Ŝ̉ɂȂĂ邩ŕ\܂Bf[eB[ƌ܂B

f[eB[ 12.5%@@@-_______-________
łBɓ˂h悤ȉłB

f[eB[  25%@@--______--______
50% ̑fƁA12.5% ̂̂傤ǒԂłBrIڗɂȂȂ̂ŁACfBɎg邱ƂłB

f[eB[  50%@@----____----____
fȉFłBԂȂƂ邩B

f[eB[  75%@@------__------__
25%̏Ɖ̒t]̂ŁA̕ 25% ƓɂȂ܂B
g`t]Ă邽߁A 25% ̔g`ƊɂȂĂ܂B
2 ̃pXgŗ 25% ̉Fgꍇ́AЕ 75% ɂĂƗ̉ɂȂ܂B

A^bNEfBPCETXeBE[XɂẮAĂB ADSR łƍKɂȂ܂B


3.3 g`̉F쐬

g`Ƃ́A[IɌƋK͂̂ƂĂK͂ PCM łB
U16iK(4bit)  32 Tv̔g`JԂƂŉo܂B

{CX̐擪1oCĝ3rbg 011b ̏ꍇAg`炷wƂȂ܂B

g`̓͂PłB
`l̃pXg𕡐̃gbNŎgpĂ1܂B
܂AʂɂςłB
GBA ̃n[hdlA 0%A25%A50%A100% ̉ʂwł܂B
ADSR ŏXɉʂȂ悤ȎwĂ̐ɔ邱ƂɒӂĂB

{CX̃oCif[^͈ȉ̂悤ȈӖ܂B

1oCg(+00h)
	bit2-0 : o͉ 011b 
	bit3   : 
	bit7-4 : gp
2oCg(+01h)
	Bׂ 3ch
3-4oCg(+02h`03h)
	Bׂ 00h
5`8oCg(+05h`+07h)
	g`QƐAhX
9oCg(+08h)
	A^bN^CF00h(ő)-ffh(Œx)
10oCg(+09h)
	fBPC^CF00h(ő)-ffh(Œx)
11oCg(+0ah)
	TXeBxF 00h(mute)-0fh(ő)
12oCg(+0bh)
	[X^C: 00h(ő)-ffh(Œx)

g`QƐAhXƂ

ɐ悤ɁA@g`́A Wave foCXɂȂĂ܂B
܂AƂȂ Wave KvłB
̂ǂŵ̏ꏊɂłB

F 00 ac 01 08  0801ac00 Ԓn̏ǂݍ

ȂA FR ł͍ŏʃoCg͕K 08h Ȃ̂łA GBA ŃJ[gbW̃f[^ 08000000h zu邩łB
ȖŁAAhX񂪂ꍇ 08000000h člĂB

QƐɂ́Aȉ̂悤16oCg̃f[^܂B

ff ee dd cc bb aa 99 88 77 66 55 44 33 22 11 00

̗́Aȉ̂悤Ȕg`ƂĔF܂

f  ++
e    ++
d      ++
c        ++
b          ++
a            ++
9              ++
8  ______________++________________
7                  ++
6                    ++
5                      ++
4                        ++
3                          ++
2                            ++
1                              ++
0                                ++

ۂɖ鉹́A̔g`JԂꂽ̂ƂȂ܂B

܂Â悤ȃf[^Ȃ

01 24 7a de fe da 74 21 01 24 7a de fe da 74 21

f         +               +         
e        + +             + +          
d       +   +           +   +         
c                                 
b                                 
a      +     +         +     +        
9                                 
8__________________________________
7     +       +       +       +       
6                                 
5                                 
4    +         +     +         +      
3                                 
2   +           +   +           +     
1  +             + +             +    
0 +               +                 


TCĝ悤ȉo܂B

Ȃ݂ɂłAg`̉𔼕ɏk߂1IN^[uɂȂ܂̂ŁA
̃TCg

02 7d fd 72 02 7d fd 72 02 7d fd 72 02 7d fd 72

f     +       +       +       +       
e                                
d    + +     + +     + +     + +          
c                                
b                                
a                                
9                                
8 __________________________________
7   +   +   +   +   +   +   +   +         
6                                
5                                
4                                
3                                
2  +     + +     + +     + +     +        
1                                
0 +       +       +       +           


Ƃ悤ɂƁAV[PXf[^1IN^[uto܂B
t

00 11 23 45 68 ab cd ee ff ee dc ba 86 54 32 11

f                 ++                
e               ++  ++                
d              +      +             
c             +        +            
b            +          +           
a           +            +          
9                                 
8 _________+______________+_______ 
7                                 
6         +                +        
5        +                  +       
4       +                    +      
3      +                      +     
2     +                        +    
1   ++                          +    
0 ++                                

ƂƁA1IN^[uႢtɂȂ܂B

FR ł́Ag`2JԂg`Wiz肵IN^[uŉtłj`̂悤łB


3.3 mCỶF쐬

{CX̐擪1oCĝ3rbg 100b ̏ꍇAmCY炷wƂȂ܂B

mCY͒󂷂ΎGłAQ[@ł͂낢ȗprɎgĂ܂B
o͂̂͋^zCgmCYłB
zCgmCYɂĂ̏ڂ͂ĂB

mCY̓͂PłB
mCY𕡐̃gbNœɎgpĂ1܂B

1oCg(+00h)
	bit2-0 : o͉ 100b
	bit3   : 
	bit7-4 : gp
2oCg(+01h)
	Bׂ 3ch
3oCg(+02h)
	B 0x00 ?
4oCg(+03h)
	
5oCg(+04h)
	00h  01hBς܂B
6`8oCg(+05h`07h)
	 00h
9oCg(+08h)
	A^bN^CF00h(ő)-ffh(Œx)
10oCg(+09h)
	fBPC^CF00h(ő)-ffh(Œx)
11oCg(+0ah)
	TXeBxF 00h(mute)-0fh(ő)
12oCg(+0bh)
	[X^C: 00h(ő)-ffh(Œx)

mCY ADSR ȊO̎w͂܂B
zCgmCYƂ͌܂A͋^IȃzCgmCYłB
^Ii΂肪jȂ߁AV[PXŉw肷邱ƂŁAႢ̃mCYÃmCY܂ŏoƂł܂B

3.4 DirectSound pF̍쐬

{CX̐擪1oCĝ3rbg 000b ̏ꍇADirectSound ̉FwƂȂ܂B

DirectSound p̉F́AȒPɌΐ̉gpłB
VF쐬ꍇA .wav t@Cɋ߂̂邱ƂɂȂ܂B

AR̂悤 Windows ňtH[}bgł͂܂B

 ٍ Sappy2006 mod łgpƁAk wav t@CC|[g邱Ƃł܂B
@ ̏ꍇAL 3.4.1  3.4.7 ܂ł̍ƂȒPɂł܂BB

ł Audacity gF̍쐬@Ă܂B

3.4.1 Audacity ɂ鉹F쐬

Audacity ̓t[̃~LVO\tgłB
ʂɃCXg[ĂB

3.4.2 ݒ

ҏW(E)ݒ...(P)t@C`^u񈳏kotH[}bguAIFF (Apple/SGI 8bit PCM)vɕύX
r[(V)ItH[}bgݒ聨Tv (Tv) I

3.4.3 ҏW

̎gFǂݍ񂾂A^ĂB
̊̓m[gio[ 60 ̉(261.6Hz)łB̉ɂȂ悤ɘ^EĂB
̂ƂAWav ̍ŏ特̖n߂܂ł̖ȂǁAsKvȏꏊĒZĂB
ixƁAe|YĂ悤ȉtɂȂ܂j

3.4.4 [v̍쐬

ɂĂ̓[v쐬Kv܂B

Wav^fނ͗L̒łB
tŎgꍇAȂĐ؂Ă܂܂B
邽߂ɁAWav̂̂̒͂x̂ƂŐ؂AWav̓rJԂWav悤ɂ݂邱Ƃ
tŎgĂ؂邱Ƃ̂Ȃ쐬邱Ƃł܂B

ق Audacity ŊJ Wav ̓rŌ܂łI܂B
Shift ȂĐ{^NbNƃ[v[hōĐĂ܂B
Wav̐؂ڂڗȂ[vɂȂʒu܂Wavȓ̕Iʒu炵ȂJԂ܂BiI͂Ȃ炸Wav̍Ō܂łƂ邱ƁIj
ƎvʒuAAudacitỹXe[^Xo[ɕ\ĂuSelection: xxxxx - yyyyyv xxxxx ̕Ă܂B

3.4.5 ۑ

t@C(F)ʖŏo(E) AIFF... Iĕۑ܂B

3.4.6 oCiGfB^ɂwb_쐬Wave

oCiGfB^̏oԂłB

Directsoundp̉F͈ȉ̂悤ȃwb_Ă܂B

1oCg(+00h)
	Aʏ̉F 00h A 01h B̎菇ŉ쐬ĂȂ 00h łB
		00h ̏ꍇAk PCM gpB
		01h ̏ꍇAk PCM(ADPCM) gpB ADPCM Ȃ̂͂ĂBł ADPCM ɂĂ͊܂iɂgȂ̂Łj
2oCg(+01h)
	00h
3oCg(+02h)
	00h
4oCg(+03h)
	bit5-0 : S 0 
	bit6   : F[vgpꍇ 1
	bit7   :  0 
5`8oCg(+04h`07h)
	Wav ̎g ( / 1024 HzAWave̎g1024{̂Lq)
9`12oCg(+08h`+0bh)
	[vʒuB[vʒu wav ̂̊JnʒũoCgŋLqB
	[v̕Kv̖ꍇ 00h Ŗ߂B
13`16oCg(+0ch`0fh)
	Wav ̂̃TCYBs[gȂFꍇ͎̂̃TCY 1 lށB
17oCgڈȍ~(+10h`)
	Wav ́i8bit signed mono.j

wb_L̂悤16oCg쐬Ǎɍaifft@C̐擪 +2eh ȍ~y[Xg܂B
[vKvƂꍇ́Aقǃ xxxxx  +08h ̃AhX16iŏ݁A 4 oCgڂ bit6  1 ĂĂB

3.4.7 FR ɑgݍ

oCiGfB^ FR JAFt@C󂫗̈Ƀy[Xg܂B
őgݍ݊łB
[v鉹F̏ꍇ́Ay[Xgf[^̌1oCgɁAs[gʒu1oCgRs[ĂB
GBA ̉dlŁÂ悤ɂȂƉɃS~܂B

3.4.8 {CXO[vɓo^

ʏ̉F̏ꍇ͂łBhp̉F̏ꍇ 3.4.9 QƂ̂
ۂ̉tɎg߃{CXO[vɓo^܂B
gFԍ̈ʒuɈȉ̂悤Ƀ{CXf[^L܂B

1oCg
	bit2-0 : o͉ 000b
	bit3   : Œo͂ɂBǂ̉̃m[ĝ܂܂̉ŖB
	bit7-4 : gp
2oCg
	 3ch
3oCg
	 00h
4oCg
	 00h
5`8oCg
	g`QƐAhX
9oCg
	A^bNXs[hF00h(Œx)-ffh(ő)
10oCg
	fBPC^CF00h(ő)-ffh(Œx)
11oCg
	TXeBxF 00h(mute)-ffh(ő)
12oCg
	[X^C: 00h(ő)-ffh(Œx)

g`QƐAhXɂ́AقǍWavy[Xg擪AhXL܂B
9oCgڂ̃A^bNA^CłȂXs[hɂȂĂ邱ƂɒӂĂB
sAm̂悤ɑオ鉹F 00h łȂ ffh LĂB
܂11oCgڂ̃TXeBxA 00h`0fh łȂA00h`ffh@ɂȂĂ܂̂ŁAӂĂB


3.4.9 h{CXO[vɓo^

쐬Fhp̉FȂ΁Ahp̃{CXO[vɓo^܂B

gm[gio[̈ʒuɈȉ̂悤Ƀ{CXf[^L܂B

1oCg
	bit2-0 : o͉ 000b
	bit3   : Œ艹FɂBo^̂܂ܖ܂B
	bit4   : s
	bit7-5 : gp
2oCg
	鉹
	o^F炵m[gio[ŋLqB
	Cn3i3chjœo^̂܂܂̉Ŗ܂B 
	l͈̔͂ 00h`3ch`7fh 3ch ɐl1₷Ƃ1A1炷Ƃ1Ⴍ܂B
	1oCgڂ bit3  1 ̏ꍇA̐ݒ͖܂B
3oCg
	B 0x00 ?
4oCg
	p|bgݒ
	bit6-0 : p|bg̃pʒu (0`64`127E)
	bit7   : 1 = p|bg , 0 = p|bgʒu̓V[PXŎw
5`8oCg
	g`QƐAhX
9oCg
	A^bNXs[hF00h(Œx)-ffh(ő)
10oCg
	fBPC^CF00h(ő)-ffh(Œx)
11oCg
	TXeBxF 00h(mute)-ffh(ő)
12oCg
	[X^C: 00h(ő)-ffh(Œx)

g`QƐAhXɂ́AقǍWavy[Xg擪AhXL܂B
9oCgڂ̃A^bNA^CłȂXs[hɂȂĂ邱ƂɒӂĂB
sAm̂悤ɑオ鉹F 00h łȂ ffh LĂB
܂11oCgڂ̃TXeBxA 00h`0fh łȂA00h`ffh@ɂȂĂ܂̂ŁAӂĂB



4 V[PXf[^ (.st@C) ɂ

4.1 gq s ̃t@C

FR ̋ȍւɂ́Aς MID2AGB ɂ MIDI ϊ̂gpĂƎv܂B
̍ۂɊgq s ̃t@Ciȉ .s t@CƌĂ)o܂B

̃t@C͉̎̂Ȃ̂ƂƁAGBA ɓڂĂ CPU A ARM ̃AZu\[XłB
ł́A .s t@C̍\܂B
MIDI ϊꍇłAΉĂȂݒǉA[v쐬ꍇɂ
.s t@C̒ڕύXKvɂȂ܂B

4.2 \[Xt@C̍\

{I

		[,  c]

Ƃ̂Ƒ܂B
ł MID2AGB o͂閽߂ɍiĐ܂B

4.2.1 .byte

	.byte	0x00-0xff [, 0x00-0xff c]

1oCg̃f[^u܂BuƂ̂ł鐔l 0`255A 0x00`0xff ƂȂ܂B


4.2.2 .word
	.word	00000000h-fffffffh [, 00000000h-ffffffffh c]

4oCg(1[h)̃f[^u܂B
A Sappy ł̓xwł܂B
ȂA GBA ̓gGfBÂ߁AۂɃAZuꂽƂɂ̓oCgтtɂȂ܂B
j
	.word 0x1234abcd		@ AZu  CD AB 34 12 ƂoCgɂȂ


4.2.3 .align
	.align 2

4oCg̃ACgiʒuj܂B
܂4oCgEɂ܂Ȃ悤ɂ܂B
̖߂̓Ă鎟̖߂́AAhẌԉ 0hA4hA8hAch ̏ꏊn܂悤ɃAZuɖ߂܂B
sappy 2006 AZuł͖ĂۂłB
̂ł΂΋ȂւƂɖȂƂ肪킯łA͂܂ʂ̂bB

4.2.4 .end

	.end

\[XvO̍Ō錾閽߂ŁAŏIsɋLq܂B 
AZuɏIm点邽߂̋^߂ŁAAZuʂɂ͏o͂܂B

4.2.5 .equ

	.equ	xxx , yyy

xxx  yyy Ƃ萔`܂B
܂

	.equ	test_mvl , 127

ƂAȍ~ test_mvl oĂ 127 ƒuȂƂӖɂȂ܂B
 .end Ɠlɋ^߂ŁAꎩ̂̓AZuɉo͂܂B

4.2.6 .section

	.section rodata

ARM CPU ł̓f[^̈ɕĂ܂A̖߂͓ǂݍݐp̃f[^̈ɔzu邱Ƃ錾Ă܂B
ԂႯ sappy ł͉yp .s t@CAZuȂ̂ŖĂƎv܂B

4.2.7 .global

	.global test

ARM ̃AZu\[Xł͕K{łBAZu .s t@C̃vWFNg܂B
sappy ł͂܂ȂxɍlĂB
ڂƂĂ͕K{Ȃ̂ŁAȗȂłB

2.4.8 .include

	.include "MPlayDef.s"

̏ꏊŁAw̃t@C̓eǂݍ݂܂B
sappy ŃAZuƂA MPlayDef.s ƌďoȂƂ܂AŎw肵Ă邩łB
ȂA MPlayDef.s ̒ɂ́Ã\[Xt@CAZu邽߂ɕKvȏ񂪋l܂Ă܂B


4.2.9 x

	test:

{":" ŋLqŝƂłB
߂̏ꏊiAhXjɖOtɋLq܂B
Tu[`̕擙̖OƂāAvO̔Cӂ̍sɂ邱Ƃł܂B
.equ ߂́Aẃulvɕʖ銴łAx́AẃuʒuvɕʖĂ銴ƎvĂB


4.3 萔̐

ق .equ ̐܂A MID2AGB ŕϊ .s t@Cɂ
擪ɂ .equ ߂oĂ܂Bȉɗ܂B

	.equ	test_grp, voicegroup000
	.equ	test_pri, 0
	.equ	test_rev, 0
	.equ	test_mvl, 100
	.equ	test_key, 0
	.equ	test_tbs, 1
	.equ	test_exg, 0
	.equ	test_cmp, 1

̒ŕKvƂȂ萔܂B
ĂȂ萔́Asappy Ŏgɂ͕KvȂ߁Aȗ܂B

4.3.1 yt@Cz_grp

Ń{CXO[ṽAhX̎wĂ܂B
MID2AGB ŕϊƁuvoicegroup000vƂlɂȂĂ܂A
Sappy ŕϊƂɂ͎ŒûŁAύXȂ悤ɂĂB


4.3.2 yt@Cz_pri

Dxw肵܂BftHg 0 łB
DxƂ́AȂ2ȈȏꍇiBGM+ʉȂǂ܂ށjɁAǂ̋Ȃ̉D悵Ė炷߂邽߂̐lłB
Ƃ΁AǂɓƁAǂɓĂ邱Ƃ\܂A BGM ĂĂẢ1Ė܂ˁB
́A BGM ǂɓʉ̗Dxw肳Ă邩łB
t BGM ʉłǂĂ؂肽Ȃꍇ́ADxグ邱ƂŌʉȂ邱Ƃ\łB
ȂA̗Dx̓pXgȂǁA鉹肳Ă鉹ł̂ݗLŁA̋Ȃœɓw肳ꂽꍇɓ܂B
DxĂABGM ƌʉȂǂŁAw肳ĂȂꍇ͂ǂʂɖ܂B


4.3.3 yt@Cz_rev

BGM̃}X^[o[ulw肵܂B ftHg 0 łB
128 l 255 őłB1 ŏłB 0 ͖ƂȂAOɖĂV[PX̒l̂܂܎gp܂B
ȑŜ̃o[uwł܂BAʉȂǂŁAʂ̉̏Ƃ̃o[ulɒuĂ܂̂ŁA
IɈӖ̂Ȃ萔ɂȂĂ܂B


4.3.4 yt@Cz_mvl

ȑŜ̉ʂw肷萔łB
0Œ(mute)A127őɂȂ܂BftHg127
MID2AGB  MIDI ϊƁA VOL ߂ɂ̒萔Ă܂B
̂߁A̒萔炷ƁAȑŜ̉ʂς܂B
Ȃ͂̂́AʉȂ炢傫A̒l邱ƂŊȒPɉʒ\łB


4.3.5 yt@Cz_tbs

e|̎wύX萔łBftHg 1 łB
MID2AGB  MIDI ϊƁAŐ TEMPO ߂ɂ̒萔Ă܂B


4.3.6 yt@Cz_key

L[Vtgs܂B
MIDI ł L[EgX|[Y ɑ KEYSH ߂ɉe܂B
L[Vtĝ KEYSH ߂Ő܂B



4.4 t@Cɂȏiwb_j

4.3 ŐAt@C擪ɂ萔`̂قɁAt@Cɂ́AFR t邽߂ɕKvȋȏ񂪊܂܂Ă܂B
Sappy ł̓wb_ƌĂ΂̂ɂȂԍŌɂ̂ƂƁAAZu̍\AŏɒuȂ炾Ǝv܂B

ȉɗ܂B
́A MIDI gbN6 test.mid ϊԂłB

test:
	.byte	6		@ NumTrks
	.byte	0		@ NumBlks
	.byte	test_pri	@ Priority
	.byte	test_rev	@ Reverb.

	.word	test_grp

	.word	test_1
	.word	test_2
	.word	test_3
	.word	test_4
	.word	test_5
	.word	test_6

	.end

ȂA\[X̒ @ ȍ~ɏĂ镶̓RgƂāAAZu͖܂B
	.byte	6		@ NumTrks
ƂꍇAAZu
	.byte	6
ƌȂ܂B


4.4.1 gbN

	.byte	6		@ NumTrks
̂ƂłB
ϊO MIDI t@C MID2AGB āAgbNSł邩fĂ܂B
ɂ͂ꂪLqĂ܂B
ϊOɔׂ .s t@C̃gbNٗlɑĂ肷ꍇA MIDI t@CȂ܂B

4.4.2 ubN

	.byte	0		@ NumBlks
̂ƂłB
prsłB0łƎv܂B

4.4.3 Dx

	.byte	test_pri	@ Priority
̕łB
4.3.1 ŐA yt@Cz_pri ̒萔̂܂ܓ܂B

4.4.4 }X^[o[u

	.byte	test_rev	@ Reverb.
̕łB
4.3.2Ő yt@Cz_rev ̒萔̂܂ܓ܂B

4.4.5 {CXO[vw

	.word	test_grp
̕łB
ɂ͂̋ȂŎgp{CXO[ṽAhXLq܂B
sappy 2006 Ŏgꍇ͓ɈӎKv͂܂BiAZuɎw肷邽߁j

4.4.6 egbN̐擪ʒuxgbN

	.word	test_1
	.word	test_2
	.word	test_3
	.word	test_4
	.word	test_5
	.word	test_6
6ŝƂłB
ɂ͊egbN̉tJnʒuLq܂B
{IɃxŎw肳Ă̂ŁAύXKv͂܂B


]k

Ȃ݂ɂɁÃwb_͈ȉ̂悤ȃoCif[^ɃAZuł܂B

06 00 00 00 44 78 44 08 48 02 68 08 7d 02 68 08
a8 02 68 08 e4 02 68 08 05 03 68 08 46 03 68 08

̃oCȉꍇAex͈ȉ̒lɒuƂɂȂĂ܂B

test_pri = 0
test_rev = 0
test_grp = 08447844h
test_1   = 08680248h
test_2   = 0868027dh
test_3   = 086802a8h
test_4   = 086802e4h
test_5   = 08680305h
test_6   = 08680346h



4.5 e߂̊ȒPȐ

ł́A擪Ɩ̏̐܂B
ł́Ac̐s܂B

́AV[PXf[^̂̂łB
{Iɂǂ .byte  .word ̌ɏĂ̂ŁA͏ȗ܂B



4.5.1 KEYSH (Key shift)

ɑ1oCgŃgbNŜ̉ύX̎w܂Bl͈̔͂́@80h(-128)`00h(0)`7fh(+127) łB
1Ƃɔ㉺܂B

0 l(L[VtgjŁA1オ邲ƂɔオA1邲Ƃɔ܂B
-128(80h) ŏłB 0 ͖łB127(7fh) őłB
JIPɂ鉹ύXƓ悤Ȃ̂łB
gpꍇ́Am[gio[ 0`127 ͈̔͂𒴂Ȃ悤ɒӂĂB


4.5.2 TEMPO

ɑ1oCgŃe|w肵܂B
P̃gbNŎw肷ƁAׂẴgbNɉe܂B

MID2AGB ŕϊ .s t@Cɂ́ATEMPO ߂̈ [BPMl]*yt@Cz_tbs/2 Ƃ܂B
MID2AGB  -X ^ɕϊƁyt@Cz_tbs  1 AvZʂ BPM/2 ƂȂ܂Aɂ͗R܂B

FR ɎĂTEhhCo̓^Cx[X(\) 48 œ삵܂B
AʂɋȂꍇA^Cx[X 48 KvȂƂłB
 MID2AGB ł͒ʏe|𔼕ɂÃ^Cx[X𔼕ɂ邱Ƃ
V[PXTCY}Vp[̐ߖ悤ɂȂĂ܂B
pIȗprƂẮAe|̒xȂŕ\ꍇl܂B


4.5.3 VOICE

ɑ1oCgŎ̖߂gp{CXw肵܂B
l͈̔͂0`127B
{CXw肵ĂȂgbNł͑S܂B
KO VOICE ߂Ă邩mFĂB


4.5.4 PAN (Panpot)

ɑ1oCgŃp|bg̎ws܂B
l͈̔͂0iłj`64ij`127iłEj
MID2AGB ŕϊ\[X̏ꍇ́A MPlayDef.s Œ`Ă c_v 萔(l64)gāA c_v-64(=0)`c_v+0(=64)`c_v+63(=127) ̂悤Ɏw肳܂B
DirectSound͍E܂ŃjAɁAȊỎł3iu(0`31)vu(32`95)vuE(96`127)vjɐU蕪܂B


4.5.5 MOD (Modulation)

ɑ1oCgŃW[Vx\܂
l͈̔͂0`127łB
ftHgł̓sb`xhɓKpAru[g̐[̎wɂȂ܂B
W[V̑xKp肷ɂ́A MODT LFOS LFODL gp܂B


4.5.6 MODT (Modulation Type)

ɑ1oCgŃW[V̓Kpw肵܂B

0csb`xhw
	ȍ~ MOD ̓sb`xhɓKpAru[ĝ悤ȉ̗hȒPɕ\ł܂B
1c{[w
	ȍ~ MOD ̓{[ɓKpAĝ悤ȉʂ̗hȒPɕ\ł܂B
2cp|bgw
	ȍ~ MOD ̓p|bgɓKp܂BEֈŗh鉹ȒPɕ\ł܂B

ۂ̎ẃAMPlayDef.s  .equ 萔`ɂāAȉ̂悤Ɏwł܂B

sb`xhwB
	.byte	MODT , mod_vib
{[wB
	.byte	MODT , mod_tre
p|bgwB
	.byte	MODT , mod_pan


4.5.7 LFOS (LFO Speed)

ɑ1oCg LFO ̑x肵܂B
LFO Ƃ́A Low Frequency Oscillator ̗ŁA󂷂ƒgƂȂ܂B
gł́Aɒxhgo܂B
ɂ蔭g͂P̂Ŏg킯ł͂ȂA
MODT Ŋeo͂ɌqƂŋȂ̕\͂߂邱Ƃo܂B

LFOS ߂́A̐Uxw肵܂B
x͋Ȃ̃e|ɈˑAȉ̎ŕ\܂B
@@@@@@@ 256
Ux  ----------
@@@@@@@wl
x̒Pʂ̓Xebv^CłB
MID2AGB ̕Wł 4 24 Xebv^CȂ̂ŁA
wl 11 ƁA̎̓ 23.2 ƂȂA41x̐U\ł邱ƂɂȂ܂B

+@ ++@@@@@@++
|@+@+@@@@@+
| +@@+@@@@+
0+------+------+----->
| @@@ +@@+
| @@@@+@+
-@@@@@++@
 |--Ux---|

̗ 11 Ƃ̎Ԃ 23.2 Xebv^CƂȂB
l 22 B


4.5.8 LFODL (LFO Delay)

ɑ1oCgXebv^CƂA LFO ̓͂wXebv^Cx点܂B

ftHg 0 ŖƂȂĂ܂B
1 ȏ̒lw肷ƁÂт LFO ̓͂Zbgip|bgŌΒɖ߂jA
w肳ꂽXebv^Č LFO ɂUX^[g悤ɂȂ܂B

ɂA MOD lw肵ȂĂA̔Ƀru[g鏈ōsƂł܂B


4.5.9 BEND (Pitch bend)

ɑ1oCgŃsb`xhω܂B MIDI  Pitchbend ƓłA
l͈̔͂ MIDI قǂׂ̍͂ł܂B
l͈̔͂0`64`127BMID2AGB ŕϊ\[X̏ꍇ c_v-64`c_v+0`c_v+63 ŕ\܂B
ftHgł c_v-64  -2 A c_v+63  +2 ̃xh\B
U͈͂w肷ɂ͉ BENDR gp܂B


4.5.10 BENDR (Bend Range)

ɑ1oCg BEND Ŏgpsb`xh͈̔͂w肵܂BMIDI  Pitchbend Sensitivity ƓłB

l͈̔͂ 0`255BftHgl 2 BpIȔ͈͂ 12 x܂ŁB
1 ōő}1A12 ōő}12i܂}1IN^[uj̃sb`xhsƂł܂B


4.5.11 PATT (Pattern) & PEND (Pattern End)

PATT ̎ɑ4oCg̃AhXɃWvAPEND Ń^[܂B
ȂAPATT ɂWvĂȂƂ PEND ͖܂B
PATT ŃWvɂ PATT 铮iq̊֌Wj́A3i܂ŉ\łB

̋@\́AȒPɌƓtp^[JԂoĂ鎞A
 1 xLqāAȌ͂̕tȂƂ߂ɒûłB
̋@\ɂAV[PXf[^̃TCY炷Ƃł܂B
MID2AGB ł́A̋@\͕WŗLŁAx PATT APEND Iɑ}邽
ʏ͋CɂKv͂܂B

CɂKvoĂ̂́AV[PXf[^܂eʈȉɉKvꍇłB

MID2AGB p^[߂͏ߒPʂɂȂĂ܂Adl͂ȏ₻ȉ̃p^[邱Ƃ\łB
p^[̍쐬@́Aȉ̂悤ɂ܂B

(1)p^[̐擪ƂȂ镔ɃxLq
(2)p^[IƂȂ镔 PEND ߂Lq
(3)p^[t PATT  + xLq

@ 010 ----------
pattern_1:			@ (1) p^[JnʒuɃxzu
	.byte @@ N12 , Cn3 , v100
	.byte W12
	.byte@@        Cn3
	.byte W12
	.byte@@        Dn3
	.byte W12
	.byte@@        En3
	.byte W12
	.byte @@ N36 , Fn3
	.byte W48
@ 011 ----------
	.byte @@ N12 , Gn3
	.byte W12
	.byte @@       Gn3
	.byte W12
	.byte @@       An3
	.byte W12
	.byte @@       Bn3
	.byte W12
	.byte @@ N36 , Cn4
	.byte W48
	.byte PEND		@ (2) p^[Iʒu PEND
@ 012 ----------
```````````````
```````````````
@ 020 ----------
	.byte PATT		@ (3) wp^[t PATT{xLq
	.word pattern_1
@ 022 ----------


yӓ_z
PATT Őݒ肷ꍇɒӓ_܂B

(1)
p^[Jnʒũm[g̏ȗɒӂĂB
p^[WvꍇAÕm[g̈Ⴂɂȗm[g̖ς\܂B

ȉ̃V[PXf[^݂ĂB

	.byte @@ N36 , Fn3 , v100
	.byte W48
@ 016 ----------
pattern_2:
	.byte @@     @Cn3@@@@ @ p^[JnʒuɃm[gȗ`
	.byte W36
	.byte @@ N12 , Cn3
	.byte W12
	.byte@@        As3
	.byte W12
	.byte@@        An3
	.byte W12
	.byte@@  N18 , An3
	.byte W24
	.byte PEND@@ @@@@@@@@ p^[Iʒu
@ 017 ----------
```````````````
```````````````
	.byte@@  N12 , Gn3 , v127
	.byte W12
@ 023 ----------
	.byte PATT@@@@@@@@@ @ PATT w
	.word pattern_2
@ 024 ----------

16ߖڂ̍ŏp^[JnɂȂĂ܂Aŏ̃m[gȗ`gĂ܂B
16ߖڂ͂߂ɍĐƂ́AOɉtm[g
	.byte  N36 , Fn3 , v100
̂߁AỸm[g
	.byte  N36 , Cn3 , v100
ƕ⊮܂B
A23ߖڂ PATT ɂJԂtɂ́AOɉtm[g
	.byte  N12 , Gn3 , v127
łBȂƁAWṽm[g
	.byte  N12 , Cn3 , v127
ƂȂAQ[g^C3612A{[ 100127 ƂȂĂ܂܂B
ȂȂ߂ɁAMID2AGB ł̓p^[Jnʒũm[g͏ȗɋLqĂ悤łB
1oCgł肽Ƃ悤ȏꍇAWvÕm[g̏ȗ͔܂傤B

(2)
Wv߂5oCg܂B5oCgȉ̃p^[쐬ăWvĂAeʂʂɂȂ܂B

(3)
PATT/PEND  3 i܂ŃlXgiqj邱Ƃo܂B
炭G[gbv͖̂ŁAȏ̃lXgƃoO܂B


4.5.12 GOTO

ɑ4oCg̃AhXփWv܂B
PATT ƈႢAWv悩߂邱Ƃ͂ȂAwAhXĐ܂B
BGM ȂǁAƉtȂ̃[vɎw肵܂B
Wv߂̂߁APATT ݒ肷ꍇƓ悤Ƀm[g̏ȗɂ͍אS̒ӂ𕥂ĂB

GOTO̍쐬@́Aȉ̂悤ɂ܂B

(1)GOTOŃWvʒu̒OɃxLq
(2)[vʒu GOTO  + xLq

	.byte W12
@ 002 ----------
loop_1:				@ (1) [vJn̒OɃxzu
	.byte @@ N12 , Cn3 , v100
	.byte W12
	.byte @@       Cn3
	.byte W12
	.byte @@       Dn3
	.byte W12
	.byte @@       En3
	.byte W12
	.byte @@ N36 , Fn3
	.byte W48
@ 003 ----------
```````````````
```````````````
	.byte W06
@ 020 ----------
	.byte GOTO		@ (2) [v GOTO{xLq
	.word loop_1


4.5.13 FINE

[v̖߂ɂǂ蒅ꍇAȂ̉tI܂B
GOTO ɂ郋[vtȂ̏ꍇ͖ĂɎx͂܂B
A sappy 2006  Export tracks @\ł́AȁigbNj̏IʒuƂĂ炵
FINE ߂ŏIĂȂgbN͐ɔoȂȂ܂B
Ȃ݂ɁA~t@CtB[l


4.5.14 REPT (Repeat)

ɑ1oCg̉񐔁A̎ɑ4oCg̃AhXƂ̊ԂJԂt܂B
͈ȉ̂悤ɂȂ܂B

@ 002 ----------
loop_1:				@ (1) [vʒu̒OɃxzu
	.byte @@ N12 , Cn3 , v100
	.byte W12
	.byte @@       Cn3
	.byte W12
	.byte @@       Dn3
	.byte W12
	.byte @@       En3
	.byte W12
	.byte @@ N36 , Fn3
	.byte W48
@ 003 ----------
	.byte REPT , 3
	 .word loop_1

Lł́A loop_1  REPT ̊Ԃ 3 JԂ܂B
́u3v́AiREPT ɂJԂJnOj܂݂܂B
̂ REPT,1 Ƃ REPT ߂͉܂񂵁A REPT,0 ƂƖ[vɂȂ܂̂ŁAӂĂB

4.5.15 XCMD (extend command)

ɑ 1 oCgœȖ߂wAɎ 1 oCgł̖߂ɑ΂lw肵܂B
ꖽ߂ɂ͎2`Ă܂B
	xIECV : GR[
	xIECL : GR[̐[
̖߂gpƁAgbNƂ̃GR[w肷邱Ƃł܂B
2  1 ZbgŎgp܂BftHgł͂ǂ 0 łB
ȉ̂悤Ɏws܂B

@ 001 ---------------
	.byte XCMD , xIECV , 16    @ echo Volume = 16
	.byte XCMD , xIECL , 8     @ echo Length = 8

lɂGR[̂ς܂Ax͊eŔfĂB
g߂ƂƂ납A炭Ή ROM ł̂ݎgp\ł͂ȂƎv܂AǂŎgp\͂킩܂B
 FR ł͎gp\łB

4.6 m[gAXebv^Cif^^Cj̕\L@


4.6.1 Xebv^Cif^^Cj 

Xebv^CƂ́ÃXebvɍs܂ł̎Ԃ̂ƂłB
^Cx[X 24 ̏ꍇ 24  4 ̒ɂȂ܂B

	.byte  W24       @ 41҂

l͈̔͂ 0`96 łAׂĂwł킯ł͂܂B
gl͈ȉ̒ʂłB
W00,W01`W24,W28,W30,W32,W36,W40,W42,W44,W48,W52,W54,
W56,W60,W64,W66,W68,W72,W76,W78,W80,W84,W88,W90,W92,W96
ȊO̒w肷ꍇɂ́A\L2ȏA˂Kv܂B

jW25 ꍇ

        .byte   W24
        .byte   W01

Ȃ݂ W00 Ƃ`͂Ăg܂B


4.6.2 m[g

炵܂B

ȉ̂悤 3 oCgA 4 oCgłP̉\܂.

	.byte   Q[g^C ,  , xVeB [, gate+ ]


4.6.2.1 Q[g^Ci̒j

MIDI ̃Q[g^CƓłAw肳ꂽ̉炵܂B
 N lŕ\܂B N01 
Xebv^CƓlɁA^Cx[XƓl 4 ̒ɂȂ܂B
Ƃ肦l 1`96 łA1`96 ܂łׂ̂Ă̒lĂ킯ł͂܂B
肦l͈ȉ̒ʂłB
N01`N24,N28,N30,N32,N36,N40,N42,N44,N48,N52,N54,
N56,N60,N64,N66,N68,N72,N76,N78,N80,N84,N88,N90,N92,N96

ȊO̒lꍇAq 4 ߂̈ gate+  TIE \Lg܂B


4.6.2.2 im[gio[j

w肵̉܂B
Ƃ肦l CnM2(00h)`Gn8(7fh) łB
\L̎d MIDI ƑႢ܂B

 .s  | MIDI | m[gio[
-----+------+----------------
CnM2 | C-2  | 00h (  0)
GsM1 | G#-1 | 14h ( 20) 
Dn0  | D0   | 1ah ( 26)
Cn3  | C3   | 3ch ( 60)
Fs3  | F#3  | 42h ( 66)
Gn8  | G8   | 7fh (127)

m[gio[Ƃ̑Ή Cn3 = 60 łB


4.6.2.3 xVeBi̋j

MIDI ̂܂܂łB傫قǉ܂B
Ƃ肦l 0()`127() ŁA0 ͖܂B


4.6.2.4 gate+

MIDI ł̓Q[g^C 0 ȏ̔Cӂ̐Ƃ邱Ƃł܂A
FR ̃TEhhCoł͑Oq̂悤ɁA錈܂lw肷邱Ƃo܂B
̓t@CTCY̐ߖƂӖł͔ɗLpłAʁAy̕\͖͂RȂĂ܂܂B
 gate+ Ƃlp邱ƂɂāA̒Ԓl邱Ƃł悤ɂȂĂ܂B
gate+ ́Aʏ͋LqȂ 4 ڂ̒l̂ƂŁAȉ̂悤ɋLq܂B

	.byte	N24 , Cn3 , v100 , gtp1

gate+ ́A gtp1 , gtp2 , gtp3  3 ̒l邱ƂłAꂼ +1 , +2 , +3 Q[g^CɉZ邱Ƃł܂B
̗ł 24+1 ƂȂAQ[g^C 25 ̃m[gƉ߂܂B

ȂA MID2AGB ɃIvV -E  MIDI ϊƁAgate+ gp .s t@Co͂܂B
i-E IvVŕϊꍇAZȂňԋ߂l֐؂l߂܂B̃Q[g^C 25 ̏ꍇ 24 ɂȂ܂Bj


4.6.3 ȃxVeBw TIE , EOT

ȃxVeB\LƂāA TIE , EOT ܂B͊ył^C\̂łB
Q[g^CƂ TIE w肵ꍇẢ EOT ܂Ŗ葱܂B

ȉ̂悤ɋLq܂B

	.byte		TIE , Gn3 , v100	@ G3 AxVeB 100 Ŕ
	.byte	W96
	.byte	W48
	.byte		EOT , Gn3 , v100	@ G3 AxVeB 100 ŔĂ鉹

ŃQ[g^C 144  Gn3 ̉炷Ƃł܂B


4.7 m[gE߂̏ȗijOXe[^Xj

m[g͈ꕔ̈ȗ邱Ƃł܂B
ЂƂỎƓQ[g^CAAxVeB ̏ꍇɁA̓f[^ȗ邱Ƃł܂B
̏ȗ MIDI ̗pł́ujOXe[^XvƌĂт܂B

Ƃ

	.byte	@@ N24 , Cn3 , v100
	.byte	W24
	.byte	@@ N24 , Dn3 , v100
	.byte	W24
	.byte	@@ N24 , En3 , v100
	.byte	W24
	.byte	@@ N24 , Fn3 , v100
	.byte	W24
	.byte	@@ N24 , Gn3 , v100

ƂV[PXƂꍇA
5̃m[ǵAႢAA͕̋ςĂ܂B
̂悤ɁAÕm[gƓƂ낪ꍇ͏ȗł܂B
L̃V[PX̏ꍇA2ڈȍ~̃m[g N24  v100 ȗ

	.byte   @@ N24 , Cn3 , v100
	.byte	W24
	.byte         @@ Dn3
	.byte	W24
	.byte         @@ En3
	.byte	W24
	.byte         @@ Fn3
	.byte	W24
	.byte         @@ Gn3

ƏƂł܂B
ԂɃXebv^CĂm[g̏ȗ͗LłB

ȂA TIEAEOT gm[gÃm[g߂Ɠȗ\łB

	.byte		TIE , Gn3 , v100	@ G3 AxVeB 100 Ŕ
	.byte	W96
	.byte	W48
	.byte		EOT			@ G3 AxVeB 100 ŔĂ鉹


Õm[gƃxVeBႤꍇAxVeBƂ͂ł܂BKƃZbgɂĂB
ЂƂOƂ܂ꍇ͍ŒAQ[g^Ĉǂ炩LqKv܂B

	.byte	@@ N24 , Cn3 , v100
	.byte	W24
	.byte	@@ N24 , Cn3 , v075
	.byte	W24
	.byte	@@ N24 , En3 , v100
	.byte	W24
	.byte	@@ N24 , En3 , v100

@@@@@@@@@

	.byte	@@ N24 , Cn3 , v100
	.byte	W24
	.byte	@@       Cn3 , v075   @ Ⴄ̂̓xVeBl݂̂A
	.byte	W24
	.byte	@@       En3 , v100
	.byte	W24
	.byte	@@ N24                @ OƓAQ[g^ĈݏB

A gate+ gꍇ́Aȗ`̕\L܂B
gate+ ɂ̓jOXe[^X͓Kp܂B

	.byte@@@@N32 , En4 , v068 , gtp1	@ Q[g^C 33
	.byte	W36
	.byte	     N32 , En4 , v068 , gtp1	@ Q[g^C 33
	.byte	W36
	.byte@@@@N06 , As3 , v068		@ Q[g^C 6
	.byte	W06
	.byte@@@@N06 , Bn3 , v068		@ Q[g^C 6

@@@@@@@@@

	.byte@@@@N32 , En4 , v068 , gtp1
	.byte	W36
	.byte@@@@@@@En4 , v068 , gtp1@@@ OƂ܂m[gAQ[g^CȗłȂ
	.byte	W36
	.byte@@@@N06 , As3@@@@@@@@@@ {[ȗB gate+ ͎w肳ꂽm[gł̂ݗLŁA
	.byte	W06@@@@@@@@@@@@@@ @ ȗĂ邩ƂĎ̃m[gւ͉e܂B
	.byte@@@@@@@Bn3@@@@@@@@@@ tɁAKvȃm[gɂׂ͂ gate+ LqKv܂B



lɁAꕔ̖߂łȗ`gƂł܂B
ȉ̂̂Aꍇɂ́A߂ȗ邱Ƃł܂B

	.byte VOICE
	.byte VOL
	.byte PAN
	.byte BEND
	.byte BENDR
	.byte LFOS
	.byte LFODL
	.byte MOD
	.byte MODT
	.byte XCMD

{[pʒuAŒlωꍇɗLpłB

Pjp|bgAŕωꍇ

	.byte PAN , c_v+63
	.byte PAN , c_v+20
	.byte PAN , c_v-20
	.byte PAN , c_v-64

	@@@

	.byte PAN , c_v+63
	.byte       c_v+20
	.byte       c_v-20
	.byte       c_v-64

m[gƓ悤ɁAԂɃXebv^Cłȗ͗LłB

Qj41ƂɃp|bgAωꍇ

	.byte       PAN , c_v+63
	.byte W24
	.byte       PAN , c_v+20
	.byte W24
	.byte       PAN , c_v-20
	.byte W24
	.byte       PAN , c_v-64

               

	.byte       PAN , c_v+63
	.byte W24
	.byte             c_v+20
	.byte W24
	.byte             c_v-20
	.byte W24
	.byte             c_v-64

RjȗłȂꍇ

Ƃhp[g

	.byte       N05 , Cn1 , v088
	.byte W12
	.byte       N05 , Cn1 , v088
	.byte       N05 , Cs1 , v068
	.byte W24

               

	.byte       N05 , Cn1 , v088
	.byte W12
	.byte       N05               @ N05 , Cn1 , v088 z
	.byte             Cs1 , v068  @ N05 , Cs1 , v068 z
	.byte W24

̏ꍇ̏ȗԂɂ͊ԈႢ܂Bł́A3sڂ4sڂ܂B

.s t@Cł́AusvɂĊuĂĂ܂
AZuƁAׂ͂ĈÃoCif[^ƂȂ܂B
l₷悤1߁A1sĂ܂Aۂɂ

	.byte  N05 , Cn1 , v088 , W12 , N05 , Cs1 , v068 , W24

Ƃ\LƓȂ̂łB
ƁA3sڂ4sڂƂ낪qĂ܂A1̏ȗȂ̃m[gɂȂĂ܂B
ĂщsČ₷ƁA

	.byte       N05 , Cn1 , v088
	.byte W12
	.byte       N05 , Cs1 , v068 @ Ƃ2m[g 1 Ƃĉ߂Ă܂
	.byte W24

̂悤ɁAoCiɂɌq 1 ɂȂĂ܂悤ȏȗ͂ł܂B

̏ꍇ

	.byte       N05 , Cn1 , v088
	.byte W12
	.byte             Cn1         @ N05 , Cn1 , v088 z
	.byte             Cs1 , v068  @ N05 , Cs1 , v068 z
	.byte W24

̂悤ɁAȗ`̑OŎc𓯂ɂ邩AȗȂŏKv܂B


----

t^DeɂẲ

ꂼ̉Ƃɓ܂ĂƂƂ 2.2 łƐG܂A
ȉ̂悤ɊeꂼƗMIDỈ̂悤ȓƍlĂ炤
킩₷񂶂ȂƎv܂B

ꂼƗĂ̂ŁẢ甭؂邱Ƃ͂ł܂B

                 @@     V[PX@@@@@@@@@@@@@@@@
@{CXO[v       @@ gbÑ{CXݒ @  @@ @@@
          
0.DSh@@@   0    
            
1.DS Piano  @              
  @   1    Direct SoundT
13.DS Xylophon                  (ROM1c1085hbit3-0ő\)
            
47.DS Timpani @  47    
          
73.DS flute @                    
  @  80     pXgP P
80.pX1@@                
                    
81.pX2@@@  81     pXgQ P
                    
82.pX1@@                    
  @ 126     @mCY@ P
126.mCY@@              
                  
127.mCY@@@ 127           g` P
                    

̗ł́A{CXO[vɂ͓ɑ΂ݒ肪ݒ肳ĂA܂AV[PXgbNł𓯎ɐݒ肵Ă܂B
Ƃ낪A{CX 126  127 ̂悤ɁAP̂͂̋ GB ɑ΂ĕ̃gbNɎw肷邱Ƃł܂B
ꌩӖ悤Ɍ̂łAꂼ̃{CX ADSR ̎wς΁AƂ΃mCYȂnCnbgƃVô悤Ȗ蕪邱Ƃł܂B
܂Ŋe̓𒴂ȂΖ肪̂ŁAɖ炳ȂƂ̂ƁÂ悤Ȏw肪\Ȃ̂łB
v̂ŃpXg̉Fif[eB[jȂǂ𕡐AȒŖ蕪ƂƂ\łB




----

Ql

iPjsappy 2006  .s t@CAZuƈꕔ̉߂ȂHHH

 ̏Ǐٍ͐ Sappy2006 mod łgp邱Ƃŉł܂B

̊ł́Aȉ̂悤ȏǏ󂪔܂B

̂ƂAW40, N40, v040, v041 ̂ꂼꂪ W16, N16, v016, v017 ƔFĂ܂܂B
܂ c_v-40,c_v-41,c_v+40,c_v+41  c_v-16,c_v-17,c_v+16,c_v+17 ɕςĂ܂悤łB
̂߁A̒l .s t@CɏoĂꍇ́A̒lA TIE gĎق܂B

Pj
	.byte	W40

@@@@@

	.byte	W36
	.byte	W04

Qj
	.byte        PAN , c_v+40
	.byte	     N40 , Cn3 , v040

@@@@@

	.byte        PAN , c_v+39	@ 40  39 
	.byte	     TIE , Cn3 , v039	@ 40  39 
	.byte	W36
	.byte	W04
	.byte	     EOT		@ N40  TIE ŕ\

@@@@@܂

	.byte        N36 , Cn3 , v039 , gtp3 @ N39 ŕ\

MIDI ł͖Ȃ̂ɁAϊ炸ꂽƂĺA̒lgĂȂmFĂ݂ĂB
Ȃ 40,41 ̑lS 16,17 ɒuĂ悤ȋC܂ci


iQjʂ̌Eɂ

GBA ̉̂ DirectSound ́A{ɂʂ\tgEFA MIDI ̂悤ȓĂ܂B
o͂g`̓\tgEFAōĂ܂B
ŏIIȍg`́APȑZg`̐JԂsƂŐ܂ǍvZʂvZłEl𒴂Ă܂Ƃ܂B
I[o[t[ƌĂт܂B錅ӂ̂ƂŁAdŌI[o[ŃG[ɂȂ悤Ȃ̂łB
G[ł΂␳ɏĂ΂̂łA GBA ł̓G[̂܂܂ɂ̂܂܉֑M܂B

E𒴂g`́Â܂܂̔g`ΑɏoĂĂ܂܂B
vXɃI[o[t[ꍇ}CiXցA}CiXɃI[o[t[ꍇvXɂ͂ݏo邽߁A
܂Ӑ}Ȃg`ƂȂAʁA͎GƂȂĂ܂܂B
͂ݏoł΁A̓v`mCYƂĕxłA
ɂ͂ݏoƁA͂≹ł͂ȂAPȂGɂȂĂ܂܂B

 GBA ̃{[܂݂ĂȂ߁AV[PX̉ʂ邱ƂKvɂȂ܂B


iRjel`̖ɂ

 DirectSound oRŖ܂B
{Iɂ DirectSound ̉FƓ悤ɏĂ܂Â͈kĂ܂B
k ADPCM ŁA 64 oCg 1 PʂƂ 33 oCgɈkĂ܂B
kꂽ{CX BGM p̉FƂĎg邩͌؂Ă܂񂪁AɎgƂĂ
k{CX͓ 2 ܂ł点Ȃ炵AƂԂ܂̂ŁAIɂ͎gȂƎv܂B
ȂA̕ύXɂẮÃٍc[uPokemon Cry Import ToolvgpĂB


iSjSappy ŃAZuƂɉȂۂɂ

Sappy2006 ŋȂC|[gƂɁASappy2006 ̂ł͋Ȃ͖̂ɁAۂɃQ[ł͖ȂƂۂ邱Ƃ܂B
̌ۂ́A GBA ɓڂĂ ARM n CPU ̓ǂݍ݈ʒu𐧌Ă邩łB
̏ꏊ̓ǂݍ݂ɂΉȂA CPU ̍\ȒPɂłAd͂邩łBƂ烂oCȂǂ̏^[z肵 CPU ̂߂łB
ĩ݂p\R̕Wł Intel n CPU ł́A CPU ̍\͕Głj
̂߂ɁAǂݍ݈ʒuvOŐwȂ΁A CPU ̓f[^ǂݍނƂoȂ̂łB

ȒPɌ΁AȃXgA{CXO[vA{CXȂǂzu鎞ɂ́AJnAhX̉1K 0h , 4h , 8h , ch ɂȂĂKv܂B
iV[PXf[^͓ǂݍݕ̈Ⴂłǂn܂Ă肠܂j

{ȂA{Ő悤 .s t@Cɏꂽ .aglin 2 ߂ɂ肻ꂪsiKɌԂ󂯂
AhX1 0h,4h,8h,ch ̈ʒuɂĵłAǂ Sappy 2006 ł͂𖳎ĂlqB
̌ʁAȂւɖȂƂƂNAĔzuiExport Tracks ŏoāAÔ̂ Import Tracks ōď݁jKvɂȂ̂łB
Õt@C Import Tracks 邱ƂŁAwb_ʒu̍ڂIɍւŐȂ̃AhXi܂ABGMwb_AhXjɂȂ邽߁A
̐m炸ɉĂ邱ƂɂȂ܂B

ȂAٍ Sappy2006 mod łł align ߂𐳂邽߁AiӐ}IłȂj̖͔܂B

ǋLFŐVdl ARM CPU ł͂ǂ̔Ԓñ\ɂȂĂ邻łB


-----


Ver. 1.0 
Ver. 1.1 LFO ֘A̋LqǉA PATT-PEND  GOTO ̋LqڍׂɂB̂ق傱傱ǋL
Ver. 1.2 g`̉ʂɂĂ̋LqǉBgate+ ɂĂ̋LqǉB뎚ECB̊TO}Ă݂B
Ver. 1.3 {CXO[v2oCgځA4oCgڂ̋LqύXBőgbNɂĂ̋LqǉBق낢XVB_Ȃ^
Ver. 1.4 VOL,PAN,MOD,BEND ̏ȗɂċLqBꕔ\L~XCBʂ̌EȂǂ̎Qlg[B
Ver. 1.5 ȗ`̏ȗłȂꍇɂċLq
Ver. 1.5a  DirectSound FōƂ̃f[^̈傱ƍXVBx҂߂ɂ낢Oc
Ver. 1.6 Ƃ肠Asappy ĂĂ킩e傱傱ƒǉBREPT ߋLqB
Ver. 1.6a ꕔǉB






Ƃ


       _߂ہ^

@@ @ Q@,,,_^|@@
@ @@_,. -| @ 
 @@@@@@@@`A@
 @@@@i@ @p 
 @@@@j (  !<@ 
 @@.-i S. r,Ƀ@  
 @@Mx,>^^S ^<t  
@@ @ R   ^ ^R @


܂1400sƂcBČĂ1500ɂȂijccĂ1600cc
{CŒĂ܂corz

u͂قvƂu͈Ⴄ޹vȂǁAΈӌv[YB














-----

܂

牺́AeLXg܂Ƃ߂ۂɍĂ鎩p̃łB
ŏĂȂƂĂ肵܂B
ȂS܂Ƃ߂ĂȂƂƁAprs̒l邩łB





VOICEO[v擪 0x44e8cc - 0x467cb7
	|Pe[u(20) 0x451554 - 0x452783
	|Pe[u(30) 0x452784 - 0x4539b3
̗̈ 0x467cb8 - 0x467e2b
g`e[u 0x467e2c - 0x467edb
CigbNێAhXPCQAőgbNj 0x467edc - 0x467f07
V[PXe[u 0x467f08 - 0x4689e7

Wave table ʒu
F0x4689e8
+0	00 00 00 : 
+3      40 : bit6 : [vtO 1=[vL, 0=[v
+4	00 43 34 00F Wave g ( / 1024 Hz )
+8	bb 02 00 00 F[vʒuBm[g OFF ܂Ŗ炷ꍇɂ̈ʒuWaveq
+C	92 06 00 00 FTCYiTCY{PTCYȂj
+10`	FWave 8bit signed mono.
e[uwb_4oCg̃ACgKv

|P
+0	01 00 00FBɍŏ 0x01 BɂĂۂB
+3	00 : bit6 : [vtO 1=[vL, 0=[v
+4	00 43 34 00F Wave g ( / 1024 Hz )
+8	00 00 00 00 F[vʒu iɃ[v͖̂ 00 H)
+C	92 06 00 00 FTCYiTCY{PTCYȂj
+10`	FWave 8bit signed mono.
e[uwb_4oCg̃ACgKv

Wave table I 0x67a27f 

V[PXf[^ʒu 0x67a280 - 0x6c0ae3
擪wb_ʒu 0x67a280 00 00 00 a8 cc e8 44 08 FBgbN0AVOICEO[v`ȂB
ŏIwb_ʒu 6c0acc ŏIV[PXʒu 0x6c0a10

----

40 VOICE Zbgɂ

wpZbgB
m[gio[ƂɁAgFw肷B
 80 VOICE ZbgƂ̈Ⴂ́A80 w̓m[gio[ƂɉF̎f[^w肷邪A
40 wł́A̉F̎f[^̒`ƁAm[gio[Ƃɂ̐̉F̂ǂgw肷B
͍ŝŁAႢƍňႤFf[^gƂɎgpB

FsAmi40 00 00 00 48 f1 44 08 94 7c 46 08j
+4	48 f1 44 08 F VOICE Table (alt)
+8	94 7c 46 08 F gpFe[u

gpFe[u
m[gio[ 0  1 oCg 128 Agp鉹F̒`B
0Ȃ0ԖځA1Ȃ1Ԗځc

FRɒ`Ă 40 ̃Zbg
40 00 00 00 78 f1 44 08 dc 7c 46 08
40 00 00 00 9c f1 44 08 24 7d 46 08
40 00 00 00 c0 f7 44 08 78 7d 46 08
40 00 00 00 d8 f7 44 08 c0 7d 46 08

-----

80 VOICE Zbgɂ

VOICEe[u̎QƐ悩128̃hpVOICEe[u`ǂݍށB
hpVOICEe[u͒ʏVOICEe[uƂقړBʏVOICEe[uƂĂ͎gȂB
eFɂ͊y킲ƂɃpsb`̎w肪ł悤By킲Ƃ̉ʂ͂ł̂B
܂AZbgŃO[v̂B

FRɒ`Ă 80 Zbg
80 00 00 00 b4 eb 44 08 00 00 00 00
80 00 00 00 10 ed 44 08 00 00 00 00
80 00 00 00 98 78 46 08 00 00 00 00
80 00 00 00 74 39 46 08 00 00 00 00

ȂAVOICEe[ũftHgFipXg1jł̓m[gI𑗂ĂȂ.



----

Fo͐ݒ
00(0000 0 000) : DirectSound
01(0000 0 001) : pXg1 --- VOICEe[ȕl  01 3c 00 00 02 00 00 00 00 00 0f 00
02(0000 0 010) : pXg2 --- 02 3c 00 00 03 00 00 00 02 07 00 00
03(0000 0 011) : g` --- 03 3c 00 00 2c 7e 46 08 00 07 0f 01
04(0000 0 100) : NOISE ---   04 3c 00 00 00 00 00 00 02 07 0f 00@Ȕ45,109Ŏgp
08(0000 1 000) : DirectSound --- 08 3c 00 00 cc 4f 4b 08 ff f9 00 a5 ({CXf[^Q)
09(0000 1 001) : pXg1
0A(0000 1 010) : pXg2
0B(0000 1 011) : g`
0C(0000 1 100) : NOISE
10(0001 0 000) : DirectSound : 10 3c 00 00 cc 4f 4b 08 ff 00 ff a5 ({CXf[^Q)
20(0010 0 000) : VOICE (pokemon voice 1) --- 20 3c 00 00 04 48 4d 08 ff 00 ff 00 (f[^Q)
30(0011 0 000) : VOICE (pokemon voice 2) --- 30 3c 00 00 04 48 4d 08 ff 00 ff 00 (f[^Q)
40(0100 0 000) : DirectSound with part
80(1000 0 000) : Drum

1oCg
	bit2-0 : o͉ (0:DirectSound, 1:pXg1, 2:pXg2, 3:g`, 4:NoiseA5`7͂ĂȂƖ`Ǝvw肵Ⴞ)
	bit3   : Œ hp[gp(1=on 0=off)DirectSoundȊOł͕ʂ̈ӖH
	bit4   : [vOFFHiTEhtHgŃ[vw肳ĂĂOFFHjFR ł͎]Ԃ̃x`Ɏw肳ĂB
	bit5   : sB ON ɂƉȂȂcH |P̖݂̂ɎgpĂrbgBł30͖̂ˁcB
	bit6   : wóBfmTOWNSPMBɋ߂cƌĂ킩l͂ǂꂾ̂c
	bit7   : h
2oCg
	 ( 0x3c = Cn3 H)łʏVOICEe[uŕςĂςȂB
	h̉H 0x40 Ƃ邵B
3oCg
	B 0x00 ?
4oCg
	bit0-6 : p
		0000000 -> -64ij
		1000000 -> 0ij
		1111111 -> +63iEj
	bit7   : ̃oCg̏gptOB i1:L 0:j
5-8oCg
	1-bit2-0 = 000
		Wavee[uQƃAhX
	1-bit2-0 = 011
		g`QƃAhX (QƐ悩 16 oCg̔g`f[^gp)
	1-bit2-0 = 010 or 001
		f[eB[ (0x00000000 = 12.5%, 0x00000001 = 25%, 0x00000002 = 50%, 0x00000003 = 75%)
	1-bit2-0 = 100
		0x00000000
9-12oCg
	1-bit7-6 = 00
		9:A^bN
			1-bit2-0 = 000FAttack Speed 255(ő)-1(Œx),0(mute)
			1-bit2-0 = otherFAttack Time 0(ő)-255(Œx)
		10: fBPC^C 0(ő)-255(Œx)
		11: TXeBx
			1-bit2-0 = 000 : 0(mute)-255(ő)
			1-bit2-0 = ȊO : 0(mute)-15(ő)
		12: [X^C 0(ő)-255(Œx)
	1-bit7-6 = 01
		wQƃAhX
	1-bit7-6 = 10
		0x00000000
	1-bit7-6 = 11
		wQƃAhX@ǂgKvȂƎvꂗ
		[gꂽ̌ƂȂB

VOICEe[u͗eʍ팸̂߂ɁAd̈gA
gȂƂOɁAʂ̃f[^̈悩QƎwĂ邱ƂB

bit3  on ʏVOICEe[uŎgpĂAsappy2006 ł͖B
pXgAg`  Attack Time  sappy2006 ł͖B
hp[gł̏Ԃ̉F( 01 3c c ) ͖悤Asappy2006 ł pXg1 Ă܂B

GBA ̃TEho͂̓VXeNbNĝ܂܂ PWM łB
ȂAFR ̃TEhVXeł 65536Hz TvOgƂĎgpĂB 65536Hz / 8bit  PCM ɑB

V[PXƂɃwb_ŃvCIeBw肪łiwb_ +2H Ⴂ00h-ffhj
Ȃ̍ĐɁAvCIeBl̍Ȃ̊荞݂ꍇA̋ȂD悳B
̋Ȃŉ̋ꍇ͗DxɊւ炸B
iŐẴo[uĺAۂɋȂȂꍇłKpĂ܂j

V[PXƂɃwb_ŋȑŜ̃o[uxwłiwb_+3H 01h-80h-ffhA00hj
AǂɂԂ铙Aʂ̉̏ƁẢ̃o[uw肪Kpꂽ܂܂ɂȂB
iȂZbgȂÃo[ulɖ߂Ȃj̓vCIeBwɂAۂɉȂꍇɂKpB
Ȃ݂Ƀo[ul 240(f0h) ȏ͉قƂǏȂȂ̂őςȂƂɁB

DirectSound  DelayERelease Rate ̓pXg 2 ƓɂȂ d8h 炢B1  b2h 炢B
DirectSound ̓ FR ł 5 Bȏ炻ƂƁAÂ狭IɃItɂB
sappy2006 ̍Đ@\ł GB R̉ɂẴTXeBlFȂiDirectSoundƓɈĂ܂j

쒆̃ǂĂ݂ADirectSound 5 ɐĂBiׂẴCŋpj
Aobt@12pӂĂāAVBA ̃rA[ 03005fa6 Ԓn 0ch ɏƓ12ɂȂB
ROM ł 1c1085h  C5  CC ɕύXƁA0ch ŏ悤ɂȂB
܂ł܂Ă̂ɁAo[u≹F̃[X^Cςɍpĕςɕ邱ƂB
ύXꍇAȂɂĂ̓{CXe[uV[PXf[^猩Kv邩ȂB

C0F10gbN
C1F3gbN
C2F9gbN
C3F1gbN

Direct Sound ́Ad˂ĐUI[o[t[ꍇAőEŏlŊۂ߂ꂸɃI[o[t[܂܍ĐĂ܂悤B

0c1085h  bit3-0 ͓A bit 7-4  DirectSound ̃}X^[{[B0(mute)-15(ő)
GBR̉̉ʂ͂̂܂܂Ȃ̂łނ݂ɂĂȂ̃oXB


̏ĂAhẌꗗ

0x44e5a8`0x44e637 : ̃AhXe[u
0x44e638`0x44e647 : ADPCM fR[hpe[u
0x44e648`0x44e6fc :  (14-int((address-0x44e648)/12))<<4|((address-0x44e648)%12)
0x44e6fc`0x44e743 : 䂷
0x44e744`0x44e7c8 :  int(address-0x44e744/12)<<4|((address-0x44e744)%12)
0x44e82c`0x44e85d : V[PXf[^̉ƃf^^C̎Qƃe[uB̂̏ BIOS ɂĂ邩 GBA  BIOS gȂ
@@@@@@@@@@@gΕb萔\NbNx҂CB(BIOS - 1clock , ROM - 5clock Ȃ̂)
0x44e860`0x44e893 : 
0x44e894`0x44e8cb : ̃AhXe[u 1c2461 1c2475 1c24bd 1c2461 1c24d1 1c24e5 1c24f9 1c250d 1c2521 1c252d 1c2539 1c254d 1c2561 1c25a9
---- {CXe[u
/*addr*/ /* Song No. */
0x44e8cc 0
0x44ebb4 h
0x44ed10 h
0x44f148 40 {CXZbg
0x44f178 40 {CXZbg
0x44f19c 40 {CXZbg
0x44f1c0 gpH
0x44f7c0 40 {CXZbg
0x44f7d8 40 {CXZbg
0x44f7f0 256 257 258 259 260 261 262 268 269 270 271
0x44fcb8 263 264 
0x4500b4 265
0x4504f8 266 
0x45093c 267
0x450954 1`10 12`17 19 21`26 28`33 36 39`41 45 53 65 66 72 83 88 96 101`105 109 255
0x450f54 11 18 20 27 34 35 37 38 42`44 46`52 54`64 67`71 73`82 84`87 89`95 97`100 106`108 110`240 254
0x4539b4 241`253
0x453fb4 gpH
0x4545b4 272 332
0x454bb4 273 326 327 330
0x4551b4 274
0x4557b4 275 344
0x455bec 276
0x455fd0 277
0x4565d0 278
0x456bd0 279
0x4571d0 280
0x4577d0 281
0x457800 282
0x457e00 283
0x4581f0 284
0x4587f0 285 342
0x458df0 286
0x4593f0 287 334
0x4599f0 288 331
0x459de0 289
0x45a3e0 290
0x45a83c 291
0x45ae3c 292
0x45b25c 293
0x45b85c 294
0x45be5c 295
0x45c2b8 296
0x45c8b8 297
0x45ceb8 298 340 341
0x45d4b8 299
0x45dab8 300 345
0x45e0b8 301
0x45e4d8 302
0x45ead8 303 328
0x45ef34 304
0x45f534 305
0x45fb34 306 338
0x460134 307
0x460734 308
0x460d34 309
0x461334 310
0x461934 311 322
0x461d24 312
0x462168 313
0x462768 314 335
0x462d68 315 316
0x4634c4 317
0x463974 h
0x463dac 318
0x4641cc 319
0x4645ec 320
0x464bec 321
0x464e20 322 323 324
0x465240 329
0x465840 343
0x465c48 339
0x466248 346
0x466848 333
0x466e48 336
0x467448 337
0x467898 h
0x467a48 h
----܂Ń{CXe[u
0x467cb8`0x467e2cFݒp̃f[^AhX
0x467e2c`0x467edbFg`pF
0x467edc`0c467f0bFgpłgbN̗\ݒ胊Xg
0x467f0c`0x4668ecFȃe[u

0x4689e8` y퉹Ff[^
0x4d4804`0x662b1d FADPCMf[^
0x662b20` y퉹Ff[^
0x67a280`0x6c0ae3 V[PXf[^{wb_
0x6c0ae4`0x6c0b53 ̃AhXe[u

0x6c0b54 : 'FLASH1M_V103'@/ Z[u^CvBȍ~eJ[hʐM̃vOۂB




















E Ȃɂ

܂ȂɂƂ͎vĂ܂łB

߂́A]ԂƓaBGM sappy ŃG[ɂȂ̂𒼂A
Ȓx̋Cn܂̂Ȃ̂ɁACÂΖȂ̏C
ɂ͉Sʂ̉͂܂łāA܂ɂ Sappy 2006 ̉
C|[gc[̍쐬܂łĂ܂܂B

vUɉ͍ɉ΂ƂłB
CɂĂꂽl`ɂ͂ƂĂӂĂ܂B

l`쐬ꂽւтA1CA
BGM쐬ꂽÂقl`ɊւSĂ̕A
{ɂ肪Ƃ܂B
yԂ߂܂B

AႢ܂ˁB
yԂ߂Ă܂Bł˂

 Ver.1.5 ŁAỷ͈͂UIȂƎv܂B

̉͂ʂgĂāAƂ BGM ė~B
l`ɍė~B
ɎvĂ܂B

HŋȂ͍Ȃ̂āH
ȂłB͂Ăŷł炗

cc܂A͍Ă݂łǁB


 Ver.1.5̃eLXg 
----------------------------------
 Ver.1.5ãeLXg 



u Ver.1.5 ŁAỷ͈͂UIȂƎv܂Bv
Ȃď킯łAɍXVĂ܂ˁB
Ƃł


 Ver.1.5ãeLXg 
----------------------------------
 Ver.1.6ãeLXg 


ǂ܂ő񂾂̂낤iA

sappy mod ̍XVׁXƑĂ֌W
̃eLXgɍXV葱Ă܂B

{Ƃ Ver.1.8 n[XAeV啝AbvłB

܂܂܂܂ƍXV邱Ƃł傤B

