*******************************************************************************
hLg      F3rdSTEP(1994-11-11) -> 1996-07-01 ύX_
ΏۃCuĹFsnd
ΏۃCu    FTEhh^e
o[W@@        F1.08
쐬                FK.T / Y.K
쐬                F1996-07-10
̑̃bZ[W    FȂ
*******************************************************************************

///////////////////////////////////////////////////////////////////////////////
ύXڍׁ@uPDOT|uPDOTiTvV[PXf[^̕s
            ΍j
///////////////////////////////////////////////////////////////////////////////
Tvf[^̕sǑ΍
    1994-11-11񋟂smpsnd1ł́CV[PXf[^𔭉łȂsǂ܂
    D́CV[PXf[^TEhhCoVer1.27p֕ύXĂȂ
    ߂łDȉsmpsnd1̃f[^t@C̐ƕύXt@C܂D
    (TEhhCo̎dlύXɂĂsaturn\segadrv\mañhLgQ
    ƂĂDj

        smpsnd1f[^t@Cꗗ       ύXt@C
        --------------------------------------------
        boottone.bin	F
        bootse.bnk		V[PX      
        pitch.bnk		V[PX      
        bootse.exb		DSP۸
        vc_ps.exb		DSP۸
        surround.exb	DSP۸
        3bandana.exb	DSP۸
        bootsnd.mp		GA}bv    

        bootsnd.mpiGA}bvj́CV[PXf[^TCYύXɂȂ
        @ߕύX܂Dȉbootsnd.mp̃V[PXf[^TCYύX_
        @܂D
                
                                1994-11-11      1994-12-27
                ------------------------------------------
                f[^ԍ 0    2000H       ->  4000H
                f[^ԍ 1    2000H       ->  4000H

///////////////////////////////////////////////////////////////////////////////
}jAǉ
///////////////////////////////////////////////////////////////////////////////
dlύX
    ύXT
        EC
            (1)SND_ChgMap̎菇C
        
        Eǉ
            (2)SND_Init(),SND_MoveData()s@ǉ
            (3)DSP~R}hǉ
            (4)STEh~R}hǉ
            (5)V[PXPANݒR}hǉ
            (6)TEhRg[ݒiSTEREO/MONO[hݒjR}hǉ

    ύXڍ
        ֐dl

            ETEhVXeN
                +---------------------------------------------------+
                | TEhVXeN      | SND_Init              |
                +---------------------------------------------------+
                ....
                SND_Init()ݏŎsȂ悤ɂĂD

            Et
                +---------------------------------------------------+
                | TEhf[^]      | SND_MoveData            |
                +---------------------------------------------------+
                ....
                ftHg̊ݗDx̏ꍇCSND_MoveData()ݏ
                gpȂ悤ɂĂDݏŎgp邽߂ɂ́C
                ݗDxDMAI݂ݏŎ擾ł悤ɕ
                XĂDݗDxύXɂ̓VXeCu
                gpĂDTEh̃TvvO(SMPSND4)ɗ
                Ă܂D

            ETEhRg[ - 
                +---------------------------------------------------+
                | TEhGA}bvύX  | SND_ChgMap            |
                +---------------------------------------------------+
                ....
                @肢@
                TEhGA}bvύXɉȂĂCDSP쒆
                ꍇɁC}bv؂ւCgp̃TEhf[^
                肷ƃTEhhCoVXe\ꍇ܂D
                Ĉȉ̂ƂKĂD

                    TEhGA}bvύX֐́CCD-DẢȂĂȂ
                    ɁCȉ̂Q̃R}hsɎsĂD
                        
                        EDSP~֐
                        ESTEh~֐

                +---------------------------------------------------+
                | DSP~           |SND_StopDsp                    |
                +---------------------------------------------------+
                    SndRet SND_StopDsp(void)
                    Ȃ
                o    Ȃ
                ֐l  R}hs
                @\    DSP}CNvO̎s𒆎~܂D
        
                +---------------------------------------------------+
                | STEh~           |SND_OffAllSound     |
                +---------------------------------------------------+
                    SndRet SND_OffAllSound(void)
                    Ȃ
                o    Ȃ
                ֐l  R}hs
                @\    STEh𒆎~܂D
        
            ETEhRg[ - V[PX
                +---------------------------------------------------+
                | V[PXPANݒ         |SND_SetSeqPan          |
                +---------------------------------------------------+
                    SndRet SND_SetSeqPan(SndSeqNum seq_no, Uint8 ctrl_sw,
                                             Uint8 md_pan)
                    seq_no  FǗԍ
                        ctrl_sw FRg[XCb`
                            SND_SEQ_PAN_ON  = Control ON
                            SND_SEQ_PAN_OFF = Control OFF
                        md_pan  FMIDI PAN data
                            l͈̔    0x00`0x7f
                            l̈Ӗ
                                +---------------------------+
                                | left <-- Center --> Right |
                                +---------------------------+
                                | 0x00 <--  0x40  --> 0x7f  |
                                +---------------------------+
                o    Ȃ
                ֐l  R}hs
                @\    V[PXPANݒ肵܂Diڍׂ̓TEhJ}j
                        ÃTEhhCoVXeC^tF[X
                        Dj

            Ȇ
                +---------------------------------------------------+
                | TEhRg[ݒ      | SND_SET_SND_CTRL  |
                +---------------------------------------------------+
                    void SND_SET_SND_CTRL(Uint8 snd_ctrl)
                    TEhRg[l
                            SND_CTRL_OUTPUT_STEREO  FXeI
                            SND_CTRL_OUTPUT_MONO    Fm
                o    Ȃ
                ֐l  Ȃ
                @\    TEhRg[lݒ肵܂D݂̓XeI^
                        m̃[hIݒł܂D
        
                +---------------------------------------------------+
                | TEhRg[擾      | SND_GET_SND_CTRL  |
                +---------------------------------------------------+
                    Uint8 SND_GET_SND_CTRL(void)
                    Ȃ
                o    TEhRg[l
                            SND_CTRL_OUTPUT_STEREO  FXeI
                            SND_CTRL_OUTPUT_MONO    Fm
                ֐l  Ȃ
                @\    TEhRg[l擾܂D
        
⑫
    TEhւ̃ANZXɂ
        TEh֕pɂɃANZX邱Ƃ֎~܂DzXg(SH)T
        Eh֕pɂɃANZXƁC̃̓TEhhCo
        ƂłȂ߁CTEhhCo삵ȂȂ܂D
        
        @ijSND_StartSeq(1,0,0,0);
                while(SND_SEQ_STAT_MODE(status) == SND_MD_STOP){
                    SND_GetSeqStat(&status, 0);
                }
                
                L̏ꍇCiv[vĂ܂\܂DR̓zXg
                Xe[^X̃pɂɃANZX邽߁CV[PXI
                ĂTEhhCoSTOP̃V[PXXe[^X̃
                ֏߂Ȃ߂łD
        

    1994-08-22񋟂̃TvSMPSND3.C ɂ
        ̃Tv폜܂DR͂̃TvŎgpĂ銄݃Xe[
        ^XWX^SCŨn[ĥߎgpłȂȂ߂łD

    TvvOPCMf[^ɂ
        smpsnd4smpsnd5ɎgpĂPCMf[^𕷂ƁCȋȂɕ
        ܂Dn[hCyу\tg̕sł͂܂DPCMf[^
        ߂łDD
        
///////////////////////////////////////////////////////////////////////////////
ύXڍׁ@uPDOU
///////////////////////////////////////////////////////////////////////////////
QdĂяoh~̑΍̕ύX
  TEhhCoɑ΂ăR}hs̊荞݋֎~荞݂}XN̂
͂ȂCtOŊǗ悤ɂD

}bv`FW̊`FbN̕@̕ύX
@}bv`FW̊`FbNɑ҂ԂChCo̓ɕS
Ȃ悤ɂD

///////////////////////////////////////////////////////////////////////////////
ύXڍׁ@uPDOV
///////////////////////////////////////////////////////////////////////////////
V|PXp̕sC
@V|PXpR}hɔsȂsCD

Rc̃p|^Zbg֐ǉ
@prntmcC}nRc̃p|^Zbg֐ǉD

///////////////////////////////////////////////////////////////////////////////
}jAǉ
///////////////////////////////////////////////////////////////////////////////
dlύX
    ύXT
        EC
            (1)SND_SetSeqPañR}hsɊւsC
        
        Eǉ
            (2)SND_SetQSound(),SND_Set3D_Stat(),SND_Set3D_Init()s@ǉ
    ύXڍ
        ֐dl

            Eprntmcp|^Zbg
                +---------------------------------------------------+
                | prntmcp|^Zbg| SND_SetQSound       |
                +---------------------------------------------------+
                    SndRet SND_SetQSound(Uint8 QCh, Uint8 QSt)
                    QCh FRg|prntmc`l
                	QSt FQSOUND PAN data ( 0x00`0x1e )
                            l̈Ӗ
                                +---------------------------+
                                | left <-- Center --> Right |
                                +---------------------------+
                                | 0x00 <--  0x0f  --> 0x1e  |
                                +---------------------------+
                o    Ȃ
                ֐l  R}hs
                @\    prntmc̒ʂݒ肵܂Diڍׂ̓TEhJ}
                	jÃTEhhCoVXeC^tF[X
                	Dj
            EYAMAHA 3D p|^Zbg
                +---------------------------------------------------+
                | YAMAHA 3D p|^Zbg | SND_Set3D_Stat       |
                +---------------------------------------------------+
                    SndRet SND_Set3D_Stat(Uint8 Y3DDst, Uint8 Y3DAzm,
                			      Uint8 Y3DElv)
                    Y3DDst F ( 0x00`0x7f )
                	Y3DAzm F ( 0x00`0x7f )
                	Y3DElv F ( 0x00`0x7f )
                o    Ȃ
                ֐l  R}hs
                @\    YAMAHA 3D ̒ʂݒ肵܂D  iڍׂ̓TEhJ}
                	jÃTEhhCoVXeC^tF[X
                	Dj
            EYAMAHA 3D ʏ
                +---------------------------------------------------+
                | YAMAHA 3D ʏ  | SND_Set3D_Init            |
                +---------------------------------------------------+
                    SndRet SND_Set3D_Init()
                    Ȃ
                o    Ȃ
                ֐l  R}hs
                @\    YAMAHA 3D ̒ʂ𐳖ʒɐݒ肵܂Diڍׂ̓TE
                	hJ}jÃTEhhCoVXeC^tF[
                	XDj

///////////////////////////////////////////////////////////////////////////////
ύXڍׁ@uPDOW
///////////////////////////////////////////////////////////////////////////////

`FbN̑҂Ԃ̂߃_~[AhX̂̕ύX
@}bv`FW̊`FbNɉ҂Ԃ̏̃_~[[hAhX
ύXD
********************************** end of file ********************************
