trunk/src/mame/drivers/toaplan2.c
| r26527 | r26528 | |
| 1197 | 1197 | AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) |
| 1198 | 1198 | ADDRESS_MAP_END |
| 1199 | 1199 | |
| 1200 | static ADDRESS_MAP_START( pwrkick_68k_mem, AS_PROGRAM, 16, toaplan2_state ) |
| 1201 | AM_RANGE(0x000000, 0x07ffff) AM_ROM |
| 1202 | AM_RANGE(0x100000, 0x10ffff) AM_RAM |
| 1203 | AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) |
| 1204 | AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") |
| 1205 | AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) |
| 1200 | 1206 | |
| 1207 | // AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("SYS") |
| 1208 | // AM_RANGE(0x700000, 0x700001) AM_READ_PORT("JMPR") |
| 1209 | AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) // check me |
| 1210 | AM_RANGE(0x700004, 0x700005) AM_READ_PORT("DSWA") |
| 1211 | AM_RANGE(0x700008, 0x700009) AM_READ_PORT("DSWB") |
| 1212 | 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") |
| 1216 | AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("SYS") |
| 1217 | AM_RANGE(0x700030, 0x700031) AM_WRITE(oki_bankswitch_w) |
| 1218 | ADDRESS_MAP_END |
| 1219 | |
| 1220 | |
| 1201 | 1221 | static ADDRESS_MAP_START( snowbro2_68k_mem, AS_PROGRAM, 16, toaplan2_state ) |
| 1202 | 1222 | AM_RANGE(0x000000, 0x07ffff) AM_ROM |
| 1203 | 1223 | AM_RANGE(0x100000, 0x10ffff) AM_RAM |
| r26527 | r26528 | |
| 2231 | 2251 | INPUT_PORTS_END |
| 2232 | 2252 | |
| 2233 | 2253 | |
| 2254 | |
| 2234 | 2255 | static INPUT_PORTS_START( batsugun ) |
| 2235 | 2256 | PORT_INCLUDE( toaplan2_3b ) |
| 2236 | 2257 | |
| r26527 | r26528 | |
| 2280 | 2301 | PORT_CONFSETTING( 0x0000, "Korea (Unite Trading)" ) |
| 2281 | 2302 | INPUT_PORTS_END |
| 2282 | 2303 | |
| 2304 | /* TODO: placeholder, needs heavy modifications for sure */ |
| 2305 | static INPUT_PORTS_START( pwrkick ) |
| 2306 | PORT_INCLUDE( toaplan2_2b ) |
| 2283 | 2307 | |
| 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 ) |
| 2317 | |
| 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 ) |
| 2327 | |
| 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 ) |
| 2334 | |
| 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" ) |
| 2353 | |
| 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 ) |
| 2368 | INPUT_PORTS_END |
| 2369 | |
| 2284 | 2370 | static INPUT_PORTS_START( snowbro2 ) |
| 2285 | 2371 | PORT_INCLUDE( toaplan2_2b ) |
| 2286 | 2372 | |
| r26527 | r26528 | |
| 3456 | 3542 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) |
| 3457 | 3543 | MACHINE_CONFIG_END |
| 3458 | 3544 | |
| 3545 | static MACHINE_CONFIG_START( pwrkick, toaplan2_state ) |
| 3459 | 3546 | |
| 3547 | /* basic machine hardware */ |
| 3548 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* 16MHz , 32MHz Oscillator */ |
| 3549 | MCFG_CPU_PROGRAM_MAP(pwrkick_68k_mem) |
| 3550 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) |
| 3551 | |
| 3552 | // MCFG_CPU_ADD("audiocpu", V25, XTAL_32MHz/2) /* NEC V25 type Toaplan marked CPU ??? */ |
| 3553 | // MCFG_CPU_PROGRAM_MAP(v25_mem) |
| 3554 | // MCFG_CPU_IO_MAP(v25_port) |
| 3555 | |
| 3556 | MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) |
| 3557 | |
| 3558 | /* video hardware */ |
| 3559 | MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) |
| 3560 | |
| 3561 | MCFG_SCREEN_ADD("screen", RASTER) |
| 3562 | MCFG_SCREEN_REFRESH_RATE(60) |
| 3563 | MCFG_SCREEN_SIZE(432, 262) |
| 3564 | MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239) |
| 3565 | MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2) |
| 3566 | MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) |
| 3567 | |
| 3568 | MCFG_GFXDECODE(toaplan2) |
| 3569 | MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH) |
| 3570 | |
| 3571 | MCFG_DEVICE_ADD_VDP0 |
| 3572 | |
| 3573 | MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) |
| 3574 | |
| 3575 | /* sound hardware */ |
| 3576 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 3577 | |
| 3578 | MCFG_YM2151_ADD("ymsnd", XTAL_27MHz/8) |
| 3579 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) |
| 3580 | |
| 3581 | MCFG_OKIM6295_ADD("oki", XTAL_32MHz/8, OKIM6295_PIN7_LOW) |
| 3582 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) |
| 3583 | MACHINE_CONFIG_END |
| 3584 | |
| 3460 | 3585 | static MACHINE_CONFIG_START( snowbro2, toaplan2_state ) |
| 3461 | 3586 | |
| 3462 | 3587 | /* basic machine hardware */ |
| r26527 | r26528 | |
| 4274 | 4399 | ROM_END |
| 4275 | 4400 | |
| 4276 | 4401 | |
| 4402 | ROM_START( pwrkick ) |
| 4403 | ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) |
| 4404 | ROM_LOAD16_WORD_SWAP( "1.u61", 0x000000, 0x080000, CRC(118b5899) SHA1(7a1637a63eb17e3892d79aede5730013a1dc00f9) ) |
| 4405 | |
| 4406 | ROM_REGION( 0x100000, "gfx1", ROMREGION_ERASE00 ) |
| 4407 | ROM_LOAD( "2.u26", 0x000000, 0x080000, CRC(a190eaea) SHA1(2c7b8c8026873e0f591fbcbc2e72b196ef84e162) ) |
| 4408 | ROM_LOAD( "3.u27", 0x080000, 0x080000, CRC(0b81e038) SHA1(8376617ae519a8ef604f20b26e941aa5b8066602) ) |
| 4409 | |
| 4410 | ROM_REGION( 0x80000, "oki", ROMREGION_ERASE00 ) |
| 4411 | ROM_LOAD( "4.u33", 0x000000, 0x080000, CRC(3ab742f1) SHA1(ce8ca02ca57fd77872e421ce601afd017d3518a0) ) |
| 4412 | ROM_END |
| 4413 | |
| 4414 | |
| 4277 | 4415 | ROM_START( snowbro2 ) |
| 4278 | 4416 | ROM_REGION( 0x080000, "maincpu", 0 ) /* Main 68K code */ |
| 4279 | 4417 | ROM_LOAD16_WORD_SWAP( "pro-4", 0x000000, 0x080000, CRC(4c7ee341) SHA1(ad46c605a38565d0148daac301be4e4b72302fe7) ) |
| r26527 | r26528 | |
| 4981 | 5119 | GAME( 1993, batsuguna, batsugun, batsugun, batsugun, toaplan2_state, dogyuun, ROT270, "Toaplan", "Batsugun (older set)", GAME_SUPPORTS_SAVE ) |
| 4982 | 5120 | GAME( 1993, batsugunsp, batsugun, batsugun, batsugun, toaplan2_state, dogyuun, ROT270, "Toaplan", "Batsugun - Special Version", GAME_SUPPORTS_SAVE ) |
| 4983 | 5121 | |
| 5122 | GAME( 1994, pwrkick, 0, pwrkick, pwrkick, driver_device, 0, ROT0, "Sunwise", "Power Kick", GAME_NOT_WORKING ) |
| 5123 | |
| 4984 | 5124 | GAME( 1994, snowbro2, 0, snowbro2, snowbro2, driver_device, 0, ROT0, "Hanafram", "Snow Bros. 2 - With New Elves / Otenki Paradise", GAME_SUPPORTS_SAVE ) |
| 4985 | 5125 | |
| 4986 | 5126 | GAME( 1993, sstriker, 0, mahoudai, sstriker, driver_device, 0, ROT270, "Raizing", "Sorcer Striker (set 1)" , GAME_SUPPORTS_SAVE ) // verified on two different PCBs |
| r26527 | r26528 | |
| 5014 | 5154 | GAME( 1999, bbakraidj, bbakraid, bbakraid, bbakraid, toaplan2_state, bbakraid, ROT270, "Eighting", "Battle Bakraid - Unlimited Version (Japan) (Tue Jun 8 1999)", GAME_SUPPORTS_SAVE ) |
| 5015 | 5155 | // older revision of the code |
| 5016 | 5156 | GAME( 1999, bbakraidja, bbakraid, bbakraid, bbakraid, toaplan2_state, bbakraid, ROT270, "Eighting", "Battle Bakraid (Japan) (Wed Apr 7 1999)", GAME_SUPPORTS_SAVE ) |
| 5157 | |