summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-04-08 00:07:25 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-04-08 00:07:25 -0400
commit6a28cbd39e167dad617b01030828e4573f17761f (patch)
tree2a8174f9450eb0e879d9d38a0d39821c761130c3
parent3c5fe35bb7f2f12f839be385cf10e61cc2d903de (diff)
decocass.cpp: Correct missile colors for Highway Chase and Astro Fantasia
-rw-r--r--src/mame/drivers/decocass.cpp4
-rw-r--r--src/mame/video/decocass.cpp35
2 files changed, 23 insertions, 16 deletions
diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp
index 4bc706db9c2..0f26d36167f 100644
--- a/src/mame/drivers/decocass.cpp
+++ b/src/mame/drivers/decocass.cpp
@@ -29,8 +29,8 @@
Later boardset: (1984 onward, schematic is dated October 1983)
One DE-0097C-0 RMS-8 pcb with a 6502 processor, two ay-3-8910s, two eproms (2716 and 2732) plus one prom, and 48k worth of 4116 16kx1 DRAMs; the 6502 processor has its own 4K of SRAM. (audio processor and RAM, Main processor's dram, dipswitches)
- One DE-0096C-0 DSP-8 board with a 'DECO 222' custom on it (labeled '8049 // C10707-2') which appears to really be a 'cleverly' disguised 6502, and two proms, plus 4K of sram, and three hm2511-1 1kx1 srams. (main processor and graphics)
- One DE-0098C-0 B10-8 (BIO-8 on schematics) board with an 8041, an analog devices ADC0908 8-bit adc, and 4K of SRAM on it. (DECO Cassette control, inputs)
+ One DE-0096C-0 DSP-8 board with a 'DECO 222' custom on it (labeled '8049 // C10707-2') which appears to really be a 'cleverly' disguised 6502, and two proms, plus 4K of sram, and three hm2511-1 1kx1 srams. (main processor, sprites, missiles, palette)
+ One DE-0098C-0 B10-8 (BIO-8 on schematics) board with an 8041, an analog devices ADC0908 8-bit adc, and 4K of SRAM on it. (DECO Cassette control, inputs, tilemaps, headlights)
One DE-0109C-0 card rack board that the other three boards plug into. (fourth connector for DE-109C-0 is shorter than in earlier versions)
The actual cassettes use a custom player hooked to the BIO board, and are roughly microcassette form factor, but are larger and will not fit in a conventional microcassette player.
diff --git a/src/mame/video/decocass.cpp b/src/mame/video/decocass.cpp
index a9901a93f6d..72c3684bb56 100644
--- a/src/mame/video/decocass.cpp
+++ b/src/mame/video/decocass.cpp
@@ -11,8 +11,10 @@
with semi-independent scrolling, and the ability to transition
between scrolling different sections.
- Additionally it supports the headlight effect also needed for
- a Highway Chase style game.
+ Additionally it supports the headlight and tunnel effects also
+ needed for a Highway Chase style game. These both produce a pen
+ modification effect which is not emulated properly now. The lack
+ of tunnel .
---
@@ -32,18 +34,15 @@
- different game revision to emulated version, main
boss enemy shown at the top of the scoreboard differs
so notes below could be invalid
-
- - bullets should be white, not black
- - BG layer changes to orange colours for first level
- (this would require a palette bitplane re-order we
- don't currently support)
+ - bullets should be white, not black (OK)
+ - BG layer changes to orange colours for first level, but
+ reverts to red when player explodes
mamedev.emulab.it/haze/reference/sm18975592-HWY_CHASE.mp4
- road / bg colour should be darkish blue outside of tunnels
- road / bg colour should be black in tunnels
- headlight should be the same darkish blue as the road
at all times, so only visible in tunnels
- - our headlight is misplaced (should be simple fix)
- center line of road does not exist on hw!
- enemies are hidden in tunnels (like madalien)
- road / bg flashs regular blue when enemy is hit revealing
@@ -53,7 +52,7 @@
- colours of BG tilemap are glitchy even on hardware eg.
Pink desert after first tunnel, Green water after 2nd
tunnel even when the right palettes exist!
- - enemy bullets are red
+ - player bullets are yellow, enemy bullets are red (OK)
mamedev.emulab.it/haze/reference/sm17433759-PRO_BOWLING.mp4
- no notes
@@ -81,8 +80,7 @@
blue, they appear green in our emulation
mamedev.emulab.it/haze/reference/sm17202201-SKATER.mp4
- - shadow handling (headlight sprite) positioning is wrong, the
- game also turns on the 'cross' bit, why?
+ - the game turns on the 'cross' bit, why?
mamedev.emulab.it/haze/reference/sm17201813-ZEROIZE.mp4
- no notes
@@ -558,7 +556,7 @@ void decocass_state::draw_missiles(bitmap_ind16 &bitmap, const rectangle &clipre
for (x = 0; x < 4; x++)
{
if (sx >= cliprect.min_x && sx <= cliprect.max_x)
- bitmap.pix16(sy, sx) = (m_color_missiles >> 4) & 7;
+ bitmap.pix16(sy, sx) = (m_color_missiles & 7) | 8;
sx++;
}
@@ -574,7 +572,7 @@ void decocass_state::draw_missiles(bitmap_ind16 &bitmap, const rectangle &clipre
for (x = 0; x < 4; x++)
{
if (sx >= cliprect.min_x && sx <= cliprect.max_x)
- bitmap.pix16(sy, sx) = m_color_missiles & 7;
+ bitmap.pix16(sy, sx) = ((m_color_missiles >> 4) & 7) | 8;
sx++;
}
}
@@ -741,8 +739,17 @@ uint32_t decocass_state::screen_update_decocass(screen_device &screen, bitmap_in
draw_edge(bitmap,cliprect,1,false);
}
}
- m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+
+ // LS148 @ 2B (DSP-8 board) sets pen priority
+
+ // priority 1: sprites
draw_sprites(bitmap, cliprect, (m_color_center_bot >> 1) & 1, 0, 0, m_fgvideoram, 0x20);
+
+ // priority 2 & 3: missiles
draw_missiles(bitmap, cliprect, 1, 0, m_colorram, 0x20);
+
+ // priority 4: foreground
+ m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+
return 0;
}