
MoonShell Plugin (MSP Format) Ver5.0 SDK 2006/12/28

MSPV20ɂĂ͉̕ŁB

------------------------------------------------------------------

VvOC邽߂̏B

ImagevOCȂbmpӂASoundvOCȂwavӂ肪AVvŃev[głB

./make_plug.bat

copy arm9\arm9.bin pluginname.msp

pluginname8ȉ̃V[gt@CɂĂB
̉2s͎̃eXgpȂ̂ō폜č\܂B

./arm9/specs/ds_arm9_mshlplg_crt0.s

ΉgqƃvOCƐҖĂB

./arm9/source/main.cpp

X֐΂[ƍ폜āAVvOCĂB

ẼvOCŕKvȊ֐ꗗ

Start/Free/GetInfoIndexCount/GetInfoStrL/GetInfoStrW/GetInfoStrUTF8

EImagePluginŕKvȊ֐ꗗ

RefreshScreen/GetWidth/GetHeight

ESoundPluginŕKvȊ֐ꗗ

Update/GetPosMax/GetPosOffset/SetPosOffset/GetChannelCount/GetSampleRate/GetSamplePerFrame

------------------------------------------------------------------

ӂƂłȂƂƂB

EWCu͎g܂B

mallocstrcpyȂǂplugin.hplugin_def.h`ĂgĂB
ɁAstdlib.hstring.hCN[hƏdĂ܂̂Ő΂ɃCN[hȂłB
N_sbkkZNVȂƂꂽƂ͑̕WCugĂƂłB
'->']ƂƂ́Astring.hCN[hĂƂłB

E󂫃ɂāB

傫ȃtHgXLgĂĂA2MByteقǃcĂ܂B
vOC{̂Ɓiq́jg`t@C̓Iœn܂̂ŁAvʂ2MByte炢ڈɂĂB
vOCNMoonShellŃmۂ邱Ƃ͂Ȃ̂ŁAMM܂ŁisafemallocNULLԂ܂ŁjgđvłB

EITCMZNV͎g܂B

܂g܂Bǂݍ݃ANZXȂłB

EDTCMZNV̏ςݕϐ͎g܂B

staticAglobalɃe[uȂǂ͎sɃC]ďĂB
[܂Bl͖łB
X^bNDTCMɂ܂̂ŁAeʂɒӂĂB10kb炢ȂvłB

E0x5e90܂ޒ萔͎g܂B

DLLpb`듮삵܂BǂĂgƂ./arm9/specs/ds_arm9_mshlplg.ld̒́A
	dlram	: ORIGIN = 0x5e900000, LENGTH = 4M - 4k
0x5e90gĂȂ萔ɏĂBi0x5e90͎L蓾ȂȒlꂽłj

ENDS̋LWX^ɂ

{IɎRɎgĂč\܂B
DMA3͎gpOƏIBusytO~Ă邱ƂmFΎg܂B
DMA0/1/2͊荞݂Ŏgp̂ŎgȂłB
VRAMWX^͊֐IOɑSĕA邱Ƃۏ؂Ȃg܂Bi荞݂ł͎g܂j

ETEhobt@TCYɂ

GetSamplePerFrame֐͈UpdateŏTvԂ܂B
640Tvȉ͏ɓۏ؂܂B

gɂI[o[TvOt@N^܂B
48000Hzȉ̎́A4{Ȃ̂640TvőłB
96000Hzȉ̎́A2{Ȃ̂1280TvőłB
192000Hzȉ̎́A1{Ȃ̂2560TvőłB
m1cĥƂ͍XɃTv2{g܂܂B

------------------------------------------------------------------

g`t@CƂB

vOCNɁAMSPt@CƓINIBINƃCɓǂݍłN܂B
example : bmp.msp -> bmp.ini & bmp.bin
Iœ삷̂ŁA܂傫ȃt@C͒uĂȂłB

INIt@C̉̓p[T[Tv́AspcmikmodvOCinifile.cpp/.hQlɂĂB
BINt@Cvoid*łBTEhtHgƂɎg邩B
MoonShellƂĂ͂ǂPɃoCiǂݍŃ|C^nĂ邾Ȃ̂ŉɎgĂ\܂B

------------------------------------------------------------------

MoonShellPluginVersion2.0(MSPV20)ɂāB

vOC̍͊{IMSPV10ƓłAGetBINFileHandlemsp_fopenmsp_fcloseǉĂ܂B

]͊goCig߂GetBINDatagĂ܂B̏ꍇASẴoCif[^ɓWJ邽߁Aeʈȏ̃t@C͈܂łB
GetBINFileHandlegƁAʏfseekfreadȂǂg悤ɂȂ܂B
̊֐Ŏ擾t@Cnhmsp_fcloseŉȂł̂܂܏IĂBMoonShellŏ܂B

msp_fopenmsp_fclose̓vOC(.msp)uĂtH_ɂCӂ̃t@CJƂo܂B
ő哯nh͂S炢ڏɂĂBłȂ΂ł\܂B
msp_fopenŎ擾nh͏IOmsp_fcloseĂBۂ̃ANZX͒ʏfseekfreadȂǂOKłB

wb_t@CƎۂ̎gp͕WMIDIt@CvOC̃TEhtHgӂQlɂĂB

------------------------------------------------------------------

MoonShellPluginVersion3.1(MSPV31)ɂāB

^C\̂̉xϐ̖̂ATemperature16Temperature12ɕς܂BAhX͈ꏏȂ̂Ń\[XuOKłB
formdt_FormatDate֐ǉ܂BMoonShell̃[Uw蕶œt𐶐܂B

------------------------------------------------------------------

MoonShellPluginVersion4.0(MSPV40)ɂāB

ɂĊ{Iɂ͓łAGBAJ[g̊gANZXpC^[tF[XǉĂ܂B

ŏɈxextmem_SetCountŃXbg̐߂āAƂ͊eXbgɑ΂ď܂B
Ċ蓖ĂƂTO͂܂BvOCIƑSẴ܂B

extmem_ExistśA蓖ĂĂ邩ǂԂ܂B
extmem_AlloćAw肳ꂽTCỸXbg쐬܂B
extmem_WritéAXbgɏ݂܂B
extmem_Read́AXbgǂݍ݂܂B

XbgǂݏŁAVmۂ͂܂BKXbgTCYȏ̃C̈nĂB


------------------------------------------------------------------

MoonShellPluginVersion5.0(MSPV50)ɂāB

ɂĊ{Iɂ͓łBiRsyj
ggȂȊÓAʂ̃TEhvOCƓłBINIBINg܂B

KvȏigȂǁjStart֐Ă΂ꂽƂn܂̂ŁAstaticŕۑĂĂB
ƂUpdate֐Ŋ]̏邾łB
{[{ɂ邾̊ȒPȃTv'mspv50_sndeff_volumex2_plugintutorial/arm9/source/main.cpp'ɂ܂̂ŎQƂĂB

