msx1_cart.xml: Added fourteen working items. (#11412)

* Removed Hopper (Europe) tape-to-cartridge hack.
* Demoted The Holy Quran (v1.00) to not working.

New working software list items (msx1_cart.xml)
-------------------------------
Hole in One Professional (Japan, alt 2) [file-hunter]
Hole in One Professional (Japan, alt 3) [file-hunter]
Hot-Asm (Brazil) [file-hunter]
Hot-Plan (Brazil) [file-hunter]
Hydlide II - Shine of Darkness (Korea) [file-hunter]
Hopper (Arab) [file-hunter]
Hans' Adventure (v1.1) [MSXDev]
Hans' Adventure (v1.0) [MSXDev]
Happy Halloween [Clube MSX]
Happy Square Christmas [303bcn]
Heart Stealer 2 [MSXDev]
Heroes Arena [MSXDev]
Hose Diogo Martinez: The Bussas Quest [MSXDev]
How Many Are The Dumbbells You Lift? [cobinee]
This commit is contained in:
wilbertpol 2023-07-10 19:23:23 +01:00 committed by GitHub
parent 4345485ee8
commit 4a5b8a415f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 257 additions and 9 deletions

View File

@ -6445,17 +6445,57 @@ kept for now until finding out what those bytes affect...
</part>
</software>
<!-- only tape released? tap2crt hack??
There is a cartridge version released by Al Alamiah
-->
<software name="hopper">
<description>Hopper (Europe)</description>
<year>1986</year>
<publisher>Eaglesoft</publisher>
<software name="holein1pb" cloneof="holein1p">
<description>Hole in One Professional (Japan, alt 2)</description>
<year>1985</year>
<publisher>HAL Kenkyuujo</publisher>
<info name="serial" value="HM-019" />
<info name="alt_title" value="ホールインワンプロフェッショナル" />
<part name="cart" interface="msx_cart">
<feature name="start_page" value="1"/>
<dataarea name="rom" size="0x8000">
<rom name="hole in one professional (japan) (alt 2).rom" size="0x8000" crc="e8cfdbd3" sha1="13f55fcb993dabbef792f2a3696c4f545f31f44b" />
</dataarea>
</part>
</software>
<software name="holein1pc" cloneof="holein1p">
<description>Hole in One Professional (Japan, alt 3)</description>
<year>1985</year>
<publisher>HAL Kenkyuujo</publisher>
<info name="serial" value="HM-019" />
<info name="alt_title" value="ホールインワンプロフェッショナル" />
<part name="cart" interface="msx_cart">
<feature name="start_page" value="1"/>
<dataarea name="rom" size="0x8000">
<rom name="hole in one professional (japan) (alt 3).rom" size="0x8000" crc="6c086da7" sha1="92f69dc4b957c2c6800f55e0d75b94cdc6872354" />
</dataarea>
</part>
</software>
<software name="hotasm">
<description>Hot-Asm (Brazil)</description>
<year>1985</year>
<publisher>Epcom</publisher>
<info name="serial" value="A004"/>
<info name="usage" value="Use CALL START or CALL EDT from Basic to start the software."/>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="1"/>
<dataarea name="rom" size="0x4000">
<rom name="hopper (europe).rom" size="0x4000" crc="d3032ad7" sha1="dd9a41e4c8802cd4bbb87e30281711f4e7ae017f" status="baddump" />
<rom name="hot-asm (brazil).rom" size="0x4000" crc="829f78ea" sha1="7f189caa1f0c30760707e05c13bc50c3fb3ac441"/>
</dataarea>
</part>
</software>
<software name="hotplan">
<description>Hot-Plan (Brazil)</description>
<year>1986</year>
<publisher>Epcom</publisher>
<info name="usage" value="Use CALL HOTPLAN from Basic to start the software."/>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="0"/>
<dataarea name="rom" size="0x8000">
<rom name="hot-plan (brazil).rom" size="0x8000" crc="2b641f19" sha1="ac1096e7b725830e61213b2b26310ff322df2946"/>
</dataarea>
</part>
</software>
@ -6585,6 +6625,23 @@ kept for now until finding out what those bytes affect...
</part>
</software>
<software name="hydlide2k" cloneof="hydlide2">
<description>Hydlide II - Shine of Darkness (Korea)</description>
<year>1986</year>
<publisher>Zemina</publisher>
<notes><![CDATA[
This version does not have SRAM?
There are 4 characters predefined.
Character creation does not write the new character data.
]]></notes>
<part name="cart" interface="msx_cart">
<feature name="slot" value="korean_hydlide2" />
<dataarea name="rom" size="0x20000">
<rom name="hydlide ii - shine of darkness (korea).rom" size="0x20000" crc="58de803b" sha1="552a758f77a7c35969523dbaca74587f0b59eb2b" />
</dataarea>
</part>
</software>
<software name="hydlide3k" cloneof="hydlide3">
<description>Hydlide 3 - The Space Memories (Korea)</description>
<year>1987</year>
@ -15900,7 +15957,8 @@ legacy FM implementations cannot find it.
</part>
</software>
<software name="quran">
<!-- Graphics incomplete or displayed three times on ax150. Restarts on ax500. -->
<software name="quran" supported="no">
<description>The Holy Quran (v1.00)</description>
<year>1987</year>
<publisher>Al Alamiah</publisher>
@ -15916,6 +15974,19 @@ legacy FM implementations cannot find it.
</part>
</software>
<software name="hopper">
<description>Hopper (Arab)</description>
<year>1986</year>
<publisher>Al Alamiah</publisher>
<info name="serial" value="GA012" />
<part name="cart" interface="msx_cart">
<feature name="start_page" value="1"/>
<dataarea name="rom" size="0x8000">
<rom name="hopper (1986)(al alamiah).rom" size="0x8000" crc="a114e129" sha1="8f150ea3bf6a2931bd718fc377bb432574164705" />
</dataarea>
</part>
</software>
<software name="ibnmal">
<description>Ibn Maleck (Arab)</description>
<year>1985</year>
@ -18480,6 +18551,108 @@ legacy FM implementations cannot find it.
<!-- Homebrew / Doujin software -->
<software name="hansadv">
<description>Hans' Adventure (v1.1)</description>
<year>2010</year>
<publisher>MSXDev</publisher>
<info name="developer" value="The Pets Mode"/>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="0"/>
<dataarea name="rom" size="0xc000">
<rom name="hans' adventure - the pets mode (2010) (v1.1).rom" size="0xc000" crc="c7452eca" sha1="6835f0aba6c95a106309129f90f58adf04994f14" />
</dataarea>
</part>
</software>
<software name="hansadv10" cloneof="hansadv">
<description>Hans' Adventure (v1.0)</description>
<year>2010</year>
<publisher>MSXDev</publisher>
<info name="developer" value="The Pets Mode"/>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="0"/>
<dataarea name="rom" size="0xc000">
<rom name="hans' adventure - the pets mode (2010) (v1.0).rom" size="0xc000" crc="821c56f4" sha1="9c6c43af0516e7232a7aaafee5a47235232cf7f9" />
</dataarea>
</part>
</software>
<software name="happyhal">
<description>Happy Halloween</description>
<year>2018</year>
<publisher>Clube MSX Magazine</publisher>
<info name="developer" value="Mario Cavalcanti"/>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="2"/>
<dataarea name="rom" size="0x4000">
<rom name="happy halloween - mario cavalcanti (2018).rom" size="0x4000" crc="1b02a98a" sha1="0e266e0cd7938e6d97a58363003e2a6ef492348d" />
</dataarea>
</part>
</software>
<software name="hsqrxmas">
<description>Happy Square Christmas</description>
<year>2010</year>
<publisher>303bcn</publisher>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="1"/>
<dataarea name="rom" size="0x8000">
<rom name="happy square christmas - 303bcn (2010).rom" size="0x8000" crc="3846014a" sha1="63ddb6adb4a3b95a596f9aa876cb658929392d13" />
</dataarea>
</part>
</software>
<software name="hrtstlr2">
<description>Heart Stealer 2</description>
<year>2021</year>
<publisher>MSXDev</publisher>
<info name="developer" value="Timmy"/>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="1"/>
<dataarea name="rom" size="0x4000">
<rom name="heart stealer 2 - timmy (2021).rom" size="0x4000" crc="8ccde019" sha1="2a57cc0f5610ca55f5bfb6994033adddc38d9203" />
</dataarea>
</part>
</software>
<software name="heroesar">
<description>Heroes Arena</description>
<year>2010</year>
<publisher>MSXDev</publisher>
<info name="developer" value="Imanok"/>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="1"/>
<dataarea name="rom" size="0x8000">
<rom name="heroes arena - imanok (2010).rom" size="0x8000" crc="3c6c9c72" sha1="fa6172ba3a78c03ed6194dee6e26a1dc3adb939f" />
</dataarea>
</part>
</software>
<software name="hosediog">
<description>Hose Diogo Martinez: The Bussas Quest</description>
<year>2008</year>
<publisher>MSXDev</publisher>
<info name="developer" value="Muffie Co."/>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="2"/>
<dataarea name="rom" size="0x4000">
<rom name="hose diogo martinez - muffie co (2008).rom" size="0x4000" crc="2d0d5419" sha1="21e44cc5957b65b24c34d2c42b39879cacd82ff9" />
</dataarea>
</part>
</software>
<software name="howdumbl">
<description>How Many Are The Dumbbells You Lift?</description>
<year>2019</year>
<publisher>Cobinee</publisher>
<part name="cart" interface="msx_cart">
<feature name="start_page" value="1"/>
<dataarea name="rom" size="0x8000">
<rom name="how many are the dumbbells you lift? - cobinee (2019).rom" size="0x8000" crc="21090c38" sha1="9f177a508930bda78841413218a927a230be7ac5" />
</dataarea>
</part>
</software>
<software name="ineedspd">
<description>I Need Speed (MSX Cartridge Shop)</description>
<year>2009</year>

View File

@ -72,6 +72,7 @@ void msx_cart(device_slot_interface &device, bool is_in_subslot)
device.option_add_internal(slotoptions::KOREAN_80IN1, MSX_CART_KOREAN_80IN1);
device.option_add_internal(slotoptions::KOREAN_90IN1, MSX_CART_KOREAN_90IN1);
device.option_add_internal(slotoptions::KOREAN_126IN1, MSX_CART_KOREAN_126IN1);
device.option_add_internal(slotoptions::KOREAN_HYDLIDE2, MSX_CART_KOREAN_HYDLIDE2);
device.option_add_internal(slotoptions::LOVEPLUS, MSX_CART_LOVEPLUS);
device.option_add_internal(slotoptions::MAJUSTUSHI, MSX_CART_MAJUTSUSHI);
device.option_add_internal(slotoptions::MSXAUD_FSCA1, MSX_CART_MSX_AUDIO_FSCA1);

View File

@ -7,6 +7,7 @@ DEFINE_DEVICE_TYPE(MSX_CART_KOREAN_25IN1, msx_cart_korean_25in1_device, "msx_c
DEFINE_DEVICE_TYPE(MSX_CART_KOREAN_80IN1, msx_cart_korean_80in1_device, "msx_cart_korean_80in1", "MSX Cartridge - Korean 80-in-1")
DEFINE_DEVICE_TYPE(MSX_CART_KOREAN_90IN1, msx_cart_korean_90in1_device, "msx_cart_korean_90in1", "MSX Cartridge - Korean 90-in-1")
DEFINE_DEVICE_TYPE(MSX_CART_KOREAN_126IN1, msx_cart_korean_126in1_device, "msx_cart_korean_126in1", "MSX Cartridge - Korean 126-in-1")
DEFINE_DEVICE_TYPE(MSX_CART_KOREAN_HYDLIDE2, msx_cart_korean_hydlide2_device, "msx_cart_korean_hydlide2", "MSX Cartridge - Korean Hydlide 2")
msx_cart_korean_25in1_device::msx_cart_korean_25in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
@ -241,3 +242,53 @@ void msx_cart_korean_126in1_device::bank_w(offs_t offset, uint8_t data)
{
m_rombank[offset & 0x01]->set_entry(data & m_bank_mask);
}
msx_cart_korean_hydlide2_device::msx_cart_korean_hydlide2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, MSX_CART_KOREAN_HYDLIDE2, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_rombank(*this, "rombank")
, m_bank_mask(0)
{
}
void msx_cart_korean_hydlide2_device::device_reset()
{
m_rombank->set_entry(0);
}
std::error_condition msx_cart_korean_hydlide2_device::initialize_cartridge(std::string &message)
{
if (!cart_rom_region())
{
message = "msx_cart_korean_hydlide2_device: Required region 'rom' was not found.";
return image_error::INTERNAL;
}
const u32 size = cart_rom_region()->bytes();
const u16 banks = size / 0x4000;
if (size > 256 * 0x4000 || size < 0x8000 || size != banks * 0x4000 || (~(banks - 1) % banks))
{
message = "msx_cart_korean_hydlide2_device: Region 'rom' has unsupported size.";
return image_error::INVALIDLENGTH;
}
m_bank_mask = banks - 1;
m_rombank->configure_entries(0, banks, cart_rom_region()->base(), 0x4000);
page(1)->install_rom(0x4000, 0x7fff, cart_rom_region()->base());
page(2)->install_read_bank(0x8000, 0xbfff, m_rombank);
page(2)->install_write_handler(0x8000, 0x8000, emu::rw_delegate(*this, FUNC(msx_cart_korean_hydlide2_device::bank_w)));
return std::error_condition();
}
void msx_cart_korean_hydlide2_device::bank_w(uint8_t data)
{
m_rombank->set_entry(data & m_bank_mask);
}

View File

@ -12,6 +12,7 @@ DECLARE_DEVICE_TYPE(MSX_CART_KOREAN_25IN1, msx_cart_korean_25in1_device)
DECLARE_DEVICE_TYPE(MSX_CART_KOREAN_80IN1, msx_cart_korean_80in1_device)
DECLARE_DEVICE_TYPE(MSX_CART_KOREAN_90IN1, msx_cart_korean_90in1_device)
DECLARE_DEVICE_TYPE(MSX_CART_KOREAN_126IN1, msx_cart_korean_126in1_device)
DECLARE_DEVICE_TYPE(MSX_CART_KOREAN_HYDLIDE2, msx_cart_korean_hydlide2_device)
class msx_cart_korean_25in1_device : public device_t, public msx_cart_interface
@ -97,4 +98,24 @@ private:
};
class msx_cart_korean_hydlide2_device : public device_t, public msx_cart_interface
{
public:
msx_cart_korean_hydlide2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
virtual std::error_condition initialize_cartridge(std::string &message) override;
protected:
// device-level overrides
virtual void device_start() override { }
virtual void device_reset() override;
private:
void bank_w(u8 data);
memory_bank_creator m_rombank;
u8 m_bank_mask;
};
#endif // MAME_BUS_MSX_CART_KOREAN_H

View File

@ -49,6 +49,7 @@ char const *const KOREAN_25IN1 = "korean_25in1";
char const *const KOREAN_80IN1 = "korean_80in1";
char const *const KOREAN_90IN1 = "korean_90in1";
char const *const KOREAN_126IN1 = "korean_126in1";
char const *const KOREAN_HYDLIDE2 = "korean_hydlide2";
char const *const LOVEPLUS = "loveplus";
char const *const MAJUSTUSHI = "majutsushi";
char const *const MM256K = "mm256k";

View File

@ -51,6 +51,7 @@ extern char const *const KOREAN_25IN1;
extern char const *const KOREAN_80IN1;
extern char const *const KOREAN_90IN1;
extern char const *const KOREAN_126IN1;
extern char const *const KOREAN_HYDLIDE2;
extern char const *const LOVEPLUS;
extern char const *const MAJUSTUSHI;
extern char const *const MM256K;