mirror of
https://github.com/holub/mame
synced 2025-07-03 17:08:39 +03:00
Added secondary slot mechanism
This commit is contained in:
parent
8b0403a06d
commit
ef6a7273a2
@ -73,6 +73,9 @@ public:
|
|||||||
void sexyboom_map_bank(int bank);
|
void sexyboom_map_bank(int bank);
|
||||||
DECLARE_WRITE_LINE_MEMBER(msx_vdp_interrupt);
|
DECLARE_WRITE_LINE_MEMBER(msx_vdp_interrupt);
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
|
UINT8 m_sec_slot[4];
|
||||||
|
DECLARE_READ8_MEMBER(sec_slot_r);
|
||||||
|
DECLARE_WRITE8_MEMBER(sec_slot_w);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -168,6 +171,7 @@ void sangho_state::pzlestar_map_banks()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xffff, 0xffff, read8_delegate(FUNC(sangho_state::sec_slot_r),this), write8_delegate(FUNC(sangho_state::sec_slot_w),this));
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(sangho_state::pzlestar_bank_w)
|
WRITE8_MEMBER(sangho_state::pzlestar_bank_w)
|
||||||
@ -237,6 +241,18 @@ WRITE8_MEMBER(sangho_state::sexyboom_bank_w)
|
|||||||
sexyboom_map_bank(offset>>1);
|
sexyboom_map_bank(offset>>1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* secondary slot R/Ws from current primary slot number (see also mess/machine/msx.c) */
|
||||||
|
READ8_MEMBER(sangho_state::sec_slot_r)
|
||||||
|
{
|
||||||
|
return m_sec_slot[m_pzlestar_mem_bank >> 6] ^ 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE8_MEMBER(sangho_state::sec_slot_w)
|
||||||
|
{
|
||||||
|
m_sec_slot[m_pzlestar_mem_bank >> 6] = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static ADDRESS_MAP_START( sangho_map, AS_PROGRAM, 8, sangho_state )
|
static ADDRESS_MAP_START( sangho_map, AS_PROGRAM, 8, sangho_state )
|
||||||
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
|
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
|
||||||
AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6")
|
AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6")
|
||||||
|
@ -115,7 +115,7 @@ READ8_MEMBER(sfkick_state::ppi_port_b_r)
|
|||||||
|
|
||||||
void sfkick_state::sfkick_remap_banks()
|
void sfkick_state::sfkick_remap_banks()
|
||||||
{
|
{
|
||||||
/* 0000-3ffff */
|
/* 0000-3fff */
|
||||||
switch(m_bank_cfg&3)
|
switch(m_bank_cfg&3)
|
||||||
{
|
{
|
||||||
case 0: /* bios */
|
case 0: /* bios */
|
||||||
@ -151,7 +151,7 @@ void sfkick_state::sfkick_remap_banks()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 4000-7ffff */
|
/* 4000-7fff */
|
||||||
switch((m_bank_cfg>>2)&3)
|
switch((m_bank_cfg>>2)&3)
|
||||||
{
|
{
|
||||||
case 0: /* bios - upper part */
|
case 0: /* bios - upper part */
|
||||||
@ -180,7 +180,7 @@ void sfkick_state::sfkick_remap_banks()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 8000-bffff */
|
/* 8000-bfff */
|
||||||
switch((m_bank_cfg>>4)&3)
|
switch((m_bank_cfg>>4)&3)
|
||||||
{
|
{
|
||||||
case 0: /* cartridge */
|
case 0: /* cartridge */
|
||||||
@ -209,7 +209,7 @@ void sfkick_state::sfkick_remap_banks()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* c000-fffff */
|
/* c000-ffff */
|
||||||
switch((m_bank_cfg>>6)&3)
|
switch((m_bank_cfg>>6)&3)
|
||||||
{
|
{
|
||||||
case 0: /* unknown */
|
case 0: /* unknown */
|
||||||
|
Loading…
Reference in New Issue
Block a user