diff --git a/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs b/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs index e59b3e6f51..f7765a5a18 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs @@ -244,12 +244,12 @@ namespace BizHawk.Emulation.Consoles.Nintendo.N64 M64EMU_PAUSED }; - enum m64p_type - { - M64TYPE_INT = 1, - M64TYPE_FLOAT, - M64TYPE_BOOL, - M64TYPE_STRING + enum m64p_type + { + M64TYPE_INT = 1, + M64TYPE_FLOAT, + M64TYPE_BOOL, + M64TYPE_STRING }; //[DllImport(@"..\..\libmupen64plus\mupen64plus-ui-console\projects\msvc11\Release\mupen64plus.dll", CallingConvention = CallingConvention.Cdecl)] diff --git a/BizHawk.MultiClient/output/dll/libyabause.dll b/BizHawk.MultiClient/output/dll/libyabause.dll index 35f27b4651..4d7b358676 100644 Binary files a/BizHawk.MultiClient/output/dll/libyabause.dll and b/BizHawk.MultiClient/output/dll/libyabause.dll differ diff --git a/yabause/src/scsp.c b/yabause/src/scsp.c index 3721d9fbfa..7b4025393b 100644 --- a/yabause/src/scsp.c +++ b/yabause/src/scsp.c @@ -82,6 +82,7 @@ #include #include #include +#include #include #include "c68k/c68k.h" @@ -285,12 +286,15 @@ typedef struct scsp_t u32 mcieb; // allow main cpu interrupt u32 mcipd; // pending main cpu interrupt + s32 stack[32 * 2]; // two last generation slot output (SCSP STACK) + slot_t slot[32]; // 32 slots + u8 *scsp_ram; // scsp ram pointer void (*mintf)(void); // main cpu interupt function pointer void (*sintf)(u32); // sound cpu interrupt function pointer - s32 stack[32 * 2]; // two last generation slot output (SCSP STACK) - slot_t slot[32]; // 32 slots + //s32 stack[32 * 2]; // two last generation slot output (SCSP STACK) + //slot_t slot[32]; // 32 slots } scsp_t; //////////////////////////////////////////////////////////////// @@ -3783,6 +3787,9 @@ SoundSaveState (FILE *fp) // Sound RAM is important ywrite (&check, (void *)SoundRam, 0x80000, 1, fp); + ywrite (&check, (void *)&scsp, offsetof(scsp_t, scsp_ram), 1, fp); + + /* // Write slot internal variables for (i = 0; i < 32; i++) { @@ -3860,7 +3867,7 @@ SoundSaveState (FILE *fp) ywrite (&check, (void *)&scsp.mcipd, 4, 1, fp); ywrite (&check, (void *)scsp.stack, 4, 32 * 2, fp); - + */ return StateFinishHeader (fp, offset); } @@ -3900,6 +3907,9 @@ SoundLoadState (FILE *fp, int version, int size) // Lastly, sound ram yread (&check, (void *)SoundRam, 0x80000, 1, fp); + yread (&check, (void *)&scsp, offsetof(scsp_t, scsp_ram), 1, fp); + + /* if (version > 1) { // Internal variables need to be regenerated @@ -4023,6 +4033,8 @@ SoundLoadState (FILE *fp, int version, int size) yread (&check, (void *)scsp.stack, 4, 32 * 2, fp); } + */ + return size; }