Previous 199869 Revisions Next

r21844 Thursday 14th March, 2013 at 02:31:04 UTC by David Haywood
popobear - fix for colours on Game Over screen

I've also marked it as working, the remaining issues (wrong animation speed / music speed) are cosmetic, it seems to work otherwise. so..

New Working Game
----------------

PoPo Bear [Angelo Salese, David Haywood]
[src/mame/drivers]popobear.c

trunk/src/mame/drivers/popobear.c
r21843r21844
22
33    Popo Bear (c) 2000 BMC
44
5    preliminary driver by Angelo Salese
5    driver by Angelo Salese, David Haywood
66
77    TODO:
88    - auto-animation speed is erratic (way too fast);
r21843r21844
281281
282282         if (param&0xf000) color_bank = (machine().rand() & 0x3);
283283
284     
285
286         int add_it = 0;
287
288         // this isn't understood, not enough evidence.
289         switch (param & 3)
290         {
291            case 0x0: // not used?
292            color_bank = (machine().rand() & 0x3);
293            add_it = color_bank*0x40;
294            break;
295
296            case 0x1: // butterflies in intro, enemy characters, line of characters, stage start text
297            //color_bank = (machine().rand() & 0x3);
298            add_it = color_bank*0x40;
299            break;
300           
301            case 0x2: // characters in intro, main player, powerups, timer, large dancing chars between levels (0x3f?)
302            //color_bank = (machine().rand() & 0x3);
303            add_it = color_bank*0x40;
304            break;
305           
306            case 0x3: // letters on GAME OVER need this..
307            add_it = color_bank*0x40;
308            add_it += 0x20;
309            break;
310         }
311
284312         if(param == 0)
285313            continue;
286314
r21843r21844
303331                  // see scores when you colect an item, must be at least steps of 0x40 or one of the female panda gfx between levels breaks.. might depend on lower bits?
304332                  // granularity also means colour bank is applied *0x40
305333                  // and we have 2 more possible colour bank bits
306                  // colours on game over screen are still wrong
334                  // colours on game over screen are still wrong without the weird param kludge above
307335                  if (pix&0x3f)
308336                  {
309                     bitmap.pix16(y_draw, x_draw) = machine().pens[((pix+(color_bank*0x40))&0xff)+0x100];
337                     bitmap.pix16(y_draw, x_draw) = machine().pens[((pix+(add_it))&0xff)+0x100];
310338                  }
311339               }
312340
r21843r21844
644672   ROM_LOAD( "popobear_ta-a-901.u9", 0x00000, 0x40000,  CRC(f1e94926) SHA1(f4d6f5b5811d90d0069f6efbb44d725ff0d07e1c) )
645673ROM_END
646674
647GAME( 2000, popobear,    0, popobear,    popobear, driver_device,    0, ROT0,  "BMC", "PoPo Bear", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
675GAME( 2000, popobear,    0, popobear,    popobear, driver_device,    0, ROT0,  "BMC", "PoPo Bear",  GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team