mirror of
https://github.com/mamedev/mame.git
synced 2024-09-29 17:38:18 +02:00
-nintendo/vboy.cpp: Allow it to run unmapped reads with no cartridge.
-hash/gbcolor.xml: Added notes on what happens if you bypass the boot check for Rocket Games cartridges. -bus/vboy/slot.cpp: Don't instantiate a cartridge device when no media is loaded.
This commit is contained in:
parent
4761e5ebb0
commit
1c2266ce55
4 changed files with 41 additions and 21 deletions
|
@ -7509,7 +7509,8 @@ license:CC0
|
|||
</part>
|
||||
</software>
|
||||
|
||||
<software name="tamaosu">
|
||||
<!-- unemulated speaker and real-time clock -->
|
||||
<software name="tamaosu" supported="partial">
|
||||
<!-- The game cart has an integrated speaker and a replaceable battery (CR2016). -->
|
||||
<description>Game de Hakken!! Tamagotchi - Osutchi to Mesutchi (Japan)</description>
|
||||
<year>1998</year>
|
||||
|
@ -27784,9 +27785,10 @@ patch the rom to 0x00 and 0x00....and at 0x0B3D also patch it to
|
|||
</software>
|
||||
|
||||
<software name="lasama">
|
||||
<description>La Sa Ma Chuan Qi - Story of Lasama (Taiwan)</description>
|
||||
<description>Lāsàmǎ Chuánqí - Story of Lasama (Taiwan)</description>
|
||||
<year>19??</year>
|
||||
<publisher>GOWIN</publisher>
|
||||
<info name="alt_title" value="拉薩瑪傳奇" />
|
||||
<info name="serial" value="GS-04" />
|
||||
<part name="cart" interface="gameboy_cart">
|
||||
<feature name="slot" value="rom_lasama" />
|
||||
|
|
|
@ -24540,6 +24540,7 @@ license:CC0
|
|||
These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
||||
-->
|
||||
|
||||
<!-- missing graphics in Karate Joe -->
|
||||
<software name="atvrackj" supported="partial">
|
||||
<description>ATV Racing & Karate Joe (Europe)</description>
|
||||
<year>200?</year>
|
||||
|
@ -24556,6 +24557,7 @@ license:CC0
|
|||
</part>
|
||||
</software>
|
||||
|
||||
<!-- missing graphics in Karate Joe -->
|
||||
<software name="atvrackja" cloneof="atvrackj" supported="partial">
|
||||
<description>ATV Racing & Karate Joe (Europe, alt)</description>
|
||||
<year>200?</year>
|
||||
|
@ -24587,6 +24589,7 @@ license:CC0
|
|||
</part>
|
||||
</software>
|
||||
|
||||
<!-- displays white screen rather than game selection menu - can still use Up/Down and Start to select game -->
|
||||
<software name="fullhang" supported="partial">
|
||||
<description>Full Time Soccer & Hang Time Basketball (Europe)</description>
|
||||
<year>200?</year>
|
||||
|
@ -24634,6 +24637,7 @@ license:CC0
|
|||
</part>
|
||||
</software>
|
||||
|
||||
<!-- missing graphics in Smash Out -->
|
||||
<software name="pocksmrt" supported="partial">
|
||||
<description>Pocket Smash Out & Race Time (Europe)</description>
|
||||
<year>200?</year>
|
||||
|
@ -24664,7 +24668,8 @@ license:CC0
|
|||
</part>
|
||||
</software>
|
||||
|
||||
<software name="karatej" supported="partial">
|
||||
<!-- missing graphics make the game almost unplayable -->
|
||||
<software name="karatej" supported="no">
|
||||
<description>Karate Joe (Europe)</description>
|
||||
<year>200?</year>
|
||||
<publisher>Rocket Games</publisher>
|
||||
|
@ -24705,7 +24710,8 @@ license:CC0
|
|||
</part>
|
||||
</software>
|
||||
|
||||
<software name="sinkj" supported="partial">
|
||||
<!-- Space Invasion hangs when starting a game, Karate Joe has missing graphics -->
|
||||
<software name="sinkj" supported="no">
|
||||
<description>Space Invasion & Karate Joe (Europe)</description>
|
||||
<year>200?</year>
|
||||
<publisher>Rocket Games</publisher>
|
||||
|
@ -24721,6 +24727,7 @@ license:CC0
|
|||
</part>
|
||||
</software>
|
||||
|
||||
<!-- Space Invasion hangs when starting a game -->
|
||||
<software name="sinpntr" supported="partial">
|
||||
<description>Space Invasion & Painter (Europe)</description>
|
||||
<year>200?</year>
|
||||
|
@ -24737,7 +24744,8 @@ license:CC0
|
|||
</part>
|
||||
</software>
|
||||
|
||||
<software name="sinvasn" supported="partial">
|
||||
<!-- hangs when starting a game -->
|
||||
<software name="sinvasn" supported="no">
|
||||
<description>Space Invasion (Europe)</description>
|
||||
<year>200?</year>
|
||||
<publisher>Rocket Games</publisher>
|
||||
|
|
|
@ -126,27 +126,38 @@ void vboy_cart_slot_device::device_start()
|
|||
|
||||
std::string vboy_cart_slot_device::get_default_card_software(get_default_card_software_hook &hook) const
|
||||
{
|
||||
std::string const image_name(mconfig().options().image_option(instance_name()).value());
|
||||
software_part const *const part(!image_name.empty() ? find_software_item(image_name, true) : nullptr);
|
||||
if (part)
|
||||
if (hook.image_file())
|
||||
{
|
||||
osd_printf_verbose("[%s] Found software part for image name '%s'\n", tag(), image_name);
|
||||
for (rom_entry const &entry : part->romdata())
|
||||
{
|
||||
if (ROMENTRY_ISREGION(entry) && (entry.name() == "sram"))
|
||||
{
|
||||
osd_printf_verbose("[%s] Found 'sram' data area, enabling cartridge backup RAM\n", tag());
|
||||
return "flatrom_sram";
|
||||
}
|
||||
}
|
||||
// TODO: is there a header field or something indicating presence of save RAM?
|
||||
osd_printf_verbose("[%s] Assuming plain ROM cartridge\n", tag());
|
||||
return "flatrom";
|
||||
}
|
||||
else
|
||||
{
|
||||
osd_printf_verbose("[%s] No software part found for image name '%s'\n", tag(), image_name);
|
||||
std::string const image_name(mconfig().options().image_option(instance_name()).value());
|
||||
software_part const *const part(!image_name.empty() ? find_software_item(image_name, true) : nullptr);
|
||||
if (part)
|
||||
{
|
||||
osd_printf_verbose("[%s] Found software part for image name '%s'\n", tag(), image_name);
|
||||
for (rom_entry const &entry : part->romdata())
|
||||
{
|
||||
if (ROMENTRY_ISREGION(entry) && (entry.name() == "sram"))
|
||||
{
|
||||
osd_printf_verbose("[%s] Found 'sram' data area, enabling cartridge backup RAM\n", tag());
|
||||
return "flatrom_sram";
|
||||
}
|
||||
}
|
||||
osd_printf_verbose("[%s] No 'sram' data area found, assuming plain ROM cartridge\n", tag());
|
||||
return "flatrom";
|
||||
}
|
||||
else
|
||||
{
|
||||
osd_printf_verbose("[%s] No software part found for image name '%s'\n", tag(), image_name);
|
||||
}
|
||||
}
|
||||
|
||||
osd_printf_verbose("[%s] Assuming plain ROM cartridge\n", tag());
|
||||
return "flatrom";
|
||||
// leave the slot empty
|
||||
return std::string();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1270,7 +1270,6 @@ void vboy_state::vboy(machine_config &config)
|
|||
|
||||
/* cartridge */
|
||||
VBOY_CART_SLOT(config, m_cart, vboy_carts, nullptr);
|
||||
m_cart->set_must_be_loaded(true);
|
||||
m_cart->intcro().set_inputline(m_maincpu, 2);
|
||||
m_cart->set_exp(m_maincpu, AS_PROGRAM, 0x0400'0000);
|
||||
m_cart->set_chip(m_maincpu, AS_PROGRAM, 0x0600'0000);
|
||||
|
|
Loading…
Reference in a new issue