mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +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);
|
||||
DECLARE_WRITE_LINE_MEMBER(msx_vdp_interrupt);
|
||||
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;
|
||||
}
|
||||
|
||||
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)
|
||||
@ -237,6 +241,18 @@ WRITE8_MEMBER(sangho_state::sexyboom_bank_w)
|
||||
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 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
|
||||
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()
|
||||
{
|
||||
/* 0000-3ffff */
|
||||
/* 0000-3fff */
|
||||
switch(m_bank_cfg&3)
|
||||
{
|
||||
case 0: /* bios */
|
||||
@ -151,7 +151,7 @@ void sfkick_state::sfkick_remap_banks()
|
||||
break;
|
||||
}
|
||||
|
||||
/* 4000-7ffff */
|
||||
/* 4000-7fff */
|
||||
switch((m_bank_cfg>>2)&3)
|
||||
{
|
||||
case 0: /* bios - upper part */
|
||||
@ -180,7 +180,7 @@ void sfkick_state::sfkick_remap_banks()
|
||||
break;
|
||||
}
|
||||
|
||||
/* 8000-bffff */
|
||||
/* 8000-bfff */
|
||||
switch((m_bank_cfg>>4)&3)
|
||||
{
|
||||
case 0: /* cartridge */
|
||||
@ -209,7 +209,7 @@ void sfkick_state::sfkick_remap_banks()
|
||||
break;
|
||||
}
|
||||
|
||||
/* c000-fffff */
|
||||
/* c000-ffff */
|
||||
switch((m_bank_cfg>>6)&3)
|
||||
{
|
||||
case 0: /* unknown */
|
||||
|
Loading…
Reference in New Issue
Block a user