summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ddealer.cpp
diff options
context:
space:
mode:
author angelosa <salese_corp_ltd@email.it>2017-04-12 01:35:46 +0200
committer angelosa <salese_corp_ltd@email.it>2017-04-12 01:36:47 +0200
commit8541cb9383d2dcbac9488884f12bdff968649b6a (patch)
tree7e4e3e149366646e6108d3a1be55c02640b3c8b5 /src/mame/drivers/ddealer.cpp
parentdd363de906d5dfb6747f7796b3100c36dec726e5 (diff)
Fixed Gun Card logic in Double Dealer [Angelo Salese]
Diffstat (limited to 'src/mame/drivers/ddealer.cpp')
-rw-r--r--src/mame/drivers/ddealer.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/mame/drivers/ddealer.cpp b/src/mame/drivers/ddealer.cpp
index 5ec30e5d35f..5d1798b0ef5 100644
--- a/src/mame/drivers/ddealer.cpp
+++ b/src/mame/drivers/ddealer.cpp
@@ -9,10 +9,9 @@
Appears to be a down-grade of the nmk16 HW
TODO:
- -When you use the "gun card" the game gives "minus" points, but points are always added, inaccurate protection?
- -Understand better the video emulation and convert it to tilemaps;
- -Coinage settings based on those listed at www.crazykong.com/dips/DoubleDealer.txt - coin/credit simulation need fixing;
- -Decap + emulate MCU, required if the random number generation is going to be accurate;
+ - Fix MCU simulation for credit subtractions & add coinage settings (currently set to free play for convenience);
+ - Understand better the video emulation and convert it to tilemaps;
+ - Decap + emulate MCU, required if the random number generation is going to be accurate;
==========================================================================================================
--
@@ -433,7 +432,7 @@ WRITE16_MEMBER(ddealer_state::mcu_shared_w)
case 0x41e/2: break;//unused
case 0x42e/2: PROT_JSR(0x42e,0x8007,0x6004); break;//cards on playfield/hand (ram side)
case 0x43e/2: PROT_JSR(0x43e,0x801d,0x6176); break;//second player sub-routine
- case 0x44e/2: PROT_JSR(0x44e,0x8028,0x6932); break;//"gun card" logic
+ case 0x44e/2: PROT_JSR(0x44e,0x8028,0x6f68); break;//"gun card" logic
case 0x45e/2: PROT_JSR(0x45e,0x803e,0x6f90); break;//card delete
case 0x46e/2: PROT_JSR(0x46e,0x8033,0x93c2); break;//card movements
case 0x47e/2: PROT_JSR(0x47e,0x8026,0x67a0); break;//cards on playfield (vram side)
@@ -526,7 +525,7 @@ static INPUT_PORTS_START( ddealer )
PORT_START("DSW1")
PORT_DIPUNUSED_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" ) /* Listed as "Always Off" */
PORT_DIPUNUSED_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:7" ) /* Listed as "Always Off" */
- PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6,5,4")
+ PORT_DIPNAME( 0x001c, 0x0000, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6,5,4")
PORT_DIPSETTING( 0x0010, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 2C_1C ) )
@@ -535,7 +534,7 @@ static INPUT_PORTS_START( ddealer )
PORT_DIPSETTING( 0x0014, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x00e0, 0x00e0, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,2,1")
+ PORT_DIPNAME( 0x00e0, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,2,1")
PORT_DIPSETTING( 0x0080, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0040, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x00c0, DEF_STR( 2C_1C ) )
@@ -692,4 +691,4 @@ ROM_START( ddealer )
ROM_LOAD( "6.ic86", 0x100, 0x100, NO_DUMP )
ROM_END
-GAME( 1991, ddealer, 0, ddealer, ddealer, ddealer_state, ddealer, ROT0, "NMK", "Double Dealer", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, ddealer, 0, ddealer, ddealer, ddealer_state, ddealer, ROT0, "NMK", "Double Dealer", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION )