summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/dkong.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dkong.cpp')
-rw-r--r--src/mame/drivers/dkong.cpp260
1 files changed, 243 insertions, 17 deletions
diff --git a/src/mame/drivers/dkong.cpp b/src/mame/drivers/dkong.cpp
index a4afe49f901..61faabf0b0f 100644
--- a/src/mame/drivers/dkong.cpp
+++ b/src/mame/drivers/dkong.cpp
@@ -527,6 +527,11 @@ MACHINE_RESET_MEMBER(dkong_state,dkong)
/* nothing */
}
+MACHINE_RESET_MEMBER(dkong_state,ddk)
+{
+ dk_braze_a15(!membank("bank1")->entry());
+}
+
MACHINE_RESET_MEMBER(dkong_state,strtheat)
{
uint8_t *ROM = memregion("maincpu")->base();
@@ -616,6 +621,10 @@ WRITE8_MEMBER(dkong_state::p8257_drq_w)
READ8_MEMBER(dkong_state::dkong_in2_r)
{
+ // 2 board DK and all DKjr has a watchdog
+ if (m_watchdog)
+ m_watchdog->reset_w(space, 0, 0);
+
/* mcu status (sound feedback) is inverted bit4 from port B (8039) */
uint8_t mcustatus = m_dev_vp2->bit4_q_r();
uint8_t r;
@@ -629,6 +638,10 @@ READ8_MEMBER(dkong_state::dkong_in2_r)
READ8_MEMBER(dkong_state::dkongjr_in2_r)
{
+ // 2 board DK and all DKjr has a watchdog
+ if (m_watchdog)
+ m_watchdog->reset_w(space, 0, 0);
+
/* dkongjr does not have the mcu line connected */
uint8_t r;
@@ -1096,6 +1109,15 @@ static INPUT_PORTS_START( dkongx )
PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "SW1:!7" )
INPUT_PORTS_END
+static INPUT_PORTS_START( dkongike )
+ PORT_INCLUDE( dkongx )
+
+ PORT_START("GAME")
+ PORT_CONFNAME(0x01, 0x00, "Game") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, dkong_state, dk_braze_a15)
+ PORT_CONFSETTING(0x00, "1")
+ PORT_CONFSETTING(0x01, "2")
+INPUT_PORTS_END
+
static INPUT_PORTS_START( radarscp )
PORT_INCLUDE( radarscp_in0_2 )
PORT_INCLUDE( radarscp_in1_2 )
@@ -1629,10 +1651,15 @@ READ8_MEMBER(dkong_state::braze_eeprom_r)
return m_eeprom->do_read();
}
-WRITE8_MEMBER(dkong_state::braze_a15_w)
+WRITE_LINE_MEMBER(dkong_state::dk_braze_a15)
+{
+ membank("bank1")->set_entry(state & 0x01);
+ membank("bank2")->set_entry(state & 0x01);
+}
+
+WRITE8_MEMBER(dkong_state::dk_braze_a15_w)
{
- membank("bank1")->set_entry(data & 0x01);
- membank("bank2")->set_entry(data & 0x01);
+ dk_braze_a15(data);
}
WRITE8_MEMBER(dkong_state::braze_eeprom_w)
@@ -1750,13 +1777,25 @@ MACHINE_CONFIG_DERIVED(dkong_state::dkong2b, dkong_base)
/* sound hardware */
MCFG_FRAGMENT_ADD(dkong2b_audio)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::braze, dkong2b)
+MACHINE_CONFIG_DERIVED(dkong_state::dk_braze, dkong2b)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
MACHINE_CONFIG_END
+MACHINE_CONFIG_DERIVED(dkong_state::dkj_braze, dkongjr)
+
+ MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_DERIVED(dkong_state::ddk_braze, dkj_braze)
+
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,ddk)
+MACHINE_CONFIG_END
+
MACHINE_CONFIG_START(dkong_state::dkong3)
/* basic machine hardware */
@@ -1795,6 +1834,8 @@ MACHINE_CONFIG_DERIVED(dkong_state::dkongjr, dkong_base)
/* sound hardware */
MCFG_FRAGMENT_ADD(dkongjr_audio)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(dkong_state::pestplce, dkongjr)
@@ -2197,6 +2238,103 @@ ROM_START( dkongf ) /* Donkey Kong Foundry (hack) from Jeff's Romhack */
ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */
ROM_END
+ROM_START( dkonghs )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(ba70b88b) SHA1(d76ebecfea1af098d843ee7e578e480cd658ac1a) )
+ ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(5ec461ec) SHA1(acb11a8fbdbb3ab46068385fe465f681e3c824bd) )
+ ROM_LOAD( "c_5bt_g.bin", 0x2000, 0x1000, CRC(1c97d324) SHA1(c7966261f3a1d3296927e0b6ee1c58039fc53c1f) )
+ ROM_LOAD( "c_5at_g.bin", 0x3000, 0x1000, CRC(b9005ac0) SHA1(3fe3599f6fa7c496f782053ddf7bacb453d197c4) )
+ /* space for diagnostic ROM */
+
+ ROM_REGION( 0x10000, "braze", 0 )
+ ROM_LOAD( "dk_12.bin", 0x0000, 0x8000, CRC(2dd82c1d) SHA1(d5e28962a784b1f9169d248f0f416748ab7b5315) ) /* Version 1.2 */
+ ROM_RELOAD( 0x8000, 0x8000 )
+
+ ROM_REGION( 0x1800, "soundcpu", 0 ) /* sound */
+ ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) )
+ ROM_RELOAD( 0x0800, 0x0800 )
+ ROM_LOAD( "s_3j_b.bin", 0x1000, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) )
+
+ ROM_REGION( 0x1000, "gfx1", 0 )
+ ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) )
+ ROM_LOAD( "v_3pt.bin", 0x0800, 0x0800, CRC(15e9c5e9) SHA1(976eb1e18c74018193a35aa86cff482ebfc5cc4e) )
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) )
+ ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) )
+ ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) )
+ ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) )
+
+ ROM_REGION( 0x0300, "proms", 0 )
+ ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */
+ ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */
+ ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */
+ROM_END
+
+ROM_START( dkongike )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(ba70b88b) SHA1(d76ebecfea1af098d843ee7e578e480cd658ac1a) )
+ ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(5ec461ec) SHA1(acb11a8fbdbb3ab46068385fe465f681e3c824bd) )
+ ROM_LOAD( "c_5bt_g.bin", 0x2000, 0x1000, CRC(1c97d324) SHA1(c7966261f3a1d3296927e0b6ee1c58039fc53c1f) )
+ ROM_LOAD( "c_5at_g.bin", 0x3000, 0x1000, CRC(b9005ac0) SHA1(3fe3599f6fa7c496f782053ddf7bacb453d197c4) )
+ /* space for diagnostic ROM */
+
+ ROM_REGION( 0x10000, "braze", 0 )
+ ROM_LOAD( "kong_ike.bin", 0x0000, 0x10000, CRC(f924bd05) SHA1(3a52678018ddebaeff29e9c6c1cd7cee066a3390) ) /* Version 1.1 IKE */
+
+ ROM_REGION( 0x1800, "soundcpu", 0 ) /* sound */
+ ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) )
+ ROM_RELOAD( 0x0800, 0x0800 )
+ ROM_LOAD( "s_3j_b.bin", 0x1000, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) )
+
+ ROM_REGION( 0x1000, "gfx1", 0 )
+ ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) )
+ ROM_LOAD( "v_3pt.bin", 0x0800, 0x0800, CRC(15e9c5e9) SHA1(976eb1e18c74018193a35aa86cff482ebfc5cc4e) )
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) )
+ ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) )
+ ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) )
+ ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) )
+
+ ROM_REGION( 0x0300, "proms", 0 )
+ ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */
+ ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */
+ ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */
+ROM_END
+
+ROM_START( dkongjrc )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(ba70b88b) SHA1(d76ebecfea1af098d843ee7e578e480cd658ac1a) )
+ ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(5ec461ec) SHA1(acb11a8fbdbb3ab46068385fe465f681e3c824bd) )
+ ROM_LOAD( "c_5bt_g.bin", 0x2000, 0x1000, CRC(1c97d324) SHA1(c7966261f3a1d3296927e0b6ee1c58039fc53c1f) )
+ ROM_LOAD( "c_5at_g.bin", 0x3000, 0x1000, CRC(b9005ac0) SHA1(3fe3599f6fa7c496f782053ddf7bacb453d197c4) )
+ /* space for diagnostic ROM */
+
+ ROM_REGION( 0x10000, "braze", 0 )
+ ROM_LOAD( "kong_12.bin", 0x0000, 0x10000, CRC(4d82dc5b) SHA1(59479a0312155fc0d5fa7ae5e46c4f003e04d068) ) /* Version 1.2 */
+
+ ROM_REGION( 0x1800, "soundcpu", 0 ) /* sound */
+ ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) )
+ ROM_RELOAD( 0x0800, 0x0800 )
+ ROM_LOAD( "s_3j_b.bin", 0x1000, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) )
+
+ ROM_REGION( 0x1000, "gfx1", 0 )
+ ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) )
+ ROM_LOAD( "v_3pt.bin", 0x0800, 0x0800, CRC(15e9c5e9) SHA1(976eb1e18c74018193a35aa86cff482ebfc5cc4e) )
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) )
+ ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) )
+ ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) )
+ ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) )
+
+ ROM_REGION( 0x0300, "proms", 0 )
+ ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */
+ ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */
+ ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */
+ROM_END
+
ROM_START( dkongx )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(ba70b88b) SHA1(d76ebecfea1af098d843ee7e578e480cd658ac1a) )
@@ -2454,6 +2592,77 @@ ROM_START( dkongjrb )
ROM_LOAD( "v-2n.bpr", 0x0200, 0x0100, CRC(dbf185bf) SHA1(2697a991a4afdf079dd0b7e732f71c7618f43b70) ) /* character color codes on a per-column basis */
ROM_END
+ROM_START( dkongjrhs )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "djr1-c_5b_f-2.5b", 0x0000, 0x1000, CRC(dea28158) SHA1(08baf84ae6f9b40a2c743fe1d8c158c74a40e95a) )
+ ROM_CONTINUE( 0x3000, 0x1000 )
+ ROM_LOAD( "djr1-c_5c_f-2.5c", 0x2000, 0x0800, CRC(6fb5faf6) SHA1(ce1cfde71a9e2a8b5896a6301d386f72869a1d2e) )
+ ROM_CONTINUE( 0x4800, 0x0800 )
+ ROM_CONTINUE( 0x1000, 0x0800 )
+ ROM_CONTINUE( 0x5800, 0x0800 )
+ ROM_LOAD( "djr1-c_5e_f-2.5e", 0x4000, 0x0800, CRC(d042b6a8) SHA1(57ac237d273496b44220b4437118115ef11dbd9f) )
+ ROM_CONTINUE( 0x2800, 0x0800 )
+ ROM_CONTINUE( 0x5000, 0x0800 )
+ ROM_CONTINUE( 0x1800, 0x0800 )
+
+ ROM_REGION( 0x10000, "braze", 0 )
+ ROM_LOAD( "dkj_12.bin", 0x0000, 0x8000, CRC(e341b337) SHA1(7cba8305d9618769ba3afb52a60984e16a0dd266) ) /* Version 1.2 */
+ ROM_RELOAD( 0x8000, 0x8000 )
+
+ ROM_REGION( 0x1000, "soundcpu", 0 ) /* sound */
+ ROM_LOAD( "djr1-c_3h.3h", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) )
+
+ ROM_REGION( 0x2000, "gfx1", 0 )
+ ROM_LOAD( "djr1-v.3n", 0x0000, 0x1000, CRC(8d51aca9) SHA1(64887564b079d98e98aafa53835e398f34fe4e3f) )
+ ROM_LOAD( "djr1-v.3p", 0x1000, 0x1000, CRC(4ef64ba5) SHA1(41a7a4005087951f57f62c9751d62a8c495e6bb3) )
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "djr1-v_7c.7c", 0x0000, 0x0800, CRC(dc7f4164) SHA1(07a6242e95b5c3b8dfdcd4b4950f463dba16dd77) )
+ ROM_LOAD( "djr1-v_7d.7d", 0x0800, 0x0800, CRC(0ce7dcf6) SHA1(0654b77526c49f0dfa077ac4f1f69cf5cb2e2f64) )
+ ROM_LOAD( "djr1-v_7e.7e", 0x1000, 0x0800, CRC(24d1ff17) SHA1(696854bf3dc5447d33b4815db357e6ce3834d867) )
+ ROM_LOAD( "djr1-v_7f.7f", 0x1800, 0x0800, CRC(0f8c083f) SHA1(0b688ae9da296b2447fffa5e135fd6a56ec3e790) )
+
+ ROM_REGION( 0x0300, "proms", 0 )
+ ROM_LOAD( "djr1-c-2e.2e", 0x0000, 0x0100, CRC(463dc7ad) SHA1(b2c9f22facc8885be2d953b056eb8dcddd4f34cb) ) /* palette low 4 bits (inverted) */
+ ROM_LOAD( "djr1-c-2f.2f", 0x0100, 0x0100, CRC(47ba0042) SHA1(dbec3f4b8013628c5b8f83162e5f8b1f82f6ee5f) ) /* palette high 4 bits (inverted) */
+ ROM_LOAD( "djr1-v-2n.2n", 0x0200, 0x0100, CRC(dbf185bf) SHA1(2697a991a4afdf079dd0b7e732f71c7618f43b70) ) /* character color codes on a per-column basis */
+ROM_END
+
+ROM_START( dkongddk )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "djr1-c_5b_f-2.5b", 0x0000, 0x1000, CRC(dea28158) SHA1(08baf84ae6f9b40a2c743fe1d8c158c74a40e95a) )
+ ROM_CONTINUE( 0x3000, 0x1000 )
+ ROM_LOAD( "djr1-c_5c_f-2.5c", 0x2000, 0x0800, CRC(6fb5faf6) SHA1(ce1cfde71a9e2a8b5896a6301d386f72869a1d2e) )
+ ROM_CONTINUE( 0x4800, 0x0800 )
+ ROM_CONTINUE( 0x1000, 0x0800 )
+ ROM_CONTINUE( 0x5800, 0x0800 )
+ ROM_LOAD( "djr1-c_5e_f-2.5e", 0x4000, 0x0800, CRC(d042b6a8) SHA1(57ac237d273496b44220b4437118115ef11dbd9f) )
+ ROM_CONTINUE( 0x2800, 0x0800 )
+ ROM_CONTINUE( 0x5000, 0x0800 )
+ ROM_CONTINUE( 0x1800, 0x0800 )
+
+ ROM_REGION( 0x10000, "braze", 0 )
+ ROM_LOAD( "ddk_12.bin", 0x0000, 0x10000, CRC(26caaf8a) SHA1(8abd5855326a6653f12ae1bdc8f18ef45861c344) ) /* Version 1.2 */
+
+ ROM_REGION( 0x1000, "soundcpu", 0 ) /* sound */
+ ROM_LOAD( "djr1-c_3h.3h", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) )
+
+ ROM_REGION( 0x2000, "gfx1", 0 )
+ ROM_LOAD( "djr1-v.3n", 0x0000, 0x1000, CRC(8d51aca9) SHA1(64887564b079d98e98aafa53835e398f34fe4e3f) )
+ ROM_LOAD( "djr1-v.3p", 0x1000, 0x1000, CRC(4ef64ba5) SHA1(41a7a4005087951f57f62c9751d62a8c495e6bb3) )
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "djr1-v_7c.7c", 0x0000, 0x0800, CRC(dc7f4164) SHA1(07a6242e95b5c3b8dfdcd4b4950f463dba16dd77) )
+ ROM_LOAD( "djr1-v_7d.7d", 0x0800, 0x0800, CRC(0ce7dcf6) SHA1(0654b77526c49f0dfa077ac4f1f69cf5cb2e2f64) )
+ ROM_LOAD( "djr1-v_7e.7e", 0x1000, 0x0800, CRC(24d1ff17) SHA1(696854bf3dc5447d33b4815db357e6ce3834d867) )
+ ROM_LOAD( "djr1-v_7f.7f", 0x1800, 0x0800, CRC(0f8c083f) SHA1(0b688ae9da296b2447fffa5e135fd6a56ec3e790) )
+
+ ROM_REGION( 0x0300, "proms", 0 )
+ ROM_LOAD( "djr1-c-2e.2e", 0x0000, 0x0100, CRC(463dc7ad) SHA1(b2c9f22facc8885be2d953b056eb8dcddd4f34cb) ) /* palette low 4 bits (inverted) */
+ ROM_LOAD( "djr1-c-2f.2f", 0x0100, 0x0100, CRC(47ba0042) SHA1(dbec3f4b8013628c5b8f83162e5f8b1f82f6ee5f) ) /* palette high 4 bits (inverted) */
+ ROM_LOAD( "djr1-v-2n.2n", 0x0200, 0x0100, CRC(dbf185bf) SHA1(2697a991a4afdf079dd0b7e732f71c7618f43b70) ) /* character color codes on a per-column basis */
+ROM_END
+
/* only the graphic roms differ from dkongjrb but it's a common bootleg */
ROM_START( jrking )
ROM_REGION( 0x10000, "maincpu", 0 )
@@ -3325,20 +3534,12 @@ DRIVER_INIT_MEMBER(dkong_state,strtheat)
m_maincpu->space(AS_PROGRAM).install_read_handler(0x7c80, 0x7c80, read8_delegate(FUNC(dkong_state::strtheat_inputport_1_r),this));
}
-
-DRIVER_INIT_MEMBER(dkong_state,dkongx)
+void dkong_state::dk_braze_decrypt()
{
- address_space &space = m_maincpu->space(AS_PROGRAM);
-
m_decrypted = std::make_unique<uint8_t[]>(0x10000);
- m_maincpu->space(AS_PROGRAM).install_read_bank(0x0000, 0x5fff, "bank1" );
- m_maincpu->space(AS_PROGRAM).install_read_bank(0x8000, 0xffff, "bank2" );
-
- space.install_write_handler(0xe000, 0xe000, write8_delegate(FUNC(dkong_state::braze_a15_w),this));
-
- space.install_read_handler(0xc800, 0xc800, read8_delegate(FUNC(dkong_state::braze_eeprom_r),this));
- space.install_write_handler(0xc800, 0xc800, write8_delegate(FUNC(dkong_state::braze_eeprom_w),this));
+ m_maincpu->space(AS_PROGRAM).install_read_bank(0x0000, 0x5fff, "bank1");
+ m_maincpu->space(AS_PROGRAM).install_read_bank(0x8000, 0xffff, "bank2");
braze_decrypt_rom(m_decrypted.get());
@@ -3348,6 +3549,26 @@ DRIVER_INIT_MEMBER(dkong_state,dkongx)
membank("bank2")->set_entry(0);
}
+DRIVER_INIT_MEMBER(dkong_state, dkonghs)
+{
+ dk_braze_decrypt();
+
+ address_space &space = m_maincpu->space(AS_PROGRAM);
+ space.install_read_handler(0xc000, 0xc000, read8_delegate(FUNC(dkong_state::braze_eeprom_r), this));
+ space.install_write_handler(0xc000, 0xc000, write8_delegate(FUNC(dkong_state::braze_eeprom_w), this));
+}
+
+DRIVER_INIT_MEMBER(dkong_state,dkongx)
+{
+ dk_braze_decrypt();
+
+ address_space &space = m_maincpu->space(AS_PROGRAM);
+ space.install_write_handler(0xe000, 0xe000, write8_delegate(FUNC(dkong_state::dk_braze_a15_w),this));
+
+ space.install_read_handler(0xc800, 0xc800, read8_delegate(FUNC(dkong_state::braze_eeprom_r),this));
+ space.install_write_handler(0xc800, 0xc800, write8_delegate(FUNC(dkong_state::braze_eeprom_w),this));
+}
+
DRIVER_INIT_MEMBER(dkong_state,dkingjr)
{
uint8_t *prom = memregion("proms")->base();
@@ -3377,8 +3598,13 @@ GAME( 1981, dkongjo, dkong, dkong2b, dkong, dkong_state, 0, ROT
GAME( 1981, dkongjo1, dkong, dkong2b, dkong, dkong_state, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 3)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, dkongf, dkong, dkong2b, dkongf, dkong_state, 0, ROT90, "hack (Jeff Kulczycki)", "Donkey Kong Foundry (hack)", MACHINE_SUPPORTS_SAVE ) /* from Jeff's Romhack */
-GAME( 2006, dkongx, dkong, braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II: Jumpman Returns (hack, V1.2)", MACHINE_SUPPORTS_SAVE )
-GAME( 2006, dkongx11, dkong, braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II: Jumpman Returns (hack, V1.1)", MACHINE_SUPPORTS_SAVE )
+GAME( 2001, dkonghs, dkong, dk_braze, dkongx, dkong_state, dkonghs, ROT90, "hack (Braze Technologies)", "Donkey Kong High Score Kit (hack,V1.2)", MACHINE_SUPPORTS_SAVE )
+GAME( 2001, dkongike, dkong, dk_braze, dkongike, dkong_state, dkonghs, ROT90, "hack (Braze Technologies)", "Donkey Kong/DK (Japan) (hack,V1.1 IKE)", MACHINE_SUPPORTS_SAVE )
+GAME( 2001, dkongjrhs, dkongjr, dkj_braze, dkongx, dkong_state, dkonghs, ROT90, "hack (Braze Technologies)", "Donkey Junior High Score Kit (hack,V1.2)", MACHINE_SUPPORTS_SAVE )
+GAME( 2001, dkongjrc, dkong, dkj_braze, dkongike, dkong_state, dkonghs, ROT90, "hack (Braze Technologies)", "Donkey Kong/JR (combo) (hack,V1.2)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING) /* Graphic roms not switched */
+GAME( 2001, dkongddk, dkongjr, ddk_braze, dkongx, dkong_state, dkonghs, ROT90, "hack (Braze Technologies)", "Double Donkey Kong (hack,V1.2)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING) /* Graphic roms not switched */
+GAME( 2006, dkongx, dkong, dk_braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II: Jumpman Returns (hack, V1.2)", MACHINE_SUPPORTS_SAVE )
+GAME( 2006, dkongx11, dkong, dk_braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II: Jumpman Returns (hack, V1.1)", MACHINE_SUPPORTS_SAVE )
GAME( 2013, dkongpe, dkong, dkong2b, dkong, dkong_state, 0, ROT90, "hack (Clay Cowgill and Mike Mika)", "Donkey Kong: Pauline Edition Rev 5 (2013-04-22)", MACHINE_SUPPORTS_SAVE )
GAME( 1982, dkongjr, 0, dkongjr, dkongjr, dkong_state, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (US set F-2)", MACHINE_SUPPORTS_SAVE )