trunk/src/mame/drivers/mcr3.c
r26344 | r26345 | |
576 | 576 | |
577 | 577 | AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_SHARE("videoram") |
578 | 578 | AM_RANGE(0xe800, 0xebff) AM_MIRROR(0x0400) AM_RAM_WRITE(spyhunt_alpharam_w) AM_SHARE("spyhunt_alpha") |
579 | | AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram") |
| 579 | AM_RANGE(0xf000, 0xf7ff) AM_RAM //AM_SHARE("nvram") |
580 | 580 | AM_RANGE(0xf800, 0xf9ff) AM_RAM AM_SHARE("spriteram") |
581 | 581 | AM_RANGE(0xfa00, 0xfa7f) AM_MIRROR(0x0180) AM_RAM AM_WRITE(spyhuntpr_paletteram_w) AM_SHARE("paletteram") |
582 | 582 | |
r26344 | r26345 | |
601 | 601 | AM_RANGE(0x04, 0x04) AM_WRITE(spyhuntpr_port04_w) |
602 | 602 | AM_RANGE(0x84, 0x86) AM_WRITE(spyhunt_scroll_value_w) |
603 | 603 | AM_RANGE(0xe0, 0xe0) AM_WRITE(watchdog_reset_w) |
604 | | AM_RANGE(0xe8, 0xe8) AM_WRITENOP |
| 604 | // AM_RANGE(0xe8, 0xe8) AM_WRITENOP |
605 | 605 | AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("ctc", z80ctc_device, read, write) |
606 | 606 | ADDRESS_MAP_END |
607 | 607 | |
r26344 | r26345 | |
1038 | 1038 | PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) |
1039 | 1039 | PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) |
1040 | 1040 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1041 | | PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) |
| 1041 | PORT_DIPNAME( 0x0004, 0x0004, "reset" ) |
1042 | 1042 | PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) |
1043 | 1043 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1044 | 1044 | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) |
r26344 | r26345 | |
1061 | 1061 | PORT_DIPNAME( 0x0001, 0x0001, "2" ) |
1062 | 1062 | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
1063 | 1063 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1064 | | PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) |
| 1064 | PORT_DIPNAME( 0x0002, 0x0002, "start" ) // start |
1065 | 1065 | PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) |
1066 | 1066 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1067 | 1067 | PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) |
r26344 | r26345 | |
1070 | 1070 | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) |
1071 | 1071 | PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) |
1072 | 1072 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1073 | | PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) |
| 1073 | PORT_DIPNAME( 0x0010, 0x0010, "handbrake?" ) |
1074 | 1074 | PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) |
1075 | 1075 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1076 | 1076 | PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) |
1077 | 1077 | PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) |
1078 | 1078 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1079 | | PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) |
| 1079 | PORT_DIPNAME( 0x0040, 0x0040, "pedal inverse" ) |
1080 | 1080 | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
1081 | 1081 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1082 | 1082 | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) |
r26344 | r26345 | |
1102 | 1102 | PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) |
1103 | 1103 | PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) |
1104 | 1104 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1105 | | PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) |
| 1105 | PORT_DIPNAME( 0x0040, 0x0040, "coin" ) // coin? |
1106 | 1106 | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
1107 | 1107 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1108 | | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) |
| 1108 | PORT_DIPNAME( 0x0080, 0x0080, "machineguns" ) // machine guns |
1109 | 1109 | PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) |
1110 | 1110 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
1111 | 1111 | INPUT_PORTS_END |
r26344 | r26345 | |
1413 | 1413 | ADDRESS_MAP_UNMAP_HIGH |
1414 | 1414 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
1415 | 1415 | |
1416 | | AM_RANGE(0x12, 0x13) AM_DEVWRITE("ay1", ay8910_device, address_data_w) |
1417 | | AM_RANGE(0x14, 0x15) AM_DEVWRITE("ay2", ay8910_device, address_data_w) |
1418 | | AM_RANGE(0x18, 0x19) AM_DEVWRITE("ay3", ay8910_device, address_data_w) |
| 1416 | AM_RANGE(0x12, 0x13) AM_DEVWRITE("ay1", ay8912_device, address_data_w) |
| 1417 | AM_RANGE(0x14, 0x15) AM_DEVWRITE("ay2", ay8912_device, address_data_w) |
| 1418 | AM_RANGE(0x18, 0x19) AM_DEVWRITE("ay3", ay8912_device, address_data_w) |
1419 | 1419 | |
1420 | 1420 | ADDRESS_MAP_END |
1421 | 1421 | |
r26344 | r26345 | |
1423 | 1423 | |
1424 | 1424 | static MACHINE_CONFIG_START( spyhuntpr, mcr3_state ) |
1425 | 1425 | |
| 1426 | // note: no ctc, no nvram |
| 1427 | // 2*z80, 3*ay8912 |
| 1428 | |
1426 | 1429 | /* basic machine hardware */ |
1427 | 1430 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
1428 | 1431 | MCFG_CPU_PROGRAM_MAP(spyhuntpr_map) |
r26344 | r26345 | |
1435 | 1438 | MCFG_WATCHDOG_VBLANK_INIT(16) |
1436 | 1439 | MCFG_MACHINE_START_OVERRIDE(mcr3_state,mcr) |
1437 | 1440 | MCFG_MACHINE_RESET_OVERRIDE(mcr3_state,mcr) |
1438 | | MCFG_NVRAM_ADD_0FILL("nvram") |
1439 | 1441 | |
| 1442 | // MCFG_NVRAM_ADD_0FILL("nvram") |
| 1443 | |
1440 | 1444 | |
1441 | 1445 | /* video hardware */ |
1442 | 1446 | MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) |
r26344 | r26345 | |
1463 | 1467 | |
1464 | 1468 | MCFG_SPEAKER_STANDARD_MONO("mono") |
1465 | 1469 | |
1466 | | MCFG_SOUND_ADD("ay1", AY8910, 3000000/2) |
| 1470 | MCFG_SOUND_ADD("ay1", AY8912, 3000000/2) // AY-3-8912 |
1467 | 1471 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
1468 | | MCFG_SOUND_ADD("ay2", AY8910, 3000000/2) |
| 1472 | MCFG_SOUND_ADD("ay2", AY8912, 3000000/2) // " |
1469 | 1473 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
1470 | | MCFG_SOUND_ADD("ay3", AY8910, 3000000/2) |
| 1474 | MCFG_SOUND_ADD("ay3", AY8912, 3000000/2) // " |
1471 | 1475 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
1472 | 1476 | |
1473 | 1477 | MACHINE_CONFIG_END |