summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/blitz68k.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/blitz68k.cpp')
-rw-r--r--src/mame/drivers/blitz68k.cpp75
1 files changed, 38 insertions, 37 deletions
diff --git a/src/mame/drivers/blitz68k.cpp b/src/mame/drivers/blitz68k.cpp
index 8ad214c4749..3316322b91e 100644
--- a/src/mame/drivers/blitz68k.cpp
+++ b/src/mame/drivers/blitz68k.cpp
@@ -79,6 +79,29 @@ public:
, m_leds(*this, "led%u", 0U)
{ }
+ void init_bankrob();
+ void init_cjffruit();
+ void init_deucesw2();
+ void init_megadble();
+ void init_bankroba();
+ void init_maxidbl();
+ void init_cj3play();
+ void init_megadblj();
+ void init_hermit();
+ void init_dualgame();
+
+ void hermit(machine_config &config);
+ void bankrob(machine_config &config);
+ void cjffruit(machine_config &config);
+ void steaser(machine_config &config);
+ void deucesw2(machine_config &config);
+ void ilpag(machine_config &config);
+ void maxidbl(machine_config &config);
+ void dualgame(machine_config &config);
+ void bankroba(machine_config &config);
+ void ramdac_config(machine_config &config);
+private:
+
DECLARE_WRITE16_MEMBER(blit_copy_w);
DECLARE_READ8_MEMBER(blit_status_r);
DECLARE_WRITE8_MEMBER(blit_x_w);
@@ -157,31 +180,12 @@ public:
DECLARE_WRITE_LINE_MEMBER(crtc_vsync_irq1);
DECLARE_WRITE_LINE_MEMBER(crtc_vsync_irq3);
DECLARE_WRITE_LINE_MEMBER(crtc_vsync_irq5);
- void init_bankrob();
- void init_cjffruit();
- void init_deucesw2();
- void init_megadble();
- void init_bankroba();
- void init_maxidbl();
- void init_cj3play();
- void init_megadblj();
- void init_hermit();
- void init_dualgame();
DECLARE_VIDEO_START(blitz68k);
DECLARE_VIDEO_START(blitz68k_addr_factor1);
uint32_t screen_update_blitz68k(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_blitz68k_noblit(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(steaser_mcu_sim);
MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr);
- void hermit(machine_config &config);
- void bankrob(machine_config &config);
- void cjffruit(machine_config &config);
- void steaser(machine_config &config);
- void deucesw2(machine_config &config);
- void ilpag(machine_config &config);
- void maxidbl(machine_config &config);
- void dualgame(machine_config &config);
- void bankroba(machine_config &config);
void bankrob_map(address_map &map);
void bankroba_map(address_map &map);
void cjffruit_map(address_map &map);
@@ -193,7 +197,6 @@ public:
void ramdac_map(address_map &map);
void steaser_map(address_map &map);
-protected:
virtual void machine_start() override { m_leds.resolve(); }
optional_shared_ptr<uint16_t> m_nvram;
@@ -1710,6 +1713,13 @@ void blitz68k_state::ramdac_map(address_map &map)
map(0x000, 0x3ff).rw("ramdac", FUNC(ramdac_device::ramdac_pal_r), FUNC(ramdac_device::ramdac_rgb666_w));
}
+void blitz68k_state::ramdac_config(machine_config &config)
+{
+ PALETTE(config, m_palette, 0x100);
+ ramdac_device &ramdac(RAMDAC(config, "ramdac", 0, m_palette));
+ ramdac.set_addrmap(0, &blitz68k_state::ramdac_map);
+}
+
MACHINE_CONFIG_START(blitz68k_state::ilpag)
MCFG_DEVICE_ADD(m_maincpu, M68000, 11059200 ) // ?
MCFG_DEVICE_PROGRAM_MAP(ilpag_map)
@@ -1724,11 +1734,9 @@ MACHINE_CONFIG_START(blitz68k_state::ilpag)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
- MCFG_PALETTE_ADD(m_palette, 0x100)
+ ramdac_config(config);
MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
-
- MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
/*
@@ -1799,10 +1807,9 @@ MACHINE_CONFIG_START(blitz68k_state::cjffruit)
MCFG_MC6845_ADDR_CHANGED_CB(blitz68k_state, crtc_addr)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, blitz68k_state, crtc_vsync_irq1))
- MCFG_PALETTE_ADD(m_palette, 0x100)
+ ramdac_config(config);
MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
- MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1831,10 +1838,9 @@ MACHINE_CONFIG_START(blitz68k_state::bankrob)
MCFG_MC6845_ADDR_CHANGED_CB(blitz68k_state, crtc_addr)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, blitz68k_state, crtc_vsync_irq3))
- MCFG_PALETTE_ADD(m_palette, 0x100)
+ ramdac_config(config);
MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
- MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1861,10 +1867,9 @@ MACHINE_CONFIG_START(blitz68k_state::bankroba)
MCFG_MC6845_ADDR_CHANGED_CB(blitz68k_state, crtc_addr)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, blitz68k_state, crtc_vsync_irq5))
- MCFG_PALETTE_ADD(m_palette, 0x100)
+ ramdac_config(config);
MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k_addr_factor1)
- MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1890,10 +1895,9 @@ MACHINE_CONFIG_START(blitz68k_state::deucesw2)
MCFG_MC6845_ADDR_CHANGED_CB(blitz68k_state, crtc_addr)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, blitz68k_state, crtc_vsync_irq3))
- MCFG_PALETTE_ADD(m_palette, 0x100)
+ ramdac_config(config);
MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
- MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1921,10 +1925,9 @@ MACHINE_CONFIG_START(blitz68k_state::dualgame)
MCFG_MC6845_ADDR_CHANGED_CB(blitz68k_state, crtc_addr)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, blitz68k_state, crtc_vsync_irq3))
- MCFG_PALETTE_ADD(m_palette, 0x100)
+ ramdac_config(config);
MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
- MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1950,10 +1953,9 @@ MACHINE_CONFIG_START(blitz68k_state::hermit)
MCFG_MC6845_ADDR_CHANGED_CB(blitz68k_state, crtc_addr)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, blitz68k_state, crtc_vsync_irq1))
- MCFG_PALETTE_ADD(m_palette, 0x100)
+ ramdac_config(config);
MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
- MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1984,8 +1986,7 @@ MACHINE_CONFIG_START(blitz68k_state::maxidbl)
MCFG_MC6845_ADDR_CHANGED_CB(blitz68k_state, crtc_addr)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, blitz68k_state, crtc_vsync_irq3))
- MCFG_PALETTE_ADD(m_palette, 0x100)
- MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
+ ramdac_config(config);
SPEAKER(config, "mono").front_center();
MCFG_SAA1099_ADD("saa", XTAL(8'000'000)/2)