trunk/src/mame/drivers/8080bw.c
| r23610 | r23611 | |
| 3016 | 3016 | INVADERS_CAB_TYPE_PORT |
| 3017 | 3017 | INPUT_PORTS_END |
| 3018 | 3018 | |
| 3019 | |
| 3020 | |
| 3019 | 3021 | /***************************************************** |
| 3020 | | Attack Force |
| 3021 | | *****************************************************/ |
| 3022 | 3022 | |
| 3023 | Attack Force, by E.G.S., Italy |
| 3024 | Not much information is available for this game. |
| 3025 | It may have had an amber monitor? |
| 3026 | |
| 3027 | XTAL 20MHz |
| 3028 | |
| 3029 | TODO: sound |
| 3023 | 3030 | |
| 3031 | *****************************************************/ |
| 3024 | 3032 | |
| 3025 | 3033 | static ADDRESS_MAP_START( attackfc_io_map, AS_IO, 8, _8080bw_state ) |
| 3026 | | //AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") |
| 3034 | AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") |
| 3035 | AM_RANGE(0x02, 0x02) AM_WRITENOP |
| 3036 | AM_RANGE(0x03, 0x03) AM_DEVREADWRITE("mb14241", mb14241_device, shift_result_r, shift_data_w) |
| 3037 | AM_RANGE(0x04, 0x04) AM_WRITENOP |
| 3038 | AM_RANGE(0x05, 0x05) AM_WRITENOP |
| 3039 | AM_RANGE(0x06, 0x06) AM_WRITENOP |
| 3040 | AM_RANGE(0x07, 0x07) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w) |
| 3027 | 3041 | ADDRESS_MAP_END |
| 3028 | 3042 | |
| 3029 | | static ADDRESS_MAP_START( attackfc_map, AS_PROGRAM, 8, _8080bw_state ) |
| 3030 | | AM_RANGE(0x0000, 0x1fff) AM_ROM |
| 3031 | | AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("main_ram") |
| 3032 | 3043 | |
| 3033 | | // AM_RANGE(0xf000, 0xffff) AM_RAM |
| 3034 | | ADDRESS_MAP_END |
| 3044 | static INPUT_PORTS_START( attackfc ) |
| 3045 | PORT_START("IN0") |
| 3046 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY |
| 3047 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY |
| 3048 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 3049 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3050 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3051 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3052 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3053 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) |
| 3054 | INPUT_PORTS_END |
| 3035 | 3055 | |
| 3036 | 3056 | |
| 3037 | 3057 | static MACHINE_CONFIG_DERIVED_CLASS( attackfc, mw8080bw_root, _8080bw_state ) |
| 3038 | 3058 | |
| 3039 | 3059 | /* basic machine hardware */ |
| 3040 | 3060 | MCFG_CPU_MODIFY("maincpu") |
| 3041 | | MCFG_CPU_PROGRAM_MAP(attackfc_map) |
| 3042 | 3061 | MCFG_CPU_IO_MAP(attackfc_io_map) |
| 3043 | | MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw) |
| 3044 | 3062 | |
| 3045 | | // /* add shifter */ |
| 3046 | | // MCFG_MB14241_ADD("mb14241") |
| 3063 | /* add shifter */ |
| 3064 | MCFG_MB14241_ADD("mb14241") |
| 3047 | 3065 | |
| 3048 | | // /* sound hardware */ |
| 3049 | | // MCFG_FRAGMENT_ADD(invaders_samples_audio) |
| 3050 | | // MCFG_DISCRETE_ADD("discrete", 0, galactic) |
| 3051 | | // MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 3052 | | |
| 3053 | | /* video hardware */ |
| 3054 | | MCFG_SCREEN_MODIFY("screen") |
| 3055 | | MCFG_SCREEN_UPDATE_DRIVER(_8080bw_state, screen_update_invaders) |
| 3066 | /* sound hardware */ |
| 3067 | // TODO: custom discrete |
| 3056 | 3068 | MACHINE_CONFIG_END |
| 3057 | 3069 | |
| 3058 | 3070 | |
| 3059 | | static INPUT_PORTS_START( attackfc ) |
| 3060 | | PORT_START("IN0") |
| 3061 | | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 3071 | DRIVER_INIT_MEMBER(_8080bw_state,attackfc) |
| 3072 | { |
| 3073 | UINT8 *rom = memregion("maincpu")->base(); |
| 3074 | UINT32 len = memregion("maincpu")->bytes(); |
| 3075 | UINT8 *buffer = auto_alloc_array(machine(), UINT8, len); |
| 3076 | |
| 3077 | // swap a8/a9 |
| 3078 | for (int i = 0; i < len; i++) |
| 3079 | buffer[BITSWAP16(i, 15,14,13,12,11,10,8,9, 7,6,5,4,3,2,1,0)] = rom[i]; |
| 3062 | 3080 | |
| 3063 | | PORT_START("IN1") |
| 3064 | | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 3081 | memcpy(rom, buffer, len); |
| 3082 | auto_free(machine(), buffer); |
| 3083 | } |
| 3065 | 3084 | |
| 3066 | | PORT_START("IN2") |
| 3067 | | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 3068 | 3085 | |
| 3069 | | /* Dummy controls port, P1 */ |
| 3070 | | INVADERS_CONTROL_PORT_P1 |
| 3071 | 3086 | |
| 3072 | | /* Dummy controls port, P2 */ |
| 3073 | | INVADERS_CONTROL_PORT_P2 |
| 3074 | | |
| 3075 | | /* Dummy port for cocktail mode */ |
| 3076 | | INVADERS_CAB_TYPE_PORT |
| 3077 | | INPUT_PORTS_END |
| 3078 | | |
| 3079 | | |
| 3080 | | |
| 3081 | 3087 | /***************************************************** |
| 3082 | 3088 | |
| 3083 | 3089 | Space Invaders Multigame kit, Braze Technologies, |
| r23610 | r23611 | |
| 4551 | 4557 | ROM_LOAD( "31a.bin", 0x0800, 0x0400, CRC(787a4658) SHA1(5be3143bdba6a32256603be94400034a8ea1fda6) ) |
| 4552 | 4558 | ROM_LOAD( "37a.bin", 0x0c00, 0x0400, CRC(ad6bfbbe) SHA1(5f5437b6c8e7dfe9649b25040862f8a51d8c43ed) ) |
| 4553 | 4559 | ROM_LOAD( "32a.bin", 0x1000, 0x0400, CRC(cbe0a711) SHA1(6e5f4214a4b48b70464005f4263c9b1ec3cbbeb1) ) |
| 4554 | | ROM_LOAD( "33a.bin", 0x1800, 0x0400, BAD_DUMP CRC(53147393) SHA1(57e078f1734e382e8a46be09c133daab30c75681) ) |
| 4560 | ROM_LOAD( "33a.bin", 0x1800, 0x0400, CRC(53147393) SHA1(57e078f1734e382e8a46be09c133daab30c75681) ) |
| 4555 | 4561 | ROM_LOAD( "39a.bin", 0x1c00, 0x0400, CRC(f538cf08) SHA1(4a375a41ab5d9f0d9f9a2ebef4c448038c139204) ) |
| 4556 | 4562 | ROM_END |
| 4557 | 4563 | |
| r23610 | r23611 | |
| 4654 | 4660 | GAME (1978, claybust, 0, claybust, claybust, driver_device, 0, ROT0, "Model Racing", "Claybuster", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // no titlescreen, Claybuster according to flyers |
| 4655 | 4661 | GAME (1980, gunchamp, 0, claybust, gunchamp, driver_device, 0, ROT0, "Model Racing", "Gun Champ", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // no titlescreen, Gun Champ according to original cab |
| 4656 | 4662 | GAME( 19??, astropal, 0, astropal, astropal, driver_device, 0, ROT0, "Sidam?", "Astropal", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) |
| 4657 | | GAME( 1979, attackfc, 0, attackfc, attackfc, driver_device, 0, ROT270, "Electronic Games Systems", "Attack Force", GAME_NOT_WORKING | GAME_NO_SOUND ) // not sure how close this is to invaders hw |
| 4663 | GAME( 1979?,attackfc, 0, attackfc, attackfc, _8080bw_state, attackfc, ROT0, "Electronic Games Systems", "Attack Force", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) |
| 4658 | 4664 | |
| 4659 | 4665 | GAME( 2002, invmulti, 0, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03D)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
| 4660 | 4666 | GAME( 2002, invmultim3a,invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |