trunk/src/mame/drivers/itech32.c
| r19434 | r19435 | |
| 13 | 13 | * Pairs (4 sets) |
| 14 | 14 | * Pairs Redemption (Child's version of pairs) |
| 15 | 15 | * Driver's Edge (1 set) |
| 16 | | * World Class Bowling (11 sets) |
| 16 | * World Class Bowling (12 sets) |
| 17 | 17 | * Street Fighter: The Movie (4 sets) |
| 18 | 18 | * Shuffleshot (3 sets) |
| 19 | 19 | * Golden Tee 3D Golf (11 sets) |
| r19434 | r19435 | |
| 479 | 479 | return (lower & 15) | ((upper & 15) << 4); |
| 480 | 480 | } |
| 481 | 481 | |
| 482 | READ16_MEMBER(itech32_state::trackball_p2_r) |
| 483 | { |
| 484 | int lower = ioport("TRACKX2")->read(); |
| 485 | int upper = ioport("TRACKY2")->read(); |
| 482 | 486 | |
| 487 | return (lower & 15) | ((upper & 15) << 4); |
| 488 | } |
| 489 | |
| 490 | |
| 483 | 491 | READ32_MEMBER(itech32_state::trackball32_8bit_r) |
| 484 | 492 | { |
| 485 | 493 | int lower = ioport("TRACKX1")->read(); |
| r19434 | r19435 | |
| 1311 | 1319 | |
| 1312 | 1320 | PORT_START("TRACKY1") |
| 1313 | 1321 | PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_PLAYER(1) |
| 1322 | |
| 1323 | PORT_START("TRACKX2") |
| 1324 | PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_REVERSE PORT_PLAYER(2) |
| 1325 | |
| 1326 | PORT_START("TRACKY2") |
| 1327 | PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_PLAYER(2) |
| 1314 | 1328 | INPUT_PORTS_END |
| 1315 | 1329 | |
| 1316 | 1330 | |
| r19434 | r19435 | |
| 2443 | 2457 | ROM_LOAD32_BYTE( "wcb_grom0_2_+.grm0_2", 0x000002, 0x100000, CRC(d8e0b06e) SHA1(4981c0cf16df68a1b4da7ebf65ca587c21292478) ) |
| 2444 | 2458 | ROM_LOAD32_BYTE( "wcb_grom0_3_+.grm0_3", 0x000003, 0x100000, CRC(0348a7f0) SHA1(462f77514c0e9a28da63732a4f31e9483d4c483e) ) |
| 2445 | 2459 | */ |
| 2446 | | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) |
| 2460 | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) /* May also be labeled as "WCB GRM0_0" ect */ |
| 2447 | 2461 | ROM_LOAD32_BYTE( "wcb_grom0_1.grm0_1", 0x000001, 0x080000, CRC(e26dcedb) SHA1(15441b97dd3d50d28007062fe28841fa3f762ec9) ) |
| 2448 | 2462 | ROM_LOAD32_BYTE( "wcb_grom0_2.grm0_2", 0x000002, 0x080000, CRC(32735875) SHA1(4017a8577d8efa8c5b95bd30723ebbf6ecaeba2b) ) |
| 2449 | 2463 | ROM_LOAD32_BYTE( "wcb_grom0_3.grm0_3", 0x000003, 0x080000, CRC(019d0ab8) SHA1(3281eada296ad746da80ef6e5909c50b03b90d08) ) |
| r19434 | r19435 | |
| 2478 | 2492 | ROM_LOAD32_BYTE( "wcb_grom0_2_+.grm0_2", 0x000002, 0x100000, CRC(d8e0b06e) SHA1(4981c0cf16df68a1b4da7ebf65ca587c21292478) ) |
| 2479 | 2493 | ROM_LOAD32_BYTE( "wcb_grom0_3_+.grm0_3", 0x000003, 0x100000, CRC(0348a7f0) SHA1(462f77514c0e9a28da63732a4f31e9483d4c483e) ) |
| 2480 | 2494 | */ |
| 2481 | | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) |
| 2495 | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) /* May also be labeled as "WCB GRM0_0" ect */ |
| 2482 | 2496 | ROM_LOAD32_BYTE( "wcb_grom0_1.grm0_1", 0x000001, 0x080000, CRC(e26dcedb) SHA1(15441b97dd3d50d28007062fe28841fa3f762ec9) ) |
| 2483 | 2497 | ROM_LOAD32_BYTE( "wcb_grom0_2.grm0_2", 0x000002, 0x080000, CRC(32735875) SHA1(4017a8577d8efa8c5b95bd30723ebbf6ecaeba2b) ) |
| 2484 | 2498 | ROM_LOAD32_BYTE( "wcb_grom0_3.grm0_3", 0x000003, 0x080000, CRC(019d0ab8) SHA1(3281eada296ad746da80ef6e5909c50b03b90d08) ) |
| r19434 | r19435 | |
| 2513 | 2527 | ROM_LOAD32_BYTE( "wcb_grom0_2_+.grm0_2", 0x000002, 0x100000, CRC(d8e0b06e) SHA1(4981c0cf16df68a1b4da7ebf65ca587c21292478) ) |
| 2514 | 2528 | ROM_LOAD32_BYTE( "wcb_grom0_3_+.grm0_3", 0x000003, 0x100000, CRC(0348a7f0) SHA1(462f77514c0e9a28da63732a4f31e9483d4c483e) ) |
| 2515 | 2529 | */ |
| 2516 | | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) |
| 2530 | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) /* May also be labeled as "WCB GRM0_0" ect */ |
| 2517 | 2531 | ROM_LOAD32_BYTE( "wcb_grom0_1.grm0_1", 0x000001, 0x080000, CRC(e26dcedb) SHA1(15441b97dd3d50d28007062fe28841fa3f762ec9) ) |
| 2518 | 2532 | ROM_LOAD32_BYTE( "wcb_grom0_2.grm0_2", 0x000002, 0x080000, CRC(32735875) SHA1(4017a8577d8efa8c5b95bd30723ebbf6ecaeba2b) ) |
| 2519 | 2533 | ROM_LOAD32_BYTE( "wcb_grom0_3.grm0_3", 0x000003, 0x080000, CRC(019d0ab8) SHA1(3281eada296ad746da80ef6e5909c50b03b90d08) ) |
| r19434 | r19435 | |
| 2532 | 2546 | ROM_END |
| 2533 | 2547 | |
| 2534 | 2548 | |
| 2549 | ROM_START( wcbowl13j ) /* Version 1.3 (3-tier board set: P/N 1059 Rev 3, P/N 1079 Rev 1 & P/N 1060 Rev 0) */ |
| 2550 | ROM_REGION16_BE( 0x80000, "user1", 0 ) |
| 2551 | ROM_LOAD16_BYTE( "wcb_v1.3j_u83.u83", 0x00000, 0x20000, CRC(5805fd92) SHA1(6ec49958364731c9fdac42dfdf515f6a7a91366a) ) /* Labeled as "WCB V1.3J (U83)" */ |
| 2552 | ROM_LOAD16_BYTE( "wcb_v1.3j_u88.u88", 0x00001, 0x20000, CRC(b846660e) SHA1(afb3f459a819afee128849751840db3c02d4762a) ) /* Labeled as "WCB V1.3J (U88)" */ |
| 2553 | |
| 2554 | ROM_REGION( 0x28000, "soundcpu", 0 ) |
| 2555 | ROM_LOAD( "wcb_snd_v2.0.u17", 0x10000, 0x18000, CRC(c14907ba) SHA1(e52fb87c1f9b5847efc0ef15eb7e6c04dcf38110) ) /* Labeled as "WCB SND V2.0" */ |
| 2556 | ROM_CONTINUE( 0x08000, 0x08000 ) |
| 2557 | |
| 2558 | ROM_REGION( 0x880000, "gfx1", 0 ) |
| 2559 | /* No known set specificly checks for this, however the GROM data may be in the form of four 8 Meg roms: |
| 2560 | ROM_LOAD32_BYTE( "wcb_grom0_0_+.grm0_0", 0x000000, 0x100000, CRC(40837737) SHA1(f073943ec6f84285a8559553fb292ec1f8a629d0) ) Labeled as "WCB GROM0_0 *" ect |
| 2561 | ROM_LOAD32_BYTE( "wcb_grom0_1_+.grm0_1", 0x000001, 0x100000, CRC(1615aee8) SHA1(6184919371a894b1d6f2e06a2b328cb55abed4a9) ) |
| 2562 | ROM_LOAD32_BYTE( "wcb_grom0_2_+.grm0_2", 0x000002, 0x100000, CRC(d8e0b06e) SHA1(4981c0cf16df68a1b4da7ebf65ca587c21292478) ) |
| 2563 | ROM_LOAD32_BYTE( "wcb_grom0_3_+.grm0_3", 0x000003, 0x100000, CRC(0348a7f0) SHA1(462f77514c0e9a28da63732a4f31e9483d4c483e) ) |
| 2564 | */ |
| 2565 | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) /* May also be labeled as "WCB GRM0_0" ect */ |
| 2566 | ROM_LOAD32_BYTE( "wcb_grom0_1.grm0_1", 0x000001, 0x080000, CRC(e26dcedb) SHA1(15441b97dd3d50d28007062fe28841fa3f762ec9) ) |
| 2567 | ROM_LOAD32_BYTE( "wcb_grom0_2.grm0_2", 0x000002, 0x080000, CRC(32735875) SHA1(4017a8577d8efa8c5b95bd30723ebbf6ecaeba2b) ) |
| 2568 | ROM_LOAD32_BYTE( "wcb_grom0_3.grm0_3", 0x000003, 0x080000, CRC(019d0ab8) SHA1(3281eada296ad746da80ef6e5909c50b03b90d08) ) |
| 2569 | ROM_LOAD32_BYTE( "wcb_grom1_0.grm1_0", 0x200000, 0x080000, CRC(8bd31762) SHA1(a7274c8173b4fb04a6aed0b6a622b52a811a8c83) ) |
| 2570 | ROM_LOAD32_BYTE( "wcb_grom1_1.grm1_1", 0x200001, 0x080000, CRC(b3f761fc) SHA1(5880ca1423cea9a7ca3d0875c8db33787f4056d4) ) |
| 2571 | ROM_LOAD32_BYTE( "wcb_grom1_2.grm1_2", 0x200002, 0x080000, CRC(c22f44ad) SHA1(b25b11346ee1812b2be79105faf64faa0302c105) ) |
| 2572 | ROM_LOAD32_BYTE( "wcb_grom1_3.grm1_3", 0x200003, 0x080000, CRC(036084c4) SHA1(6d2e402d2f4565e037a2676ba676e4b1da2b5dfe) ) |
| 2573 | ROM_FILL( 0x400000, 0x480000, 0xff ) |
| 2574 | |
| 2575 | ROM_REGION16_BE( 0x400000, "ensoniq.0", ROMREGION_ERASE00 ) |
| 2576 | ROM_LOAD16_BYTE( "ensoniq_2mx16u.rom0", 0x000000, 0x200000, CRC(0814ab80) SHA1(e92525f7cf58cf480510c278fea705f67225e58f) ) /* Ensoniq 2MX16U 1350901801 at "ROM0" */ |
| 2577 | |
| 2578 | ROM_REGION16_BE( 0x400000, "ensoniq.2", ROMREGION_ERASE00 ) |
| 2579 | ROM_LOAD16_BYTE( "wcb__srom0.srom0", 0x000000, 0x080000, CRC(115bcd1f) SHA1(c321bf3145c11de1351c8f9cd554ab3d6600e854) ) |
| 2580 | ROM_LOAD16_BYTE( "wcb__srom1.srom1", 0x100000, 0x080000, CRC(87a4a4d8) SHA1(60db2f466686481857eb39b90ac7a19d0a96adac) ) |
| 2581 | ROM_END |
| 2582 | |
| 2583 | |
| 2535 | 2584 | ROM_START( wcbowl12 ) /* Version 1.2 (3-tier board set: P/N 1059 Rev 3, P/N 1079 Rev 1 & P/N 1060 Rev 0) */ |
| 2536 | 2585 | ROM_REGION16_BE( 0x80000, "user1", 0 ) |
| 2537 | 2586 | ROM_LOAD16_BYTE( "wcb_v1.2_u83.u83", 0x00000, 0x20000, CRC(0602c5ce) SHA1(4339f77301f9c607c6f1dc81270d03681e874e69) ) /* Labeled as "WCB V1.2 (U83)" */ |
| r19434 | r19435 | |
| 2548 | 2597 | ROM_LOAD32_BYTE( "wcb_grom0_2_+.grm0_2", 0x000002, 0x100000, CRC(d8e0b06e) SHA1(4981c0cf16df68a1b4da7ebf65ca587c21292478) ) |
| 2549 | 2598 | ROM_LOAD32_BYTE( "wcb_grom0_3_+.grm0_3", 0x000003, 0x100000, CRC(0348a7f0) SHA1(462f77514c0e9a28da63732a4f31e9483d4c483e) ) |
| 2550 | 2599 | */ |
| 2551 | | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) |
| 2600 | ROM_LOAD32_BYTE( "wcb_grom0_0.grm0_0", 0x000000, 0x080000, CRC(5d79aaae) SHA1(e1bf5c46843f69b8bac41dde73d89ba59b4c8b7f) ) /* May also be labeled as "WCB GRM0_0" ect */ |
| 2552 | 2601 | ROM_LOAD32_BYTE( "wcb_grom0_1.grm0_1", 0x000001, 0x080000, CRC(e26dcedb) SHA1(15441b97dd3d50d28007062fe28841fa3f762ec9) ) |
| 2553 | 2602 | ROM_LOAD32_BYTE( "wcb_grom0_2.grm0_2", 0x000002, 0x080000, CRC(32735875) SHA1(4017a8577d8efa8c5b95bd30723ebbf6ecaeba2b) ) |
| 2554 | 2603 | ROM_LOAD32_BYTE( "wcb_grom0_3.grm0_3", 0x000003, 0x080000, CRC(019d0ab8) SHA1(3281eada296ad746da80ef6e5909c50b03b90d08) ) |
| r19434 | r19435 | |
| 4130 | 4179 | } |
| 4131 | 4180 | |
| 4132 | 4181 | |
| 4182 | DRIVER_INIT_MEMBER(itech32_state,wcbowlj) |
| 4183 | { |
| 4184 | /* |
| 4185 | This is the 3 tier PCB set: |
| 4186 | Main P/N 1059 Rev 3 (see Hot Memory PCB layout above) |
| 4187 | ROM P/N 1079 Rev 1 (contains graphic roms, 4MHz OSC + ITBWL-1 security PIC chip) |
| 4188 | Sound P/N 1060 Rev 0 (see Hot Memory PCB layout above) |
| 4189 | */ |
| 4190 | init_program_rom(machine()); |
| 4191 | m_vram_height = 1024; |
| 4192 | m_planes = 1; |
| 4193 | |
| 4194 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x680000, 0x680001, read16_delegate(FUNC(itech32_state::trackball_r),this)); |
| 4195 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x680040, 0x680041, read16_delegate(FUNC(itech32_state::trackball_p2_r),this)); |
| 4196 | |
| 4197 | machine().device("maincpu")->memory().space(AS_PROGRAM).nop_read(0x578000, 0x57ffff); |
| 4198 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x680080, 0x680081, read16_delegate(FUNC(itech32_state::wcbowl_prot_result_r),this)); |
| 4199 | machine().device("maincpu")->memory().space(AS_PROGRAM).nop_write(0x680080, 0x680081); |
| 4200 | } |
| 4201 | |
| 4202 | |
| 4133 | 4203 | static void init_sftm_common(running_machine &machine, int prot_addr) |
| 4134 | 4204 | { |
| 4135 | 4205 | itech32_state *state = machine.driver_data<itech32_state>(); |
| r19434 | r19435 | |
| 4355 | 4425 | GAME( 1995, wcbowl15, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.5)" , 0) /* PIC 16C54 labeled as ITBWL-1 */ |
| 4356 | 4426 | GAME( 1995, wcbowl14, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.4)" , 0) /* PIC 16C54 labeled as ITBWL-1 */ |
| 4357 | 4427 | GAME( 1995, wcbowl13, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.3)" , 0) /* PIC 16C54 labeled as ITBWL-1 */ |
| 4428 | GAME( 1995, wcbowl13j, wcbowl, bloodstm, wcbowl, itech32_state, wcbowlj, ROT0, "Incredible Technologies", "World Class Bowling (v1.3J, Japan)" , GAME_NOT_WORKING) /* PIC 16C54 labeled as ITBWL-1 */ |
| 4358 | 4429 | GAME( 1995, wcbowl12, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.2)" , 0) /* PIC 16C54 labeled as ITBWL-1 */ |
| 4359 | 4430 | GAME( 1995, wcbowl11, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.1)" , 0) /* PIC 16C54 labeled as ITBWL-1 */ |
| 4360 | 4431 | GAME( 1995, sftm, 0, sftm, sftm, itech32_state, sftm, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.12)" , 0) /* PIC 16C54 labeled as ITSF-1 */ |