Previous 199869 Revisions Next

r26541 Sunday 8th December, 2013 at 16:56:08 UTC by Angelo Salese
Added inputs, marked as working

new WORKING game
----------------
Power Kick [bodger319, Yohji, Smitdogg, The Dumping Union, Angelo Salese]
[src/mame/drivers]toaplan2.c
[src/mame/includes]toaplan2.h

trunk/src/mame/includes/toaplan2.h
r26540r26541
156156   optional_device<okim6295_device> m_oki1;
157157   optional_device<eeprom_serial_93cxx_device> m_eeprom;
158158
159   UINT8 m_pwrkick_hopper;
160   DECLARE_CUSTOM_INPUT_MEMBER(pwrkick_hopper_status_r);
161   DECLARE_WRITE8_MEMBER(pwrkick_coin_w);
162
159163protected:
160164   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
161165};
trunk/src/mame/drivers/toaplan2.c
r26540r26541
555555   }
556556}
557557
558WRITE8_MEMBER(toaplan2_state::pwrkick_coin_w)
559{
560   coin_counter_w( machine(), 0, (data & 2) >> 1 );
561   coin_counter_w( machine(), 1, (data & 8) >> 3 );
562   m_pwrkick_hopper = (data & 0x80) >> 7;
563}
558564
565
559566WRITE16_MEMBER(toaplan2_state::toaplan2_coin_word_w)
560567{
561568   if (ACCESSING_BITS_0_7)
r26540r26541
12001207static ADDRESS_MAP_START( pwrkick_68k_mem, AS_PROGRAM, 16, toaplan2_state )
12011208   AM_RANGE(0x000000, 0x07ffff) AM_ROM
12021209   AM_RANGE(0x100000, 0x10ffff) AM_RAM
1210   AM_RANGE(0x200000, 0x20000f) AM_RAM // uPD4992 RTC
12031211   AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
12041212   AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
12051213   AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
12061214
1207//   AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("SYS")
1208//   AM_RANGE(0x700000, 0x700001) AM_READ_PORT("JMPR")
12091215   AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) // check me
12101216   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("DSWA")
12111217   AM_RANGE(0x700008, 0x700009) AM_READ_PORT("DSWB")
12121218   AM_RANGE(0x70000c, 0x70000d) AM_READ_PORT("IN1")
1213   AM_RANGE(0x700010, 0x700011) AM_READ_PORT("IN2")
1214   AM_RANGE(0x700014, 0x700015) AM_READ_PORT("IN3")
1215   AM_RANGE(0x700018, 0x700019) AM_READ_PORT("IN4")
1219   AM_RANGE(0x700014, 0x700015) AM_READ_PORT("IN2")
1220   AM_RANGE(0x700018, 0x700019) AM_READ_PORT("DSWC")
12161221   AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("SYS")
12171222   AM_RANGE(0x700030, 0x700031) AM_WRITE(oki_bankswitch_w)
1223   AM_RANGE(0x700034, 0x700035) AM_WRITE8(pwrkick_coin_w,0x00ff)
1224   AM_RANGE(0x700038, 0x700039) AM_WRITENOP // lamps?
12181225ADDRESS_MAP_END
12191226
12201227
r26540r26541
23012308   PORT_CONFSETTING(       0x0000, "Korea (Unite Trading)" )
23022309INPUT_PORTS_END
23032310
2304/* TODO: placeholder, needs heavy modifications for sure */
2311
2312CUSTOM_INPUT_MEMBER(toaplan2_state::pwrkick_hopper_status_r)
2313{
2314   /* TODO: hopper mechanism */
2315   return machine().rand() & 1;
2316   //return m_pwrkick_hopper & (machine().rand() & 1);
2317}
2318
23052319static INPUT_PORTS_START( pwrkick )
2306   PORT_INCLUDE( toaplan2_2b )
2320   PORT_START("DSWA")
2321   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) )
2322   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
2323   PORT_DIPSETTING(    0x01, DEF_STR( Normal ) )
2324   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
2325   PORT_DIPSETTING(    0x03, DEF_STR( Very_Hard ) )
2326   PORT_DIPNAME( 0x1c, 0x00, "Payout" )
2327   PORT_DIPSETTING(    0x00, "1" )
2328   PORT_DIPSETTING(    0x04, "2" )
2329   PORT_DIPSETTING(    0x08, "3" )
2330   PORT_DIPSETTING(    0x0c, "4" )
2331   PORT_DIPSETTING(    0x10, "5" )
2332   PORT_DIPSETTING(    0x14, "6" )
2333   PORT_DIPSETTING(    0x18, "7" )
2334   PORT_DIPSETTING(    0x1c, "8" )
2335   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
2336   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2337   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2338   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) )
2339   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2340   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2341   PORT_DIPNAME( 0x80, 0x00, "Diagnostic" )
2342   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2343   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
23072344
2308   PORT_START("IN3")
2309   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3) PORT_8WAY
2310   PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) PORT_8WAY
2311   PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3) PORT_8WAY
2312   PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3) PORT_8WAY
2313   PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3)
2314   PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(3)
2315   PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_START3 )
2316   PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2345   PORT_START("DSWB")
2346   PORT_DIPNAME( 0x03, 0x00, "Play Credit" )
2347   PORT_DIPSETTING(    0x00, "10 \xC2\xA5" )
2348   PORT_DIPSETTING(    0x01, "20 \xC2\xA5" )
2349   PORT_DIPSETTING(    0x02, "30 \xC2\xA5" )
2350   PORT_DIPSETTING(    0x03, "40 \xC2\xA5" )
2351   PORT_DIPNAME( 0x0c, 0x00, "Coin Exchange" )
2352   PORT_DIPSETTING(    0x00, "12" )
2353   PORT_DIPSETTING(    0x04, "10" )
2354   PORT_DIPSETTING(    0x08, "6" )
2355   PORT_DIPSETTING(    0x0c, "5" )
2356   PORT_DIPNAME( 0x30, 0x00, "Game Mode" )
2357   PORT_DIPSETTING(    0x00, DEF_STR( Normal ) )
2358   PORT_DIPSETTING(    0x10, "Shot" )
2359   PORT_DIPSETTING(    0x20, "Auto" )
2360   PORT_DIPSETTING(    0x30, "S-Manual" )
2361   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) )
2362   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2363   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2364   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) )
2365   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2366   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
23172367
2318   PORT_START("IN4")
2319   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(4) PORT_8WAY
2320   PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4) PORT_8WAY
2321   PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4) PORT_8WAY
2322   PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4) PORT_8WAY
2323   PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(4)
2324   PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(4)
2325   PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_START4 )
2326   PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2368   PORT_START("DSWC")
2369   PORT_DIPNAME( 0x01, 0x00, "DSWC" )
2370   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2371   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
2372   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
2373   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2374   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
2375   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
2376   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2377   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
2378   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
2379   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2380   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2381   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
2382   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2383   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
2384   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
2385   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2386   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
2387   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
2388   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2389   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2390   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
2391   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2392   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
23272393
2328   PORT_MODIFY("DSWA")
2329   PORT_DIPNAME( 0x0001,   0x0000, DEF_STR( Continue_Price ) ) PORT_DIPLOCATION("SW1:!1")
2330   PORT_DIPSETTING(        0x0000, DEF_STR( Normal ) )
2331   PORT_DIPSETTING(        0x0001, "Discount" )
2332   // Various features on bit mask 0x000e - see above
2333   TOAPLAN_COINAGE_DUAL_LOC( JMPR, 0x1c00, 0x0800, SW1 )
2394   PORT_START("IN1")
2395   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
2396   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Left Button")
2397   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Center Button")
2398   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Right Button")
2399   PORT_DIPNAME( 0x10, 0x00, "IN1" )
2400   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2401   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
2402   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
2403   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2404   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
2405   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
2406   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2407   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2408   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
2409   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2410   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
23342411
2335   PORT_MODIFY("DSWB")
2336   // Difficulty on bit mask 0x0003 - see above
2337   PORT_DIPNAME( 0x000c,   0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4")
2338   PORT_DIPSETTING(        0x000c, DEF_STR( None ) )
2339   PORT_DIPSETTING(        0x0008, "200k only" )
2340   PORT_DIPSETTING(        0x0000, "100k only" )
2341   PORT_DIPSETTING(        0x0004, "100k and every 500k" )
2342   PORT_DIPNAME( 0x0030,   0x0000, DEF_STR( Lives ) )      PORT_DIPLOCATION("SW2:!5,!6")
2343   PORT_DIPSETTING(        0x0030, "1" )
2344   PORT_DIPSETTING(        0x0020, "2" )
2345   PORT_DIPSETTING(        0x0000, "3" )
2346   PORT_DIPSETTING(        0x0010, "4" )
2347   PORT_DIPNAME( 0x0040,   0x0000, "Invulnerability (Cheat)" )     PORT_DIPLOCATION("SW2:!7")
2348   PORT_DIPSETTING(        0x0000, DEF_STR( Off ) )
2349   PORT_DIPSETTING(        0x0040, DEF_STR( On ) )
2350   PORT_DIPNAME( 0x0080,   0x0000, "Maximum Players" )     PORT_DIPLOCATION("SW2:!8")
2351   PORT_DIPSETTING(        0x0080, "2" )
2352   PORT_DIPSETTING(        0x0000, "4" )
2412   PORT_START("IN2")
2413   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_GAMBLE_KEYIN ) // 10 Yen
2414   PORT_SERVICE( 0x02, IP_ACTIVE_HIGH )
2415   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Down Button")
2416   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, toaplan2_state, pwrkick_hopper_status_r, NULL)
2417   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SERVICE3 ) PORT_NAME("Memory Reset")
2418   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
2419   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2420   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
2421   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
2422   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2423   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2424   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
2425   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2426   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
23532427
2354   PORT_START("JMPR")
2355   PORT_CONFNAME( 0x2000,  0x0000, "Show All Rights Reserved" )    //PORT_CONFLOCATION("JP:!1")
2356   PORT_CONFSETTING(       0x0000, DEF_STR( No ) )
2357   PORT_CONFSETTING(       0x2000, DEF_STR( Yes ) )
2358   PORT_CONFNAME( 0x1c00,  0x0800, DEF_STR( Region ) ) //PORT_CONFLOCATION("JP:!4,!3,!2")
2359   PORT_CONFSETTING(       0x0800, DEF_STR( Europe ) )
2360   PORT_CONFSETTING(       0x0400, DEF_STR( USA ) )
2361   PORT_CONFSETTING(       0x0000, DEF_STR( Japan ) )
2362   PORT_CONFSETTING(       0x0c00, DEF_STR( Korea ) )
2363   PORT_CONFSETTING(       0x1000, DEF_STR( Hong_Kong ) )
2364   PORT_CONFSETTING(       0x1400, DEF_STR( Taiwan ) )
2365   PORT_CONFSETTING(       0x1800, DEF_STR( Southeast_Asia ) )
2366//  PORT_CONFSETTING(        0x1c00, DEF_STR( Unused ) )
2367   PORT_BIT( 0xc3ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2428   PORT_START("SYS")
2429   PORT_DIPNAME( 0x01, 0x00, "SYS" )
2430   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2431   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
2432   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
2433   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2434   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
2435   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 ) // 100 Yen
2436   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_NAME("Bookkeeping")
2437   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
2438   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2439   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
2440   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
2441   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2442   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
2443   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SERVICE4 ) PORT_NAME("Attendant Key")
2444   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 )
23682445INPUT_PORTS_END
23692446
23702447static INPUT_PORTS_START( snowbro2 )
r26540r26541
51195196GAME( 1993, batsuguna,  batsugun, batsugun, batsugun, toaplan2_state,   dogyuun, ROT270, "Toaplan", "Batsugun (older set)", GAME_SUPPORTS_SAVE )
51205197GAME( 1993, batsugunsp, batsugun, batsugun, batsugun, toaplan2_state,   dogyuun, ROT270, "Toaplan", "Batsugun - Special Version", GAME_SUPPORTS_SAVE )
51215198
5122GAME( 1994, pwrkick,  0,   pwrkick,  pwrkick, driver_device,  0,       ROT0,            "Sunwise",  "Power Kick", GAME_NOT_WORKING )
5199GAME( 1994, pwrkick,    0,        pwrkick,  pwrkick, driver_device,    0,       ROT0,   "Sunwise",  "Power Kick (Japan)", 0 )
51235200
51245201GAME( 1994, snowbro2,   0,        snowbro2, snowbro2, driver_device,   0,       ROT0,   "Hanafram", "Snow Bros. 2 - With New Elves / Otenki Paradise", GAME_SUPPORTS_SAVE )
51255202

Previous 199869 Revisions Next


© 1997-2024 The MAME Team