Previous 199869 Revisions Next

r32180 Thursday 18th September, 2014 at 15:34:34 UTC by David Haywood
make r2dx_v33 2 sets for now, with different eeprom, the codepath it takes (R2 or RDX) depends on the content of the EEPROM, I haven't found a switching mechanism (there appears to be code in the ROM for booting with buttons pressed, but it looks broken to me)
[src/mame]mame.lst
[src/mame/drivers]r2dx_v33.c

trunk/src/mame/drivers/r2dx_v33.c
r32179r32180
7272      // 0x80 - coin counter 2?
7373
7474      // 0x04 is active in Raiden DX mode, it could be part of the rom bank (which half of the rom to use) or the FG tile bank (or both?)
75      // the bit gets set if it reads RAIDENDX from the EEPROM
7576      tx_bank = (data & 0x04) >> 2;
7677      text_layer->mark_all_dirty();
7778
79      if (data & 4) // todo: almost certainly wrong
80      {
81         // sensible defaults if booting as RDX
82         membank("bank1")->set_entry(0x20+16);
83         membank("bank2")->set_entry(0x20+3);
84         membank("bank3")->set_entry(1);
85      }
86      else
87      {
88         membank("bank1")->set_entry(2);
89         membank("bank2")->set_entry(3);
90         membank("bank3")->set_entry(0);
91      }
92
93
7894      if (data&0x07) printf("eeprom_w extra bits used %04x\n",data & 7);
7995   }
8096   else
r32179r32180
153169
154170WRITE16_MEMBER(r2dx_v33_state::mcu_table2_w)
155171{
172//   printf("mcu_table2_w %04x %04x\n", data, mem_mask);
173
156174   mcu_data[offset+4] = data;
157175
158176   //popmessage("%04x %04x %04x %04x | %04x %04x %04x %04x",mcu_data[0/2],mcu_data[2/2],mcu_data[4/2],mcu_data[6/2],mcu_data[8/2],mcu_data[0xa/2],mcu_data[0xc/2],mcu_data[0xe/2]);
r32179r32180
163181   AM_RANGE(0x00000, 0x003ff) AM_RAM // vectors copied here
164182
165183//   AM_RANGE(0x00400, 0x00407) AM_WRITE(mcu_table_w)
166//   AM_RANGE(0x00420, 0x00429) AM_WRITE(mcu_table2_w)
184   AM_RANGE(0x00420, 0x00429) AM_WRITE(mcu_table2_w)
167185
168186   /* results from cop? */
169187   AM_RANGE(0x00430, 0x00431) AM_READ(rdx_v33_unknown_r)
r32179r32180
575593   raiden2_decrypt_sprites(machine());
576594
577595//  sensible defaults if booting as R2
578//   membank("bank1")->set_entry(2);
579//   membank("bank2")->set_entry(3);
580//   membank("bank3")->set_entry(0);
596   membank("bank1")->set_entry(2);
597   membank("bank2")->set_entry(3);
598   membank("bank3")->set_entry(0);
581599
582//  sensible defaults if booting as RDX
583   membank("bank1")->set_entry(0x20+16);
584   membank("bank2")->set_entry(0x20+3);
585   membank("bank3")->set_entry(1);
600//  sensible defaults if booting as RDX - we set now set this later..
601//   membank("bank1")->set_entry(0x20+16);
602//   membank("bank2")->set_entry(0x20+3);
603//   membank("bank3")->set_entry(1);
586604
587605
588606}
r32179r32180
643661        8   OFF = Normal Screen, ON = FLIP Screen
644662
645663OTHER : Controls are 8-way + 3 Buttons
646        Amtel 93C46 EEPROM (SOIC8)
664        Atmel 93C46 EEPROM (SOIC8)
647665        PALCE16V8 (x1, near BG ROM, SOIC20)
648666        SEIBU SEI360 SB06-1937   (160 pin PQFP)
649667        SEIBI SIE150             (100 pin PQFP, Note SIE, not a typo)
r32179r32180
698716   ROM_LOAD32_WORD( "obj1.724", 0x000000, 0x400000, CRC(7d218985) SHA1(777241a533defcbea3d7e735f309478d260bad52) )
699717   ROM_LOAD32_WORD( "obj2.725", 0x000002, 0x400000, CRC(b09434d9) SHA1(da75252b7693ab791fece4c10b8a4910edb76c88) )
700718
719   // temp, load these for now, they decrypt 100%
720   ROM_LOAD32_WORD( "obj1",        0x000000, 0x200000, CRC(ff08ef0b) SHA1(a1858430e8171ca8bab785457ef60e151b5e5cf1) ) /* Shared with original Raiden 2 */
721   ROM_LOAD32_WORD( "obj2",        0x000002, 0x200000, CRC(638eb771) SHA1(9774cc070e71668d7d1d20795502dccd21ca557b) ) /* Shared with original Raiden 2 */
722   ROM_LOAD32_WORD( "dx_obj3.4k",  0x400000, 0x200000, CRC(ba381227) SHA1(dfc4d659aca1722a981fa56a31afabe66f444d5d) )
723   ROM_LOAD32_WORD( "dx_obj4.6k",  0x400002, 0x200000, CRC(65e50d19) SHA1(c46147b4132abce7314b46bf419ce4773e024b05) )
724
725
701726   ROM_REGION( 0x100000, "oki", 0 ) /* ADPCM samples */
702727   ROM_LOAD( "pcm.099", 0x00000, 0x100000, CRC(97ca2907) SHA1(bfe8189300cf72089d0beaeab8b1a0a1a4f0a5b6) )
703728
r32179r32180
705730   ROM_LOAD( "copx_d3.357", 0x00000, 0x20000, CRC(fa2cf3ad) SHA1(13eee40704d3333874b6e3da9ee7d969c6dc662a) )
706731
707732   ROM_REGION16_BE( 0x80, "eeprom", 0 )
708   ROM_LOAD16_WORD( "raidenii_eeprom-r2dx_v33.bin", 0x0000, 0x0080, CRC(ba454777) SHA1(101c5364e8664d17bfb1e759515d135a2673d67e) ) // for booting as Raiden 2
709733   ROM_LOAD16_WORD( "raidendx_eeprom-r2dx_v33.bin", 0x0000, 0x0080, CRC(0b34c0ca) SHA1(20612d5a1d819d3997ea47e8de7a194ec61b537d) ) // for booting as Raiden DX
710734ROM_END
711735
736ROM_START( r2dx_v33_r2 )
737   ROM_REGION( 0x400000, "mainprg", 0 ) /* v33 main cpu */
738   ROM_LOAD("prg.223", 0x000000, 0x400000, CRC(b3dbcf98) SHA1(30d6ec2090531c8c579dff74c4898889902d7d87) )
739
740   ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASEFF ) /* v33 main cpu */
741
742//  ROM_REGION( 0x20000, "cpu1", ROMREGION_ERASE00 ) /* 64k code for sound Z80 */
743   /* nothing?  no z80*/
744
745   ROM_REGION( 0x040000, "gfx1", 0 ) /* chars */
746   ROM_LOAD( "fix.613", 0x000000, 0x040000, CRC(3da27e39) SHA1(3d446990bf36dd0a3f8fadb68b15bed54904c8b5) )
747
748   ROM_REGION( 0x400000, "gfx2", 0 ) /* background gfx */
749   ROM_LOAD( "bg.612", 0x000000, 0x400000, CRC(162c61e9) SHA1(bd0a6a29804b84196ba6bf3402e9f30a25da9269) )
750
751   ROM_REGION( 0x800000, "gfx3", 0 ) /* sprite gfx (encrypted) */ // roughly 1/4 of the rom does not decrypt properly with the R2 keys?
752   ROM_LOAD32_WORD( "obj1.724", 0x000000, 0x400000, CRC(7d218985) SHA1(777241a533defcbea3d7e735f309478d260bad52) )
753   ROM_LOAD32_WORD( "obj2.725", 0x000002, 0x400000, CRC(b09434d9) SHA1(da75252b7693ab791fece4c10b8a4910edb76c88) )
754
755   // temp, load these for now, they decrypt 100%
756   ROM_LOAD32_WORD( "obj1",        0x000000, 0x200000, CRC(ff08ef0b) SHA1(a1858430e8171ca8bab785457ef60e151b5e5cf1) ) /* Shared with original Raiden 2 */
757   ROM_LOAD32_WORD( "obj2",        0x000002, 0x200000, CRC(638eb771) SHA1(9774cc070e71668d7d1d20795502dccd21ca557b) ) /* Shared with original Raiden 2 */
758   ROM_LOAD32_WORD( "dx_obj3.4k",  0x400000, 0x200000, CRC(ba381227) SHA1(dfc4d659aca1722a981fa56a31afabe66f444d5d) )
759   ROM_LOAD32_WORD( "dx_obj4.6k",  0x400002, 0x200000, CRC(65e50d19) SHA1(c46147b4132abce7314b46bf419ce4773e024b05) )
760
761
762   ROM_REGION( 0x100000, "oki", 0 ) /* ADPCM samples */
763   ROM_LOAD( "pcm.099", 0x00000, 0x100000, CRC(97ca2907) SHA1(bfe8189300cf72089d0beaeab8b1a0a1a4f0a5b6) )
764
765   ROM_REGION( 0x40000, "user2", 0 ) /* SEI333 (AKA COPX-D3) data */
766   ROM_LOAD( "copx_d3.357", 0x00000, 0x20000, CRC(fa2cf3ad) SHA1(13eee40704d3333874b6e3da9ee7d969c6dc662a) )
767
768   ROM_REGION16_BE( 0x80, "eeprom", 0 )
769   ROM_LOAD16_WORD( "raidenii_eeprom-r2dx_v33.bin", 0x0000, 0x0080, CRC(ba454777) SHA1(101c5364e8664d17bfb1e759515d135a2673d67e) ) // for booting as Raiden 2
770ROM_END
771
772
712773ROM_START( nzeroteam ) /* V33 SYSTEM TYPE_B hardware, uses SEI333 (AKA COPX-D3) for protection  */
713774   ROM_REGION( 0x100000, "mainprg", 0 ) /* v30 main cpu */
714775   ROM_LOAD16_BYTE("prg1", 0x000000, 0x80000, CRC(3c7d9410) SHA1(25f2121b6c2be73f11263934266901ed5d64d2ee) )
r32179r32180
774835ROM_END
775836
776837// newer PCB, with V33 CPU and COPD3 protection, but weak sound hardware. - was marked as Raiden DX New in the rom dump, but boots as Raiden 2 New version, the rom contains both
777GAME( 1996, r2dx_v33, 0,          rdx_v33,  rdx_v33, r2dx_v33_state,  rdx_v33,   ROT270, "Seibu Kaihatsu", "Raiden II New / Raiden DX (newer V33 PCB)", GAME_NOT_WORKING|GAME_NO_SOUND)
838// is there a switching method? for now I've split it into 2 sets with different EEPROM, the game checks that on startup and runs different code depending on what it finds
839GAME( 1996, r2dx_v33,    0,          rdx_v33,  rdx_v33, r2dx_v33_state,  rdx_v33,   ROT270, "Seibu Kaihatsu", "Raiden II New / Raiden DX (newer V33 PCB) (Raiden DX EEPROM)", GAME_NOT_WORKING|GAME_NO_SOUND)
840GAME( 1996, r2dx_v33_r2, r2dx_v33,   rdx_v33,  rdx_v33, r2dx_v33_state,  rdx_v33,   ROT270, "Seibu Kaihatsu", "Raiden II New / Raiden DX (newer V33 PCB) (Raiden II EEPROM)", GAME_NOT_WORKING|GAME_NO_SOUND)
778841
779842// 'V33 system type_b' - uses V33 CPU, COPX-D3 external protection rom, but still has the proper sound system
780843GAME( 1997, nzeroteam, zeroteam,  nzerotea, nzerotea, r2dx_v33_state, nzerotea,  ROT0,   "Seibu Kaihatsu", "New Zero Team", GAME_NOT_WORKING|GAME_NO_SOUND)
trunk/src/mame/mame.lst
r32179r32180
83508350
83518351// Newer V33 PCB with COP3 protection
83528352r2dx_v33        // (c) 1996 Seibu Kaihatsu
8353r2dx_v33_r2      // (c) 1996 Seibu Kaihatsu
83538354nzeroteam       // (c) 1997 Seibu Kaihatsu
83548355zerotm2k        // (c) 2000 Seibu Kaihatsu
83558356

Previous 199869 Revisions Next


© 1997-2024 The MAME Team