summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/peplus.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/peplus.c')
-rw-r--r--src/mame/drivers/peplus.c35
1 files changed, 10 insertions, 25 deletions
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index 78f590d784c..643945dd111 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -279,6 +279,7 @@ public:
DECLARE_DRIVER_INIT(peplussb);
DECLARE_DRIVER_INIT(peplussbw);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr);
virtual void machine_reset();
virtual void video_start();
UINT32 screen_update_peplus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -302,26 +303,6 @@ static const UINT16 id_023[8] = { 0x4a6c, 0x4a7b, 0x4a4b, 0x4a5a, 0x4a2b, 0x4a0a
#define SOUND_CLOCK ((MASTER_CLOCK)/12)
-/* prototypes */
-
-static MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr);
-
-static MC6845_INTERFACE( mc6845_intf )
-{
- false, /* show border area */
- 0,0,0,0, /* visarea adjustment */
- 8, /* number of pixels per video memory address */
- NULL, /* before pixel update callback */
- NULL, /* row update callback */
- NULL, /* after pixel update callback */
- DEVCB_NULL, /* callback for display state changes */
- DEVCB_NULL, /* callback for cursor state changes */
- DEVCB_NULL, /* HSYNC callback */
- DEVCB_DRIVER_LINE_MEMBER(peplus_state,crtc_vsync), /* VSYNC callback */
- crtc_addr /* update address callback */
-};
-
-
/**************
* Memory Copy *
***************/
@@ -377,12 +358,12 @@ WRITE8_MEMBER(peplus_state::peplus_bgcolor_w)
/* ROCKWELL 6545 - Transparent Memory Addressing */
-static MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr)
+MC6845_ON_UPDATE_ADDR_CHANGED(peplus_state::crtc_addr)
{
- peplus_state *state = device->machine().driver_data<peplus_state>();
- state->m_vid_address = address;
+ m_vid_address = address;
}
+
WRITE8_MEMBER(peplus_state::peplus_crtc_mode_w)
{
/* Reset timing logic */
@@ -1350,9 +1331,13 @@ static MACHINE_CONFIG_START( peplus, peplus_state )
MCFG_PALETTE_ADD("palette", 16*16*2)
MCFG_PALETTE_INIT_OWNER(peplus_state, peplus)
- MCFG_MC6845_ADD("crtc", R6545_1, "screen", MC6845_CLOCK, mc6845_intf)
- MCFG_X2404P_ADD("i2cmem")
+ MCFG_MC6845_ADD("crtc", R6545_1, "screen", MC6845_CLOCK)
+ MCFG_MC6845_SHOW_BORDER_AREA(false)
+ MCFG_MC6845_CHAR_WIDTH(8)
+ MCFG_MC6845_ADDR_CHANGED_CB(peplus_state, crtc_addr)
+ MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(peplus_state, crtc_vsync))
+ MCFG_X2404P_ADD("i2cmem")
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")