Previous 199869 Revisions Next

r32201 Friday 19th September, 2014 at 12:34:37 UTC by David Haywood
there's an eeprom here (nw)
[src/mame/drivers]r2dx_v33.c

trunk/src/mame/drivers/r2dx_v33.c
r32200r32201
6161   DECLARE_WRITE16_MEMBER(mcu_prog_w2);
6262   DECLARE_WRITE16_MEMBER(mcu_prog_offs_w);
6363   DECLARE_WRITE16_MEMBER(rdx_v33_eeprom_w);
64   DECLARE_WRITE16_MEMBER(zerotm2k_eeprom_w);
6465   DECLARE_WRITE16_MEMBER(r2dx_rom_bank_w);
6566   DECLARE_DRIVER_INIT(rdx_v33);
6667   DECLARE_DRIVER_INIT(nzerotea);
r32200r32201
369370   }
370371}
371372
372static ADDRESS_MAP_START( nzerotea_map, AS_PROGRAM, 16, r2dx_v33_state )
373static ADDRESS_MAP_START( nzeroteam_base_map, AS_PROGRAM, 16, r2dx_v33_state )
373374   AM_RANGE(0x00000, 0x003ff) AM_RAM //stack area
374375
376   AM_RANGE(0x00400, 0x00401) AM_WRITENOP // tilemaps to private buffer
377   AM_RANGE(0x00402, 0x00403) AM_WRITENOP // palettes to private buffer
378   // 0x404 is bank on r2dx, this doesn't need it
379   // AM_RANGE(0x00406, 0x00407) AM_WRITE(tile_bank_w) // not the same?
380
375381   AM_RANGE(0x00420, 0x00421) AM_WRITE(r2dx_unk1_w) // frequent
376382   AM_RANGE(0x00422, 0x00423) AM_WRITE(r2dx_unk2_w) // frequent
377383
r32200r32201
396402//  AM_RANGE(0x006dc, 0x006dd) AM_READ(nzerotea_unknown_r)
397403//  AM_RANGE(0x006de, 0x006df) AM_WRITE(mcu_unkaa_w) // mcu command related?
398404   //AM_RANGE(0x00700, 0x00701) AM_WRITE(rdx_v33_eeprom_w)
399   AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
400   AM_RANGE(0x00744, 0x00745) AM_READ_PORT("INPUT")
401   AM_RANGE(0x0074c, 0x0074d) AM_READ_PORT("SYSTEM")
405
402406//  AM_RANGE(0x00762, 0x00763) AM_READ(nzerotea_unknown_r)
403407
404408   AM_RANGE(0x00780, 0x0079f) AM_READWRITE(nzerotea_sound_comms_r,nzerotea_sound_comms_w)
r32200r32201
419423   AM_RANGE(0x20000, 0xfffff) AM_ROM AM_REGION("mainprg", 0x20000 )
420424ADDRESS_MAP_END
421425
426static ADDRESS_MAP_START( nzerotea_map, AS_PROGRAM, 16, r2dx_v33_state )
427   AM_IMPORT_FROM( nzeroteam_base_map )
428   AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
429   AM_RANGE(0x00744, 0x00745) AM_READ_PORT("INPUT")
430   AM_RANGE(0x0074c, 0x0074d) AM_READ_PORT("SYSTEM")
431ADDRESS_MAP_END
432
433WRITE16_MEMBER(r2dx_v33_state::zerotm2k_eeprom_w)
434{
435//   printf("zerotm2k_eeprom_w %04x %04x\n", data, mem_mask);
436
437   m_eeprom->clk_write((data & 0x02) ? ASSERT_LINE : CLEAR_LINE);
438   m_eeprom->di_write((data & 0x04) >> 2);
439   m_eeprom->cs_write((data & 0x01) ? ASSERT_LINE : CLEAR_LINE);
440}
441
442static ADDRESS_MAP_START( zerotm2k_map, AS_PROGRAM, 16, r2dx_v33_state )
443   AM_IMPORT_FROM( nzeroteam_base_map )
444   AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW") // doesn't have dips but address is still read (maybe service switch, check)
445   AM_RANGE(0x00744, 0x00745) AM_READ_PORT("INPUT")
446   AM_RANGE(0x0074c, 0x0074d) AM_READ_PORT("SYSTEM")
447   AM_RANGE(0x00748, 0x00749) AM_WRITE(zerotm2k_eeprom_w)
448ADDRESS_MAP_END
449
450
451
422452INTERRUPT_GEN_MEMBER(r2dx_v33_state::rdx_v33_interrupt)
423453{
424454   device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xc0/4);   /* VBL */
r32200r32201
513543   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
514544   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
515545   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
516   //PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, do_read)
546   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
517547   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
518548   PORT_DIPNAME( 0x0040, 0x0040, "Test Mode" )
519549   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
r32200r32201
593623   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
594624INPUT_PORTS_END
595625
626static INPUT_PORTS_START( zerotm2k )
627   PORT_INCLUDE( nzerotea )
628   
629   PORT_MODIFY("INPUT")
630   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, do_read)
631INPUT_PORTS_END
596632
633
597634MACHINE_RESET_MEMBER(r2dx_v33_state,r2dx_v33)
598635{
599636   common_reset();
r32200r32201
686723
687724MACHINE_CONFIG_END
688725
726static MACHINE_CONFIG_DERIVED( zerotm2k, nzerotea )
727   MCFG_CPU_MODIFY("maincpu")
728   MCFG_CPU_PROGRAM_MAP(zerotm2k_map)
689729
730   MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
731MACHINE_CONFIG_END
732
690733DRIVER_INIT_MEMBER(r2dx_v33_state,rdx_v33)
691734{
692735   init_blending(raiden_blended_colors);
r32200r32201
939982GAME( 1997, nzeroteam, zeroteam,  nzerotea, nzerotea, r2dx_v33_state, nzerotea,  ROT0,   "Seibu Kaihatsu", "New Zero Team", GAME_NOT_WORKING|GAME_NO_SOUND)
940983
941984// '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
942GAME( 2000, zerotm2k,  zeroteam,  nzerotea, nzerotea, r2dx_v33_state, zerotm2k,  ROT0,   "Seibu Kaihatsu", "Zero Team 2000", GAME_NOT_WORKING|GAME_NO_SOUND)
985GAME( 2000, zerotm2k,  zeroteam,  zerotm2k, zerotm2k, r2dx_v33_state, zerotm2k,  ROT0,   "Seibu Kaihatsu", "Zero Team 2000", GAME_NOT_WORKING|GAME_NO_SOUND)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team