trunk/src/mame/drivers/dkong.c
| r32297 | r32298 | |
| 1 | 1 | /*************************************************************************** |
| 2 | 2 | |
| 3 | Nintendo Donkey Kong hardware |
| 4 | |
| 5 | **************************************************************************** |
| 6 | |
| 3 | 7 | TODO: |
| 4 | 8 | |
| 5 | 9 | - write a shootgal palette_init |
| r32297 | r32298 | |
| 101 | 105 | For both of these boards [dkong, dkongjr], only the jump sound |
| 102 | 106 | is distinguishable. I don't hear the pound of walk sound. |
| 103 | 107 | |
| 108 | **************************************************************************** |
| 109 | |
| 104 | 110 | Donkey Kong and Donkey Kong Jr. memory map (preliminary) (DKong 3 follows) |
| 105 | 111 | |
| 106 | 112 | 0000-3fff ROM (Donkey Kong Jr.and Donkey Kong 3: 0000-5fff) |
| 107 | 113 | 6000-6fff RAM |
| 108 | | 6900-6a7f sprites |
| 109 | | 7000-73ff ? |
| 114 | 7000-73ff sprites |
| 110 | 115 | 7400-77ff Video RAM |
| 111 | 116 | 8000-9fff ROM (DK3 only) |
| 112 | 117 | |
| r32297 | r32298 | |
| 375 | 380 | * |
| 376 | 381 | *************************************/ |
| 377 | 382 | |
| 378 | | void dkong_state::dkong_init_device_driver_data( ) |
| 379 | | { |
| 380 | | #if 0 |
| 381 | | dkong_state *state = machine.driver_data<dkong_state>(); |
| 382 | | |
| 383 | | state->m_dev_n2a03a = machine.device("n2a03a"); |
| 384 | | state->m_dev_n2a03b = machine.device("n2a03b"); |
| 385 | | state->m_dev_6h = machine.device("ls259.6h"); |
| 386 | | state->m_dev_vp2 = machine.device("virtual_p2"); |
| 387 | | #endif |
| 388 | | } |
| 389 | | |
| 390 | 383 | MACHINE_START_MEMBER(dkong_state,dkong2b) |
| 391 | 384 | { |
| 392 | | dkong_init_device_driver_data(); |
| 393 | 385 | m_hardware_type = HARDWARE_TKG04; |
| 394 | 386 | |
| 395 | 387 | m_snd_rom = memregion("soundcpu")->base(); |
| r32297 | r32298 | |
| 447 | 439 | |
| 448 | 440 | MACHINE_START_MEMBER(dkong_state,dkong3) |
| 449 | 441 | { |
| 450 | | dkong_init_device_driver_data(); |
| 451 | 442 | m_hardware_type = HARDWARE_TKG04; |
| 452 | 443 | } |
| 453 | 444 | |
| r32297 | r32298 | |
| 1007 | 998 | PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) |
| 1008 | 999 | INPUT_PORTS_END |
| 1009 | 1000 | |
| 1010 | | static INPUT_PORTS_START( dkongx ) /* Supposedly the physical DIPS are read as defaults for the NVRAM when it's initially created. |
| 1011 | | The settings here match those from the default DSW0 settings. Beyond the initial NVRAM |
| 1012 | | creation, DIPS (other than CABINET) can only be adjusted from the Service Mode */ |
| 1001 | static INPUT_PORTS_START( dkongx ) |
| 1002 | /* Supposedly the physical DIPS are read as defaults for the NVRAM when it's initially created. |
| 1003 | The settings here match those from the default DSW0 settings. Beyond the initial NVRAM |
| 1004 | creation, DIPS (other than CABINET) can only be adjusted from the Service Mode */ |
| 1013 | 1005 | PORT_INCLUDE( dkong ) |
| 1014 | 1006 | |
| 1015 | 1007 | PORT_MODIFY("DSW0") |
| r32297 | r32298 | |
| 1616 | 1608 | |
| 1617 | 1609 | WRITE_LINE_MEMBER(dkong_state::busreq_w ) |
| 1618 | 1610 | { |
| 1619 | | // since our Z80 has no support for BUSACK, we assume it is granted immediately |
| 1611 | // since our Z80 has no support for BUSACK, we assume it is granted immediately |
| 1620 | 1612 | m_maincpu->set_input_line(Z80_INPUT_LINE_BUSRQ, state); |
| 1621 | 1613 | m_maincpu->set_input_line(INPUT_LINE_HALT, state); // do we need this? |
| 1622 | 1614 | if(m_z80dma) |
| r32297 | r32298 | |
| 2102 | 2094 | ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */ |
| 2103 | 2095 | ROM_END |
| 2104 | 2096 | |
| 2097 | ROM_START( dkongpe ) // "Pauline Edition" hack, by Clay Cowgill based on Mike Mika's NES version |
| 2098 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 2099 | ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(ba70b88b) SHA1(d76ebecfea1af098d843ee7e578e480cd658ac1a) ) |
| 2100 | ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(45af403e) SHA1(6030a4af7df98bfdf5b35a9a42541566f7d12901) ) |
| 2101 | ROM_LOAD( "c_5bt_g.bin", 0x2000, 0x1000, CRC(3a9783b7) SHA1(e98d757c048f2180ba22c774e0e425ddc661ba8c) ) |
| 2102 | ROM_LOAD( "c_5at_g.bin", 0x3000, 0x1000, CRC(32bc20ff) SHA1(ef141f437912923625722b83a33ea182eaa31427) ) |
| 2103 | /* space for diagnostic ROM */ |
| 2104 | |
| 2105 | ROM_REGION( 0x1800, "soundcpu", 0 ) /* sound */ |
| 2106 | ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) ) |
| 2107 | ROM_RELOAD( 0x0800, 0x0800 ) |
| 2108 | ROM_LOAD( "s_3j_b.bin", 0x1000, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) ) |
| 2109 | |
| 2110 | ROM_REGION( 0x1000, "gfx1", 0 ) |
| 2111 | ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(007aa348) SHA1(ff2ae583fef6da9d260fda8f4a896dd0414c3388) ) |
| 2112 | ROM_LOAD( "v_3pt.bin", 0x0800, 0x0800, CRC(a967aff0) SHA1(7bcfdbeb0a5cdfec604eb8450664bc4b789526be) ) |
| 2113 | |
| 2114 | ROM_REGION( 0x2000, "gfx2", 0 ) |
| 2115 | ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(766ae006) SHA1(0ec53798aa2c30b2c5c8b2f99b811a187faa2549) ) |
| 2116 | ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(39e7ca4b) SHA1(b77ddd39608d08013fa8bb764c8e5aa4e03181dc) ) |
| 2117 | ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(012f2f25) SHA1(836709192a249b00ded783be542ee844eb930c7a) ) |
| 2118 | ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(84eb5bfb) SHA1(c1f38efb8670f1a489275eb8ff576a95d140cfb9) ) |
| 2119 | |
| 2120 | ROM_REGION( 0x0300, "proms", 0 ) |
| 2121 | ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */ |
| 2122 | ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */ |
| 2123 | ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */ |
| 2124 | ROM_END |
| 2125 | |
| 2105 | 2126 | ROM_START( dkongx ) |
| 2106 | 2127 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 2107 | 2128 | ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(ba70b88b) SHA1(d76ebecfea1af098d843ee7e578e480cd658ac1a) ) |
| r32297 | r32298 | |
| 3237 | 3258 | GAME( 1981, dkongj, dkong, dkong2b, dkong, driver_device, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 1)", GAME_SUPPORTS_SAVE ) |
| 3238 | 3259 | GAME( 1981, dkongjo, dkong, dkong2b, dkong, driver_device, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 2)", GAME_SUPPORTS_SAVE ) |
| 3239 | 3260 | GAME( 1981, dkongjo1, dkong, dkong2b, dkong, driver_device, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 3)", GAME_SUPPORTS_SAVE ) |
| 3261 | |
| 3240 | 3262 | GAME( 2004, dkongf, dkong, dkong2b, dkongf, driver_device, 0, ROT90, "hack (Jeff Kulczycki)", "Donkey Kong Foundry (hack)", GAME_SUPPORTS_SAVE ) /* from Jeff's Romhack */ |
| 3241 | | GAME( 2006, dkongx, dkong, braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II - Jumpman Returns (V1.2) (hack)", GAME_SUPPORTS_SAVE ) |
| 3242 | | GAME( 2006, dkongx11, dkong, braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II - Jumpman Returns (V1.1) (hack)", GAME_SUPPORTS_SAVE ) |
| 3263 | GAME( 2013, dkongpe, dkong, dkong2b, dkongf, driver_device, 0, ROT90, "hack (Clay Cowgill)", "Donkey Kong: Pauline Edition (hack, rev 5)", GAME_SUPPORTS_SAVE ) // rev 5, 4-22-2013 (free) |
| 3264 | GAME( 2006, dkongx, dkong, braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II: Jumpman Returns (hack, V1.2)", GAME_SUPPORTS_SAVE ) |
| 3265 | GAME( 2006, dkongx11, dkong, braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II: Jumpman Returns (hack, V1.1)", GAME_SUPPORTS_SAVE ) |
| 3243 | 3266 | |
| 3244 | 3267 | GAME( 1982, dkongjr, 0, dkongjr, dkongjr, driver_device, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (US set F-2)", GAME_SUPPORTS_SAVE ) |
| 3245 | 3268 | GAME( 1982, dkongjrj, dkongjr, dkongjr, dkongjr, driver_device, 0, ROT90, "Nintendo", "Donkey Kong Jr. (Japan)", GAME_SUPPORTS_SAVE ) |