diff options
Diffstat (limited to 'src/mame/drivers/r2dtank.cpp')
-rw-r--r-- | src/mame/drivers/r2dtank.cpp | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/src/mame/drivers/r2dtank.cpp b/src/mame/drivers/r2dtank.cpp index dff5a7cfa5a..7714c7d9f44 100644 --- a/src/mame/drivers/r2dtank.cpp +++ b/src/mame/drivers/r2dtank.cpp @@ -30,9 +30,6 @@ other = M5L8226 (x2) RAM = 4116 (x11) ---------------------------------------------------- - -XTAL values appear to be 3579.545 (X1) and 11.200 (X2). - ********************************************************************/ #include "emu.h" @@ -52,7 +49,7 @@ XTAL values appear to be 3579.545 (X1) and 11.200 (X2). #define LOG_AUDIO_COMM (0) -#define MAIN_CPU_MASTER_CLOCK (11.2_MHz_XTAL) +#define MAIN_CPU_MASTER_CLOCK (11200000) #define PIXEL_CLOCK (MAIN_CPU_MASTER_CLOCK / 2) #define CRTC_CLOCK (MAIN_CPU_MASTER_CLOCK / 16) @@ -201,10 +198,10 @@ READ8_MEMBER(r2dtank_state::AY8910_port_r) uint8_t ret = 0; if (m_AY8910_selected & 0x08) - ret = m_ay1->data_r(); + ret = m_ay1->data_r(space, 0); if (m_AY8910_selected & 0x10) - ret = m_ay2->data_r(); + ret = m_ay2->data_r(space, 0); return ret; } @@ -213,10 +210,10 @@ READ8_MEMBER(r2dtank_state::AY8910_port_r) WRITE8_MEMBER(r2dtank_state::AY8910_port_w) { if (m_AY8910_selected & 0x08) - m_ay1->data_address_w(m_AY8910_selected >> 2, data); + m_ay1->data_address_w(space, m_AY8910_selected >> 2, data); if (m_AY8910_selected & 0x10) - m_ay2->data_address_w(m_AY8910_selected >> 2, data); + m_ay2->data_address_w(space, m_AY8910_selected >> 2, data); } @@ -327,7 +324,7 @@ MC6845_UPDATE_ROW( r2dtank_state::crtc_update_row ) WRITE8_MEMBER(r2dtank_state::pia_comp_w) { - m_pia_main->write(offset, ~data); + m_pia_main->write(machine().dummy_space(), offset, ~data); } @@ -445,20 +442,19 @@ INPUT_PORTS_END * *************************************/ -void r2dtank_state::r2dtank(machine_config &config) -{ - MC6809(config, m_maincpu, MAIN_CPU_MASTER_CLOCK / 4); // divider guessed - m_maincpu->set_addrmap(AS_PROGRAM, &r2dtank_state::r2dtank_main_map); +MACHINE_CONFIG_START(r2dtank_state::r2dtank) + MCFG_DEVICE_ADD("maincpu", M6809,3000000) /* ?? too fast ? */ + MCFG_DEVICE_PROGRAM_MAP(r2dtank_main_map) - M6802(config, m_audiocpu, 3.579545_MHz_XTAL); - m_audiocpu->set_addrmap(AS_PROGRAM, &r2dtank_state::r2dtank_audio_map); + MCFG_DEVICE_ADD("audiocpu", M6802,3000000) /* ?? */ + MCFG_DEVICE_PROGRAM_MAP(r2dtank_audio_map) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_raw(PIXEL_CLOCK, 360, 0, 256, 276, 0, 224); - screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update)); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 256, 0, 256, 256, 0, 256) /* temporary, CRTC will configure screen */ + MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update) PALETTE(config, m_palette, palette_device::BGR_3BIT); @@ -500,15 +496,16 @@ void r2dtank_state::r2dtank(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - AY8910(config, m_ay1, 3.579545_MHz_XTAL / 4); // probably E clock from MC6802 + AY8910(config, m_ay1, (4000000 / 4)); m_ay1->port_a_read_callback().set_ioport("DSWB"); m_ay1->add_route(ALL_OUTPUTS, "mono", 0.25); - AY8910(config, m_ay2, 3.579545_MHz_XTAL / 4); + AY8910(config, m_ay2, (4000000 / 4)); m_ay2->port_a_read_callback().set_ioport("IN1"); m_ay2->port_b_read_callback().set_ioport("DSWA"); m_ay2->add_route(ALL_OUTPUTS, "mono", 0.25); -} + +MACHINE_CONFIG_END |