mirror of
https://github.com/holub/mame
synced 2025-04-18 22:49:58 +03:00
(MESS) sms: added support for Hi-Com multigame carts, recently dumped
by smspower guys. Korean or Japanese consoles are suggested for these carts. [Fabio Priuli]
This commit is contained in:
parent
39c29f2e9e
commit
44af5bcab7
113
hash/sms.xml
113
hash/sms.xml
@ -867,6 +867,119 @@
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
The labelling of Hi-Com multigame carts is arbitrary. The boxes appears to what was intended as unique product number
|
||||
but boxes are typically mixed up and patched with stickers added to change game titles (on both boxes and cartridges)
|
||||
making the product number rather unreliable AND realistically we may never find out the correct numbers.
|
||||
-->
|
||||
<software name="hicom3a">
|
||||
<description>The Best Game Collection - Hang On + Pit Pot + Spy vs Spy (Kor)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="hi-com 3-in-1 the best game collection a (kr).sms" size="131072" crc="98af0236" sha1="a64f63eb81bfdd81476daf74a810b5b29fb55986" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hicom3b">
|
||||
<description>The Best Game Collection - Great Baseball + Great Soccer + Super Tennis (Kor)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="hi-com 3-in-1 the best game collection b (kr).sms" size="131072" crc="6ebfe1c3" sha1="65ed4232b972e3d85147561b310115dd6b642b99" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hicom3c">
|
||||
<description>The Best Game Collection - Teddy Boy Blues + Pit-Pot + Astro Flash (Kor)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="hi-com 3-in-1 the best game collection c (kr).sms" size="131072" crc="81a36a4f" sha1="d3912814b33ce9ca13340902524bcc01dcf397b0" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hicom3d">
|
||||
<description>The Best Game Collection - Teddy Boy Blues + Great Soccer + Comical Machine Gun Joe (Kor)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="hi-com 3-in-1 the best game collection d (kr).sms" size="131072" crc="8d2d695d" sha1="5e20414c5eb61c3c817509f794381e1577e69111" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hicom3e">
|
||||
<description>The Best Game Collection - Ghost House + Teddy Boy Blues + Seishun Scandal (Kor)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="hi-com 3-in-1 the best game collection e (kr).sms" size="131072" crc="82c09b57" sha1="940af778df6190ef2606a3555d47c0a7d194e05c" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hicom3f">
|
||||
<description>The Best Game Collection - Satellite-7 + Great Baseball + Seishun Scandal (Kor)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="hi-com 3-in-1 the best game collection f (kr).sms" size="131072" crc="4088eeb4" sha1="9ee8554a85dfc0a5a278474f4886b311650b37dc" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hicom8a">
|
||||
<description>The Best Game Collection (Kor, 8 in 1 Ver. A)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="262144">
|
||||
<rom name="hi-com 8-in-1 the best game collection a (kr).sms" size="262144" crc="fba94148" sha1="cbcdcd85317becd7ced71612a72913c02fa805be" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hicom8b">
|
||||
<description>The Best Game Collection (Kor, 8 in 1 Ver. B)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="262144">
|
||||
<rom name="hi-com 8-in-1 the best game collection b (kr).sms" size="262144" crc="8333c86e" sha1="657051e0cf27377b8c89c42d3a8f3deef165430a" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hicom8c">
|
||||
<description>The Best Game Collection (Kor, 8 in 1 Ver. C)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Hi-Com</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="hicom" />
|
||||
<dataarea name="rom" size="262144">
|
||||
<rom name="hi-com 8-in-1 the best game collection c (kr).sms" size="262144" crc="00e9809f" sha1="c7eddfbdf0383e0b813abf2bbf47c1e779587adb" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="blackblt">
|
||||
<description>Black Belt (Euro, USA)</description>
|
||||
<year>1986</year>
|
||||
|
@ -35,6 +35,7 @@ const device_type SEGA8_ROM_4PAK = &device_creator<sega8_4pak_device>;
|
||||
const device_type SEGA8_ROM_ZEMINA = &device_creator<sega8_zemina_device>;
|
||||
const device_type SEGA8_ROM_NEMESIS = &device_creator<sega8_nemesis_device>;
|
||||
const device_type SEGA8_ROM_JANGGUN = &device_creator<sega8_janggun_device>;
|
||||
const device_type SEGA8_ROM_HICOM = &device_creator<sega8_hicom_device>;
|
||||
const device_type SEGA8_ROM_KOREAN = &device_creator<sega8_korean_device>;
|
||||
const device_type SEGA8_ROM_KOREAN_NB = &device_creator<sega8_korean_nb_device>;
|
||||
|
||||
@ -149,6 +150,12 @@ sega8_janggun_device::sega8_janggun_device(const machine_config &mconfig, const
|
||||
}
|
||||
|
||||
|
||||
sega8_hicom_device::sega8_hicom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: sega8_rom_device(mconfig, SEGA8_ROM_HICOM, "SMS Hi-Com Carts", tag, owner, clock, "sega8_hicom", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
sega8_korean_device::sega8_korean_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: sega8_rom_device(mconfig, SEGA8_ROM_KOREAN, "SMS Korean Carts", tag, owner, clock, "sega8_korean", __FILE__)
|
||||
{
|
||||
@ -297,6 +304,11 @@ void sega8_janggun_device::late_bank_setup()
|
||||
m_rom_bank_base[5] = 5;
|
||||
}
|
||||
|
||||
void sega8_hicom_device::late_bank_setup()
|
||||
{
|
||||
m_rom_bank_base = 0;
|
||||
}
|
||||
|
||||
void sega8_korean_device::late_bank_setup()
|
||||
{
|
||||
m_rom_bank_base[0] = 0;
|
||||
@ -886,6 +898,27 @@ WRITE8_MEMBER(sega8_janggun_device::write_mapper)
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Hi-Com X-in-1 cart, uses writes to 0xffff to
|
||||
change program bank in 0x0000-0x7fff
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(sega8_hicom_device::read_cart)
|
||||
{
|
||||
if (offset >= 0x8000)
|
||||
return m_rom[offset & 0x3fff];
|
||||
|
||||
return m_rom[(m_rom_bank_base * 0x8000) + offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(sega8_hicom_device::write_mapper)
|
||||
{
|
||||
if (offset == 0x03)
|
||||
m_rom_bank_base = data % (m_rom_page_count << 1);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Korean cart, used e.g. in Dodgeball King,
|
||||
|
@ -311,6 +311,29 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
// ======================> sega8_hicom_device
|
||||
|
||||
class sega8_hicom_device : public sega8_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
sega8_hicom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() { save_item(NAME(m_rom_bank_base)); }
|
||||
|
||||
virtual void late_bank_setup();
|
||||
|
||||
// reading and writing
|
||||
virtual DECLARE_READ8_MEMBER(read_cart);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_cart) {}
|
||||
virtual DECLARE_WRITE8_MEMBER(write_mapper);
|
||||
|
||||
protected:
|
||||
UINT8 m_rom_bank_base;
|
||||
};
|
||||
|
||||
|
||||
// ======================> sega8_korean_device
|
||||
|
||||
class sega8_korean_device : public sega8_rom_device
|
||||
@ -356,6 +379,7 @@ extern const device_type SEGA8_ROM_4PAK;
|
||||
extern const device_type SEGA8_ROM_ZEMINA;
|
||||
extern const device_type SEGA8_ROM_NEMESIS;
|
||||
extern const device_type SEGA8_ROM_JANGGUN;
|
||||
extern const device_type SEGA8_ROM_HICOM;
|
||||
extern const device_type SEGA8_ROM_KOREAN;
|
||||
extern const device_type SEGA8_ROM_KOREAN_NB;
|
||||
|
||||
|
@ -845,6 +845,7 @@ SLOT_INTERFACE_START(sg1000mk3_cart)
|
||||
SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA)
|
||||
SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS)
|
||||
SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN)
|
||||
SLOT_INTERFACE_INTERNAL("hicom", SEGA8_ROM_HICOM)
|
||||
SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN)
|
||||
SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB)
|
||||
SLOT_INTERFACE_INTERNAL("othello", SEGA8_ROM_OTHELLO)
|
||||
@ -863,6 +864,7 @@ SLOT_INTERFACE_START(sms_cart)
|
||||
SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA)
|
||||
SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS)
|
||||
SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN)
|
||||
SLOT_INTERFACE_INTERNAL("hicom", SEGA8_ROM_HICOM)
|
||||
SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN)
|
||||
SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB)
|
||||
SLOT_INTERFACE_END
|
||||
|
Loading…
Reference in New Issue
Block a user