From 62d158142597ec5fdde8beba96bace058291bd1a Mon Sep 17 00:00:00 2001 From: angelosa Date: Sun, 7 Jan 2018 21:06:34 +0100 Subject: stvvdp1.cpp: fixed mode 2 transparent pen sprites for Scud: the Disposable Assassin [Angelo Salese] --- src/devices/video/stvvdp1.cpp | 13 +++++++++++++ src/devices/video/stvvdp2.cpp | 18 +++++++++++++----- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/devices/video/stvvdp1.cpp b/src/devices/video/stvvdp1.cpp index 51461e12a3b..299281f55a2 100644 --- a/src/devices/video/stvvdp1.cpp +++ b/src/devices/video/stvvdp1.cpp @@ -966,6 +966,19 @@ void saturn_state::drawpixel_generic(int x, int y, int patterndata, int offsetcn //mode = 2; pix = pix+(stv2_current_sprite.CMDCOLR&0xffc0); transmask = 0x3f; + + // Scud: the disposable assassin wants transparent pen on 0 + if ( !spd ) + { + if ( (pix & 0x3f) == 0 ) + { + return; + } + else + { + spd = 1; + } + } break; case 0x0018: // mode 3 128 colour bank mode (8bits) (little characters on hanagumi use this mode) pix = m_vdp1.gfx_decode[(patterndata+offsetcnt) & 0xfffff]; diff --git a/src/devices/video/stvvdp2.cpp b/src/devices/video/stvvdp2.cpp index e5fbfee835a..fea188fffc5 100644 --- a/src/devices/video/stvvdp2.cpp +++ b/src/devices/video/stvvdp2.cpp @@ -34,7 +34,7 @@ Video emulation TODO: \-complete windows effects \-mosaic effect \-ODD bit/H/V Counter not yet emulated properly - \-Reduction enable bits + \-Reduction enable bits (zooming limiters) \-Check if there are any remaining video registers that are yet to be macroized & added to the rumble. -batmanfr: \-If you reset the game after the character selection screen,when you get again to it there's garbage @@ -44,10 +44,10 @@ Video emulation TODO: -hanagumi: \-ending screens have corrupt graphics. (*untested*) -kiwames: - \-incorrect color emulation for the alpha blended flames on the title screen,it's caused by a schizoid + \-(fixed) incorrect color emulation for the alpha blended flames on the title screen,it's caused by a schizoid linescroll emulation quirk. \-the VDP1 sprites refresh is too slow,causing the "Draw by request" mode to - flicker.Moved back to default ATM. + flicker. Moved back to default ATM. -pblbeach: \-Sprites are offset, because it doesn't clear vdp1 local coordinates set by bios, I guess that they are cleared when some vdp1 register is written (kludged for now) @@ -55,8 +55,16 @@ Video emulation TODO: \-Attract mode presentation has corrupted graphics in various places,probably caused by incomplete framebuffer data delete. -seabass: - \-Player sprite is corrupt/missing during movements,caused by incomplete framebuffer switching. - + \-(fixed) Player sprite is corrupt/missing during movements,caused by incomplete framebuffer switching. +-shienryu: + \-level 2 background colors on statues, caused by special color calculation usage (per dot); +(Saturn games) +- scud the disposable assassin: + \- when zooming on melee attack background gets pink, color calculation issue? +- virtual hydlide: + \- transparent pens usage on most vdp1 items should be black instead. + \- likewise "press start button" is the other way around, i.e. black pen where it should be transparent instead. + Notes of Interest & Unclear features: -the test mode / bios is drawn with layer NBG3; -- cgit v1.2.3