summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/docastle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/docastle.cpp')
-rw-r--r--src/mame/drivers/docastle.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/mame/drivers/docastle.cpp b/src/mame/drivers/docastle.cpp
index 47d3c705703..8f2c0c051eb 100644
--- a/src/mame/drivers/docastle.cpp
+++ b/src/mame/drivers/docastle.cpp
@@ -626,19 +626,20 @@ MACHINE_CONFIG_START(docastle_state::docastle)
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
- MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL(9'828'000) / 16)
+ H46505(config, m_crtc, XTAL(9'828'000) / 16);
/*
The games program the CRTC for a width of 32 characters (256 pixels).
However, the DE output from the CRTC is first ANDed with the NAND of
MA1 through MA4, and then delayed by 8 pixel clocks; this effectively
blanks the first 8 pixels and last 8 pixels of each line.
*/
- MCFG_MC6845_SHOW_BORDER_AREA(false)
- MCFG_MC6845_VISAREA_ADJUST(8,-8,0,0)
- MCFG_MC6845_CHAR_WIDTH(8)
- MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(*this, docastle_state, docastle_tint))
- MCFG_MC6845_OUT_CUR_CB(WRITELINE(*this, docastle_state, stx_on_w))
- MCFG_MC6845_OUT_DE_CB(WRITELINE(*this, docastle_state, stx_off_w))
+ m_crtc->set_screen("screen");
+ m_crtc->set_show_border_area(false);
+ m_crtc->set_visarea_adjust(8,-8,0,0);
+ m_crtc->set_char_width(8);
+ m_crtc->out_hsync_callback().set(FUNC(docastle_state::docastle_tint));
+ m_crtc->out_cur_callback().set(FUNC(docastle_state::stx_on_w));
+ m_crtc->out_de_callback().set(FUNC(docastle_state::stx_off_w));
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL(9'828'000)/2, 0x138, 8, 0x100-8, 0x108, 0, 0xc0) // from crtc