Previous 15994 Revisions Next

r2286 Saturday 5th April, 2008 at 23:56:54 UTC by Cowering
[Genesis] Add handler for 'Super Bubble Bobble MD' (pretty nice version too)
[src/mess/drivers]genesis.c

src/mess/drivers/genesis.c
r2285r2286
6969static UINT16 lion2_prot1_data, lion2_prot2_data;
7070static int is_rx3 = 0;
7171static int is_bugsl = 0;
72static int is_sbub = 0;
7273
7374static UINT8 *genesis_sram;
7475static int genesis_sram_start;
r2285r2286
196197
197198   genesis_sram = NULL;
198199   genesis_sram_start = genesis_sram_len = genesis_sram_active = genesis_sram_readonly = 0;
199   is_ssf2 = is_redcliff = is_radica = is_kof99 = is_soulb = is_mjlovr = is_squir = is_smous = is_elfwor = is_lionk2 = is_rx3 = is_bugsl = 0;
200   is_ssf2 = is_redcliff = is_radica = is_kof99 = is_soulb = is_mjlovr = is_squir = is_smous = is_elfwor = is_lionk2 = is_rx3 = is_bugsl = is_sbub = 0;
200201
201202   rawROM = memory_region(REGION_CPU1);
202203        ROM = rawROM /*+ 512 */;
r2285r2286
374375            is_rx3 = 1;
375376         }
376377      }
378      if (length == 0x100000)
379      {
380         static unsigned char sbubsig[] = { 0x0c, 0x39, 0x00, 0x55, 0x00, 0x40}; //    cmpi.b  #$55,($400000).l
381         if (!memcmp(&ROM[0x123e4+relocate],&sbubsig[0],sizeof(sbubsig)))
382         {
383            is_sbub = 1;
384         }
385      }
377386
378387   }
379388
r2285r2286
445454/* we don't use the bios rom (its not needed and only provides security on early models) */
446455
447456ROM_START(genesis)
448   ROM_REGION(0x1415000, REGION_CPU1, ROMREGION_ERASEFF)
457//   ROM_REGION(0x1415000, REGION_CPU1, ROMREGION_ERASEFF)
458   ROM_REGION(0x0a00000, REGION_CPU1, ROMREGION_ERASEFF)
449459   ROM_REGION( 0x10000, REGION_CPU2, ROMREGION_ERASEFF)
450460ROM_END
451461
452462ROM_START(gensvp)
453   ROM_REGION(0x1415000, REGION_CPU1, ROMREGION_ERASEFF)
463//   ROM_REGION(0x1415000, REGION_CPU1, ROMREGION_ERASEFF)
464   ROM_REGION(0x0a00000, REGION_CPU1, ROMREGION_ERASEFF)
454465   ROM_REGION( 0x10000, REGION_CPU2, ROMREGION_ERASEFF)
455466ROM_END
456467
457468ROM_START(megadriv)
458   ROM_REGION(0x1415000, REGION_CPU1, ROMREGION_ERASEFF)
469//   ROM_REGION(0x1415000, REGION_CPU1, ROMREGION_ERASEFF)
470   ROM_REGION(0x0a00000, REGION_CPU1, ROMREGION_ERASEFF)
459471   ROM_REGION( 0x10000, REGION_CPU2, ROMREGION_ERASEFF)
460472ROM_END
461473
462474ROM_START(megadrij)
463   ROM_REGION(0x1415000, REGION_CPU1, ROMREGION_ERASEFF)
475//   ROM_REGION(0x1415000, REGION_CPU1, ROMREGION_ERASEFF)
476   ROM_REGION(0x0a00000, REGION_CPU1, ROMREGION_ERASEFF)
464477   ROM_REGION( 0x10000, REGION_CPU2, ROMREGION_ERASEFF)
465478ROM_END
466479
r2285r2286
585598   return -1;
586599}
587600
601// Super Bubble Bobble MD handler from HazeMD
602READ16_HANDLER( sbub_extra1_r )
603{
604   return 0x5500;
605}
606
607READ16_HANDLER( sbub_extra2_r )
608{
609   return 0x0f00;
610}
611
588612// KOF99 handler from HazeMD
589613READ16_HANDLER( kof99_0xA13002_r )
590614{
r2285r2286
671695   return 0x28;
672696}
673697
674// Elf Wor handler from HazeMD (DFJustin says the title is 'Spirit Taoist')
698// Elf Wor handler from HazeMD (DFJustin says the title is 'Linghuan Daoshi Super Magician')
675699READ16_HANDLER( elfwor_0x400000_r )
676700{
677701   return 0x5500;
r2285r2286
787811      memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0xA13000, 0xA13001, 0, 0, bugl_extra_r);
788812   }
789813
814   if (is_sbub)
815   {
816      memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x400000, 0x400001, 0, 0, sbub_extra1_r);
817      memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x400002, 0x400003, 0, 0, sbub_extra2_r);
818}
819
790820   /* install NOP handler for TMSS */
791821   memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0xA14000, 0xA14003, 0, 0, genesis_TMSS_bank_w);
792822

Previous 15994 Revisions Next


© 1998-2018 The MESS Team