mirror of
https://github.com/holub/mame
synced 2025-04-29 03:20:50 +03:00
- devices/bus/plus4: fixed MT07886
- liberate.cpp: added prosoccr PCB infos [f205v]
This commit is contained in:
parent
4ad0bbb965
commit
1ec0a8bed8
@ -37,10 +37,10 @@ DEFINE_DEVICE_TYPE(PLUS4_EXPANSION_SLOT, plus4_expansion_slot_device, "plus4_exp
|
||||
|
||||
device_plus4_expansion_card_interface::device_plus4_expansion_card_interface(const machine_config &mconfig, device_t &device) :
|
||||
device_interface(device, "plus4exp"),
|
||||
m_c1l_mask(0),
|
||||
m_c1h_mask(0),
|
||||
m_c2l_mask(0),
|
||||
m_c2h_mask(0)
|
||||
m_c1l_size(0),
|
||||
m_c1h_size(0),
|
||||
m_c2l_size(0),
|
||||
m_c2h_size(0)
|
||||
{
|
||||
m_slot = dynamic_cast<plus4_expansion_slot_device *>(device.owner());
|
||||
}
|
||||
@ -120,6 +120,16 @@ image_init_result plus4_expansion_slot_device::call_load()
|
||||
load_software_region("c1h", m_card->m_c1h);
|
||||
load_software_region("c2l", m_card->m_c2l);
|
||||
load_software_region("c2h", m_card->m_c2h);
|
||||
m_card->m_c1l_size = get_software_region_length("c1l");
|
||||
m_card->m_c1h_size = get_software_region_length("c1h");
|
||||
m_card->m_c2l_size = get_software_region_length("c2l");
|
||||
m_card->m_c2h_size = get_software_region_length("c2h");
|
||||
|
||||
if ((m_card->m_c1l_size & (m_card->m_c1l_size - 1)) || (m_card->m_c1h_size & (m_card->m_c1h_size - 1)) || (m_card->m_c2l_size & (m_card->m_c2l_size - 1)) || (m_card->m_c2h_size & (m_card->m_c2h_size - 1)))
|
||||
{
|
||||
seterror(IMAGE_ERROR_UNSPECIFIED, "ROM size must be power of 2");
|
||||
return image_init_result::FAIL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -142,10 +142,10 @@ protected:
|
||||
std::unique_ptr<uint8_t[]> m_c2l;
|
||||
std::unique_ptr<uint8_t[]> m_c2h;
|
||||
|
||||
size_t m_c1l_mask;
|
||||
size_t m_c1h_mask;
|
||||
size_t m_c2l_mask;
|
||||
size_t m_c2h_mask;
|
||||
size_t m_c1l_size;
|
||||
size_t m_c1h_size;
|
||||
size_t m_c2l_size;
|
||||
size_t m_c2h_size;
|
||||
|
||||
plus4_expansion_slot_device *m_slot;
|
||||
};
|
||||
|
@ -51,19 +51,19 @@ uint8_t plus4_standard_cartridge_device::plus4_cd_r(offs_t offset, uint8_t data,
|
||||
{
|
||||
if (!c1l && m_c1l)
|
||||
{
|
||||
data = m_c1l[offset];
|
||||
data = m_c1l[offset & (m_c1l_size - 1)];
|
||||
}
|
||||
else if (!c1h && m_c1h)
|
||||
{
|
||||
data = m_c1h[offset];
|
||||
data = m_c1h[offset & (m_c1h_size - 1)];
|
||||
}
|
||||
else if (!c2l && m_c2l)
|
||||
{
|
||||
data = m_c2l[offset];
|
||||
data = m_c2l[offset & (m_c2l_size - 1)];
|
||||
}
|
||||
else if (!c2h && m_c2h)
|
||||
{
|
||||
data = m_c2h[offset];
|
||||
data = m_c2h[offset & (m_c2h_size - 1)];
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -876,6 +876,17 @@ void liberate_state::prosport(machine_config &config)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
// top PCB is marked: "DATA EAST DECO SSI-16" and "DE-0148-1 MADE IN JAPAN" on component side
|
||||
// mid PCB is marked: "DECO DE-0157-1 CHB-01 MADE IN JAPAN" on component side
|
||||
// bottom PCB is marked: "DATA EAST DECO DSP-17A DE-0188-1 MADE IN JAPAN" on component side
|
||||
// label format is:
|
||||
// ---
|
||||
// --------------
|
||||
// | PRO SOCCER | -> game name
|
||||
// | AM 10-3 | -> rom number
|
||||
// | C 1983 | -> copyright
|
||||
// | DATA EAST | -> copyright
|
||||
// --------------
|
||||
ROM_START( prosoccr )
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_LOAD( "am08.9e", 0xa000, 0x2000, CRC(73d45d0d) SHA1(07736286087478af404bd9c6b279d631a01cf4e2) )
|
||||
|
Loading…
Reference in New Issue
Block a user