*******************************************************************************
hLg      F3ndSTEP(94-08-22) -> 3rdSTEP(1994-11-11) ύX_
ΏۃCuĹFdma
ΏۃCu    FDMA
o[W@@        F1.04
쐬                FN.T
쐬                F1994-11-11
̑̃bZ[W    FȂ
*******************************************************************************

Ver1.02Ver1.03͌ʑΉŔzẑłB

///////////////////////////////////////////////////////////////////////////////
ύXo[Wւ̈ڍsƎ̒
///////////////////////////////////////////////////////////////////////////////
    IIdvII
        wb_t@CύXĂ܂̂ŁAwb_t@CCN[hĂ
        郆[UvOKRpCĂB

///////////////////////////////////////////////////////////////////////////////
ύX
///////////////////////////////////////////////////////////////////////////////
    1994-09-23 Ver1.02
    1994-10-12 Ver1.03
    1994-11-11 Ver1.04
    1994-11/14 Ver1.04a H.O

///////////////////////////////////////////////////////////////////////////////
ύXڍ  Ver.1.04a
///////////////////////////////////////////////////////////////////////////////
DMAv/I𐧌䃌WX^ւ̊ONGXgw̋֎~ւ̑΍B
    Cuł͎w肪\Ȃ̂ŁAȉ̂悤ɏCB
     1) wb_t@Csega_dma.hDMA_CPU_DREQ}N폜B
     2) t@Cdma_cpu0.c̃WX^ݒ֐DMA_CpuSetPrmň
        `FbNsADMA_CPU_RXIDMA_CPU_TXIȊO͐ݒ肵Ȃ悤ɏCB

///////////////////////////////////////////////////////////////////////////////
ύXڍׁ@uPDOS
///////////////////////////////////////////////////////////////////////////////
RpCIvV̕ύX
        CũRpCIvV/SP/NOSP֕ύX܂BŔA/SP
        ŃRpCƊ֐CCWJĂ܂̂ŃfobOɍ
        ꂪ邽߂łB

///////////////////////////////////////////////////////////////////////////////
ύXڍׁ@uPDOR
///////////////////////////////////////////////////////////////////////////////
sǑ΍
    Ver1.02(1994-09-30)̕sǑ΍ȉ̂悤ɍs܂B

    
        1.}jALqDMAp[^̃}XNړeĂB
            sǓe
            }jAɂ́uDMÃ}XN萔w肵rbg̓WX^ւ̐ݒ
            ȂBvƌċLqĂB
            
            ΍@
            ́AuDMÃ}XN萔w肵Ȃrbg̓WX^ւ̐ݒ
            ȂBvłB
            
    SCU DMA
        1.DMA_ScuResult()DMA_ScuMemCopy()̑OɎsĂlԂ
            B
            sǓe
            DMA_ScuResult()DMA_ScuMemCopy()̑OɎsĂlԂ
            B
            
            ΍@
            lԂ悤ɏCB

    ᐅSCU DMA
        1.DMAI荞݂̃xN^ɖ߂ĂȂB
            sǓe
            DMÅJnDMAĨ݂xN^ޔĂBDMAI
            ɑޔĂxN^ēo^ĂȂB

            ΍
            e`lDMAIݏőޔĂxN^ēo^B
            
        2.DMAp[^̃}XNwłȂB
            sǓe
            DMÃp[^̃}XN萔̐ݒɊ֌WȂADXRiǂݍ݃AhX
            WX^jւ̐ݒ𖳏ɍs悤ɂȂĂB
            
            ΍@
            }XN萔𐳂ύXB
            
        3.DMA_ScuAllStop̓n[hIɎgpłȂ̂ɃCuɑ݂Ă

            sǓe
            DMA_ScuAllStopŎgpĂDMAIWX^SCŨn[hEFA
            ɂgp֎~łɂ炸A݂ĂB

            ΍@
            ̊֐폜B
            
        4.DMA_ScuStop̓n[hIɎgpłȂ̂ɃCuɑ݂ĂB
            sǓe
            DMA_ScuStop̓n[hIȋ@\݂Ȃ̂ɂ炸A݂
            B

            ΍@
            ̊֐폜B
            
    ᐅCPU DMA
        1.DMAp[^̃}XNwłȂB
            sǓe
            DMA̋ʃp[^̃}XN萔̐ݒɊ֌WȂAPRivCIe
            B[hjւ̐ݒ𖳏ɍs悤ɂȂĂBADMÃp
            [^̃}XN萔̐ݒɊ֌WȂASARiDMA\[XAhXjւ̐ݒ
            𖳏ɍs悤ɂȂĂB
            
            ΍@
            }XN萔𐳂ύXB
            
}jAւ̒ǉ
    ᐅSCU DMA
        ᐅSCU DMAgpꍇAgp`lɑΉDMAI
        @}XNWX^邱
        @
TvvȌC
    {o[Wœ삷悤ɕύXB
        SMPDMA10.C
        SMPDMA12.C

///////////////////////////////////////////////////////////////////////////////
ύXڍׁ@uPDOQ
///////////////////////////////////////////////////////////////////////////////
sǑ΍
    3rdSTEP̕sǂ̑΍ȉ̂悤ɍs܂Bȉ̕sǂ͉uSCUv
    DMAłB

        1.sega_dma.libւ̃fobOvO݁AfobOt̕sǑ΍
            sǓe
            sega_dma.lib֌ăfobOvO݂Ă܂B̃f
            obOvO6060000Ԓnt߂WRITEĂ܂B܂ARp
            CIvV/debw肵Ă߃fobO񂪕tAsega_
            dma.libKvȏɑ傫ȂĂ܂B
            
            ΍
            (1)RpC蒼܂B
            (2)dma.bat dma.mk𐳂C܂B
            
        2.n[hIɎgp֎~̊荞݃Xe[^XWX^gpĂsǑ
        @@
            sǓe
            n[hIɎgp֎~̊荞݃Xe[^XWX^CuŎgp
            Ă܂Bi荞݃Xe[^XWX^ւWRITẼ^C~O
            ẮA荞ݐMƂȂꍇ܂B̓n[hIɎg
            p֎~łBj
            
            ΍@
            CuŊ荞݃Xe[^XWX^gpȂ悤ɂ܂
            BւƂĊ荞ݏgp悤ɂ܂B
            ɂDMACuɈȉ̎dlύX܂B
            @DMA SCUCuł́ADMAI荞ݏgp邽߁AV-BLANK
            IN荞ݏADMAD揇ʂ̍荞ݏDMA SCU
            sƊ荞ݗD揇ʂ̍荞ݏ̏I܂DMȀI
            Ă܂܂B̑҂h@͎2̕@܂B
                (1)SCU DMA̓CōsB
                (2)荞ݗD揇ʂύXB
            
            (2)̊荞ݗD揇ʂ̐@͕ʓrA܂B

            dlύXe
            (1)SCU DMA
                ̊֐dlǉ܂B
                    
                    +-----------------------------------------------------+
                    | ֐dl | SCU DMA  | DMA_ScuInit             |
                    +-----------------------------------------------------+
                        void DMA_ScuInit(void)
                        Ȃ
                    o    Ȃ
                    ֐l  Ȃ
                    @\    SCU DMȀ܂BDMA_ScuCopyMem(),
                    DMA_ScuResult()sOɕKsĂB
                    !!!!
                            SCU DMAł́ADMA[h0̓]I荞ݏg
                            pĂ܂BāADMA[h0̓]I荞
                            ̊荞݃}XNWX^́AύXȂłB
                    
            (2)SCU DMAᐅ
                ̊֐dlAf[^dlǉ܂B

                    +-----------------------------------------------------+
                    | ֐dl | DMAXe[^X擾 | DMA_ScuGetStatus     |
                    +-----------------------------------------------------+
                        void DMA_ScuGetStatus(DmaScuStatus *status,
                                                                Uint32 ch)
                        ch  F̓`l
                    o    status FXe[^X|C^
                    ֐l  Ȃ
                    @\    w肳ꂽDMA`l̃Xe[^X擾܂B
                    !!!!
                            2ndSTEPɓl̊֐܂B{o[W
                            Ƃł͈ȉ̈Ⴂ܂B
                            
                            DmaScuStatus\̂̃oAdxbkiDMAftO
                            jEdxwtiDMAҋ@tOj폜܂B

                    +-----------------------------------------------------+
                    | f[^dl | Xe[^X        | DmaScuStatus       |
                    +-----------------------------------------------------+
                    Xe[^X͈ȉ̂悤ȍ\̂łB
                    
                    struct {
                        Uint32 dxmv;
                    }
                    
                    ȉɁÅeoŎgpł萔܂B
                    
                        dxmv /* DMAtO */
                        +-------------------------------------------------+
                        |萔           |                             |
                        +-------------------------------------------------+
                        | DMA_SCU_MV    |쒆                           |
                        | DMA_SCU_NO_MV |쒆łȂ                     |
                        +-------------------------------------------------+

********************************** end of file ********************************
