diff options
Diffstat (limited to 'src/devices/bus/gameboy/gb_slot.cpp')
-rw-r--r-- | src/devices/bus/gameboy/gb_slot.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/devices/bus/gameboy/gb_slot.cpp b/src/devices/bus/gameboy/gb_slot.cpp index 79708f95314..0da541e9f5a 100644 --- a/src/devices/bus/gameboy/gb_slot.cpp +++ b/src/devices/bus/gameboy/gb_slot.cpp @@ -584,21 +584,21 @@ std::string gb_cart_slot_device_base::get_default_card_software(get_default_card { if (hook.image_file()) { - const char *slot_string; - uint32_t len = hook.image_file()->size(), offset = 0; + uint64_t len; + hook.image_file()->length(len); // FIXME: check error return, guard against excessively large files std::vector<uint8_t> rom(len); - int type; - hook.image_file()->read(&rom[0], len); + size_t actual; + hook.image_file()->read(&rom[0], len, actual); // FIXME: check error return or read returning short + uint32_t offset = 0; if ((len % 0x4000) == 512) offset = 512; - if (get_mmm01_candidate(&rom[offset], len - offset)) offset += (len - 0x8000); - type = get_cart_type(&rom[offset], len - offset); - slot_string = gb_get_slot(type); + int const type = get_cart_type(&rom[offset], len - offset); + char const *const slot_string = gb_get_slot(type); //printf("type: %s\n", slot_string); |