summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/aladdin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes/aladdin.cpp')
-rw-r--r--src/devices/bus/nes/aladdin.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/devices/bus/nes/aladdin.cpp b/src/devices/bus/nes/aladdin.cpp
index 27f6c975201..325fd7bf87d 100644
--- a/src/devices/bus/nes/aladdin.cpp
+++ b/src/devices/bus/nes/aladdin.cpp
@@ -141,16 +141,16 @@ std::string nes_aladdin_slot_device::get_default_card_software(get_default_card_
{
if (hook.image_file())
{
- const char *slot_string = "algn";
- uint32_t len = hook.image_file()->size();
+ uint64_t len;
+ hook.image_file()->length(len); // FIXME: check error return, guard against excessively large files
std::vector<uint8_t> rom(len);
- uint8_t mapper;
- 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
- mapper = (rom[6] & 0xf0) >> 4;
- mapper |= rom[7] & 0xf0;
+ uint8_t const mapper = ((rom[6] & 0xf0) >> 4) | (rom[7] & 0xf0);
+ const char *slot_string = "algn";
// if (mapper == 71)
// slot_string = "algn";
if (mapper == 232)
@@ -158,8 +158,8 @@ std::string nes_aladdin_slot_device::get_default_card_software(get_default_card_
return std::string(slot_string);
}
- else
- return software_get_default_slot("algn");
+
+ return software_get_default_slot("algn");
}