summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <salese_corp_ltd@email.it>2018-01-07 21:06:34 +0100
committer angelosa <salese_corp_ltd@email.it>2018-01-07 21:08:37 +0100
commit62d158142597ec5fdde8beba96bace058291bd1a (patch)
tree2b6fbc6d35dcddfe47c5236e7c352b7e6a9993b8
parent52af9962608122f524183b6f20b09c3e9669c21d (diff)
stvvdp1.cpp: fixed mode 2 transparent pen sprites for Scud: the Disposable Assassin [Angelo Salese]
-rw-r--r--src/devices/video/stvvdp1.cpp13
-rw-r--r--src/devices/video/stvvdp2.cpp18
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;