trunk/src/mame/drivers/r2dx_v33.c
| r32197 | r32198 | |
| 372 | 372 | static ADDRESS_MAP_START( nzerotea_map, AS_PROGRAM, 16, r2dx_v33_state ) |
| 373 | 373 | AM_RANGE(0x00000, 0x003ff) AM_RAM //stack area |
| 374 | 374 | |
| 375 | | /* results from cop? */ |
| 376 | | AM_RANGE(0x00430, 0x00431) AM_READ(rdx_v33_unknown_r) |
| 377 | | AM_RANGE(0x00432, 0x00433) AM_READ(rdx_v33_unknown_r) |
| 378 | | AM_RANGE(0x00434, 0x00435) AM_READ(rdx_v33_unknown_r) |
| 379 | | AM_RANGE(0x00436, 0x00437) AM_READ(rdx_v33_unknown_r) |
| 375 | AM_RANGE(0x00420, 0x00421) AM_WRITE(r2dx_unk1_w) // frequent |
| 376 | AM_RANGE(0x00422, 0x00423) AM_WRITE(r2dx_unk2_w) // frequent |
| 380 | 377 | |
| 381 | | // AM_RANGE(0x00400, 0x00407) AM_WRITE(mcu_table_w) |
| 382 | | // AM_RANGE(0x00420, 0x00427) AM_WRITE(mcu_table2_w) |
| 378 | AM_RANGE(0x00424, 0x00425) AM_WRITE(r2dx_dx_w) |
| 379 | AM_RANGE(0x00426, 0x00427) AM_WRITE(r2dx_dy_w) |
| 380 | AM_RANGE(0x00428, 0x00429) AM_WRITE(r2dx_angle_w) |
| 383 | 381 | |
| 384 | | AM_RANGE(0x00600, 0x0064f) AM_RAM AM_SHARE("crtc_regs") |
| 382 | AM_RANGE(0x00430, 0x00431) AM_READ(rdx_angle_r) |
| 383 | AM_RANGE(0x00432, 0x00433) AM_READ(rdx_dist_r) |
| 384 | AM_RANGE(0x00434, 0x00435) AM_READ(r2dx_sin_r) |
| 385 | AM_RANGE(0x00436, 0x00437) AM_READ(r2dx_cos_r) |
| 385 | 386 | |
| 387 | AM_RANGE(0x00600, 0x0064f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write) |
| 388 | |
| 386 | 389 | AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP // synch for the MCU? |
| 387 | 390 | AM_RANGE(0x006b0, 0x006b1) AM_WRITE(mcu_prog_w) |
| 388 | 391 | AM_RANGE(0x006b2, 0x006b3) AM_WRITE(mcu_prog_w2) |
| r32197 | r32198 | |
| 464 | 467 | GFXDECODE_ENTRY( "gfx1", 0x00000, rdx_v33_charlayout, 0x700, 128 ) |
| 465 | 468 | GFXDECODE_ENTRY( "gfx2", 0x00000, rdx_v33_tilelayout, 0x400, 128 ) |
| 466 | 469 | GFXDECODE_ENTRY( "gfx3", 0x00000, rdx_v33_spritelayout, 0x000, 4096 ) |
| 467 | | GFXDECODE_ENTRY( "gfx2", 0x00000, rdx_v33_tilelayout, 0x500, 0x10 ) |
| 468 | | GFXDECODE_ENTRY( "gfx2", 0x00000, rdx_v33_tilelayout, 0x600, 0x10 ) |
| 469 | | GFXDECODE_ENTRY( "gfx1", 0x00000, rdx_v33_tilelayout, 0x700, 0x10 ) // debugging, to be removed |
| 470 | 470 | GFXDECODE_END |
| 471 | 471 | |
| 472 | 472 | static INPUT_PORTS_START( rdx_v33 ) |
| r32197 | r32198 | |
| 724 | 724 | static const int spri[5] = { 0, 1, 2, 3, -1 }; |
| 725 | 725 | cur_spri = spri; |
| 726 | 726 | |
| 727 | | // membank("bank1")->configure_entries(0, 2, memregion("mainprg")->base(), 0x20000); |
| 728 | | |
| 729 | 727 | zeroteam_decrypt_sprites(machine()); |
| 730 | | |
| 731 | | // membank("bank1")->set_entry(1); |
| 732 | 728 | } |
| 733 | 729 | |
| 734 | 730 | DRIVER_INIT_MEMBER(r2dx_v33_state,zerotm2k) |
| r32197 | r32198 | |
| 737 | 733 | static const int spri[5] = { 0, 1, 2, 3, -1 }; |
| 738 | 734 | cur_spri = spri; |
| 739 | 735 | |
| 740 | | //membank("bank1")->configure_entries(0, 2, memregion("mainprg")->base(), 0x20000); |
| 736 | // no sprite encryption(!) |
| 741 | 737 | |
| 742 | | // sprites are NOT encrypted |
| 743 | | //zeroteam_decrypt_sprites(machine()); |
| 738 | // BG tile rom has 2 lines swapped |
| 739 | UINT8 *src = memregion("gfx2")->base()+0x100000; |
| 740 | int len = 0x080000; |
| 744 | 741 | |
| 745 | | //membank("bank1")->set_entry(1); |
| 742 | dynamic_buffer buffer(len); |
| 743 | int i; |
| 744 | for (i = 0; i < len; i ++) |
| 745 | buffer[i] = src[BITSWAP32(i,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,5,6,4,3,2,1,0)]; |
| 746 | memcpy(src, buffer, len); |
| 746 | 747 | } |
| 747 | 748 | |
| 748 | 749 | /* |
| r32197 | r32198 | |
| 882 | 883 | ROM_LOAD16_WORD( "raidenii_eeprom-r2dx_v33.bin", 0x0000, 0x0080, CRC(ba454777) SHA1(101c5364e8664d17bfb1e759515d135a2673d67e) ) // for booting as Raiden 2 |
| 883 | 884 | ROM_END |
| 884 | 885 | |
| 885 | | |
| 886 | | ROM_START( nzeroteam ) /* V33 SYSTEM TYPE_B hardware, uses SEI333 (AKA COPX-D3) for protection */ |
| 886 | // uses dipswitches |
| 887 | ROM_START( nzeroteam ) /* V33 SYSTEM TYPE_B hardware, uses SEI333 (AKA COPX-D3) for protection */ |
| 887 | 888 | ROM_REGION( 0x100000, "mainprg", 0 ) /* v30 main cpu */ |
| 888 | 889 | ROM_LOAD16_BYTE("prg1", 0x000000, 0x80000, CRC(3c7d9410) SHA1(25f2121b6c2be73f11263934266901ed5d64d2ee) ) |
| 889 | 890 | ROM_LOAD16_BYTE("prg2", 0x000001, 0x80000, CRC(6cba032d) SHA1(bf5d488cd578fff09e62e3650efdee7658033e3f) ) |
| r32197 | r32198 | |
| 914 | 915 | ROM_LOAD( "6.pcm", 0x00000, 0x40000, CRC(48be32b1) SHA1(969d2191a3c46871ee8bf93088b3cecce3eccf0c) ) /* Same as other Zero Team sets */ |
| 915 | 916 | ROM_END |
| 916 | 917 | |
| 918 | // uses a 93c46a eeprom |
| 917 | 919 | ROM_START( zerotm2k ) /* V33 SYSTEM TYPE_C VER2 hardware, uses SEI333 (AKA COPX-D3) for protection */ |
| 918 | 920 | ROM_REGION( 0x100000, "mainprg", 0 ) /* v30 main cpu */ |
| 919 | 921 | ROM_LOAD( "mt28f800b1.u0230", 0x000000, 0x100000, CRC(6ab49d8c) SHA1(d94ec9a46ff98a76c3372369246733268474de99) ) /* SMT rom, PCB silkscreened PRG01 */ |
| r32197 | r32198 | |
| 935 | 937 | |
| 936 | 938 | ROM_REGION( 0x400000, "gfx2", 0 ) /* background gfx */ |
| 937 | 939 | ROM_LOAD( "szy-05.u0614", 0x000000, 0x100000, CRC(8b7f9219) SHA1(3412b6f8a4fe245e521ddcf185a53f2f4520eb57) ) /* PCB silkscreened BG12, Same as "MUSHA BACK-1" */ |
| 938 | | ROM_LOAD16_WORD_SWAP( "mt28f400b1.u0619", 0x100000, 0x080000, CRC(266acee6) SHA1(2a9da66c313a7536c7fb393134b9df0bb122cb2b) ) /* SMT rom, PCB silkscreened BG3 */ |
| 940 | ROM_LOAD( "mt28f400b1.u0619", 0x100000, 0x080000, CRC(266acee6) SHA1(2a9da66c313a7536c7fb393134b9df0bb122cb2b) ) /* SMT rom, PCB silkscreened BG3 */ |
| 939 | 941 | /* PCB has an unpopulated socket rom space for a LH535A00D at u0615 for alt BG3 location */ |
| 940 | 942 | |
| 941 | 943 | ROM_REGION( 0x800000, "gfx3", 0 ) /* sprite gfx (NOT encrypted) */ |
| r32197 | r32198 | |
| 952 | 954 | GAME( 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) |
| 953 | 955 | GAME( 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) |
| 954 | 956 | |
| 955 | | // 'V33 system type_b' - uses V33 CPU, COPX-D3 external protection rom, but still has the proper sound system |
| 957 | // 'V33 system type_b' - uses V33 CPU, COPX-D3 external protection rom, but still has the proper sound system, DSW for settings |
| 956 | 958 | GAME( 1997, nzeroteam, zeroteam, nzerotea, nzerotea, r2dx_v33_state, nzerotea, ROT0, "Seibu Kaihatsu", "New Zero Team", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 957 | 959 | |
| 958 | | // 'V33 SYSTEM TYPE_C VER2' - uses V33 CPU, COPX-D3 external protection rom, but still has the proper sound system, unencrypted sprites |
| 960 | // 'V33 SYSTEM TYPE_C VER2' - uses V33 CPU, COPX-D3 external protection rom, but still has the proper sound system, unencrypted sprites, EEPROM for settings. PCB also seen without 'VER2', looks the same |
| 959 | 961 | GAME( 2000, zerotm2k, zeroteam, nzerotea, nzerotea, r2dx_v33_state, zerotm2k, ROT0, "Seibu Kaihatsu", "Zero Team 2000", GAME_NOT_WORKING|GAME_NO_SOUND) |