Skip to content

Megadrive/Paprium #13939

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions hash/megadriv.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37525,4 +37525,21 @@ Tries to jump to jsr $a385b86.l (?) at PC=0x38b0, must be using its own mapper r
</dataarea>
</part>
</software>

<software name="paprium" supported="partial">
<description>Paprium</description>
<year>2020</year>
<publisher>WaterMelon</publisher>
<part name="cart" interface="megadriv_cart">
<feature name="slot" value="rom_paprium"/>
<dataarea name="rom" width="16" endianness="big" size="0x800000">
<rom loadflag="load16_word_swap" name="S29GL064N90BFI03@BGA48_20210924_142237.bin" size="0x800000" crc="6a95876f" sha1="6fa3725e8559720816c6cc71d5ad4b1c67652f17"/>
<!-- overlaying atm, fix me -->
<rom name="paprium_max10.bin" offset="0x000000" size="0x2000" crc="413d9670" sha1="f890e5e366f5bb6880e6582b91b04d2eeae76e96" status="baddump"/>
</dataarea>
<dataarea name="max10" width="16" endianness="big" size="0x2000">
<rom name="paprium_max10.bin" offset="0x000000" size="0x2000" crc="413d9670" sha1="f890e5e366f5bb6880e6582b91b04d2eeae76e96" status="baddump"/>
</dataarea>
</part>
</software>
</softwarelist>
1 change: 1 addition & 0 deletions src/devices/bus/megadrive/md_carts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,5 @@ void md_cart(device_slot_interface &device)


device.option_add_internal("rom_nbajam_alt", MD_EEPROM_NBAJAM_ALT);
device.option_add_internal("rom_paprium", MD_ROM_PAPRIUM);
}
8 changes: 7 additions & 1 deletion src/devices/bus/megadrive/md_slot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,8 @@ static const md_slot slot_list[] =
{ TOPFIGHTER, "rom_topf" },

{ SEGA_SRAM_FULLPATH, "rom_sram" },
{ SEGA_SRAM_FALLBACK, "rom_sramsafe" }
{ SEGA_SRAM_FALLBACK, "rom_sramsafe" },
{ PAPRIUM, "rom_paprium" }
};

static int md_get_pcb_id(const char *slot)
Expand Down Expand Up @@ -666,6 +667,9 @@ void base_md_cart_slot_device::setup_nvram()
case NBA_JAM_ALT:
m_cart->nvram_alloc(0x100);
break;
case PAPRIUM:
m_cart->nvram_alloc(0x2000);
break;
}
}

Expand Down Expand Up @@ -865,6 +869,8 @@ int base_md_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len)
case 0x800000:
if (!memcmp((char *)&ROM[0x0180], "GM T-574023-", 12)) // Pier Solar
type = PSOLAR;
if (!memcmp((char *)&ROM[0x0120], "PAPRIUM", 7)) // Paprium
type = PAPRIUM;
break;

default:
Expand Down
1 change: 1 addition & 0 deletions src/devices/bus/megadrive/md_slot.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ enum
EA_NHLPA, /* NHLPA Hockey 93 / Rings of Power */
BRIAN_LARA, /* Brian Lara Cricket 96 */
PSOLAR, /* Pier Solar (STM95 EEPROM) */
PAPRIUM, /* Paprium (EEPROM gated behind FPGA+STM32) */

// J-Cart
CM_JCART, /* Pete Sampras Tennis */
Expand Down
Loading
Loading