summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2021-04-02 01:08:04 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2021-04-02 01:08:04 +1100
commit900f39f55acc1f88fa6d43c875d70ea3cd88b056 (patch)
tree2a416f78733fe7dad20a90b0f5ff8fd14b591ed6
parent8e72b65075ca9b813b142f562ea494fbe98f59fc (diff)
gameboy: Fixed crash with momocol2 and varpack
-rw-r--r--src/devices/bus/gameboy/gb_slot.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/devices/bus/gameboy/gb_slot.cpp b/src/devices/bus/gameboy/gb_slot.cpp
index 03c17f113ca..a408b9d15ff 100644
--- a/src/devices/bus/gameboy/gb_slot.cpp
+++ b/src/devices/bus/gameboy/gb_slot.cpp
@@ -382,7 +382,7 @@ image_init_result gb_cart_slot_device_base::call_load()
//printf("Type: %s\n", gb_get_slot(m_type));
- internal_header_logging(ROM + offset, len);
+ internal_header_logging(ROM + offset, len - offset);
return image_init_result::PASS;
}
@@ -818,8 +818,8 @@ void gb_cart_slot_device_base::internal_header_logging(uint8_t *ROM, uint32_t le
logerror("\nWarning loading cartridge: Unknown ROM size in header [0x%x].\n", ROM[0x0148]);
if ((len / 0x4000) != rom_banks)
- logerror("\nWarning loading cartridge: Filesize (0x%x) and reported ROM banks (0x%x) don't match.\n",
- len, rom_banks * 0x4000);
+ logerror("\nWarning loading cartridge: Filesize (0x%x) and reported ROM banks (0x%x) don't match.\n", len, rom_banks * 0x4000);
+
/* Calculate and check checksum */
tmp = (ROM[0x014e] << 8) + ROM[0x014f];
for (int i = 0; i < len; i++)
@@ -829,5 +829,4 @@ void gb_cart_slot_device_base::internal_header_logging(uint8_t *ROM, uint32_t le
if (csum != tmp)
logerror("\nWarning loading cartridge: Checksum is wrong (Actual 0x%04X vs Internal 0x%04X)\n", csum, tmp);
-
}