diff options
author | 2015-09-21 22:58:39 +0200 | |
---|---|---|
committer | 2015-09-21 22:58:39 +0200 | |
commit | cd7ed78f98e43f687748e3e38594aa8738d4690a (patch) | |
tree | 169a610dfbcee86140cc62b1e959d022a9010a7a /src/mess/drivers | |
parent | bfb9dd7b34feb95e7c4a8716f94376502b3c5cad (diff) |
v9938.c: Fix MT#05622 and MT#05623
Diffstat (limited to 'src/mess/drivers')
-rw-r--r-- | src/mess/drivers/geneve.c | 2 | ||||
-rw-r--r-- | src/mess/drivers/msx.c | 34 | ||||
-rw-r--r-- | src/mess/drivers/ti99_4p.c | 6 | ||||
-rw-r--r-- | src/mess/drivers/ti99_4x.c | 7 |
4 files changed, 4 insertions, 45 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) |