[mupen64plus-rsp-z64] 66/140: Added a macro for using HLE RSP video/audio emulation

Sven Eckelmann ecsv-guest at moszumanska.debian.org
Thu Nov 26 06:05:22 UTC 2015


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 206a95a388fd5c8bdaf15ac3c71ff6debf78d41b
Author: Sven Eckelmann <sven at narfation.org>
Date:   Fri Sep 2 11:39:23 2011 +0200

    Added a macro for using HLE RSP video/audio emulation
---
 debian/changelog                |  2 ++
 debian/patches/hle_compat.patch | 76 +++++++++++++++++++++++++++++++++++++++++
 debian/patches/series           |  1 +
 3 files changed, 79 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 06e9b84..e4a67f7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,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
+    - Add hle_compat.patch, Added a macro for using HLE RSP video/audio
+      emulation
 
  -- Sven Eckelmann <sven at narfation.org>  Sun, 21 Aug 2011 17:55:03 +0200
 
diff --git a/debian/patches/hle_compat.patch b/debian/patches/hle_compat.patch
new file mode 100644
index 0000000..67706a2
--- /dev/null
+++ b/debian/patches/hle_compat.patch
@@ -0,0 +1,76 @@
+Description: Added a macro for using HLE RSP video/audio emulation
+Author: casualjames <casual.james at yahoo.es>
+
+---
+diff --git a/src/main_rsp.cpp b/src/main_rsp.cpp
+index 4c5b8ad649c541f9497c8d7c17de9b962efc42cf..3b46d7a073f544fd6cba203add8f9a738980471f 100644
+--- a/src/main_rsp.cpp
++++ b/src/main_rsp.cpp
+@@ -132,10 +132,14 @@ extern "C" {
+ 
+     EXPORT unsigned int CALL DoRspCycles(unsigned int Cycles)
+     {
++        #define VIDEO_HLE_ALLOWED
+         //#define AUDIO_HLE_ALLOWED
+-#ifdef AUDIO_HLE_ALLOWED
+-        DWORD TaskType = *(DWORD*)(z64_rspinfo.DMEM + 0xFC0);
+ 
++#if defined (AUDIO_HLE_ALLOWED) || defined (VIDEO_HLE_ALLOWED)
++        unsigned int TaskType = *(unsigned int *)(z64_rspinfo.DMEM + 0xFC0);
++#endif
++
++#ifdef VIDEO_HLE_ALLOWED
+ #if 0
+         if (TaskType == 1) {
+             SDL_Event event;
+@@ -154,25 +158,27 @@ extern "C" {
+         }
+ #endif
+ 
+-        // if (TaskType == 1) {
+-        //   if (z64_rspinfo.ProcessDList != NULL) {
+-        //     z64_rspinfo.ProcessDList();
+-        //   }
+-        //   *z64_rspinfo.SP_STATUS_REG |= (0x0203 );
+-        //   if ((*z64_rspinfo.SP_STATUS_REG & SP_STATUS_INTR_BREAK) != 0 ) {
+-        //     *z64_rspinfo.MI_INTR_REG |= R4300i_SP_Intr;
+-        //     z64_rspinfo.CheckInterrupts();
+-        //   }
++        if (TaskType == 1) {
++            if (z64_rspinfo.ProcessDlistList != NULL) {
++                z64_rspinfo.ProcessDlistList();
++            }
++            *z64_rspinfo.SP_STATUS_REG |= (0x0203);
++            if ((*z64_rspinfo.SP_STATUS_REG & SP_STATUS_INTR_BREAK) != 0 ) {
++                *z64_rspinfo.MI_INTR_REG |= R4300i_SP_Intr;
++                z64_rspinfo.CheckInterrupts();
++            }
+ 
+-        // *z64_rspinfo.DPC_STATUS_REG &= ~0x0002;
+-        // return Cycles;
+-        //   }
++            *z64_rspinfo.DPC_STATUS_REG &= ~0x0002;
++            return Cycles;
++        }
++#endif
+ 
++#ifdef AUDIO_HLE_ALLOWED
+         if (TaskType == 2) {
+-            if (z64_rspinfo.ProcessAList != NULL) {
+-                z64_rspinfo.ProcessAList();
++            if (z64_rspinfo.ProcessAlistList != NULL) {
++                z64_rspinfo.ProcessAlistList();
+             }
+-            *z64_rspinfo.SP_STATUS_REG |= (0x0203 );
++            *z64_rspinfo.SP_STATUS_REG |= (0x0203);
+             if ((*z64_rspinfo.SP_STATUS_REG & SP_STATUS_INTR_BREAK) != 0 ) {
+                 *z64_rspinfo.MI_INTR_REG |= R4300i_SP_Intr;
+                 z64_rspinfo.CheckInterrupts();
+@@ -180,6 +186,7 @@ extern "C" {
+             return Cycles;
+         }  
+ #endif
++
+         if (z64_rspinfo.CheckInterrupts==NULL)
+             log(M64MSG_WARNING, "Emulator doesn't provide CheckInterrupts routine");
+         return rsp_execute(0x100000);
diff --git a/debian/patches/series b/debian/patches/series
index fd94bcb..f573489 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 rewrite_makefile.patch
 dma_transfer.patch
+hle_compat.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-rsp-z64.git



More information about the Pkg-games-commits mailing list