video/neogeo.c: Call optimize_sprite_data() at VIDEO_RESET (for the convenience of Neo Geo CD) [Barry Rodewald]

From	Barry Rodewald <bsr@xnet.co.nz>
To	submit@mamedev.org
Date	Wed, Sep 29, 2010 at 6:30 AM
Subject	A couple of fixes...

Hi,

Here are a couple more small fixes, one is an i386 fix, the other for Neo Geo.

The first one is a fix for unaligned word and doubleword I/O reading and writing.  It makes 16 and 32-bit I/O accesses become effectively a set of 8-bit accesses, preventing accesses from being re-aligned to an incorrect I/O port.  This fixes issues in the FM-Towns where programs would set the palette by using MOV DX,FD92; OUT DX,EAX; (or similar) which would cause it to write to I/O ports 0xfd90-93, instead of 0xfd92-95 as it should.

The second is not so much of a fix, but as a convenience for the Neo Geo CD, by calling optimize_sprite_data() at VIDEO_RESET(), which will re-convert sprite data after it has been copied into RAM.  Otherwise, sprites will always be wrong.

Thanks,
Barry Rodewald
mailto:bsr@xnet.co.nz
This commit is contained in:
Phil Bennett 2010-10-12 19:15:56 +00:00
parent d1bcf2c6b5
commit 41d365a71f

View File

@ -909,6 +909,7 @@ VIDEO_RESET( neogeo )
{ {
start_sprite_line_timer(machine); start_sprite_line_timer(machine);
start_auto_animation_timer(machine); start_auto_animation_timer(machine);
optimize_sprite_data(machine);
} }