trunk/src/mame/drivers/sangho.c
r26349 | r26350 | |
73 | 73 | void sexyboom_map_bank(int bank); |
74 | 74 | DECLARE_WRITE_LINE_MEMBER(msx_vdp_interrupt); |
75 | 75 | required_device<cpu_device> m_maincpu; |
| 76 | UINT8 m_sec_slot[4]; |
| 77 | DECLARE_READ8_MEMBER(sec_slot_r); |
| 78 | DECLARE_WRITE8_MEMBER(sec_slot_w); |
76 | 79 | }; |
77 | 80 | |
78 | 81 | |
r26349 | r26350 | |
168 | 171 | break; |
169 | 172 | } |
170 | 173 | |
| 174 | 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)); |
171 | 175 | } |
172 | 176 | |
173 | 177 | WRITE8_MEMBER(sangho_state::pzlestar_bank_w) |
r26349 | r26350 | |
237 | 241 | sexyboom_map_bank(offset>>1); |
238 | 242 | } |
239 | 243 | |
| 244 | /* secondary slot R/Ws from current primary slot number (see also mess/machine/msx.c) */ |
| 245 | READ8_MEMBER(sangho_state::sec_slot_r) |
| 246 | { |
| 247 | return m_sec_slot[m_pzlestar_mem_bank >> 6] ^ 0xff; |
| 248 | } |
| 249 | |
| 250 | WRITE8_MEMBER(sangho_state::sec_slot_w) |
| 251 | { |
| 252 | m_sec_slot[m_pzlestar_mem_bank >> 6] = data; |
| 253 | } |
| 254 | |
| 255 | |
240 | 256 | static ADDRESS_MAP_START( sangho_map, AS_PROGRAM, 8, sangho_state ) |
241 | 257 | AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5") |
242 | 258 | AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6") |