summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Oliver Stöneberg <oliverst@online.de>2014-11-08 22:38:56 +0100
committer Oliver Stöneberg <oliverst@online.de>2014-11-08 22:38:56 +0100
commit7f49633a2348dbb3bfc32d8680947b3afd52adf0 (patch)
treee17489ca65b16654f19a9d3e772dd2d80459f14d
parent3d3ed13db59ae088e39fc0d63778786c7bd3e748 (diff)
added asserts for n64 -cart conker crash in mips3_device::generate_checksum_block() (nw)
-rw-r--r--src/emu/cpu/mips/mips3drc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/emu/cpu/mips/mips3drc.c b/src/emu/cpu/mips/mips3drc.c
index 0fa12f3f670..eef3790bd4d 100644
--- a/src/emu/cpu/mips/mips3drc.c
+++ b/src/emu/cpu/mips/mips3drc.c
@@ -1085,6 +1085,7 @@ void mips3_device::generate_checksum_block(drcuml_block *block, compiler_state *
if (seqhead->delay.first() != NULL && seqhead->physpc != seqhead->delay.first()->physpc)
{
base = m_direct->read_decrypted_ptr(seqhead->delay.first()->physpc);
+ assert(base != NULL);
UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
UML_ADD(block, I0, I0, I1); // add i0,i0,i1
@@ -1117,6 +1118,7 @@ void mips3_device::generate_checksum_block(drcuml_block *block, compiler_state *
if (!(curdesc->flags & OPFLAG_VIRTUAL_NOOP))
{
base = m_direct->read_decrypted_ptr(curdesc->physpc);
+ assert(base != NULL);
UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
UML_ADD(block, I0, I0, I1); // add i0,i0,i1
sum += curdesc->opptr.l[0];
@@ -1124,6 +1126,7 @@ void mips3_device::generate_checksum_block(drcuml_block *block, compiler_state *
if (curdesc->delay.first() != NULL && (curdesc == seqlast || (curdesc->next() != NULL && curdesc->next()->physpc != curdesc->delay.first()->physpc)))
{
base = m_direct->read_decrypted_ptr(curdesc->delay.first()->physpc);
+ assert(base != NULL);
UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
UML_ADD(block, I0, I0, I1); // add i0,i0,i1
sum += curdesc->delay.first()->opptr.l[0];