summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2014-03-28 13:18:42 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2014-03-28 13:18:42 +0000
commita820b91964898ccfee0a296a05aba287c4ec5609 (patch)
treeaea91c894f3d2a777dd0597a93f2e488893ba7b5 /src/mess
parentb4a432d51faa740a3699aea7c66a3cc1d725fb78 (diff)
hsync and fsync are part of mc6847 so devcb2 conversion was needed there not in gime, this fixes coco3 issue (nw)
Diffstat (limited to 'src/mess')
-rw-r--r--src/mess/drivers/apf.c3
-rw-r--r--src/mess/drivers/coco12.c4
-rw-r--r--src/mess/drivers/mc1000.c6
-rw-r--r--src/mess/drivers/phc25.c8
-rw-r--r--src/mess/drivers/spc1000.c4
-rw-r--r--src/mess/drivers/sv8000.c2
-rw-r--r--src/mess/drivers/vtech1.c11
-rw-r--r--src/mess/drivers/z80ne.c2
-rw-r--r--src/mess/includes/coco12.h4
-rw-r--r--src/mess/machine/coco12.c4
-rw-r--r--src/mess/video/gime.c4
-rw-r--r--src/mess/video/gime.h10
12 files changed, 19 insertions, 43 deletions
diff --git a/src/mess/drivers/apf.c b/src/mess/drivers/apf.c
index f8f7a521b5a..60d92fdceeb 100644
--- a/src/mess/drivers/apf.c
+++ b/src/mess/drivers/apf.c
@@ -513,8 +513,6 @@ static const mc6847_interface apf_mc6847_intf =
{
"screen",
DEVCB_DRIVER_MEMBER(apf_state, videoram_r),
- DEVCB_NULL,
- DEVCB_DEVICE_LINE_MEMBER("pia0", pia6821_device, cb1_w),
DEVCB_NULL, /* AG */
DEVCB_LINE_VCC, /* GM2 */
@@ -535,6 +533,7 @@ static MACHINE_CONFIG_START( apfm1000, apf_state )
/* video hardware */
MCFG_SCREEN_MC6847_NTSC_ADD("screen", "mc6847")
MCFG_MC6847_ADD("mc6847", MC6847_NTSC, XTAL_3_579545MHz, apf_mc6847_intf)
+ MCFG_MC6847_FSYNC_CALLBACK(DEVWRITELINE("pia0", pia6821_device, cb1_w))
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/coco12.c b/src/mess/drivers/coco12.c
index a63e244316d..f3896028f64 100644
--- a/src/mess/drivers/coco12.c
+++ b/src/mess/drivers/coco12.c
@@ -299,7 +299,9 @@ static MACHINE_CONFIG_START( coco, coco12_state )
// video hardware
MCFG_SCREEN_MC6847_NTSC_ADD(SCREEN_TAG, VDG_TAG)
MCFG_MC6847_ADD(VDG_TAG, MC6847_NTSC, XTAL_3_579545MHz, coco12_state::mc6847_config)
-
+ MCFG_MC6847_HSYNC_CALLBACK(WRITELINE(coco12_state, horizontal_sync))
+ MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(coco12_state, field_sync))
+
// sound hardware
MCFG_FRAGMENT_ADD( coco_sound )
diff --git a/src/mess/drivers/mc1000.c b/src/mess/drivers/mc1000.c
index 1b849617dcb..96f27d6ad50 100644
--- a/src/mess/drivers/mc1000.c
+++ b/src/mess/drivers/mc1000.c
@@ -436,9 +436,7 @@ static const cassette_interface mc1000_cassette_interface =
static const mc6847_interface mc1000_mc6847_intf =
{
SCREEN_TAG,
- DEVCB_DRIVER_MEMBER(mc1000_state, videoram_r),
- DEVCB_DRIVER_LINE_MEMBER(mc1000_state, hs_w),
- DEVCB_DRIVER_LINE_MEMBER(mc1000_state, fs_w),
+ DEVCB_DRIVER_MEMBER(mc1000_state, videoram_r)
};
static MACHINE_CONFIG_START( mc1000, mc1000_state )
@@ -459,6 +457,8 @@ static MACHINE_CONFIG_START( mc1000, mc1000_state )
/* video hardware */
MCFG_SCREEN_MC6847_PAL_ADD(SCREEN_TAG, MC6847_TAG)
MCFG_MC6847_ADD(MC6847_TAG, MC6847_NTSC, XTAL_3_579545MHz, mc1000_mc6847_intf)
+ MCFG_MC6847_HSYNC_CALLBACK(WRITELINE(mc1000_state, hs_w))
+ MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(mc1000_state, fs_w))
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/phc25.c b/src/mess/drivers/phc25.c
index 685182e5273..8d6542a8521 100644
--- a/src/mess/drivers/phc25.c
+++ b/src/mess/drivers/phc25.c
@@ -302,9 +302,6 @@ static const mc6847_interface ntsc_vdg_intf =
SCREEN_TAG,
DEVCB_DRIVER_MEMBER(phc25_state, video_ram_r),
- DEVCB_NULL, /* horizontal sync */
- DEVCB_DRIVER_LINE_MEMBER(phc25_state, irq_w), /* field sync */
-
DEVCB_NULL, /* AG */
DEVCB_LINE_VCC, /* GM2 */
DEVCB_LINE_VCC, /* GM1 */
@@ -322,9 +319,6 @@ static const mc6847_interface pal_vdg_intf =
SCREEN_TAG,
DEVCB_DRIVER_MEMBER(phc25_state, video_ram_r),
- DEVCB_NULL, /* horizontal sync */
- DEVCB_DRIVER_LINE_MEMBER(phc25_state, irq_w), /* field sync */
-
DEVCB_NULL, /* AG */
DEVCB_LINE_VCC, /* GM2 */
DEVCB_LINE_VCC, /* GM1 */
@@ -400,12 +394,14 @@ static MACHINE_CONFIG_DERIVED( pal, phc25 )
/* video hardware */
MCFG_SCREEN_MC6847_PAL_ADD(SCREEN_TAG, MC6847_TAG)
MCFG_MC6847_ADD(MC6847_TAG, MC6847_PAL, XTAL_4_433619MHz, pal_vdg_intf)
+ MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(phc25_state, irq_w))
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ntsc, phc25 )
/* video hardware */
MCFG_SCREEN_MC6847_NTSC_ADD(SCREEN_TAG, MC6847_TAG)
MCFG_MC6847_ADD(MC6847_TAG, MC6847_NTSC, XTAL_3_579545MHz, ntsc_vdg_intf)
+ MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(phc25_state, irq_w))
MACHINE_CONFIG_END
/* ROMs */
diff --git a/src/mess/drivers/spc1000.c b/src/mess/drivers/spc1000.c
index 1075957d15f..21ad4f2cb6e 100644
--- a/src/mess/drivers/spc1000.c
+++ b/src/mess/drivers/spc1000.c
@@ -316,8 +316,6 @@ static const mc6847_interface spc1000_mc6847_intf =
{
"screen",
DEVCB_DRIVER_MEMBER(spc1000_state,spc1000_mc6847_videoram_r), // data fetch
- DEVCB_NULL,
- DEVCB_DRIVER_LINE_MEMBER(spc1000_state, irq_w), /* field sync */
DEVCB_NULL, /* AG */
DEVCB_LINE_VCC, /* GM2 */
@@ -340,7 +338,7 @@ static MACHINE_CONFIG_START( spc1000, spc1000_state )
/* video hardware */
MCFG_SCREEN_MC6847_NTSC_ADD("screen", "mc6847")
MCFG_MC6847_ADD("mc6847", MC6847_NTSC, XTAL_3_579545MHz, spc1000_mc6847_intf)
-
+ MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(spc1000_state, irq_w))
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ay8910", AY8910, XTAL_4MHz / 1)
diff --git a/src/mess/drivers/sv8000.c b/src/mess/drivers/sv8000.c
index 8e13c6d8cd7..ab6d81a03b6 100644
--- a/src/mess/drivers/sv8000.c
+++ b/src/mess/drivers/sv8000.c
@@ -400,8 +400,6 @@ static const mc6847_interface sv8000_mc6847_interface =
{
"screen",
DEVCB_DRIVER_MEMBER(sv8000_state,mc6847_videoram_r), // data fetch
- DEVCB_NULL,
- DEVCB_NULL,
DEVCB_NULL, /* AG */
DEVCB_NULL, /* GM2 */
diff --git a/src/mess/drivers/vtech1.c b/src/mess/drivers/vtech1.c
index 69bd5648d53..5bb0f676869 100644
--- a/src/mess/drivers/vtech1.c
+++ b/src/mess/drivers/vtech1.c
@@ -906,8 +906,6 @@ static const mc6847_interface vtech1_mc6847_bw_intf =
{
"screen",
DEVCB_DRIVER_MEMBER(vtech1_state,vtech1_mc6847_videoram_r),
- DEVCB_NULL, /* horz sync */
- DEVCB_CPU_INPUT_LINE("maincpu", 0), /* field sync */
DEVCB_NULL, /* AG */
DEVCB_LINE_GND, /* GM2 */
@@ -925,9 +923,7 @@ static const mc6847_interface vtech1_mc6847_bw_intf =
static const mc6847_interface vtech1_mc6847_intf =
{
"screen",
- DEVCB_DRIVER_MEMBER(vtech1_state,vtech1_mc6847_videoram_r),
- DEVCB_NULL, /* horz sync */
- DEVCB_CPU_INPUT_LINE("maincpu", 0), /* field sync */
+ DEVCB_DRIVER_MEMBER(vtech1_state,vtech1_mc6847_videoram_r),
DEVCB_NULL, /* AG */
DEVCB_LINE_GND, /* GM2 */
@@ -946,8 +942,6 @@ static const mc6847_interface vtech1_shrg_mc6847_intf =
{
"screen",
DEVCB_DRIVER_MEMBER(vtech1_state,vtech1_mc6847_videoram_r),
- DEVCB_NULL, /* horz sync */
- DEVCB_CPU_INPUT_LINE("maincpu", 0), /* field sync */
DEVCB_NULL, /* AG */
DEVCB_NULL, /* GM2 */
@@ -969,6 +963,7 @@ static MACHINE_CONFIG_START( laser110, vtech1_state )
/* video hardware */
MCFG_SCREEN_MC6847_PAL_ADD("screen", "mc6847")
MCFG_MC6847_ADD("mc6847", MC6847_PAL, XTAL_4_433619MHz, vtech1_mc6847_bw_intf)
+ MCFG_MC6847_FSYNC_CALLBACK(INPUTLINE("maincpu", 0))
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1004,6 +999,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( laser200, laser110 )
MCFG_DEVICE_REMOVE("mc6847")
MCFG_MC6847_ADD("mc6847", MC6847_PAL, XTAL_4_433619MHz, vtech1_mc6847_intf)
+ MCFG_MC6847_FSYNC_CALLBACK(INPUTLINE("maincpu", 0))
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( laser210, laser200 )
@@ -1032,6 +1028,7 @@ static MACHINE_CONFIG_DERIVED( laser310h, laser310 )
MCFG_CPU_IO_MAP(vtech1_shrg_io)
MCFG_DEVICE_REMOVE("mc6847")
MCFG_MC6847_ADD("mc6847", MC6847_PAL, XTAL_4_433619MHz, vtech1_shrg_mc6847_intf)
+ MCFG_MC6847_FSYNC_CALLBACK(INPUTLINE("maincpu", 0))
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/z80ne.c b/src/mess/drivers/z80ne.c
index bb41741bbb9..68f2aabf6af 100644
--- a/src/mess/drivers/z80ne.c
+++ b/src/mess/drivers/z80ne.c
@@ -444,8 +444,6 @@ static const mc6847_interface z80net_mc6847_intf =
{
"lx388",
DEVCB_DRIVER_MEMBER(z80ne_state, lx388_mc6847_videoram_r),
- DEVCB_NULL,
- DEVCB_NULL,
DEVCB_LINE_GND, /* AG */
DEVCB_LINE_GND, /* GM2 */
diff --git a/src/mess/includes/coco12.h b/src/mess/includes/coco12.h
index a1b3e36495a..a25a74f2caa 100644
--- a/src/mess/includes/coco12.h
+++ b/src/mess/includes/coco12.h
@@ -50,6 +50,8 @@ public:
DECLARE_READ8_MEMBER( sam_read );
+ DECLARE_WRITE_LINE_MEMBER( horizontal_sync );
+ DECLARE_WRITE_LINE_MEMBER( field_sync );
protected:
virtual void device_start();
virtual void update_cart_base(UINT8 *cart_base);
@@ -58,8 +60,6 @@ protected:
virtual void pia1_pb_changed(void);
private:
- DECLARE_WRITE_LINE_MEMBER( horizontal_sync );
- DECLARE_WRITE_LINE_MEMBER( field_sync );
void configure_sam(void);
};
diff --git a/src/mess/machine/coco12.c b/src/mess/machine/coco12.c
index 299ae5e10c8..9691c6cf000 100644
--- a/src/mess/machine/coco12.c
+++ b/src/mess/machine/coco12.c
@@ -126,9 +126,7 @@ void coco12_state::update_cart_base(UINT8 *cart_base)
const mc6847_interface coco12_state::mc6847_config =
{
SCREEN_TAG,
- DEVCB_DEVICE_MEMBER(SAM_TAG, sam6883_device, display_read),
- DEVCB_DRIVER_LINE_MEMBER(coco12_state, horizontal_sync),
- DEVCB_DRIVER_LINE_MEMBER(coco12_state, field_sync)
+ DEVCB_DEVICE_MEMBER(SAM_TAG, sam6883_device, display_read)
};
diff --git a/src/mess/video/gime.c b/src/mess/video/gime.c
index 45e3cdbb7cf..2bd9d60deea 100644
--- a/src/mess/video/gime.c
+++ b/src/mess/video/gime.c
@@ -108,8 +108,6 @@
gime_base_device::gime_base_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const UINT8 *fontdata, const char *shortname, const char *source)
: mc6847_friend_device(mconfig, type, name, tag, owner, clock, fontdata, true, 263, 25+192+26+3, false, shortname, source),
- m_write_hsync(*this),
- m_write_fsync(*this),
m_write_irq(*this),
m_write_firq(*this),
m_read_floating_bus(*this)
@@ -167,8 +165,6 @@ void gime_base_device::device_start(void)
}
// resolve callbacks
- m_write_hsync.resolve_safe();
- m_write_fsync.resolve_safe();
m_write_irq.resolve_safe();
m_write_firq.resolve_safe();
m_read_floating_bus.resolve_safe(0);
diff --git a/src/mess/video/gime.h b/src/mess/video/gime.h
index 2ef3313b6ad..e1fc02a07b8 100644
--- a/src/mess/video/gime.h
+++ b/src/mess/video/gime.h
@@ -21,11 +21,9 @@
// GIME CONFIG/INTERFACE
//**************************************************************************
-#define MCFG_GIME_HSYNC_CALLBACK(_write) \
- devcb = &gime_base_device::set_hsync_wr_callback(*device, DEVCB2_##_write);
+#define MCFG_GIME_HSYNC_CALLBACK MCFG_MC6847_HSYNC_CALLBACK
-#define MCFG_GIME_FSYNC_CALLBACK(_write) \
- devcb = &gime_base_device::set_fsync_wr_callback(*device, DEVCB2_##_write);
+#define MCFG_GIME_FSYNC_CALLBACK MCFG_MC6847_FSYNC_CALLBACK
#define MCFG_GIME_IRQ_CALLBACK(_write) \
devcb = &gime_base_device::set_irq_wr_callback(*device, DEVCB2_##_write);
@@ -56,8 +54,6 @@ class cococart_slot_device;
class gime_base_device : public mc6847_friend_device, public sam6883_friend_device
{
public:
- template<class _Object> static devcb2_base &set_hsync_wr_callback(device_t &device, _Object object) { return downcast<gime_base_device &>(device).m_write_hsync.set_callback(object); }
- template<class _Object> static devcb2_base &set_fsync_wr_callback(device_t &device, _Object object) { return downcast<gime_base_device &>(device).m_write_fsync.set_callback(object); }
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<gime_base_device &>(device).m_write_irq.set_callback(object); }
template<class _Object> static devcb2_base &set_firq_wr_callback(device_t &device, _Object object) { return downcast<gime_base_device &>(device).m_write_firq.set_callback(object); }
template<class _Object> static devcb2_base &set_floating_bus_rd_callback(device_t &device, _Object object) { return downcast<gime_base_device &>(device).m_read_floating_bus.set_callback(object); }
@@ -162,8 +158,6 @@ private:
static const UINT8 hires_font[128][12];
// callbacks
- devcb2_write_line m_write_hsync;
- devcb2_write_line m_write_fsync;
devcb2_write_line m_write_irq;
devcb2_write_line m_write_firq;
devcb2_read8 m_read_floating_bus;