This is an automated email from the git hooks/post-receive script. ecsv-guest pushed a commit to branch master in repository mupen64plus-rsp-z64.
commit b2be45cfdbeee9950a2232ee3fcb28a5c0e1424c Author: Sven Eckelmann <[email protected]> Date: Fri Sep 2 11:21:44 2011 +0200 Fix DMA transfer parameter decoding --- debian/changelog | 2 ++ debian/patches/dma_transfer.patch | 76 +++++++++++++++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 79 insertions(+) diff --git a/debian/changelog b/debian/changelog index 78949ad..06e9b84 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ mupen64plus-rsp-z64 (1.99.4-4) UNRELEASED; urgency=low * Don't mix implicit and explicit rules to prevent FTBFS with make 3.82 + * debian/patches: + - Add dma_transfer.patch, Fix DMA transfer parameter decoding -- Sven Eckelmann <[email protected]> Sun, 21 Aug 2011 17:55:03 +0200 diff --git a/debian/patches/dma_transfer.patch b/debian/patches/dma_transfer.patch new file mode 100644 index 0000000..eff3b19 --- /dev/null +++ b/debian/patches/dma_transfer.patch @@ -0,0 +1,76 @@ +Description: Fix DMA transfer parameter decoding +Author: casualjames <[email protected]> + +--- +diff --git a/src/rsp.cpp b/src/rsp.cpp +index 669f63b341495663b593c0c429a683cc097f1850..404032aa206b429b62b8bfc40994b4943ce6bdd4 100644 +--- a/src/rsp.cpp ++++ b/src/rsp.cpp +@@ -2897,9 +2897,13 @@ static void rsp_set_context(void *src) + } + + ++enum sp_dma_direction ++{ ++ SP_DMA_RDRAM_TO_IDMEM, ++ SP_DMA_IDMEM_TO_RDRAM ++}; + +- +-static void sp_dma(int direction) ++static void sp_dma(enum sp_dma_direction direction) + { + UINT8 *src, *dst; + int i, j; +@@ -2908,21 +2912,12 @@ static void sp_dma(int direction) + int skip; + + +- INT32 l = sp_dma_length; +- +- if (direction) +- { +- length = ((l & 0xfff) | 3) + 1; +- } +- else +- { +- length = ((l & 0xfff) | 7) + 1; +- } +- ++ UINT32 l = sp_dma_length; ++ length = ((l & 0xfff) | 7) + 1; + skip = (l >> 20) + length; + count = ((l >> 12) & 0xff) + 1; + +- if (direction == 0) // RDRAM -> I/DMEM ++ if (direction == SP_DMA_RDRAM_TO_IDMEM) // RDRAM -> I/DMEM + { + //UINT32 src_address = sp_dram_addr & ~7; + //UINT32 dst_address = (sp_mem_addr & 0x1000) ? 0x4001000 : 0x4000000; +@@ -2945,7 +2940,7 @@ static void sp_dma(int direction) + *z64_rspinfo.SP_DMA_BUSY_REG = 0; + *z64_rspinfo.SP_STATUS_REG &= ~SP_STATUS_DMABUSY; + } +- else // I/DMEM -> RDRAM ++ else if (direction == SP_DMA_IDMEM_TO_RDRAM) // I/DMEM -> RDRAM + { + //UINT32 dst_address = sp_dram_addr & ~7; + //UINT32 src_address = (sp_mem_addr & 0x1000) ? 0x4001000 : 0x4000000; +@@ -3030,7 +3025,7 @@ void n64_sp_reg_w(UINT32 offset, UINT32 data, UINT32 dummy) + // sp_dma_count = (data >> 12) & 0xff; + // sp_dma_skip = (data >> 20) & 0xfff; + sp_dma_length=data; +- sp_dma(0); ++ sp_dma(SP_DMA_RDRAM_TO_IDMEM); + break; + + case 0x0c/4: // SP_WR_LEN_REG +@@ -3038,7 +3033,7 @@ void n64_sp_reg_w(UINT32 offset, UINT32 data, UINT32 dummy) + // sp_dma_count = (data >> 12) & 0xff; + // sp_dma_skip = (data >> 20) & 0xfff; + sp_dma_length=data; +- sp_dma(1); ++ sp_dma(SP_DMA_IDMEM_TO_RDRAM); + break; + + case 0x10/4: // SP_STATUS_REG diff --git a/debian/patches/series b/debian/patches/series index c753e70..fd94bcb 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ rewrite_makefile.patch +dma_transfer.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-rsp-z64.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

