Previous 199869 Revisions Next

r19830 Wednesday 26th December, 2012 at 12:45:47 UTC by David Haywood
decocass: some working notes, comparisons with reference videos.  Note: the Astro Fantasia and Graplop videos we have are for different (undumped) revisions of the game, I suspect there are many and that Data East used this system as a cheap way to prototype games.
[src/mame/drivers]decocass.c
[src/mame/includes]decocass.h
[src/mame/video]decocass.c

trunk/src/mame/drivers/decocass.c
r19829r19830
4848
4949/***************************************************************************
5050 *
51 *  write decrypted opcodes
51 *  swizzled mirror handlers
5252 *
5353 ***************************************************************************/
5454
55WRITE8_MEMBER(decocass_state::mirrorvideoram_w) { offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5); decocass_fgvideoram_w(space, offset, data, mem_mask); }
56WRITE8_MEMBER(decocass_state::mirrorcolorram_w) { offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5); decocass_colorram_w(space, offset, data, mem_mask); }
5557
56WRITE8_MEMBER(decocass_state::charram_w)
57{
58   decocass_charram_w(space, offset, data);
59}
60
61WRITE8_MEMBER(decocass_state::fgvideoram_w)
62{
63   decocass_fgvideoram_w(space, offset, data);
64}
65
66WRITE8_MEMBER(decocass_state::fgcolorram_w)
67{
68   decocass_colorram_w(space, offset, data);
69}
70
71WRITE8_MEMBER(decocass_state::tileram_w)
72{
73   decocass_tileram_w(space, offset, data);
74}
75
76WRITE8_MEMBER(decocass_state::objectram_w)
77{
78   decocass_objectram_w(space, offset, data);
79}
80
81WRITE8_MEMBER(decocass_state::mirrorvideoram_w) { offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5); fgvideoram_w(space, offset, data, mem_mask); }
82WRITE8_MEMBER(decocass_state::mirrorcolorram_w) { offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5); fgcolorram_w(space, offset, data, mem_mask); }
83
8458READ8_MEMBER(decocass_state::mirrorvideoram_r)
8559{
8660   offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5);
r19829r19830
9670
9771static ADDRESS_MAP_START( decocass_map, AS_PROGRAM, 8, decocass_state )
9872   AM_RANGE(0x0000, 0x5fff) AM_RAM AM_SHARE("rambase")
99   AM_RANGE(0x6000, 0xbfff) AM_RAM_WRITE(charram_w) AM_SHARE("charram") /* still RMS3 RAM */
100   AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")  /* DSP3 RAM */
101   AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(fgcolorram_w) AM_SHARE("colorram")
73   AM_RANGE(0x6000, 0xbfff) AM_RAM_WRITE(decocass_charram_w) AM_SHARE("charram") /* still RMS3 RAM */
74   AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(decocass_fgvideoram_w) AM_SHARE("fgvideoram")  /* DSP3 RAM */
75   AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(decocass_colorram_w) AM_SHARE("colorram")
10276   AM_RANGE(0xc800, 0xcbff) AM_READWRITE(mirrorvideoram_r, mirrorvideoram_w)
10377   AM_RANGE(0xcc00, 0xcfff) AM_READWRITE(mirrorcolorram_r, mirrorcolorram_w)
104   AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(tileram_w) AM_SHARE("tileram")
105   AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(objectram_w) AM_SHARE("objectram")
78   AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(decocass_tileram_w) AM_SHARE("tileram")
79   AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(decocass_objectram_w) AM_SHARE("objectram")
10680   AM_RANGE(0xe000, 0xe0ff) AM_RAM_WRITE(decocass_paletteram_w) AM_SHARE("paletteram")
10781   AM_RANGE(0xe300, 0xe300) AM_READ_PORT("DSW1") AM_WRITE(decocass_watchdog_count_w)
10882   AM_RANGE(0xe301, 0xe301) AM_READ_PORT("DSW2") AM_WRITE(decocass_watchdog_flip_w)
r19829r19830
16981672/* 27 */ GAME( 1982, cburnrub,  decocass, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette, set 1)", 0 )
16991673         GAME( 1982, cburnrub2, cburnrub, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette, set 2)", 0 )
17001674         GAME( 1982, cbnj,      cburnrub, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Bump 'n' Jump (DECO Cassette)", 0 )
1701/* 28 */ GAME( 1983, cgraplop,  decocass, cgraplop, cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Cluster Buster / Graplop (DECO Cassette, set 1)", 0 )
1702         GAME( 1983, cgraplop2, cgraplop, cgraplop2,cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Cluster Buster / Graplop (DECO Cassette, set 2)", GAME_NOT_WORKING )
1675/* 28 */ GAME( 1983, cgraplop,  decocass, cgraplop, cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Cluster Buster (DECO Cassette)", 0 )
1676         GAME( 1983, cgraplop2, cgraplop, cgraplop2,cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Graplop (no title screen) (DECO Cassette)", 0 ) // a version with title screen exists, see reference videos
17031677/* 29 */ GAME( 1983, clapapa,   decocass, clapapa,  decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Rootin' Tootin' / La-Pa-Pa (DECO Cassette)" , 0) /* Displays 'La-Pa-Pa during attract */
17041678         GAME( 1983, clapapa2,  clapapa,  clapapa,  decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Rootin' Tootin' (DECO Cassette)" , 0) /* Displays 'Rootin' Tootin' during attract */
17051679/* 30 */ GAME( 1983, cskater,   decocass, cskater,  cskater, decocass_state,  decocass, ROT270, "Data East Corporation", "Skater (DECO Cassette, Japan)", 0 )
trunk/src/mame/video/decocass.c
r19829r19830
1212   Additionally it supports the headlight effect also needed for
1313   a Highway Chase style game.
1414
15   ---
16
17   Notes with reference to video recordings.
18   These video recordings should be from real hardware because
19   they predate the emulation and include undumped games, so
20   unless they're from some other private / unreleased emulator
21   then they can't be anything else.
22
23   Mirrored from NicoVideo
24   -=====================-
25
26   mamedev.emulab.it/haze/reference/sm18976245-DISCO_NO1.mp4
27      - no notes
28
29   mamedev.emulab.it/haze/reference/sm18976058-ASTRO_FANTASIA.mp4
30      - different game revision to emulated version, main
31        boss enemy shown at the top of the scoreboard differs
32        so notes below could be invalid
33
34      - bullets should be white, not black
35      - BG layer changes to orange colours for first level
36        (this would require a palette bitplane re-order we
37         don't currently support)
38
39   mamedev.emulab.it/haze/reference/sm18975592-HWY_CHASE.mp4
40      - road / bg colour should be darkish blue outside of tunnels
41      - road / bg colour should be black in tunnels
42      - headlight should be the same darkish blue as the road
43        at all times, so only visible in tunnels
44      - our headlight is misplaced (should be simple fix)
45      - center line of road does not exist on hw!
46      - enemies are hidden in tunnels (like madalien)
47      - road / bg flashs regular blue when enemy is hit revealing
48        them
49      - some glitchy enemies visible even over tunnel bg for
50        some frames
51      - colours of BG tilemap are glitchy even on hardware eg.
52        Pink desert after first tunnel, Green water after 2nd
53        tunnel even when the right palettes exist!
54      - enemy bullets are red
55     
56   mamedev.emulab.it/haze/reference/sm17433759-PRO_BOWLING.mp4
57      - no notes
58
59   mamedev.emulab.it/haze/reference/sm17401258-GRAPLOP.mp4
60      - different game revision to emulated version, this
61        seems to be a more finished version of cgralop2, the
62        emulated version lacks a title screen (the parent
63        cgraplop has a cluster buster title, but that is
64        again different)
65
66
67   mamedev.emulab.it/haze/reference/sm17387280-BURNIN_RUBBER.mp4
68      - seems to be the cburnrub2 set, or close to it, plain
69        white title text
70
71   mamedev.emulab.it/haze/reference/sm17370209-NIGHT_STAR.mp4
72      - no notes
73
74   mamedev.emulab.it/haze/reference/sm17203184-HAMBURGER.mp4
75      - no notes
76
77   mamedev.emulab.it/haze/reference/sm17202585-SUPER_DOUBLE_TENNIS.mp4
78      - background colours during high-score / title ar shades of
79        blue, they appear green in our emulation
80
81   mamedev.emulab.it/haze/reference/sm17202201-SKATER.mp4
82      - shadow handling (headlight sprite) positioning is wrong, the
83        game also turns on the 'cross' bit, why?
84
85   mamedev.emulab.it/haze/reference/sm17201813-ZEROIZE.mp4
86      - no notes
87
88   mamedev.emulab.it/haze/reference/sm17183561-FISHING.mp4
89      - first title screen has no background, this is not a bug in
90        our emulation
91      - can show glitchy tiles when constructing the background,
92        this is not a bug in our emulation either
93
94   mamedev.emulab.it/haze/reference/sm17181931-MISSION_X.mp4
95      - no notes
96
97   mamedev.emulab.it/haze/reference/sm17180950-DSTELEJAN.mp4
98      - no notes
99
100   Mirrored from YouTube
101   -===================-
102
103   mamedev.emulab.it/haze/reference/manhattan01-04.webm
104   mamedev.emulab.it/haze/reference/manhattan05-08.webm
105   mamedev.emulab.it/haze/reference/manhattan09-12.webm
106      - the BG tilemap pen ordering changes between levels, most of
107        the arrangements aren't supported by our current code, and
108        I can't find the writes to change it!  Level 1 in the
109        video uses what we have as palette 1, not 0.
110        ToDo: list combinations
111
112   mamedev.emulab.it/haze/reference/flashboy.webm
113      - game is not emulated
114
115
116   ---
117
118   I'd quite like a reference video for the Cassette Pro Soccer,
119   the game appears ugly (center circle vanishing as soon as you do
120   a long ball etc.) but the ugly backwards scrolling after you kick
121   the ball still happens even on the standalone version, so I'm
122   wondering if it's just a glitchy game.
123
15124 ***********************************************************************/
16125
17126#include "emu.h"
r19829r19830
284393      (data & 0x04) ? " ptn1/2" : "",
285394      (data & 0x08) ? " bkg_ena" : "",
286395      (data & 0x10) ? " center_l_on" : "",
287      (data & 0x20) ? " cross_on" : "",
396      (data & 0x20) ? " cross_on" : "",  /* skater enables this, why? */
288397      (data & 0x40) ? " tunnel" : "",
289398      (data & 0x80) ? " part_h_enable" : ""));
290399
trunk/src/mame/includes/decocass.h
r19829r19830
219219
220220   void decocass_video_state_save_init();
221221
222   DECLARE_WRITE8_MEMBER(charram_w);
223   DECLARE_WRITE8_MEMBER(fgvideoram_w);
224   DECLARE_WRITE8_MEMBER(fgcolorram_w);
225   DECLARE_WRITE8_MEMBER(tileram_w);
226   DECLARE_WRITE8_MEMBER(objectram_w);
227222   DECLARE_WRITE8_MEMBER(mirrorvideoram_w);
228223   DECLARE_WRITE8_MEMBER(mirrorcolorram_w);
229224   DECLARE_READ8_MEMBER(mirrorvideoram_r);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team