summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess
diff options
context:
space:
mode:
author Wilbert Pol <wilbertpol@users.noreply.github.com>2015-09-21 22:58:39 +0200
committer Wilbert Pol <wilbertpol@users.noreply.github.com>2015-09-21 22:58:39 +0200
commitcd7ed78f98e43f687748e3e38594aa8738d4690a (patch)
tree169a610dfbcee86140cc62b1e959d022a9010a7a /src/mess
parentbfb9dd7b34feb95e7c4a8716f94376502b3c5cad (diff)
v9938.c: Fix MT#05622 and MT#05623
Diffstat (limited to 'src/mess')
-rw-r--r--src/mess/drivers/geneve.c2
-rw-r--r--src/mess/drivers/msx.c34
-rw-r--r--src/mess/drivers/ti99_4p.c6
-rw-r--r--src/mess/drivers/ti99_4x.c7
-rw-r--r--src/mess/includes/msx.h2
-rw-r--r--src/mess/machine/msx.c10
6 files changed, 4 insertions, 57 deletions
diff --git a/src/mess/drivers/geneve.c b/src/mess/drivers/geneve.c
index af87a338470..c366b70b2e7 100644
--- a/src/mess/drivers/geneve.c
+++ b/src/mess/drivers/geneve.c
@@ -619,8 +619,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(geneve_state::geneve_hblank_interrupt)
{
int scanline = param;
- machine().device<v9938_device>(VDP_TAG)->interrupt();
-
if (scanline == 0) // was 262
{
// TODO
diff --git a/src/mess/drivers/msx.c b/src/mess/drivers/msx.c
index d6d03b292d3..3dfd67a935a 100644
--- a/src/mess/drivers/msx.c
+++ b/src/mess/drivers/msx.c
@@ -1479,19 +1479,11 @@ static MACHINE_CONFIG_DERIVED( msx_tms9929, msx )
MACHINE_CONFIG_END
-#define MSX2_XBORDER_PIXELS 16
-#define MSX2_YBORDER_PIXELS 28
-#define MSX2_TOTAL_XRES_PIXELS 256 * 2 + (MSX2_XBORDER_PIXELS * 2)
-#define MSX2_TOTAL_YRES_PIXELS 212 * 2 + (MSX2_YBORDER_PIXELS * 2)
-#define MSX2_VISIBLE_XBORDER_PIXELS 8 * 2
-#define MSX2_VISIBLE_YBORDER_PIXELS 14 * 2
-
static MACHINE_CONFIG_START( msx2, msx_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL_21_4772MHz/6) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(msx_memory_map)
MCFG_CPU_IO_MAP(msx2_io_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", msx_state, msx2_interrupt, "screen", 0, 2)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
@@ -1502,15 +1494,7 @@ static MACHINE_CONFIG_START( msx2, msx_state )
/* video hardware */
MCFG_V9938_ADD("v9938", "screen", 0x20000, XTAL_21_4772MHz)
MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(msx_state,msx_irq_source0))
-
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DEVICE("v9938", v9938_device, screen_update)
- MCFG_SCREEN_SIZE(MSX2_TOTAL_XRES_PIXELS, 262*2)
- MCFG_SCREEN_VISIBLE_AREA(MSX2_XBORDER_PIXELS - MSX2_VISIBLE_XBORDER_PIXELS, MSX2_TOTAL_XRES_PIXELS - MSX2_XBORDER_PIXELS + MSX2_VISIBLE_XBORDER_PIXELS - 1, MSX2_YBORDER_PIXELS - MSX2_VISIBLE_YBORDER_PIXELS, MSX2_TOTAL_YRES_PIXELS - MSX2_YBORDER_PIXELS + MSX2_VISIBLE_YBORDER_PIXELS - 1)
- MCFG_SCREEN_PALETTE("v9938:palette")
+ MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9938", XTAL_21_4772MHz)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1556,7 +1540,6 @@ static MACHINE_CONFIG_START( msx2p, msx_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_21_4772MHz/6) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(msx_memory_map)
MCFG_CPU_IO_MAP(msx2p_io_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", msx_state, msx2p_interrupt, "screen", 0, 2)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
@@ -1567,15 +1550,7 @@ static MACHINE_CONFIG_START( msx2p, msx_state )
/* video hardware */
MCFG_V9958_ADD("v9958", "screen", 0x20000, XTAL_21_4772MHz)
MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(msx_state,msx_irq_source0))
-
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DEVICE("v9958", v9958_device, screen_update)
- MCFG_SCREEN_SIZE(MSX2_TOTAL_XRES_PIXELS, 262*2)
- MCFG_SCREEN_VISIBLE_AREA(MSX2_XBORDER_PIXELS - MSX2_VISIBLE_XBORDER_PIXELS, MSX2_TOTAL_XRES_PIXELS - MSX2_XBORDER_PIXELS + MSX2_VISIBLE_XBORDER_PIXELS - 1, MSX2_YBORDER_PIXELS - MSX2_VISIBLE_YBORDER_PIXELS, MSX2_TOTAL_YRES_PIXELS - MSX2_YBORDER_PIXELS + MSX2_VISIBLE_YBORDER_PIXELS - 1)
- MCFG_SCREEN_PALETTE("v9958:palette")
+ MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9958", XTAL_21_4772MHz)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1617,9 +1592,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( msx2_pal, msx2 )
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_SIZE(MSX2_TOTAL_XRES_PIXELS, 313*2)
- MCFG_SCREEN_REFRESH_RATE(50)
+ MCFG_DEVICE_REMOVE("screen")
+ MCFG_V99X8_SCREEN_ADD_PAL("screen", "v9938", XTAL_21_4772MHz)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/ti99_4p.c b/src/mess/drivers/ti99_4p.c
index 0f1e1e9e4c7..7122ab40a05 100644
--- a/src/mess/drivers/ti99_4p.c
+++ b/src/mess/drivers/ti99_4p.c
@@ -101,7 +101,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(alphaW);
virtual void machine_start();
DECLARE_MACHINE_RESET(ti99_4p);
- TIMER_DEVICE_CALLBACK_MEMBER(sgcpu_hblank_interrupt);
DECLARE_WRITE_LINE_MEMBER(set_tms9901_INT2_from_v9938);
@@ -850,10 +849,6 @@ MACHINE_RESET_MEMBER(ti99_4p_state,ti99_4p)
m_9901_int = 0x03; // INT2* and INT1* set to 1, i.e. inactive
}
-TIMER_DEVICE_CALLBACK_MEMBER(ti99_4p_state::sgcpu_hblank_interrupt)
-{
- machine().device<v9938_device>(VDP_TAG)->interrupt();
-}
/*
Machine description.
@@ -873,7 +868,6 @@ static MACHINE_CONFIG_START( ti99_4p_60hz, ti99_4p_state )
// painted. Accordingly, the full set of lines is refreshed at 30 Hz,
// not 60 Hz. This should be fixed in the v9938 emulation.
MCFG_TI_V9938_ADD(VIDEO_SYSTEM_TAG, 30, SCREEN_TAG, 2500, 512+32, (212+28)*2, ti99_4p_state, set_tms9901_INT2_from_v9938)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", ti99_4p_state, sgcpu_hblank_interrupt, SCREEN_TAG, 0, 1)
// tms9901
MCFG_DEVICE_ADD(TMS9901_TAG, TMS9901, 3000000)
diff --git a/src/mess/drivers/ti99_4x.c b/src/mess/drivers/ti99_4x.c
index 8980453a0fd..a90dc92aaf2 100644
--- a/src/mess/drivers/ti99_4x.c
+++ b/src/mess/drivers/ti99_4x.c
@@ -122,7 +122,6 @@ public:
// Interrupt triggers
DECLARE_INPUT_CHANGED_MEMBER( load_interrupt );
- TIMER_DEVICE_CALLBACK_MEMBER(ti99_4ev_hblank_interrupt);
private:
void set_keyboard_column(int number, int data);
@@ -1044,11 +1043,6 @@ MACHINE_CONFIG_END
replacing the console video processor.
*************************************************************************/
-TIMER_DEVICE_CALLBACK_MEMBER(ti99_4x_state::ti99_4ev_hblank_interrupt)
-{
- machine().device<v9938_device>(VDP_TAG)->interrupt();
-}
-
static MACHINE_CONFIG_START( ti99_4ev_60hz, ti99_4x_state )
/* CPU */
MCFG_TMS99xx_ADD("maincpu", TMS9900, 3000000, memmap, cru_map)
@@ -1066,7 +1060,6 @@ static MACHINE_CONFIG_START( ti99_4ev_60hz, ti99_4x_state )
// painted. Accordingly, the full set of lines is refreshed at 30 Hz,
// not 60 Hz. This should be fixed in the v9938 emulation.
MCFG_TI_V9938_ADD(VIDEO_SYSTEM_TAG, 30, SCREEN_TAG, 2500, 512+32, (212+28)*2, ti99_4x_state, video_interrupt_in)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", ti99_4x_state, ti99_4ev_hblank_interrupt, SCREEN_TAG, 0, 1)
/* Main board */
MCFG_DEVICE_ADD(TMS9901_TAG, TMS9901, 3000000)
diff --git a/src/mess/includes/msx.h b/src/mess/includes/msx.h
index 0d7b3930508..d849693ec14 100644
--- a/src/mess/includes/msx.h
+++ b/src/mess/includes/msx.h
@@ -200,8 +200,6 @@ public:
DECLARE_WRITE8_MEMBER(msx_psg_port_a_w);
DECLARE_WRITE8_MEMBER(msx_psg_port_b_w);
INTERRUPT_GEN_MEMBER(msx_interrupt);
- TIMER_DEVICE_CALLBACK_MEMBER(msx2_interrupt);
- TIMER_DEVICE_CALLBACK_MEMBER(msx2p_interrupt);
DECLARE_WRITE8_MEMBER(msx_ay8910_w);
void msx_memory_init();
void post_load();
diff --git a/src/mess/machine/msx.c b/src/mess/machine/msx.c
index 75488dad92a..92add704ebe 100644
--- a/src/mess/machine/msx.c
+++ b/src/mess/machine/msx.c
@@ -212,16 +212,6 @@ void msx_state::post_load()
}
}
-TIMER_DEVICE_CALLBACK_MEMBER(msx_state::msx2_interrupt)
-{
- m_v9938->interrupt();
-}
-
-TIMER_DEVICE_CALLBACK_MEMBER(msx_state::msx2p_interrupt)
-{
- m_v9958->interrupt();
-}
-
INTERRUPT_GEN_MEMBER(msx_state::msx_interrupt)
{
m_mouse[0] = m_io_mouse0->read();