summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/r2dtank.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/r2dtank.cpp')
-rw-r--r--src/mame/drivers/r2dtank.cpp39
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