summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/a7800.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/a7800.cpp')
-rw-r--r--src/mame/drivers/a7800.cpp105
1 files changed, 52 insertions, 53 deletions
diff --git a/src/mame/drivers/a7800.cpp b/src/mame/drivers/a7800.cpp
index 145388dc6fb..aa35459d5a5 100644
--- a/src/mame/drivers/a7800.cpp
+++ b/src/mame/drivers/a7800.cpp
@@ -214,38 +214,37 @@ READ8_MEMBER(a7800_state::tia_r)
{
switch (offset & 0x0f)
{
- case 0x00:
- case 0x01:
- case 0x02:
- case 0x03:
- case 0x04:
- case 0x05:
- case 0x06:
- case 0x07:
- /* Even though the 7800 doesn't use the TIA graphics the collision registers should
- still return a reasonable value */
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ /* Even though the 7800 doesn't use the TIA graphics the collision registers should
+ still return a reasonable value */
+ return 0x00;
+ case 0x08:
+ return ((m_io_buttons->read() & 0x02) << 6);
+ case 0x09:
+ return ((m_io_buttons->read() & 0x08) << 4);
+ case 0x0a:
+ return ((m_io_buttons->read() & 0x01) << 7);
+ case 0x0b:
+ return ((m_io_buttons->read() & 0x04) << 5);
+ case 0x0c:
+ if (((m_io_buttons->read() & 0x08) ||(m_io_buttons->read() & 0x02)) && m_p1_one_button)
return 0x00;
- case 0x08:
- return ((m_io_buttons->read() & 0x02) << 6);
- case 0x09:
- return ((m_io_buttons->read() & 0x08) << 4);
- case 0x0a:
- return ((m_io_buttons->read() & 0x01) << 7);
- case 0x0b:
- return ((m_io_buttons->read() & 0x04) << 5);
- case 0x0c:
- if (((m_io_buttons->read() & 0x08) ||(m_io_buttons->read() & 0x02)) && m_p1_one_button)
- return 0x00;
- else
- return 0x80;
- case 0x0d:
- if (((m_io_buttons->read() & 0x01) ||(m_io_buttons->read() & 0x04)) && m_p2_one_button)
- return 0x00;
- else
- return 0x80;
- default:
- logerror("undefined TIA read %x\n",offset);
-
+ else
+ return 0x80;
+ case 0x0d:
+ if (((m_io_buttons->read() & 0x01) ||(m_io_buttons->read() & 0x04)) && m_p2_one_button)
+ return 0x00;
+ else
+ return 0x80;
+ default:
+ logerror("undefined TIA read %x\n",offset);
}
return 0xff;
}
@@ -277,7 +276,7 @@ WRITE8_MEMBER(a7800_state::tia_w)
TIMER_DEVICE_CALLBACK_MEMBER(a7800_state::interrupt)
{
// DMA Begins 7 cycles after hblank
- machine().scheduler().timer_set(m_maincpu->cycles_to_attotime(7), timer_expired_delegate(FUNC(a7800_state::maria_startdma),this));
+ machine().scheduler().timer_set(m_maincpu->cycles_to_attotime(7), timer_expired_delegate(FUNC(a7800_state::maria_startdma), this));
m_maria->interrupt(m_lines);
}
@@ -1342,27 +1341,27 @@ void a7800_state::machine_start()
{
switch (m_cart->get_cart_type())
{
- case A78_HSC:
- // ROM+NVRAM accesses for HiScore
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x17ff, read8_delegate(FUNC(a78_cart_slot_device::read_10xx),(a78_cart_slot_device*)m_cart), write8_delegate(FUNC(a78_cart_slot_device::write_10xx),(a78_cart_slot_device*)m_cart));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x3000, 0x3fff, read8_delegate(FUNC(a78_cart_slot_device::read_30xx),(a78_cart_slot_device*)m_cart), write8_delegate(FUNC(a78_cart_slot_device::write_30xx),(a78_cart_slot_device*)m_cart));
- break;
- case A78_XB_BOARD:
- case A78_TYPE0_POK450:
- case A78_TYPE1_POK450:
- case A78_TYPE6_POK450:
- case A78_TYPEA_POK450:
- case A78_VERSA_POK450:
- // POKEY and RAM regs at 0x400-0x47f
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x0400, 0x047f, read8_delegate(FUNC(a78_cart_slot_device::read_04xx),(a78_cart_slot_device*)m_cart), write8_delegate(FUNC(a78_cart_slot_device::write_04xx),(a78_cart_slot_device*)m_cart));
- break;
- case A78_XM_BOARD:
- // POKEY and RAM and YM regs at 0x400-0x47f
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x0400, 0x047f, read8_delegate(FUNC(a78_cart_slot_device::read_04xx),(a78_cart_slot_device*)m_cart), write8_delegate(FUNC(a78_cart_slot_device::write_04xx),(a78_cart_slot_device*)m_cart));
- // ROM+NVRAM accesses for HiScore
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x17ff, read8_delegate(FUNC(a78_cart_slot_device::read_10xx),(a78_cart_slot_device*)m_cart), write8_delegate(FUNC(a78_cart_slot_device::write_10xx),(a78_cart_slot_device*)m_cart));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x3000, 0x3fff, read8_delegate(FUNC(a78_cart_slot_device::read_30xx),(a78_cart_slot_device*)m_cart), write8_delegate(FUNC(a78_cart_slot_device::write_30xx),(a78_cart_slot_device*)m_cart));
- break;
+ case A78_HSC:
+ // ROM+NVRAM accesses for HiScore
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x17ff, read8_delegate(*m_cart, FUNC(a78_cart_slot_device::read_10xx)), write8_delegate(*m_cart, FUNC(a78_cart_slot_device::write_10xx)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x3000, 0x3fff, read8_delegate(*m_cart, FUNC(a78_cart_slot_device::read_30xx)), write8_delegate(*m_cart, FUNC(a78_cart_slot_device::write_30xx)));
+ break;
+ case A78_XB_BOARD:
+ case A78_TYPE0_POK450:
+ case A78_TYPE1_POK450:
+ case A78_TYPE6_POK450:
+ case A78_TYPEA_POK450:
+ case A78_VERSA_POK450:
+ // POKEY and RAM regs at 0x400-0x47f
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x0400, 0x047f, read8_delegate(*m_cart, FUNC(a78_cart_slot_device::read_04xx)), write8_delegate(*m_cart, FUNC(a78_cart_slot_device::write_04xx)));
+ break;
+ case A78_XM_BOARD:
+ // POKEY and RAM and YM regs at 0x400-0x47f
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x0400, 0x047f, read8_delegate(*m_cart, FUNC(a78_cart_slot_device::read_04xx)), write8_delegate(*m_cart, FUNC(a78_cart_slot_device::write_04xx)));
+ // ROM+NVRAM accesses for HiScore
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x17ff, read8_delegate(*m_cart, FUNC(a78_cart_slot_device::read_10xx)), write8_delegate(*m_cart, FUNC(a78_cart_slot_device::write_10xx)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x3000, 0x3fff, read8_delegate(*m_cart, FUNC(a78_cart_slot_device::read_30xx)), write8_delegate(*m_cart, FUNC(a78_cart_slot_device::write_30xx)));
+ break;
}
}
}