Correctly fix the negative value in "Made In Ore".
This commit is contained in:
parent
624252bf05
commit
04761fed6c
|
@ -46,6 +46,7 @@ private:
|
||||||
u32 mode;
|
u32 mode;
|
||||||
u32 handle_save;
|
u32 handle_save;
|
||||||
u32 save_adr;
|
u32 save_adr;
|
||||||
|
u32 rom_mask;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual Slot1Info const* info()
|
virtual Slot1Info const* info()
|
||||||
|
@ -64,6 +65,8 @@ public:
|
||||||
|
|
||||||
subAdr = T1ReadWord(gameInfo.header.unknown5, 0xE) << 17;
|
subAdr = T1ReadWord(gameInfo.header.unknown5, 0xE) << 17;
|
||||||
|
|
||||||
|
rom_mask = (0x020000 << gameInfo.header.cardSize) - 1;
|
||||||
|
|
||||||
mode = 0;
|
mode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,12 +126,9 @@ public:
|
||||||
|
|
||||||
case 0xB2: //Set save position
|
case 0xB2: //Set save position
|
||||||
mode = cmd;
|
mode = cmd;
|
||||||
save_adr = protocol.address & gameInfo.mask;
|
save_adr = protocol.address & rom_mask;
|
||||||
// to Norrmatt: Made in Ore (UORJ, crc 2E7111B8) crash when save_addr < subAdr
|
// to Normmatt: Made in Ore (UORJ, crc 2E7111B8) crash when save_addr < subAdr
|
||||||
if (save_adr > subAdr)
|
|
||||||
save_adr -= subAdr;
|
save_adr -= subAdr;
|
||||||
else
|
|
||||||
save_adr = 0;
|
|
||||||
handle_save = 1;
|
handle_save = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue