mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
arb: cartridge is on a0-a14 (nw)
This commit is contained in:
parent
54c895e91b
commit
a6e9b6fca9
2 changed files with 13 additions and 10 deletions
|
@ -10,9 +10,11 @@
|
|||
<year>1980</year>
|
||||
<publisher>AVE Micro Systems</publisher>
|
||||
<part name="cart" interface="arb">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="4000-4800_ea_8332a161-1" size="0x1000" crc="00460848" sha1="ac4fe2232028bd42506a24457882296e7d3a8f54" offset="0x0000" />
|
||||
<rom name="5000-5800_ea_8332a160-1" size="0x1000" crc="aac1dff2" sha1="9a7fc6dc98e53120e511d266304ad07f248f415a" offset="0x1000" />
|
||||
<dataarea name="rom" size="0x8000">
|
||||
<rom name="4000-4800_ea_8332a161-1" size="0x1000" crc="00460848" sha1="ac4fe2232028bd42506a24457882296e7d3a8f54" offset="0x4000" />
|
||||
<rom size="0x1000" offset="0x6000" loadflag="reload" />
|
||||
<rom name="5000-5800_ea_8332a160-1" size="0x1000" crc="aac1dff2" sha1="9a7fc6dc98e53120e511d266304ad07f248f415a" offset="0x5000" />
|
||||
<rom size="0x1000" offset="0x7000" loadflag="reload" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
|
|
@ -104,15 +104,15 @@ DEVICE_IMAGE_LOAD_MEMBER(arb_state, cartridge)
|
|||
m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
|
||||
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
|
||||
|
||||
// extra ram (optional)
|
||||
if (image.get_feature("ram"))
|
||||
m_maincpu->space(AS_PROGRAM).install_ram(0x0800, 0x0fff, 0x1000, nullptr);
|
||||
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
|
||||
READ8_MEMBER(arb_state::cartridge_r)
|
||||
{
|
||||
// range is 0x4000-0x7fff + 0xc000-0xffff
|
||||
if (offset >= 0x8000)
|
||||
offset -= 0x4000;
|
||||
|
||||
return m_cart->read_rom(offset & m_cart_mask);
|
||||
}
|
||||
|
||||
|
@ -165,9 +165,10 @@ READ8_MEMBER(arb_state::input_r)
|
|||
|
||||
void arb_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x07ff).mirror(0x3800).ram().share("nvram");
|
||||
map(0x4000, 0xffff).r(FUNC(arb_state::cartridge_r)); // gap in 0x8000-0xbfff
|
||||
map(0x8000, 0x800f).mirror(0x3ff0).rw(m_via, FUNC(via6522_device::read), FUNC(via6522_device::write));
|
||||
// external slot is A0-A14, potential bus conflict with RAM/VIA
|
||||
map(0x0000, 0x7fff).mirror(0x8000).r(FUNC(arb_state::cartridge_r));
|
||||
map(0x0000, 0x07ff).mirror(0x1000).ram().share("nvram");
|
||||
map(0x8000, 0x800f).mirror(0x1ff0).rw(m_via, FUNC(via6522_device::read), FUNC(via6522_device::write));
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue