Previous 199869 Revisions Next

r44387 Saturday 23rd January, 2016 at 20:38:40 UTC by Angelo Salese
psychic5.cpp: Fixed sprite disable for Bombs Away. [Angelo Salese]

(Out of whatsnew: also fixed regressed screen resolution and added notes on top)
[src/mame/drivers]psychic5.cpp
[src/mame/video]psychic5.cpp

trunk/src/mame/drivers/psychic5.cpp
r252898r252899
309309        F= Flip
310310    SZ=Size 0=16x16 sprite,1=32x32 sprite
311311        C= Color palette selector
312
313====
314
315Notes (23-Jan-2016 AS):
316- Bombs Away tests CPU roms with a sum8, with following algorithm:
317  * tests rom 0, compares result with [$4]
318  * tests banks 3,2,1, reads [$5], no bank 0 (?)
319  * tests banks 7,6,5,4, reads [$6]
320  fwiw extra roms contains palette/sprite/level data, nothing to do with game logic.
321- Bombs Away sports following issues, which indicates it's a unfinished product:
322  - missing bullets (missing data from ROMs);
323  - missing levels above 4 (missing data from ROMs);
324  - occasionally wrong flip x when the player route is from up to down;
325  - enemy counter stops entirely when the S is collected;
326  - boss fights uses always the same pattern;
327  - single BGM repeated over and over, for every level;
328  - a very sketchy ending screen (just credits with a special BGM played). Game sits there until BGM is finished and no new plays are allowed until so;
329
312330*/
313331
314332#include "emu.h"
r252898r252899
714732
715733   /* video hardware */
716734   MCFG_SCREEN_ADD("screen", RASTER)
717   MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz/2,394, 0, 256, 282, 16, 256) // was 53.8 Hz before, assume same as Bombs Away
735   MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz/2,394, 0, 256, 282, 16, 240) // was 53.8 Hz before, assume same as Bombs Away
718736   MCFG_SCREEN_UPDATE_DRIVER(psychic5_state, screen_update_psychic5)
719737
720738   MCFG_GFXDECODE_ADD("gfxdecode", "palette", psychic5)
r252898r252899
766784
767785   /* video hardware */
768786   MCFG_SCREEN_ADD("screen", RASTER)
769   MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz/2,394, 0, 256, 282, 16, 256) /* Guru says : VSync - 54Hz . HSync - 15.25kHz */
787   MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz/2,394, 0, 256, 282, 16, 240) /* Guru says : VSync - 54Hz . HSync - 15.25kHz */
770788   MCFG_SCREEN_UPDATE_DRIVER(psychic5_state, screen_update_bombsa)
771789
772790   MCFG_GFXDECODE_ADD("gfxdecode", "palette", bombsa)
r252898r252899
917935      logic on both sides.
918936*/
919937
938
920939ROM_START( bombsa )
921   ROM_REGION( 0x30000, "maincpu", 0 )                 /* Main CPU */
940   ROM_REGION( 0x30000, "maincpu", ROMREGION_ERASEFF )                 /* Main CPU */
922941   ROM_LOAD( "4.7a",         0x00000, 0x08000, CRC(0191f6a7) SHA1(10a0434abbf4be068751e65c81b1a211729e3742) )
923942   /* these fail their self-test... should be checked on real hw (hold start1+start2 on boot) */
924943   ROM_LOAD( "5.7c",         0x10000, 0x08000, BAD_DUMP CRC(095c451a) SHA1(892ca84376f89640ad4d28f1e548c26bc8f72c0e) ) // contains palettes etc. but fails rom check??
trunk/src/mame/video/psychic5.cpp
r252898r252899
236236   for (int offs = 0; offs < m_spriteram.bytes(); offs += 16)
237237   {
238238      int attr  = m_spriteram[offs + 13];
239      if(attr & 2) // Bombs Away: disable sprite if enabled
240         continue;
239241      int code  = m_spriteram[offs + 14] | ((attr & 0xc0) << 2);
240242      int color = m_spriteram[offs + 15] & 0x0f;
241243      int flipx = attr & 0x10;


Previous 199869 Revisions Next


© 1997-2024 The MAME Team