Metal Slug 5 Plus

User avatar
terminator2k2
Posts: 36
Joined: Sun May 24, 2020 6:46 pm
Has thanked: 27 times
Been thanked: 22 times

Metal Slug 5 Plus

Unread post by terminator2k2 »

just wandering if the game mapper/rom bank switching could be added for metal slug 5 plus rom to the core?
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 97 times

Re: Metal Slug 5 Plus

Unread post by Moondandy »

OK, so in order to provide support for Metal Slug 5 Plus I have been informed that there needs to be a custom bankswitch mapper at 0x2FFFFX, here is the relevant Mame code

Code: Select all

case NEOGEO_MSLUG5P:
            space.install_read_handler(0x2ffff0, 0x2fffff, read16m_delegate(*m_slots[m_curr_slot], FUNC(neogeo_cart_slot_device::protection_r)));
            space.install_write_handler(0x2ffff0, 0x2fffff, write16sm_delegate(*this, FUNC(neogeo_base_state::write_bankprot_ms5p)));
            break;

Special function:

Code: Select all

void neogeo_base_state::write_bankprot_ms5p(offs_t offset, uint16_t data)
{
    logerror("ms5plus bankswitch - offset: %06x PC %06x: set banking %04x\n", offset, m_maincpu->pc(), data);

if ((offset == 0) && (data == 0xa0))
{
    m_bank_base = 0xa0;
    m_bank_cartridge->set_base((uint8_t *)m_slots[m_curr_slot]->get_rom_base() + m_bank_base);
}
else if (offset == 2)
{
    m_bank_base = m_slots[m_curr_slot]->get_bank_base(data);
    m_bank_cartridge->set_base((uint8_t *)m_slots[m_curr_slot]->get_rom_base() + m_bank_base);
}
}

There are a number of other Mappers in Mame for other unlicensed games, some of which seem to come from a big yellow coloured Chinese bootleg cart and worked on original hardware. You can see the code for these different games here:

Neo-Geo-Mappers.png
Neo-Geo-Mappers.png (975.49 KiB) Viewed 4091 times

Now, can someone help me figure out what the following games are? Three of them are presumably versions of The King of Fighters 2003, but what are their variant names?

CTHD2K3 = Crouching Tiger Hidden Dragon 2003
CT2K3SP = Crouching Tiger Hidden Dragon 2003 Super Plus
MSLUG5P = Metal Slug 5 Plus
KOG = King of Gladiator
KOF2K3B = ?
KOF2K3UP = ?
KOF2K3P = ?
SBP = Super Bubble Pop
KOF10TH = The King of Fighters 10th Anniversary 2005
JOCKEYGP - Jockey Grand Prix
VLINER = V-Liner

If we can figure these out then there is enough info now to get fleshed out tickets in GitHub and there is a chance a developer may be willing to add support. At least some of these should be pretty simple to add.

MrSniffles
Posts: 49
Joined: Tue May 26, 2020 11:11 am
Has thanked: 32 times
Been thanked: 13 times

Re: Metal Slug 5 Plus

Unread post by MrSniffles »

At a guess...

CTHD2K3 = Crouching Tiger Hidden Dragon 2003
CT2K3SP = Crouching Tiger Hidden Dragon 2003 Super Plus
KOG = King of Gladiator

User avatar
terminator2k2
Posts: 36
Joined: Sun May 24, 2020 6:46 pm
Has thanked: 27 times
Been thanked: 22 times

Re: Metal Slug 5 Plus

Unread post by terminator2k2 »

Big thank you, to Sorgelig for adding the Metal Slug 5 Plus rom banking, much appreciated

User avatar
neogeo81
Posts: 374
Joined: Fri Apr 16, 2021 1:52 pm
Has thanked: 32 times
Been thanked: 45 times

Re: Metal Slug 5 Plus

Unread post by neogeo81 »

Didn't it already work before if you used the .neo file?

User avatar
terminator2k2
Posts: 36
Joined: Sun May 24, 2020 6:46 pm
Has thanked: 27 times
Been thanked: 22 times

Re: Metal Slug 5 Plus

Unread post by terminator2k2 »

neogeo81 wrote: Fri Aug 04, 2023 6:04 am

Didn't it already work before if you used the .neo file?

no it didnt work, even with a .neo

Post Reply