summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/devices/bus/a800/a800_slot.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/devices/bus/a800/a800_slot.cpp b/src/devices/bus/a800/a800_slot.cpp
index 8f0f416ab0f..a3e464df1f1 100644
--- a/src/devices/bus/a800/a800_slot.cpp
+++ b/src/devices/bus/a800/a800_slot.cpp
@@ -277,6 +277,10 @@ bool a800_cart_slot_device::call_load()
m_type = A800_8K;
if (len == 0x1000)
m_type = A5200_4K;
+ // also make a try with .hsi file (for .a52 files)
+ std::string info;
+ if (hashfile_extrainfo(*this, info) && info.compare("A13MIRRORING")==0)
+ m_type = A5200_16K_2CHIPS;
}
m_cart->rom_alloc(len, tag());
@@ -285,7 +289,7 @@ bool a800_cart_slot_device::call_load()
if (m_type == A800_TELELINK2)
m_cart->nvram_alloc(0x100);
- printf("%s loaded cartridge '%s' size %dK\n", machine().system().name, filename(), len/1024);
+ logerror("%s loaded cartridge '%s' size %dK\n", machine().system().name, filename(), len/1024);
}
return IMAGE_INIT_PASS;
}
@@ -457,7 +461,9 @@ std::string a5200_cart_slot_device::get_default_card_software()
{
m_file->read(&head[0], 0x10);
type = identify_cart_type(&head[0]);
-
+ }
+ else
+ {
std::string info;
if (hashfile_extrainfo(*this, info) && info.compare("A13MIRRORING")==0)
type = A5200_16K_2CHIPS;