mirror of
https://github.com/holub/mame
synced 2025-07-02 00:29:37 +03:00
(MESS) msx.c: Some small fixes. (nw)
This commit is contained in:
parent
d256717e59
commit
0c1e68d4cd
@ -2830,7 +2830,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="breakinj" supported="no">
|
||||
<software name="breakinj">
|
||||
<description>Break In (Jpn)</description>
|
||||
<year>1987</year>
|
||||
<publisher>Jaleco</publisher>
|
||||
@ -5303,7 +5303,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="flideck" supported="no">
|
||||
<software name="flideck">
|
||||
<description>Flight Deck (Jpn)</description>
|
||||
<year>1986</year>
|
||||
<publisher>Pony Canyon</publisher>
|
||||
@ -5316,7 +5316,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="flidecka" cloneof="flideck" supported="no">
|
||||
<software name="flidecka" cloneof="flideck">
|
||||
<description>Flight Deck (Jpn, Alt)</description>
|
||||
<year>1986</year>
|
||||
<publisher>Pony Canyon</publisher>
|
||||
@ -8426,7 +8426,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="gabalin" supported="no">
|
||||
<software name="gabalin">
|
||||
<description>Mashou no Yakata - Gabalin (Jpn)</description>
|
||||
<year>1987</year>
|
||||
<publisher>Pony Canyon</publisher>
|
||||
@ -8440,7 +8440,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="gabalina" cloneof="gabalin" supported="no">
|
||||
<software name="gabalina" cloneof="gabalin">
|
||||
<description>Mashou no Yakata - Gabalin (Jpn, Alt)</description>
|
||||
<year>1987</year>
|
||||
<publisher>Pony Canyon</publisher>
|
||||
@ -11285,7 +11285,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="skootera" cloneof="skooter" supported="no">
|
||||
<software name="skootera" cloneof="skooter">
|
||||
<description>Skooter (Jpn, Alt)</description>
|
||||
<year>1988</year>
|
||||
<publisher>Pony Canyon</publisher>
|
||||
@ -13175,7 +13175,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="xanaduk" cloneof="xanadu" supported="no">
|
||||
<software name="xanaduk" cloneof="xanadu" supported="partial">
|
||||
<description>Xanadu - Dragon Slayer II (Kor)</description>
|
||||
<year>1987</year>
|
||||
<publisher>Zemina</publisher>
|
||||
@ -13721,7 +13721,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="fmpac" supported="no"><!-- Actually untested... -->
|
||||
<software name="fmpac"><!-- Actually untested... -->
|
||||
<description>FM Pana Amusement Cartridge</description>
|
||||
<year>19??</year>
|
||||
<publisher>Panasoft</publisher>
|
||||
@ -13885,7 +13885,7 @@ kept for now until finding out what those bytes affect...
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="gmaster2" supported="no">
|
||||
<software name="gmaster2">
|
||||
<description>Konami no Shin 10-bai Cartridge (Jpn)</description>
|
||||
<year>1987</year>
|
||||
<publisher>Konami</publisher>
|
||||
@ -14525,6 +14525,7 @@ kept for now until finding out what those bytes affect...
|
||||
<year>1985</year>
|
||||
<publisher>Toshiba</publisher>
|
||||
<part name="cart" interface="msx_cart">
|
||||
<feature name="slot" value="msx_audio" />
|
||||
<feature name="mapper" value="NOMAPPER" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="msx audio (japan) (hx-mu900) (program).rom" size="32768" crc="dc405f8c" sha1="0d246b0e3edc63803fcce861ea07eadf29dc488c" offset="0" />
|
||||
|
@ -14,7 +14,7 @@ msx_cart_konami::msx_cart_konami(const machine_config &mconfig, const char *tag,
|
||||
, msx_cart_interface(mconfig, *this)
|
||||
, m_bank_mask(0)
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
m_selected_bank[i] = 0;
|
||||
}
|
||||
@ -35,22 +35,22 @@ void msx_cart_konami::device_start()
|
||||
|
||||
void msx_cart_konami::restore_banks()
|
||||
{
|
||||
m_bank_base[0] = get_rom_base();
|
||||
m_bank_base[1] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[2] = get_rom_base();
|
||||
m_bank_base[3] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[4] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[5] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[6] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[7] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[0] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[1] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[2] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[3] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[4] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[5] = get_rom_base() + ( m_selected_bank[3] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[6] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[7] = get_rom_base() + ( m_selected_bank[3] & m_bank_mask ) * 0x2000;
|
||||
}
|
||||
|
||||
|
||||
void msx_cart_konami::device_reset()
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
m_selected_bank[i] = i + 1;
|
||||
m_selected_bank[i] = i;
|
||||
}
|
||||
}
|
||||
|
||||
@ -87,22 +87,28 @@ WRITE8_MEMBER(msx_cart_konami::write_cart)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0x6000:
|
||||
case 0x4000:
|
||||
m_selected_bank[0] = data;
|
||||
m_bank_base[1] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[3] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[0] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[2] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
|
||||
break;
|
||||
|
||||
case 0x6000:
|
||||
m_selected_bank[1] = data;
|
||||
m_bank_base[1] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[3] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
|
||||
break;
|
||||
|
||||
case 0x8000:
|
||||
m_selected_bank[1] = data;
|
||||
m_bank_base[4] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[6] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
|
||||
m_selected_bank[2] = data;
|
||||
m_bank_base[4] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[6] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
|
||||
break;
|
||||
|
||||
case 0xa000:
|
||||
m_selected_bank[2] = data;
|
||||
m_bank_base[5] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[7] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
|
||||
m_selected_bank[3] = data;
|
||||
m_bank_base[5] = get_rom_base() + ( m_selected_bank[3] & m_bank_mask ) * 0x2000;
|
||||
m_bank_base[7] = get_rom_base() + ( m_selected_bank[3] & m_bank_mask ) * 0x2000;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
|
||||
private:
|
||||
UINT8 m_bank_mask;
|
||||
UINT8 m_selected_bank[3];
|
||||
UINT8 m_selected_bank[4];
|
||||
UINT8 *m_bank_base[8];
|
||||
};
|
||||
|
||||
|
@ -35,6 +35,11 @@ void msx_cart_nomapper::initialize_cartridge()
|
||||
}
|
||||
}
|
||||
|
||||
if (size == 0x10000)
|
||||
{
|
||||
m_start_address = 0;
|
||||
}
|
||||
|
||||
m_end_address = MIN(m_start_address + size, 0x10000);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user