taitogn.cpp : Cleanup duplicates

This commit is contained in:
cam900 2018-05-12 20:35:02 +09:00 committed by Vas Crabb
parent c7bda1bc2f
commit 2242ff0089

View File

@ -346,6 +346,7 @@ Type 3 (PCMCIA Compact Flash Adaptor + Compact Flash card, sealed together with
#include "video/psx.h" #include "video/psx.h"
#include "speaker.h" #include "speaker.h"
#include <algorithm>
class taitogn_state : public driver_device class taitogn_state : public driver_device
{ {
@ -353,8 +354,7 @@ public:
taitogn_state(const machine_config &mconfig, device_type type, const char *tag) : taitogn_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag), driver_device(mconfig, type, tag),
m_sio0(*this, "maincpu:sio0"), m_sio0(*this, "maincpu:sio0"),
m_cat702_1(*this, "cat702_1"), m_cat702(*this, "cat702_%u", 1U),
m_cat702_2(*this, "cat702_2"),
m_znmcu(*this, "znmcu"), m_znmcu(*this, "znmcu"),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_mn10200(*this, "taito_zoom:mn10200"), m_mn10200(*this, "taito_zoom:mn10200"),
@ -362,23 +362,20 @@ public:
m_mb3773(*this, "mb3773"), m_mb3773(*this, "mb3773"),
m_zoom(*this, "taito_zoom"), m_zoom(*this, "taito_zoom"),
m_pgmflash(*this, "pgmflash"), m_pgmflash(*this, "pgmflash"),
m_sndflash0(*this, "sndflash0"), m_sndflash(*this, "sndflash%u", 0U),
m_sndflash1(*this, "sndflash1"),
m_sndflash2(*this, "sndflash2"),
m_jp1(*this, "JP1"), m_jp1(*this, "JP1"),
m_has_zoom(true), m_has_zoom(true),
m_cat702_1_dataout(1),
m_cat702_2_dataout(1),
m_znmcu_dataout(1) m_znmcu_dataout(1)
{ {
std::fill(std::begin(m_cat702_dataout), std::end(m_cat702_dataout), 1);
} }
DECLARE_WRITE_LINE_MEMBER(sio0_sck){ m_cat702_1->write_clock(state); m_cat702_2->write_clock(state); m_znmcu->write_clock(state); } DECLARE_WRITE_LINE_MEMBER(sio0_sck){ m_cat702[0]->write_clock(state); m_cat702[1]->write_clock(state); m_znmcu->write_clock(state); }
DECLARE_WRITE_LINE_MEMBER(sio0_txd){ m_cat702_1->write_datain(state); m_cat702_2->write_datain(state); } DECLARE_WRITE_LINE_MEMBER(sio0_txd){ m_cat702[0]->write_datain(state); m_cat702[1]->write_datain(state); }
DECLARE_WRITE_LINE_MEMBER(cat702_1_dataout){ m_cat702_1_dataout = state; update_sio0_rxd(); } DECLARE_WRITE_LINE_MEMBER(cat702_1_dataout){ m_cat702_dataout[0] = state; update_sio0_rxd(); }
DECLARE_WRITE_LINE_MEMBER(cat702_2_dataout){ m_cat702_2_dataout = state; update_sio0_rxd(); } DECLARE_WRITE_LINE_MEMBER(cat702_2_dataout){ m_cat702_dataout[1] = state; update_sio0_rxd(); }
DECLARE_WRITE_LINE_MEMBER(znmcu_dataout){ m_znmcu_dataout = state; update_sio0_rxd(); } DECLARE_WRITE_LINE_MEMBER(znmcu_dataout){ m_znmcu_dataout = state; update_sio0_rxd(); }
void update_sio0_rxd() { m_sio0->write_rxd(m_cat702_1_dataout && m_cat702_2_dataout && m_znmcu_dataout); } void update_sio0_rxd() { m_sio0->write_rxd(m_cat702_dataout[0] && m_cat702_dataout[1] && m_znmcu_dataout); }
DECLARE_READ8_MEMBER(control_r); DECLARE_READ8_MEMBER(control_r);
DECLARE_WRITE8_MEMBER(control_w); DECLARE_WRITE8_MEMBER(control_w);
DECLARE_WRITE16_MEMBER(control2_w); DECLARE_WRITE16_MEMBER(control2_w);
@ -411,8 +408,7 @@ protected:
private: private:
required_device<psxsio0_device> m_sio0; required_device<psxsio0_device> m_sio0;
required_device<cat702_device> m_cat702_1; required_device_array<cat702_device, 2> m_cat702;
required_device<cat702_device> m_cat702_2;
required_device<znmcu_device> m_znmcu; required_device<znmcu_device> m_znmcu;
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_mn10200; required_device<cpu_device> m_mn10200;
@ -420,9 +416,7 @@ private:
required_device<mb3773_device> m_mb3773; required_device<mb3773_device> m_mb3773;
required_device<taito_zoom_device> m_zoom; required_device<taito_zoom_device> m_zoom;
required_device<intelfsh16_device> m_pgmflash; required_device<intelfsh16_device> m_pgmflash;
required_device<intelfsh16_device> m_sndflash0; required_device_array<intelfsh16_device, 3> m_sndflash;
required_device<intelfsh16_device> m_sndflash1;
required_device<intelfsh16_device> m_sndflash2;
required_ioport m_jp1; required_ioport m_jp1;
bool m_has_zoom; bool m_has_zoom;
@ -435,8 +429,7 @@ private:
uint8_t m_coin_info; uint8_t m_coin_info;
int m_cat702_1_dataout; int m_cat702_dataout[2];
int m_cat702_2_dataout;
int m_znmcu_dataout; int m_znmcu_dataout;
}; };
@ -466,9 +459,9 @@ WRITE8_MEMBER(taitogn_state::control_w)
// assume that this also readys the sound flash chips // assume that this also readys the sound flash chips
m_pgmflash->write(0, 0xff); m_pgmflash->write(0, 0xff);
m_sndflash0->write(0, 0xff); m_sndflash[0]->write(0, 0xff);
m_sndflash1->write(0, 0xff); m_sndflash[1]->write(0, 0xff);
m_sndflash2->write(0, 0xff); m_sndflash[2]->write(0, 0xff);
} }
} }
@ -540,8 +533,8 @@ READ8_MEMBER(taitogn_state::znsecsel_r)
WRITE8_MEMBER(taitogn_state::znsecsel_w) WRITE8_MEMBER(taitogn_state::znsecsel_w)
{ {
m_cat702_1->write_select(BIT(data, 2)); m_cat702[0]->write_select(BIT(data, 2));
m_cat702_2->write_select(BIT(data, 3)); m_cat702[1]->write_select(BIT(data, 3));
m_znmcu->write_select((data & 0x8c) != 0x8c); m_znmcu->write_select((data & 0x8c) != 0x8c);
// BIT(data,4); // read analogue controls? // BIT(data,4); // read analogue controls?
@ -594,13 +587,13 @@ READ8_MEMBER(taitogn_state::gnet_mahjong_panel_r)
READ32_MEMBER(taitogn_state::zsg2_ext_r) READ32_MEMBER(taitogn_state::zsg2_ext_r)
{ {
offset *= 2; offset <<= 1;
switch (offset & 0x300000) switch (offset & 0x300000)
{ {
case 0x000000: return m_sndflash0->read(offset) | m_sndflash0->read(offset | 1) << 16; case 0x000000:
case 0x100000: return m_sndflash1->read(offset & 0xfffff) | m_sndflash1->read((offset & 0xfffff) | 1) << 16; case 0x100000:
case 0x200000: return m_sndflash2->read(offset & 0xfffff) | m_sndflash2->read((offset & 0xfffff) | 1) << 16; case 0x200000: return m_sndflash[offset >> 20]->read(offset & 0xfffff) | m_sndflash[offset >> 20]->read((offset & 0xfffff) | 1) << 16;
default: default:
break; break;
@ -616,8 +609,7 @@ void taitogn_state::machine_start()
save_item(NAME(m_v)); save_item(NAME(m_v));
save_item(NAME(m_n_znsecsel)); save_item(NAME(m_n_znsecsel));
save_item(NAME(m_coin_info)); save_item(NAME(m_coin_info));
save_item(NAME(m_cat702_1_dataout)); save_item(NAME(m_cat702_dataout));
save_item(NAME(m_cat702_2_dataout));
save_item(NAME(m_znmcu_dataout)); save_item(NAME(m_znmcu_dataout));
} }
@ -670,9 +662,9 @@ void taitogn_state::flashbank_map(address_map &map)
map(0x00300000, 0x0037ffff).rw(m_pgmflash, FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write)); map(0x00300000, 0x0037ffff).rw(m_pgmflash, FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write));
// Bank 1 & 3 has access to the 3 samples flashes // Bank 1 & 3 has access to the 3 samples flashes
map(0x08000000, 0x081fffff).mirror(0x10000000).rw(m_sndflash0, FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write)); map(0x08000000, 0x081fffff).mirror(0x10000000).rw(m_sndflash[0], FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write));
map(0x08200000, 0x083fffff).mirror(0x10000000).rw(m_sndflash1, FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write)); map(0x08200000, 0x083fffff).mirror(0x10000000).rw(m_sndflash[1], FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write));
map(0x08400000, 0x085fffff).mirror(0x10000000).rw(m_sndflash2, FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write)); map(0x08400000, 0x085fffff).mirror(0x10000000).rw(m_sndflash[2], FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write));
// Bank 2 has access to the sub-bios, the mn102 flash and the mask eprom // Bank 2 has access to the sub-bios, the mn102 flash and the mask eprom
map(0x10000000, 0x100fffff).rom().region("bioseprom", 0); map(0x10000000, 0x100fffff).rom().region("bioseprom", 0);