trunk/src/mame/drivers/mcr3.c
| r26325 | r26326 | |
| 534 | 534 | AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("ctc", z80ctc_device, read, write) |
| 535 | 535 | ADDRESS_MAP_END |
| 536 | 536 | |
| 537 | |
| 538 | static ADDRESS_MAP_START( spyhuntpr_map, AS_PROGRAM, 8, mcr3_state ) |
| 539 | ADDRESS_MAP_UNMAP_HIGH |
| 540 | AM_RANGE(0x0000, 0xdfff) AM_ROM |
| 541 | AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_SHARE("videoram") |
| 542 | AM_RANGE(0xe800, 0xebff) AM_MIRROR(0x0400) AM_RAM_WRITE(spyhunt_alpharam_w) AM_SHARE("spyhunt_alpha") |
| 543 | AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram") |
| 544 | AM_RANGE(0xf800, 0xf9ff) AM_RAM AM_SHARE("spriteram") |
| 545 | AM_RANGE(0xfb80, 0xfbff) AM_RAM AM_WRITE(spyhuntpr_paletteram_w) AM_SHARE("paletteram") |
| 546 | |
| 547 | AM_RANGE(0xfc00, 0xfc00) AM_READ_PORT("IN0") |
| 548 | AM_RANGE(0xfc01, 0xfc01) AM_READ_PORT("IN1") |
| 549 | AM_RANGE(0xfc02, 0xfc02) AM_READ_PORT("IN2") |
| 550 | AM_RANGE(0xfc03, 0xfc03) AM_READ_PORT("IN3") |
| 551 | // AM_RANGE(0xfc01, 0xfc01) AM_READ_PORT("IN3") |
| 552 | |
| 553 | // AM_RANGE(0xfa80, 0xfdff) AM_RAM |
| 554 | |
| 555 | |
| 556 | |
| 557 | AM_RANGE(0xfe00, 0xffff) AM_RAM // a modified copy of spriteram for this hw?? |
| 558 | ADDRESS_MAP_END |
| 559 | |
| 537 | 560 | static ADDRESS_MAP_START( spyhuntpr_portmap, AS_IO, 8, mcr3_state ) |
| 538 | 561 | ADDRESS_MAP_UNMAP_HIGH |
| 539 | 562 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| r26325 | r26326 | |
| 942 | 965 | PORT_BIT( 0xff, 0x74, IPT_PADDLE ) PORT_MINMAX(0x34,0xb4) PORT_SENSITIVITY(40) PORT_KEYDELTA(10) |
| 943 | 966 | INPUT_PORTS_END |
| 944 | 967 | |
| 968 | static INPUT_PORTS_START( spyhuntpr ) |
| 969 | PORT_START("IN0") |
| 970 | PORT_DIPNAME( 0x0001, 0x0001, "0" ) |
| 971 | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
| 972 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 973 | PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) |
| 974 | PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) |
| 975 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 976 | PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) |
| 977 | PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) |
| 978 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 979 | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) |
| 980 | PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) |
| 981 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 982 | PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) |
| 983 | PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) |
| 984 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 985 | PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) |
| 986 | PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) |
| 987 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 988 | PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) |
| 989 | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
| 990 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 991 | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) |
| 992 | PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) |
| 993 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 945 | 994 | |
| 995 | PORT_START("IN1") |
| 996 | PORT_DIPNAME( 0x0001, 0x0001, "1" ) |
| 997 | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
| 998 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 999 | PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) |
| 1000 | PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) |
| 1001 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1002 | PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) |
| 1003 | PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) |
| 1004 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1005 | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) |
| 1006 | PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) |
| 1007 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1008 | PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) |
| 1009 | PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) |
| 1010 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1011 | PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) |
| 1012 | PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) |
| 1013 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1014 | PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) |
| 1015 | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
| 1016 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1017 | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) |
| 1018 | PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) |
| 1019 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1020 | |
| 1021 | PORT_START("IN2") |
| 1022 | PORT_DIPNAME( 0x0001, 0x0001, "2" ) |
| 1023 | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
| 1024 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1025 | PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) |
| 1026 | PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) |
| 1027 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1028 | PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) |
| 1029 | PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) |
| 1030 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1031 | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) |
| 1032 | PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) |
| 1033 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1034 | PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) |
| 1035 | PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) |
| 1036 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1037 | PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) |
| 1038 | PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) |
| 1039 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1040 | PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) |
| 1041 | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
| 1042 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1043 | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) |
| 1044 | PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) |
| 1045 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1046 | |
| 1047 | PORT_START("IN3") |
| 1048 | PORT_DIPNAME( 0x0001, 0x0001, "3" ) |
| 1049 | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
| 1050 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1051 | PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) |
| 1052 | PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) |
| 1053 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1054 | PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) |
| 1055 | PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) |
| 1056 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1057 | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) |
| 1058 | PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) |
| 1059 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1060 | PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) |
| 1061 | PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) |
| 1062 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1063 | PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) |
| 1064 | PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) |
| 1065 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1066 | PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) |
| 1067 | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
| 1068 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1069 | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) |
| 1070 | PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) |
| 1071 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 1072 | INPUT_PORTS_END |
| 1073 | |
| 946 | 1074 | /* not verified, no manual found */ |
| 947 | 1075 | static INPUT_PORTS_START( crater ) |
| 948 | 1076 | PORT_START("ssio:IP0") /* J4 1-8 */ |
| r26325 | r26326 | |
| 1106 | 1234 | 64,16, |
| 1107 | 1235 | RGN_FRAC(1,8), |
| 1108 | 1236 | 4, |
| 1109 | | { 0, 2*8, 0x4000*8 + 0, 0x4000*8 + 2*8}, |
| 1237 | { 0*8, 0x4000*8 + 2*8, 0x4000*8 + 0*8, 2*8 }, |
| 1110 | 1238 | EXTENDED_XOFFS, |
| 1111 | 1239 | { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 1*8, 5*8, 9*8, 13*8, 17*8, 21*8, 25*8, 29*8 }, |
| 1112 | 1240 | 32*8, |
| r26325 | r26326 | |
| 1259 | 1387 | |
| 1260 | 1388 | /* basic machine hardware */ |
| 1261 | 1389 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
| 1262 | | MCFG_CPU_PROGRAM_MAP(spyhunt_map) |
| 1390 | MCFG_CPU_PROGRAM_MAP(spyhuntpr_map) |
| 1263 | 1391 | MCFG_CPU_IO_MAP(spyhuntpr_portmap) |
| 1264 | 1392 | MCFG_CPU_CONFIG(mcr_daisy_chain) |
| 1265 | 1393 | MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mcr3_state, mcr_interrupt, "screen", 0, 1) |
| r26325 | r26326 | |
| 1587 | 1715 | ROM_LOAD( "5.bin", 0x0000, 0x2000, CRC(33fe2829) SHA1(e6950dbf681242bf23542ca6604e62eacb431101) ) |
| 1588 | 1716 | |
| 1589 | 1717 | |
| 1590 | | ROM_REGION( 0x08000, "gfx1", 0 ) |
| 1718 | ROM_REGION( 0x08000, "gfx1", ROMREGION_INVERT ) |
| 1591 | 1719 | ROM_LOAD32_BYTE( "6.bin", 0x0000, 0x200, CRC(6b76f46a) SHA1(4b398084c42a60fcfa4a9bf14f844e36a3f42723) ) |
| 1592 | 1720 | ROM_CONTINUE(0x0001, 0x200) |
| 1593 | 1721 | ROM_CONTINUE(0x0800, 0x200) |
| r26325 | r26326 | |
| 1880 | 2008 | /* MCR scrolling games */ |
| 1881 | 2009 | GAMEL(1983, spyhunt, 0, mcrsc_csd, spyhunt, mcr3_state, spyhunt, ROT90, "Bally Midway", "Spy Hunter", GAME_SUPPORTS_SAVE, layout_spyhunt ) |
| 1882 | 2010 | GAMEL(1983, spyhuntp, spyhunt, mcrsc_csd, spyhunt, mcr3_state, spyhunt, ROT90, "Bally Midway (Playtronic license)", "Spy Hunter (Playtronic license)", GAME_SUPPORTS_SAVE, layout_spyhunt ) |
| 1883 | | GAME (1983, spyhuntpr, spyhunt, spyhuntpr, spyhunt, mcr3_state, spyhuntpr, ROT90, "Bally Midway", "Spy Hunter (prototype)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // or bootleg?? |
| 2011 | GAME (1983, spyhuntpr,spyhunt, spyhuntpr, spyhuntpr,mcr3_state, spyhuntpr,ROT90, "Bally Midway", "Spy Hunter (bootleg / prototype of low cost PCB?)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // PCB made in Valencia Spain? has Bally Midway logo, but board is dated '85' and it seems very 'unofficial' |
| 1884 | 2012 | GAME( 1984, crater, 0, mcrscroll, crater, mcr3_state, crater, ORIENTATION_FLIP_X, "Bally Midway", "Crater Raider", GAME_SUPPORTS_SAVE ) |
| 1885 | 2013 | GAMEL(1985, turbotag, 0, mcrsc_csd, turbotag, mcr3_state, turbotag, ROT90, "Bally Midway", "Turbo Tag (prototype)", GAME_SUPPORTS_SAVE, layout_turbotag ) |