Added secondary slot mechanism

This commit is contained in:
Angelo Salese 2013-11-22 03:49:06 +00:00
parent 8b0403a06d
commit ef6a7273a2
2 changed files with 20 additions and 4 deletions

View File

@ -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")

View File

@ -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 */