summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mpu4vid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mpu4vid.cpp')
-rw-r--r--src/mame/drivers/mpu4vid.cpp39
1 files changed, 16 insertions, 23 deletions
diff --git a/src/mame/drivers/mpu4vid.cpp b/src/mame/drivers/mpu4vid.cpp
index 96bc9aa624c..3e22aa97128 100644
--- a/src/mame/drivers/mpu4vid.cpp
+++ b/src/mame/drivers/mpu4vid.cpp
@@ -205,19 +205,18 @@ TODO:
#include "crmaze4p.lh"
-struct bt471_t
-{
- uint8_t address;
- uint8_t addr_cnt;
- uint8_t pixmask;
- uint8_t command;
- rgb_t color;
-};
-
-
class mpu4vid_state : public mpu4_state
{
public:
+ struct bt471_t
+ {
+ uint8_t address;
+ uint8_t addr_cnt;
+ uint8_t pixmask;
+ uint8_t command;
+ rgb_t color;
+ };
+
mpu4vid_state(const machine_config &mconfig, device_type type, const char *tag)
: mpu4_state(mconfig, type, tag),
m_videocpu(*this, "video"),
@@ -281,9 +280,9 @@ private:
int m_gfx_index;
int8_t m_cur[2];
- DECLARE_MACHINE_START(mpu4_vid);
- DECLARE_MACHINE_RESET(mpu4_vid);
- DECLARE_VIDEO_START(mpu4_vid);
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
SCN2674_DRAW_CHARACTER_MEMBER(display_pixels);
DECLARE_WRITE_LINE_MEMBER(m6809_acia_irq);
DECLARE_WRITE_LINE_MEMBER(m68k_acia_irq);
@@ -438,7 +437,7 @@ WRITE16_MEMBER(mpu4vid_state::mpu4_vid_vidram_w )
}
-VIDEO_START_MEMBER(mpu4vid_state,mpu4_vid)
+void mpu4vid_state::video_start()
{
m_vid_vidram.allocate(0x20000/2);
@@ -1152,19 +1151,16 @@ WRITE_LINE_MEMBER(mpu4vid_state::mpu_video_reset)
}
/* machine start (called only once) */
-MACHINE_START_MEMBER(mpu4vid_state,mpu4_vid)
+void mpu4vid_state::machine_start()
{
mpu4_config_common();
m_mod_number=4; //No AY chip
/* setup communications */
m_link7a_connected = 1;
-
- /* Hook the reset line */
- m_videocpu->set_reset_callback(FUNC(mpu4vid_state::mpu_video_reset));
}
-MACHINE_RESET_MEMBER(mpu4vid_state,mpu4_vid)
+void mpu4vid_state::machine_reset()
{
m_vfd->reset(); //for debug ports only
@@ -1302,13 +1298,10 @@ void mpu4vid_state::mpu4_vid(machine_config &config)
M68000(config, m_videocpu, VIDEO_MASTER_CLOCK);
m_videocpu->set_addrmap(AS_PROGRAM, &mpu4vid_state::mpu4_68k_map);
+ m_videocpu->set_reset_callback(FUNC(mpu4vid_state::mpu_video_reset));
// config.m_minimum_quantum = attotime::from_hz(960);
- MCFG_MACHINE_START_OVERRIDE(mpu4vid_state,mpu4_vid)
- MCFG_MACHINE_RESET_OVERRIDE(mpu4vid_state,mpu4_vid)
- MCFG_VIDEO_START_OVERRIDE (mpu4vid_state,mpu4_vid)
-
PALETTE(config, m_palette).set_entries(ef9369_device::NUMCOLORS);
EF9369(config, "ef9369").set_color_update_callback(FUNC(mpu4vid_state::ef9369_color_update));