pvr: serialize maple_int_pending. don't rend_reset in rend_term
This commit is contained in:
parent
3f1326a3ac
commit
650c3ff8ae
|
@ -302,7 +302,6 @@ void rend_init_renderer()
|
||||||
|
|
||||||
void rend_term_renderer()
|
void rend_term_renderer()
|
||||||
{
|
{
|
||||||
rend_reset();
|
|
||||||
if (renderer != NULL)
|
if (renderer != NULL)
|
||||||
{
|
{
|
||||||
renderer->Term();
|
renderer->Term();
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "hw/holly/holly_intc.h"
|
#include "hw/holly/holly_intc.h"
|
||||||
#include "hw/holly/sb.h"
|
#include "hw/holly/sb.h"
|
||||||
#include "hw/sh4/sh4_sched.h"
|
#include "hw/sh4/sh4_sched.h"
|
||||||
|
#include "input/gamepad_device.h"
|
||||||
#include "oslib/oslib.h"
|
#include "oslib/oslib.h"
|
||||||
#include "rend/TexCache.h"
|
#include "rend/TexCache.h"
|
||||||
|
|
||||||
|
@ -64,7 +65,7 @@ void CalculateSync()
|
||||||
|
|
||||||
static u32 lightgun_line = 0xffff;
|
static u32 lightgun_line = 0xffff;
|
||||||
static u32 lightgun_hpos;
|
static u32 lightgun_hpos;
|
||||||
static bool maple_int_pending;
|
bool maple_int_pending;
|
||||||
|
|
||||||
u32 fskip;
|
u32 fskip;
|
||||||
|
|
||||||
|
@ -118,7 +119,7 @@ int spg_line_sched(int tag, int cycl, int jit)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Vblank start -- really need to test the scanline values
|
//Vblank start
|
||||||
if (prv_cur_scanline==0)
|
if (prv_cur_scanline==0)
|
||||||
{
|
{
|
||||||
if (SPG_CONTROL.interlace)
|
if (SPG_CONTROL.interlace)
|
||||||
|
@ -126,10 +127,9 @@ int spg_line_sched(int tag, int cycl, int jit)
|
||||||
else
|
else
|
||||||
SPG_STATUS.fieldnum=0;
|
SPG_STATUS.fieldnum=0;
|
||||||
|
|
||||||
//Vblank counter
|
|
||||||
vblk_cnt++;
|
vblk_cnt++;
|
||||||
//TODO : rend_if_VBlank();
|
rend_vblank();
|
||||||
rend_vblank();//notify for vblank :)
|
|
||||||
#ifdef TEST_AUTOMATION
|
#ifdef TEST_AUTOMATION
|
||||||
replay_input();
|
replay_input();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -130,6 +130,7 @@ extern u32 in_vblank;
|
||||||
extern u32 clc_pvr_scanline;
|
extern u32 clc_pvr_scanline;
|
||||||
extern int render_end_schid;
|
extern int render_end_schid;
|
||||||
extern int vblank_schid;
|
extern int vblank_schid;
|
||||||
|
extern bool maple_int_pending;
|
||||||
|
|
||||||
//./core/hw/pvr/ta.o
|
//./core/hw/pvr/ta.o
|
||||||
extern u8 ta_fsm[2049]; //[2048] stores the current state
|
extern u8 ta_fsm[2049]; //[2048] stores the current state
|
||||||
|
@ -374,6 +375,7 @@ bool dc_serialize(void **data, unsigned int *total_size)
|
||||||
|
|
||||||
REICAST_S(in_vblank);
|
REICAST_S(in_vblank);
|
||||||
REICAST_S(clc_pvr_scanline);
|
REICAST_S(clc_pvr_scanline);
|
||||||
|
REICAST_S(maple_int_pending);
|
||||||
REICAST_S(fb_w_cur);
|
REICAST_S(fb_w_cur);
|
||||||
|
|
||||||
REICAST_S(ta_fsm[2048]);
|
REICAST_S(ta_fsm[2048]);
|
||||||
|
@ -977,7 +979,10 @@ bool dc_unserialize(void **data, unsigned int *total_size)
|
||||||
REICAST_SKIP(2048); // ta_fsm
|
REICAST_SKIP(2048); // ta_fsm
|
||||||
}
|
}
|
||||||
if (version >= V12)
|
if (version >= V12)
|
||||||
|
{
|
||||||
|
REICAST_US(maple_int_pending);
|
||||||
REICAST_US(fb_w_cur);
|
REICAST_US(fb_w_cur);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
fb_w_cur = 1;
|
fb_w_cur = 1;
|
||||||
REICAST_US(ta_fsm[2048]);
|
REICAST_US(ta_fsm[2048]);
|
||||||
|
|
|
@ -28,7 +28,7 @@ TEST_F(SerializeTest, SizeTest)
|
||||||
unsigned int total_size = 0;
|
unsigned int total_size = 0;
|
||||||
void *data = nullptr;
|
void *data = nullptr;
|
||||||
ASSERT_TRUE(dc_serialize(&data, &total_size));
|
ASSERT_TRUE(dc_serialize(&data, &total_size));
|
||||||
ASSERT_EQ(28145462u, total_size);
|
ASSERT_EQ(28145463u, total_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue