Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
04856 Graphics Minor Always May 23, 2012, 00:47 Dec 3, 2018, 08:56
Tester M.A.S.H. View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Open OS Windows XP
Status [?] Confirmed Driver
Version 0.146 Fixed in Version Build Normal
Fixed in Git Commit Github Pull Request #
Summary 04856: pc_sjetm: Corrupt start screen
Description Since MAME 0.108u1 (!) there is one corrupt screen right after insert coin in Solar Jetman.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version 0.108u1
Affected Sets / Systems pc_sjetm
Attached Files
gif file icon pc_sjetm.gif (16,450 bytes) May 23, 2012, 00:47 Uploaded by M.A.S.H.
M.A.S.H.
Relationships
related to 06130Confirmed  pc_sjetm: Graphics issue on Solar Jetman (Play Choice 10) 
Notes
1
User avatar
No.15865
M.A.S.H.
Senior Tester
Dec 3, 2018, 08:56
MAME 0.204

src\devices\video\ppu2c0x.cpp line 787:

// The sprite collision acts funny on the last pixel of a scanline.
// The various scanline latches update while the last few pixels
// are being drawn. Since we don't do cycle-by-cycle PPU emulation,
// we fudge it a bit here so that sprite 0 collisions are detected
// when, e.g., sprite x is 254, sprite y is 29 and we're rendering
// at the end of scanline 28.
// Battletoads needs this level of precision to be playable.
if ((sprite_index == 0) && (sprite_xpos == 254))
{
sprite_ypos--;
/* set the "sprite 0 hit" flag if appropriate */
if (line_priority[sprite_xpos] & 0x02)
m_regs[PPU_STATUS] |= PPU_STATUS_SPRITE0_HIT;
}

This extra collision hack for the NES game Battletoads (MESS) breaks Solar Jetman.
It was added in MAME 0.108u1 == Regression Version