mirror of
https://github.com/holub/mame
synced 2025-04-23 17:00:53 +03:00
Fix 01500: all astrocde.c drivers: assertion
Fix 01506: all ataxx.c drivers: Assertion Fix 01504: all leland.c drivers: Assertion Fix 01501: all m107.c drivers: assertion Fix 01509: backfire, backfira: Assertion Fix 01503: sidearjp, sidearmr, sidearms: Assertion Fix 01507: all naomi.c drivers: Assertion
This commit is contained in:
parent
716d0a4f2a
commit
0d06d94153
@ -500,14 +500,14 @@ static MACHINE_DRIVER_START( backfire )
|
||||
MDRV_SCREEN_ADD("left", RASTER)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
MDRV_SCREEN_SIZE(40*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
|
||||
|
||||
MDRV_SCREEN_ADD("right", RASTER)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
MDRV_SCREEN_SIZE(40*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
|
||||
|
||||
|
@ -495,7 +495,7 @@ static MACHINE_DRIVER_START( firebarr )
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(512, 256)
|
||||
MDRV_SCREEN_VISIBLE_AREA(80, 511-112, 8, 247) /* 320 x 240 */
|
||||
|
@ -788,7 +788,7 @@ static MACHINE_DRIVER_START( naomi )
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
MDRV_SCREEN_SIZE(640, 480)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
|
||||
|
@ -729,7 +729,7 @@ static MACHINE_DRIVER_START( sidearms )
|
||||
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(64*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
||||
@ -775,7 +775,7 @@ static MACHINE_DRIVER_START( turtship )
|
||||
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(64*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
||||
|
@ -468,7 +468,8 @@ static TIMER_CALLBACK( scanline_callback )
|
||||
int astrocade_scanline = mame_vpos_to_astrocade_vpos(scanline);
|
||||
|
||||
/* force an update against the current scanline */
|
||||
video_screen_update_partial(machine->primary_screen, scanline - 1);
|
||||
if (scanline > 0)
|
||||
video_screen_update_partial(machine->primary_screen, scanline - 1);
|
||||
|
||||
/* generate a scanline interrupt if it's time */
|
||||
if (astrocade_scanline == interrupt_scanline && (interrupt_enable & 0x08) != 0)
|
||||
|
@ -82,26 +82,26 @@ static VIDEO_START( ataxx )
|
||||
|
||||
WRITE8_HANDLER( leland_scroll_w )
|
||||
{
|
||||
int scanline = video_screen_get_vpos(machine->primary_screen);
|
||||
if (scanline > 0)
|
||||
video_screen_update_partial(machine->primary_screen, scanline - 1);
|
||||
|
||||
/* adjust the proper scroll value */
|
||||
switch (offset)
|
||||
{
|
||||
case 0:
|
||||
video_screen_update_partial(machine->primary_screen, video_screen_get_vpos(machine->primary_screen) - 1);
|
||||
xscroll = (xscroll & 0xff00) | (data & 0x00ff);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
video_screen_update_partial(machine->primary_screen, video_screen_get_vpos(machine->primary_screen) - 1);
|
||||
xscroll = (xscroll & 0x00ff) | ((data << 8) & 0xff00);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
video_screen_update_partial(machine->primary_screen, video_screen_get_vpos(machine->primary_screen) - 1);
|
||||
yscroll = (yscroll & 0xff00) | (data & 0x00ff);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
video_screen_update_partial(machine->primary_screen, video_screen_get_vpos(machine->primary_screen) - 1);
|
||||
yscroll = (yscroll & 0x00ff) | ((data << 8) & 0xff00);
|
||||
break;
|
||||
|
||||
@ -200,7 +200,9 @@ static void leland_vram_port_w(int offset, int data, int num)
|
||||
|
||||
/* don't fully understand why this is needed. Isn't the
|
||||
video RAM just one big RAM? */
|
||||
video_screen_update_partial(Machine->primary_screen, video_screen_get_vpos(Machine->primary_screen) - 1);
|
||||
int scanline = video_screen_get_vpos(Machine->primary_screen);
|
||||
if (scanline > 0)
|
||||
video_screen_update_partial(Machine->primary_screen, scanline - 1);
|
||||
|
||||
if (LOG_COMM && addr >= 0xf000)
|
||||
logerror("%04X:%s comm write %04X = %02X\n", activecpu_get_previouspc(), num ? "slave" : "master", addr, data);
|
||||
|
Loading…
Reference in New Issue
Block a user