diff options
Diffstat (limited to 'src/mame/drivers/blitz68k.cpp')
-rw-r--r-- | src/mame/drivers/blitz68k.cpp | 75 |
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) |