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_plus4_expansion_card_interface::device_plus4_expansion_card_interface(const machine_config &mconfig, device_t &device) :
|
||||||
device_interface(device, "plus4exp"),
|
device_interface(device, "plus4exp"),
|
||||||
m_c1l_mask(0),
|
m_c1l_size(0),
|
||||||
m_c1h_mask(0),
|
m_c1h_size(0),
|
||||||
m_c2l_mask(0),
|
m_c2l_size(0),
|
||||||
m_c2h_mask(0)
|
m_c2h_size(0)
|
||||||
{
|
{
|
||||||
m_slot = dynamic_cast<plus4_expansion_slot_device *>(device.owner());
|
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("c1h", m_card->m_c1h);
|
||||||
load_software_region("c2l", m_card->m_c2l);
|
load_software_region("c2l", m_card->m_c2l);
|
||||||
load_software_region("c2h", m_card->m_c2h);
|
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_c2l;
|
||||||
std::unique_ptr<uint8_t[]> m_c2h;
|
std::unique_ptr<uint8_t[]> m_c2h;
|
||||||
|
|
||||||
size_t m_c1l_mask;
|
size_t m_c1l_size;
|
||||||
size_t m_c1h_mask;
|
size_t m_c1h_size;
|
||||||
size_t m_c2l_mask;
|
size_t m_c2l_size;
|
||||||
size_t m_c2h_mask;
|
size_t m_c2h_size;
|
||||||
|
|
||||||
plus4_expansion_slot_device *m_slot;
|
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)
|
if (!c1l && m_c1l)
|
||||||
{
|
{
|
||||||
data = m_c1l[offset];
|
data = m_c1l[offset & (m_c1l_size - 1)];
|
||||||
}
|
}
|
||||||
else if (!c1h && m_c1h)
|
else if (!c1h && m_c1h)
|
||||||
{
|
{
|
||||||
data = m_c1h[offset];
|
data = m_c1h[offset & (m_c1h_size - 1)];
|
||||||
}
|
}
|
||||||
else if (!c2l && m_c2l)
|
else if (!c2l && m_c2l)
|
||||||
{
|
{
|
||||||
data = m_c2l[offset];
|
data = m_c2l[offset & (m_c2l_size - 1)];
|
||||||
}
|
}
|
||||||
else if (!c2h && m_c2h)
|
else if (!c2h && m_c2h)
|
||||||
{
|
{
|
||||||
data = m_c2h[offset];
|
data = m_c2h[offset & (m_c2h_size - 1)];
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
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_START( prosoccr )
|
||||||
ROM_REGION(0x10000, "maincpu", 0)
|
ROM_REGION(0x10000, "maincpu", 0)
|
||||||
ROM_LOAD( "am08.9e", 0xa000, 0x2000, CRC(73d45d0d) SHA1(07736286087478af404bd9c6b279d631a01cf4e2) )
|
ROM_LOAD( "am08.9e", 0xa000, 0x2000, CRC(73d45d0d) SHA1(07736286087478af404bd9c6b279d631a01cf4e2) )
|
||||||
|
Loading…
Reference in New Issue
Block a user