Previous 199869 Revisions Next

r36376 Wednesday 11th March, 2015 at 16:00:55 UTC by David Haywood
looking at 'Super WIng' (pinball game) based on a crash report at MARP.

there is an unused ROM, I think it contains a 2nd stage layout for the game, and appears to be banked in after you finish a bonus round, however, even hooking it up as a banked rom the game crashes, and the data in the ROM looks suspicious (there are flipped bits at fairly regular offsets even in 0xff fill areas)  It could be the bank hookup is wrong, but the data concerns me enough to mark the rom as BAD_DUMP.  We need another PCB to dump the Colour PROM anyway, although we've only seen it once.
[src/mame/drivers]superwng.c

trunk/src/mame/drivers/superwng.c
r244887r244888
99
1010TODO:
1111- unused rom 6.8s (located on the pcb near the gfx rom 7.8p, but contains
12  data (similar to the one in roms 4.5p and 5.5r).
13  There are two possibilities: its bad dump of gfx rom (two extra bit layers
14  of current gfx) or it's banked at 0x4000 - 0x7fff area.
12  data (similar to the one in roms 4.5p and 5.5r)
13 
14  The game currently crashes after the bonus round rather than moving on to
15  the next level, it writes 01 to 0xa187 which is probably ROM bank, however
16  banking the ROM in there results in the game crashing anyway, and looking
17  at the data I wonder if it is corrupt, there are odd patterns in FF fill
18  areas.
19
20  (to access the bonus round take out the targets on the middle-left then hit
21   the ball into one of the portals at the top left)
22
23
1524- dump color prom
1625- some unknown DSW and inputs
1726- hopper
r244887r244888
7180   DECLARE_WRITE8_MEMBER(superwng_cointcnt2_w);
7281   DECLARE_WRITE8_MEMBER(superwng_hopper_w);
7382   DECLARE_READ8_MEMBER(superwng_sound_byte_r);
83   DECLARE_WRITE8_MEMBER(superwng_unk_a187_w);
84   DECLARE_WRITE8_MEMBER(superwng_unk_a185_w);
85
7486   TILE_GET_INFO_MEMBER(get_bg_tile_info);
7587   TILE_GET_INFO_MEMBER(get_fg_tile_info);
7688   virtual void machine_start();
r244887r244888
8294   INTERRUPT_GEN_MEMBER(superwng_sound_nmi_assert);
8395};
8496
97WRITE8_MEMBER(superwng_state::superwng_unk_a187_w)
98{
99   membank("bank1")->set_entry(data&1);
100}
101
102WRITE8_MEMBER(superwng_state::superwng_unk_a185_w)
103{
104//   printf("superwng_unk_a185_w %02x\n", data);
105}
106
85107TILE_GET_INFO_MEMBER(superwng_state::get_bg_tile_info)
86108{
87109   int code = m_videoram_bg[tile_index];
r244887r244888
291313}
292314
293315static ADDRESS_MAP_START( superwng_map, AS_PROGRAM, 8, superwng_state )
294   AM_RANGE(0x0000, 0x6fff) AM_ROM AM_WRITENOP
316   AM_RANGE(0x0000, 0x3fff) AM_ROM
317   AM_RANGE(0x4000, 0x6fff) AM_ROMBANK("bank1")
295318   AM_RANGE(0x7000, 0x7fff) AM_RAM
296319   AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(superwng_bg_vram_w) AM_SHARE("videorabg")
297320   AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(superwng_fg_vram_w) AM_SHARE("videorafg")
r244887r244888
309332   AM_RANGE(0xa182, 0xa182) AM_WRITE(superwng_tilebank_w)
310333   AM_RANGE(0xa183, 0xa183) AM_WRITE(superwng_flip_screen_w)
311334   AM_RANGE(0xa184, 0xa184) AM_WRITE(superwng_cointcnt1_w)
312   AM_RANGE(0xa185, 0xa185) AM_WRITENOP // unknown, always(?) 0
335   AM_RANGE(0xa185, 0xa185) AM_WRITE(superwng_unk_a185_w) // unknown, always(?) 0
313336   AM_RANGE(0xa186, 0xa186) AM_WRITE(superwng_cointcnt2_w)
314   AM_RANGE(0xa187, 0xa187) AM_WRITENOP // unknown, always(?) 0
337   AM_RANGE(0xa187, 0xa187) AM_WRITE(superwng_unk_a187_w) // unknown, always(?) 0
315338ADDRESS_MAP_END
316339
317340static ADDRESS_MAP_START( superwng_sound_map, AS_PROGRAM, 8, superwng_state )
r244887r244888
433456   save_item(NAME(m_tile_bank));
434457   save_item(NAME(m_sound_byte));
435458   save_item(NAME(m_nmi_enable));
459    membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base()+0x4000, 0x4000);
436460}
437461
438462void superwng_state::machine_reset()
r244887r244888
483507   ROM_LOAD( "3.5m",         0x2000, 0x2000, CRC(3b08bd19) SHA1(2020e2835df86a6a279bbf9d013a489f0e32a4bd) )
484508   ROM_LOAD( "4.5p",         0x4000, 0x2000, CRC(6a49746d) SHA1(f5cd5eb77f60972a3897243f9ee3d61aac0878fc) )
485509   ROM_LOAD( "5.5r",         0x6000, 0x2000, CRC(ebd23487) SHA1(16e8faf989aa80dbf9934450ec4ba642a6f88c63) )
510   ROM_LOAD( "6.8s",         0x4000, 0x4000, BAD_DUMP CRC(774433e0) SHA1(82b10d797581c14914bcce320f2aa5d3fb1fba33) ) // banked but probably bad..
486511
487   ROM_LOAD( "6.8s",        0x10000, 0x4000, CRC(774433e0) SHA1(82b10d797581c14914bcce320f2aa5d3fb1fba33) ) /* unknown */
488
489512   ROM_REGION( 0x10000, "audiocpu", 0 )
490513   ROM_LOAD( "1.1a",         0x0000, 0x2000, CRC(a70aa39e) SHA1(b03de65d7bd020eb77495997128dce5ccbdbefac) )
491514


Previous 199869 Revisions Next


© 1997-2024 The MAME Team