diff options
| author | 2025-10-26 04:17:30 +0100 | |
|---|---|---|
| committer | 2025-10-26 04:17:30 +0100 | |
| commit | b55306f33932cb9abefd1df9f0e126c7f5f2dfe5 (patch) | |
| tree | 3721992c9e7f201dbba0611dcd0b4b5795fa4f96 | |
| parent | 93ed4a942bfa3a98ba67e4ce8c67df49b268defa (diff) | |
igs/goldstar.cpp improvements: [Roberto Fresca, Grull Osgo]
- Removed all loaned bipolar PROMs from nfb96se, nfb96sea,
nfb96seb, nfb96sec, carb2002 and carb2003, and decoded
the proper device data for palette.
- Fixed the rom load of nfb96se, nfb96sea, nfb96seb, nfb96sec,
carb2002 and carb2003 taking care of the proper graphics
bitplanes.
- Removed the imperfect color flag of the above games.
- Marked the carb2003 reels graphics ROMs as bad dump.
Flagged the game as imperfect graphics.
- Temporal workaround bypassing some checks for Nove Diamante.
| -rw-r--r-- | src/mame/igs/goldstar.cpp | 496 |
1 files changed, 250 insertions, 246 deletions
diff --git a/src/mame/igs/goldstar.cpp b/src/mame/igs/goldstar.cpp index b3ab381088e..8254de77d3e 100644 --- a/src/mame/igs/goldstar.cpp +++ b/src/mame/igs/goldstar.cpp @@ -498,6 +498,7 @@ public: void init_nfb96_d() ATTR_COLD; void init_nfb96_dk() ATTR_COLD; void init_nfb96_g() ATTR_COLD; + void init_nfb96bl() ATTR_COLD; void init_nfb96sea() ATTR_COLD; void init_noved() ATTR_COLD; void init_pkrmast() ATTR_COLD; @@ -1324,7 +1325,7 @@ VIDEO_START_MEMBER(unkch_state, bonusch) m_enable_reg = 0x1b; // 1 for regular reels; 2 for d-up reel numbers. -// m_reelbank = 2; +// m_reelbank = 2; } @@ -2185,19 +2186,19 @@ void cmaster_state::outport0_w(uint8_t data) xxxx ---- unused? */ -// popmessage("outport %02x",data); +// popmessage("outport %02x",data); m_enable_reg = data; } void cmaster_state::chyangb_outport0_w(uint8_t data) { -// popmessage("outport %02x",data); +// popmessage("outport %02x",data); m_enable_reg = data & 0xef; // mask bg register flag } void cmaster_state::wcat3a_outport0_w(uint8_t data) { -// popmessage("outport %02x",data); +// popmessage("outport %02x",data); m_enable_reg = data & 0x0b; // mask bg register flag } @@ -2351,7 +2352,7 @@ void wingco_state::mcu_portc_w(uint8_t data) void wingco_state::draw8_sn_w(uint8_t data) { // SN76489A commands have a inversed bit order. -// Maybe this design was meant for protection. +// Maybe this design was meant for protection. data = bitswap<8>(data, 0, 1, 2, 3, 4, 5, 6, 7); m_draw8sn->write(data); @@ -2565,21 +2566,21 @@ void cb3_state::misc_out_w(uint8_t data) void wingco_state::magodds_outb850_w(uint8_t data) { uint8_t pal_index[8] = { 0, 1, 6, 3, 4, 5, 2, 7 }; // fix reels BG color - m_bgreels = pal_index[data & 0x07]; // set BG reels color index + m_bgreels = pal_index[data & 0x07]; // set BG reels color index if (data&0x20) m_tile_bank = 2; else m_tile_bank = 0; -// popmessage("magodds_outb850_w %02x", data); +// popmessage("magodds_outb850_w %02x", data); m_fg_tilemap->mark_all_dirty(); } void wingco_state::magodds_outb860_w(uint8_t data) { -// popmessage("magodds_outb860_w %02x\n", data); +// popmessage("magodds_outb860_w %02x\n", data); } void wingco_state::fl7w4_outc802_w(uint8_t data) @@ -2614,7 +2615,7 @@ void unkch_state::coincount_w(uint8_t data) machine().bookkeeping().coin_counter_w(1, data & 0x08); // Key In counter machine().bookkeeping().coin_counter_w(2, data & 0x02); // payout counter -// popmessage("coin counters: %02x", data); +// popmessage("coin counters: %02x", data); } void unkch_state::unkcm_0x02_w(uint8_t data) @@ -2635,7 +2636,7 @@ void unkch_state::unkcm_0x02_w(uint8_t data) */ -// popmessage("unkcm_0x02_w %02x", data); +// popmessage("unkcm_0x02_w %02x", data); m_vblank_irq_enable = data & 0x80; if (!m_vblank_irq_enable) @@ -2656,7 +2657,7 @@ void unkch_state::unkcm_0x03_w(uint8_t data) m_vidreg = data; -// popmessage("unkcm_0x03_w %02x", data); +// popmessage("unkcm_0x03_w %02x", data); } #if 0 @@ -2673,7 +2674,7 @@ void goldstar_state::ladylinr_outport_w(uint8_t data) .x.. .... x... .... */ -// popmessage("Output: %02X", data); +// popmessage("Output: %02X", data); } #endif @@ -2848,7 +2849,7 @@ uint8_t cd3poker_state::armaly_prot_r() void unkch_state::bonch_0x10_w(uint8_t data) // prot. system { -// popmessage("bonch_0x10_w %02x", data); +// popmessage("bonch_0x10_w %02x", data); logerror("bonch_0x10_w %02x\n", data); } @@ -2861,8 +2862,8 @@ void unkch_state::bonch_0x20_w(uint8_t data) // meters machine().bookkeeping().coin_counter_w(4, data & 0x10); // Coin D machine().bookkeeping().coin_counter_w(5, data & 0x40); // Key Out -// popmessage("bonch_0x20_w %02x", data); -// logerror("bonch_0x20_w %02x\n", data); +// popmessage("bonch_0x20_w %02x", data); +// logerror("bonch_0x20_w %02x\n", data); } void unkch_state::bonch_0x30_w(uint8_t data) // lamps @@ -2876,14 +2877,14 @@ void unkch_state::bonch_0x30_w(uint8_t data) // lamps m_lamps[6] = BIT(data, 6); // D-Up/Take m_lamps[7] = BIT(data, 7); // Stop All -// popmessage("bonch_0x30_w %02x", data); -// logerror("bonch_0x30_w %02x\n", data); +// popmessage("bonch_0x30_w %02x", data); +// logerror("bonch_0x30_w %02x\n", data); } void unkch_state::bonch_0x40_w(uint8_t data) // player 2 ??? wdog ??? video_reg ??? { -// popmessage("bonch_0x40_w %02x", data); -// if((data & 0x6f) != 0) // skip bits 4 and 7 (bit 7 wd or vid_reg enable/disable global) - (bit 4 fixed 1) - (values 90-10-90-10-etc...) +// popmessage("bonch_0x40_w %02x", data); +// if((data & 0x6f) != 0) // skip bits 4 and 7 (bit 7 wd or vid_reg enable/disable global) - (bit 4 fixed 1) - (values 90-10-90-10-etc...) logerror("bonch_0x40_w %02x\n", data); // bit 5 - Hopper Motor @@ -2986,7 +2987,7 @@ void wingco_state::sm7831_write(offs_t offset, uint8_t data) sm7831_Y_reg[i] = 0; logerror("SM7831: Clear X register - Offset:%02x - Data:%02x\n", offset, data); break; - case 0x01: // Move Register X to Y + case 0x01: // Move Register X to Y for(int i = 0; i < 8 ; i++) sm7831_Y_reg[i] = sm7831_X_reg[i]; logerror("SM7831: Move Register X to Y - Offset:%02x - Data:%02x\n", offset, data); @@ -3014,14 +3015,14 @@ void wingco_state::sm7831_write(offs_t offset, uint8_t data) } logerror("SM7831: Exchange Register X with Z - Offset:%02x - Data:%02x\n", offset, data); break; - case 0x03: logerror("SM7831: Zero sense Register X - Offset:%02x - Data:%02x\n", offset, data); break; // Zero sense Register X - Set Zero Flag if ... - case 0x23: logerror("SM7831: Zero sense Register Y - Offset:%02x - Data:%02x\n", offset, data); break; // Zero sense Register y - Set Zero Flag if ... - case 0x04: logerror("SM7831: Register X normalization - Offset:%02x - Data:%02x\n", offset, data); break; // Register X normalization - case 0x24: logerror("SM7831: Register Y normalization - Offset:%02x - Data:%02x\n", offset, data); break; // Register Y normalization + case 0x03: logerror("SM7831: Zero sense Register X - Offset:%02x - Data:%02x\n", offset, data); break; // Zero sense Register X - Set Zero Flag if ... + case 0x23: logerror("SM7831: Zero sense Register Y - Offset:%02x - Data:%02x\n", offset, data); break; // Zero sense Register y - Set Zero Flag if ... + case 0x04: logerror("SM7831: Register X normalization - Offset:%02x - Data:%02x\n", offset, data); break; // Register X normalization + case 0x24: logerror("SM7831: Register Y normalization - Offset:%02x - Data:%02x\n", offset, data); break; // Register Y normalization // Arithmetic Commands - case 0x08: // Add X + Y -> X + case 0x08: // Add X + Y -> X { uint8_t carry = 0; @@ -3067,7 +3068,7 @@ void wingco_state::sm7831_write(offs_t offset, uint8_t data) } break; - case 0x09: // Sub X - Y -> X + case 0x09: // Sub X - Y -> X { uint8_t borrow = 0; @@ -3106,23 +3107,23 @@ void wingco_state::sm7831_write(offs_t offset, uint8_t data) logerror("SM7831: Sub X - Y -> X - Offset:%02x - Data:%02x - borrow:%02x\n", offset, data, borrow); } break; - case 0x0a: logerror("SM7831: Mul X * Y -> X - Offset:%02x - Data:%02x\n", offset, data); break; // Mul X * Y -> X - case 0x0c: logerror("SM7831: Div X / Y -> X - Offset:%02x - Data:%02x\n", offset, data); break; // Div X / Y -> X - case 0x0e: logerror("SM7831: SQRTodd X sqrt -> X - Offset:%02x - Data:%02x\n", offset, data); break; // SQRTodd X sqrt -> X - case 0x1e: logerror("SM7831: SQRTeven X sqrt -> X - Offset:%02x - Data:%02x\n", offset, data); break; // SQRTeven X sqrt -> X + case 0x0a: logerror("SM7831: Mul X * Y -> X - Offset:%02x - Data:%02x\n", offset, data); break; // Mul X * Y -> X + case 0x0c: logerror("SM7831: Div X / Y -> X - Offset:%02x - Data:%02x\n", offset, data); break; // Div X / Y -> X + case 0x0e: logerror("SM7831: SQRTodd X sqrt -> X - Offset:%02x - Data:%02x\n", offset, data); break; // SQRTodd X sqrt -> X + case 0x1e: logerror("SM7831: SQRTeven X sqrt -> X - Offset:%02x - Data:%02x\n", offset, data); break; // SQRTeven X sqrt -> X default: logerror("SM7831: Default - Offset:%02x - Data:%02x\n", offset, data); break; } else switch((data & 0xc0) >> 4) { case 0x04: - case 0x05: logerror("SM7831: SL Register X - Offset:%02x - Data:%02x\n", offset, data); break; // SR Register X + case 0x05: logerror("SM7831: SL Register X - Offset:%02x - Data:%02x\n", offset, data); break; // SR Register X case 0x06: - case 0x07: logerror("SM7831: SL Register Y - Offset:%02x - Data:%02x\n", offset, data); break; // SL Register Y + case 0x07: logerror("SM7831: SL Register Y - Offset:%02x - Data:%02x\n", offset, data); break; // SL Register Y case 0x08: - case 0x09: logerror("SM7831: SR Register X - Offset:%02x - Data:%02x\n", offset, data); break; // SR Register X + case 0x09: logerror("SM7831: SR Register X - Offset:%02x - Data:%02x\n", offset, data); break; // SR Register X case 0x0a: - case 0x0b: logerror("SM7831: SR Register Y - Offset:%02x - Data:%02x\n", offset, data); break; // SR Register Y + case 0x0b: logerror("SM7831: SR Register Y - Offset:%02x - Data:%02x\n", offset, data); break; // SR Register Y default: logerror("SM7831: Default - Offset:%02x - Data:%02x\n", offset, data); break; } @@ -7020,10 +7021,10 @@ static INPUT_PORTS_START( tonypok ) PORT_DIPSETTING( 0x00, "300" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPNAME( 0x30, 0x00, "Credit Limit" ) PORT_DIPLOCATION("DSW2:!5,!6") // OK - PORT_DIPSETTING( 0x00, "10.000" ) - PORT_DIPSETTING( 0x10, "50.000" ) - PORT_DIPSETTING( 0x20, "100.000" ) - PORT_DIPSETTING( 0x30, "Unlimited" ) + PORT_DIPSETTING( 0x00, "10.000" ) + PORT_DIPSETTING( 0x10, "50.000" ) + PORT_DIPSETTING( 0x20, "100.000" ) + PORT_DIPSETTING( 0x30, "Unlimited" ) PORT_DIPNAME( 0x40, 0x40, "Key In Type" ) PORT_DIPLOCATION("DSW2:!7") // OK PORT_DIPSETTING( 0x40, "A-Type" ) PORT_DIPSETTING( 0x00, "B-Type" ) @@ -7066,10 +7067,10 @@ static INPUT_PORTS_START( tonypok ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x06, 0x06, "Coin In Limit" ) PORT_DIPLOCATION("DSW4:2,3") // OK - PORT_DIPSETTING( 0x06, "1,000" ) - PORT_DIPSETTING( 0x04, "5,000" ) - PORT_DIPSETTING( 0x02, "10,000" ) - PORT_DIPSETTING( 0x00, "20,000" ) + PORT_DIPSETTING( 0x06, "1,000" ) + PORT_DIPSETTING( 0x04, "5,000" ) + PORT_DIPSETTING( 0x02, "10,000" ) + PORT_DIPSETTING( 0x00, "20,000" ) PORT_DIPNAME( 0x08, 0x08, "Instant W-Up Game" ) PORT_DIPLOCATION("DSW4:4") // OK PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // play W-up game right away from bet screen! @@ -8540,37 +8541,37 @@ INPUT_PORTS_END static INPUT_PORTS_START( f16s8l ) /* ============================================================================ - Findings Summary (current build) + Findings Summary (current build) ---------------------------------------------------------------------------- - • Maximum / Minimum Bet functions identified and operational - • Key-In value table verified - • Double-Up mode and percentage settings confirmed - • Bet-Type switching functional - • Coin A ratio verified — also applies to Coin D and determines - hopper payout rate (tokens per unit) - • Payout percentage and Odds Table behavior confirmed - - • Coin B input not present - • Coin C produces sound only — no credit increment (likely disabled channel) - • "Hold a Pair after Losing a Spin" feature not located in current code - - • Double-Up always active - • Reel speed is stable - • No limits detected on credit-in, hopper-out, or gameplay credits + • Maximum / Minimum Bet functions identified and operational + • Key-In value table verified + • Double-Up mode and percentage settings confirmed + • Bet-Type switching functional + • Coin A ratio verified — also applies to Coin D and determines + hopper payout rate (tokens per unit) + • Payout percentage and Odds Table behavior confirmed + + • Coin B input not present + • Coin C produces sound only — no credit increment (likely disabled channel) + • "Hold a Pair after Losing a Spin" feature not located in current code + + • Double-Up always active + • Reel speed is stable + • No limits detected on credit-in, hopper-out, or gameplay credits ---------------------------------------------------------------------------- - Gameplay characteristics and special features: - • Mario JOK symbol acts as WILD for all symbols and triggers - the on-screen message "GOLD JOKER" - • Girl JP symbol: does not form combinations, but whenever it appears - anywhere on the reels during a winning spin, the total win is DOUBLED - • Random "LUCKY YOU" event grants 3 free spins at any time - • "GOOD FEVER" event may activate randomly, doubling all wins - on the fever payline + Gameplay characteristics and special features: + • Mario JOK symbol acts as WILD for all symbols and triggers + the on-screen message "GOLD JOKER" + • Girl JP symbol: does not form combinations, but whenever it appears + anywhere on the reels during a winning spin, the total win is DOUBLED + • Random "LUCKY YOU" event grants 3 free spins at any time + • "GOOD FEVER" event may activate randomly, doubling all wins + on the fever payline ============================================================================ - End of findings + End of findings ============================================================================ */ PORT_INCLUDE( lucky8b ) @@ -8589,10 +8590,10 @@ static INPUT_PORTS_START( f16s8l ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x18, 0x18, "Double Up %" ) PORT_DIPLOCATION("DSW1:4,5") - PORT_DIPSETTING( 0x18, "50%" ) - PORT_DIPSETTING( 0x10, "60%" ) - PORT_DIPSETTING( 0x08, "70%" ) - PORT_DIPSETTING( 0x00, "80%" ) + PORT_DIPSETTING( 0x18, "50%" ) + PORT_DIPSETTING( 0x10, "60%" ) + PORT_DIPSETTING( 0x08, "70%" ) + PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -8605,10 +8606,10 @@ static INPUT_PORTS_START( f16s8l ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x03, 0x03, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2") - PORT_DIPSETTING( 0x03, "50%" ) - PORT_DIPSETTING( 0x02, "60%" ) - PORT_DIPSETTING( 0x01, "70%" ) - PORT_DIPSETTING( 0x00, "80%" ) + PORT_DIPSETTING( 0x03, "50%" ) + PORT_DIPSETTING( 0x02, "60%" ) + PORT_DIPSETTING( 0x01, "70%" ) + PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -8625,15 +8626,15 @@ static INPUT_PORTS_START( f16s8l ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "Odds Table" ) PORT_DIPLOCATION("DSW2:8") - PORT_DIPSETTING( 0x80, "Low" ) - PORT_DIPSETTING( 0x00, "High" ) + PORT_DIPSETTING( 0x80, "Low" ) + PORT_DIPSETTING( 0x00, "High" ) PORT_MODIFY("DSW3") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW3:1,2") - PORT_DIPSETTING( 0x03, DEF_STR( 1C_10C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_10C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -8655,28 +8656,28 @@ static INPUT_PORTS_START( f16s8l ) PORT_MODIFY("DSW4") PORT_DIPNAME( 0x07, 0x06, "Key In Rate" ) PORT_DIPLOCATION("DSW4:1,2,3") - PORT_DIPSETTING( 0x00, "1 Pulse / 5 Credits" ) - PORT_DIPSETTING( 0x04, "1 Pulse / 10 Credits" ) - PORT_DIPSETTING( 0x02, "1 Pulse / 20 Credits" ) - PORT_DIPSETTING( 0x06, "1 Pulse / 100 Credits" ) - PORT_DIPSETTING( 0x01, "1 Pulse / 110 Credits" ) - PORT_DIPSETTING( 0x05, "1 Pulse / 120 Credits" ) - PORT_DIPSETTING( 0x03, "1 Pulse / 130 Credits" ) - PORT_DIPSETTING( 0x07, "1 Pulse / 140 Credits" ) + PORT_DIPSETTING( 0x00, "1 Pulse / 5 Credits" ) + PORT_DIPSETTING( 0x04, "1 Pulse / 10 Credits" ) + PORT_DIPSETTING( 0x02, "1 Pulse / 20 Credits" ) + PORT_DIPSETTING( 0x06, "1 Pulse / 100 Credits" ) + PORT_DIPSETTING( 0x01, "1 Pulse / 110 Credits" ) + PORT_DIPSETTING( 0x05, "1 Pulse / 120 Credits" ) + PORT_DIPSETTING( 0x03, "1 Pulse / 130 Credits" ) + PORT_DIPSETTING( 0x07, "1 Pulse / 140 Credits" ) PORT_DIPNAME( 0x08, 0x08, "Double Up Type" ) PORT_DIPLOCATION("DSW4:4") // both are hi-lo with witches - PORT_DIPSETTING( 0x00, "Type 1" ) - PORT_DIPSETTING( 0x08, "Type 2" ) + PORT_DIPSETTING( 0x00, "Type 1" ) + PORT_DIPSETTING( 0x08, "Type 2" ) PORT_DIPNAME( 0x10, 0x10, "Bet Type" ) PORT_DIPLOCATION("DSW4:5") - PORT_DIPSETTING( 0x10, "Type 1" ) - PORT_DIPSETTING( 0x00, "Type 2" ) + PORT_DIPSETTING( 0x10, "Type 1" ) + PORT_DIPSETTING( 0x00, "Type 2" ) PORT_DIPNAME( 0x60, 0x00, "Maximum Bet" ) PORT_DIPLOCATION("DSW4:6,7") - PORT_DIPSETTING( 0x60, "32" ) - PORT_DIPSETTING( 0x20, "64" ) - PORT_DIPSETTING( 0x40, "78" ) - PORT_DIPSETTING( 0x00, "80" ) + PORT_DIPSETTING( 0x60, "32" ) + PORT_DIPSETTING( 0x20, "64" ) + PORT_DIPSETTING( 0x40, "78" ) + PORT_DIPSETTING( 0x00, "80" ) PORT_DIPNAME( 0x80, 0x80, "Minimum Bet" ) PORT_DIPLOCATION("DSW4:8") - PORT_DIPSETTING( 0x00, "1" ) - PORT_DIPSETTING( 0x80, "8" ) + PORT_DIPSETTING( 0x00, "1" ) + PORT_DIPSETTING( 0x80, "8" ) INPUT_PORTS_END @@ -8815,63 +8816,63 @@ static INPUT_PORTS_START( wcat3 ) /* The following info is from japanese manual - //---------------- DSW5 is present in the daughterboard ---------------- - PORT_MODIFY("DSW5") - PORT_DIPNAME( 0x03, 0x02, "Coin Limit" ) PORT_DIPLOCATION("DSW5:1,2") - PORT_DIPSETTING( 0x03, "1,000" ) // off,off - PORT_DIPSETTING( 0x02, "5,000" ) // on,off - PORT_DIPSETTING( 0x01, "10,000" ) // off,on - PORT_DIPSETTING( 0x00, "20,000" ) // on,on - PORT_DIPNAME( 0x1c, 0x14, "Credit Limit" ) PORT_DIPLOCATION("DSW5:3,4,5") - PORT_DIPSETTING( 0x1c, "5,000" ) // off,off,off - PORT_DIPSETTING( 0x18, "10,000" ) // on,off,off - PORT_DIPSETTING( 0x14, "20,000" ) // off,on,off - PORT_DIPSETTING( 0x10, "30,000" ) // on,on,off - PORT_DIPSETTING( 0x0c, "40,000" ) // off,off,on - PORT_DIPSETTING( 0x08, "50,000" ) // on,off,on - PORT_DIPSETTING( 0x04, "100,000" ) // off,on,on - PORT_DIPSETTING( 0x00, "None" ) // on,on,on - PORT_DIPNAME( 0x20, 0x00, "Reel Speed" ) PORT_DIPLOCATION("DSW5:6") - PORT_DIPSETTING( 0x20, "Normal" ) // off - PORT_DIPSETTING( 0x00, "High" ) // on - PORT_DIPNAME( 0xc0, 0xc0, "Max Bet" ) PORT_DIPLOCATION("DSW5:7,8") - PORT_DIPSETTING( 0xc0, "8 Bet" ) // off,off - PORT_DIPSETTING( 0x80, "16 Bet" ) // on,off - PORT_DIPSETTING( 0x40, "32 Bet" ) // off,on - PORT_DIPSETTING( 0x00, "64 Bet" ) // on,on - - //---------------- DSW6 is present in the daughterboard ---------------- - PORT_MODIFY("DSW6") - PORT_DIPNAME( 0x03, 0x03, "Bell Fever Line Count" ) PORT_DIPLOCATION("DSW6:1,2") - PORT_DIPSETTING( 0x03, "3" ) // off,off - PORT_DIPSETTING( 0x02, "5" ) // on,off - PORT_DIPSETTING( 0x01, "7" ) // off,on - PORT_DIPSETTING( 0x00, "9" ) // on,on - PORT_DIPNAME( 0x04, 0x04, "Cat Bonus Count" ) PORT_DIPLOCATION("DSW6:3") - PORT_DIPSETTING( 0x04, "7" ) // off - PORT_DIPSETTING( 0x00, "9" ) // on - PORT_DIPNAME( 0x10, 0x10, "Cat Bonus Multiplier" ) PORT_DIPLOCATION("DSW6:5") - PORT_DIPSETTING( 0x00, "x2" ) // on - PORT_DIPSETTING( 0x10, "x3" ) // off - PORT_DIPNAME( 0x60, 0x60, "Bar Bonus Count (1/2/3 BAR)" ) PORT_DIPLOCATION("DSW6:6,7") - PORT_DIPSETTING( 0x60, "3 / 6 / 8" ) // off,off - PORT_DIPSETTING( 0x40, "4 / 8 / 12" ) // on,off - PORT_DIPSETTING( 0x20, "5 / 10 / 14" ) // off,on - PORT_DIPSETTING( 0x00, "6 / 12 / 16" ) // on,on - - //------------- Rotary Switch is present in the daughterboard ------------- - PORT_MODIFY("Rotary SW") - PORT_DIPNAME( 0x0f, 0x05, "Wave Level" ) PORT_DIPLOCATION("SW7:1,2,3,4") - PORT_DIPSETTING( 0x00, "0 (None)" ) // all off -> 0 - PORT_DIPSETTING( 0x01, "1" ) - PORT_DIPSETTING( 0x02, "2" ) - PORT_DIPSETTING( 0x03, "3" ) - PORT_DIPSETTING( 0x04, "4" ) - PORT_DIPSETTING( 0x05, "5" ) - PORT_DIPSETTING( 0x06, "6" ) - PORT_DIPSETTING( 0x07, "7" ) - PORT_DIPSETTING( 0x08, "8" ) - PORT_DIPSETTING( 0x09, "9 (Large)" ) + //---------------- DSW5 is present in the daughterboard ---------------- + PORT_MODIFY("DSW5") + PORT_DIPNAME( 0x03, 0x02, "Coin Limit" ) PORT_DIPLOCATION("DSW5:1,2") + PORT_DIPSETTING( 0x03, "1,000" ) // off,off + PORT_DIPSETTING( 0x02, "5,000" ) // on,off + PORT_DIPSETTING( 0x01, "10,000" ) // off,on + PORT_DIPSETTING( 0x00, "20,000" ) // on,on + PORT_DIPNAME( 0x1c, 0x14, "Credit Limit" ) PORT_DIPLOCATION("DSW5:3,4,5") + PORT_DIPSETTING( 0x1c, "5,000" ) // off,off,off + PORT_DIPSETTING( 0x18, "10,000" ) // on,off,off + PORT_DIPSETTING( 0x14, "20,000" ) // off,on,off + PORT_DIPSETTING( 0x10, "30,000" ) // on,on,off + PORT_DIPSETTING( 0x0c, "40,000" ) // off,off,on + PORT_DIPSETTING( 0x08, "50,000" ) // on,off,on + PORT_DIPSETTING( 0x04, "100,000" ) // off,on,on + PORT_DIPSETTING( 0x00, "None" ) // on,on,on + PORT_DIPNAME( 0x20, 0x00, "Reel Speed" ) PORT_DIPLOCATION("DSW5:6") + PORT_DIPSETTING( 0x20, "Normal" ) // off + PORT_DIPSETTING( 0x00, "High" ) // on + PORT_DIPNAME( 0xc0, 0xc0, "Max Bet" ) PORT_DIPLOCATION("DSW5:7,8") + PORT_DIPSETTING( 0xc0, "8 Bet" ) // off,off + PORT_DIPSETTING( 0x80, "16 Bet" ) // on,off + PORT_DIPSETTING( 0x40, "32 Bet" ) // off,on + PORT_DIPSETTING( 0x00, "64 Bet" ) // on,on + + //---------------- DSW6 is present in the daughterboard ---------------- + PORT_MODIFY("DSW6") + PORT_DIPNAME( 0x03, 0x03, "Bell Fever Line Count" ) PORT_DIPLOCATION("DSW6:1,2") + PORT_DIPSETTING( 0x03, "3" ) // off,off + PORT_DIPSETTING( 0x02, "5" ) // on,off + PORT_DIPSETTING( 0x01, "7" ) // off,on + PORT_DIPSETTING( 0x00, "9" ) // on,on + PORT_DIPNAME( 0x04, 0x04, "Cat Bonus Count" ) PORT_DIPLOCATION("DSW6:3") + PORT_DIPSETTING( 0x04, "7" ) // off + PORT_DIPSETTING( 0x00, "9" ) // on + PORT_DIPNAME( 0x10, 0x10, "Cat Bonus Multiplier" ) PORT_DIPLOCATION("DSW6:5") + PORT_DIPSETTING( 0x00, "x2" ) // on + PORT_DIPSETTING( 0x10, "x3" ) // off + PORT_DIPNAME( 0x60, 0x60, "Bar Bonus Count (1/2/3 BAR)" ) PORT_DIPLOCATION("DSW6:6,7") + PORT_DIPSETTING( 0x60, "3 / 6 / 8" ) // off,off + PORT_DIPSETTING( 0x40, "4 / 8 / 12" ) // on,off + PORT_DIPSETTING( 0x20, "5 / 10 / 14" ) // off,on + PORT_DIPSETTING( 0x00, "6 / 12 / 16" ) // on,on + + //------------- Rotary Switch is present in the daughterboard ------------- + PORT_MODIFY("Rotary SW") + PORT_DIPNAME( 0x0f, 0x05, "Wave Level" ) PORT_DIPLOCATION("SW7:1,2,3,4") + PORT_DIPSETTING( 0x00, "0 (None)" ) // all off -> 0 + PORT_DIPSETTING( 0x01, "1" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x03, "3" ) + PORT_DIPSETTING( 0x04, "4" ) + PORT_DIPSETTING( 0x05, "5" ) + PORT_DIPSETTING( 0x06, "6" ) + PORT_DIPSETTING( 0x07, "7" ) + PORT_DIPSETTING( 0x08, "8" ) + PORT_DIPSETTING( 0x09, "9 (Large)" ) */ INPUT_PORTS_END @@ -12090,7 +12091,7 @@ static INPUT_PORTS_START( bonusch ) PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, "Double-Up Type" ) PORT_DIPSETTING( 0x03, "1" ) // Hi-Lo Card Style - PORT_DIPSETTING( 0x02, "2" ) // Hi-Lo With Reel Bonus + PORT_DIPSETTING( 0x02, "2" ) // Hi-Lo With Reel Bonus PORT_DIPSETTING( 0x01, "3" ) // Hi-Lo With Poker Combo PORT_DIPSETTING( 0x00, "None" ) PORT_DIPNAME( 0x04, 0x04, "Hopper SW" ) @@ -12167,7 +12168,7 @@ static INPUT_PORTS_START( bonusch ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x00, "1 Coin / 200 Credit" ) // add this to the core -> 1 Coin 200 Credits + PORT_DIPSETTING( 0x00, "1 Coin / 200 Credit" ) // add this to the core -> 1 Coin 200 Credits PORT_DIPNAME( 0x80, 0x80, "Reel" ) PORT_DIPSETTING( 0x80, "Auto Stop" ) PORT_DIPSETTING( 0x00, "Manual Stop" ) @@ -23972,22 +23973,17 @@ ROM_START( nfb96se ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) - ROM_LOAD( "dogd5.rom", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) - ROM_LOAD( "dogd6.rom", 0x08000, 0x08000, CRC(c48e5b5c) SHA1(9d79631b54d9915cd161b5028c1be7879254d9be) ) ROM_LOAD( "dogd7.rom", 0x00000, 0x08000, CRC(2f03f1e2) SHA1(b221ad7177fcf4d6d65b8ee9c0f5e4289688c707) ) + ROM_LOAD( "dogd6.rom", 0x08000, 0x08000, CRC(c48e5b5c) SHA1(9d79631b54d9915cd161b5028c1be7879254d9be) ) + ROM_LOAD( "dogd5.rom", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "dogd1.rom", 0x6000, 0x2000, CRC(0f9f77b1) SHA1(03719f79a39f93f38e4170143a5654bd74596206) ) - ROM_LOAD( "dogd2.rom", 0x4000, 0x2000, CRC(6ab19916) SHA1(f125365b3c5546d72662cf439311811ae761f225) ) - ROM_LOAD( "dogd3.rom", 0x2000, 0x2000, CRC(5d4810a5) SHA1(8e9e50c6c7c13010ecb726041a1ac8eccead96ce) ) ROM_LOAD( "dogd4.rom", 0x0000, 0x2000, CRC(be31f6fa) SHA1(b522ff520b3fbb34c55c7bb1fe7dfeecd593d6be) ) + ROM_LOAD( "dogd3.rom", 0x2000, 0x2000, CRC(5d4810a5) SHA1(8e9e50c6c7c13010ecb726041a1ac8eccead96ce) ) + ROM_LOAD( "dogd2.rom", 0x4000, 0x2000, CRC(6ab19916) SHA1(f125365b3c5546d72662cf439311811ae761f225) ) + ROM_LOAD( "dogd1.rom", 0x6000, 0x2000, CRC(0f9f77b1) SHA1(03719f79a39f93f38e4170143a5654bd74596206) ) - // taken from new fruit bonus '96, might be wrong - ROM_REGION( 0x200, "proms", 0 ) // palette - ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) - ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) - - ROM_REGION( 0x100, "proms2", 0 ) // colours again? + ROM_REGION( 0x200, "proms", 0 ) // colours ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END @@ -24012,26 +24008,20 @@ ROM_START( nfb96sea ) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) - // the graphic roms on this set are a mess, the planes don't match up properly ROM_REGION( 0x18000, "gfx1", 0 ) - ROM_LOAD( "dog_05.rom", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) + ROM_LOAD( "dog_07.rom", 0x00000, 0x08000, CRC(2f03f1e2) SHA1(b221ad7177fcf4d6d65b8ee9c0f5e4289688c707) ) ROM_LOAD( "dog_06.rom", 0x08000, 0x08000, CRC(c48e5b5c) SHA1(9d79631b54d9915cd161b5028c1be7879254d9be) ) - ROM_LOAD( "dog_07.rom", 0x00000, 0x08000, CRC(97033c70) SHA1(4d5746f43f8f4d374ba2f31d21defd21921d39bf) ) + ROM_LOAD( "dog_05.rom", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "dog_01.rom", 0x0000, 0x2000, CRC(26eb35ce) SHA1(564c775eda7a026841095b210257aea59288f042) ) - ROM_LOAD( "dog_02.rom", 0x2000, 0x2000, CRC(0e220d8a) SHA1(f84145250785dae78ea5af6388d91ad24b42ff9c) ) - ROM_LOAD( "dog_03.rom", 0x4000, 0x2000, CRC(01a7ff6f) SHA1(bfb4ad07d99807eadbb0cb85c5a6cf60a5875f2d) ) - ROM_LOAD( "dog_04.rom", 0x6000, 0x2000, CRC(be31f6fa) SHA1(b522ff520b3fbb34c55c7bb1fe7dfeecd593d6be) ) + ROM_LOAD( "dog_04.rom", 0x0000, 0x2000, CRC(be31f6fa) SHA1(b522ff520b3fbb34c55c7bb1fe7dfeecd593d6be) ) + ROM_LOAD( "dog_03.rom", 0x2000, 0x2000, CRC(5d4810a5) SHA1(8e9e50c6c7c13010ecb726041a1ac8eccead96ce) ) + ROM_LOAD( "dog_02.rom", 0x4000, 0x2000, CRC(6ab19916) SHA1(f125365b3c5546d72662cf439311811ae761f225) ) + ROM_LOAD( "dog_01.rom", 0x6000, 0x2000, CRC(0f9f77b1) SHA1(03719f79a39f93f38e4170143a5654bd74596206) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) - // taken from new fruit bonus '96, might be wrong - ROM_REGION( 0x200, "proms", 0 ) // palette - ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) - ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) - - ROM_REGION( 0x100, "proms2", 0 ) // colours again? + ROM_REGION( 0x200, "proms", 0 ) // colours ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END @@ -24051,22 +24041,17 @@ ROM_START( nfb96seb ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) - ROM_LOAD( "dogmx5", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) - ROM_LOAD( "dogmx6", 0x08000, 0x08000, CRC(c48e5b5c) SHA1(9d79631b54d9915cd161b5028c1be7879254d9be) ) - ROM_LOAD( "dogmx7", 0x00000, 0x08000, CRC(97033c70) SHA1(4d5746f43f8f4d374ba2f31d21defd21921d39bf) ) // wagner video junk on this layer + ROM_LOAD( "dog_07.rom", 0x00000, 0x08000, CRC(2f03f1e2) SHA1(b221ad7177fcf4d6d65b8ee9c0f5e4289688c707) ) + ROM_LOAD( "dog_06.rom", 0x08000, 0x08000, CRC(c48e5b5c) SHA1(9d79631b54d9915cd161b5028c1be7879254d9be) ) + ROM_LOAD( "dog_05.rom", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "dogmx1", 0x6000, 0x2000, CRC(b72d2c2c) SHA1(faf60ca0f522868e6dbf7c3ace5c84d8fd001df3) ) - ROM_LOAD( "dogmx2", 0x4000, 0x2000, CRC(a85f5516) SHA1(1564e6c490883c96bffc561d9115eb53450945ce) ) - ROM_LOAD( "dogmx3", 0x2000, 0x2000, CRC(f1a8aea8) SHA1(c20b779a73856d94e862d87ad337c9501da86691) ) - ROM_LOAD( "dogmx4", 0x0000, 0x2000, CRC(be31f6fa) SHA1(b522ff520b3fbb34c55c7bb1fe7dfeecd593d6be) ) - - // taken from new fruit bonus '96, might be wrong - ROM_REGION( 0x200, "proms", 0 ) // palette - ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) - ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) + ROM_LOAD( "dog_04.rom", 0x0000, 0x2000, CRC(be31f6fa) SHA1(b522ff520b3fbb34c55c7bb1fe7dfeecd593d6be) ) + ROM_LOAD( "dog_03.rom", 0x2000, 0x2000, CRC(5d4810a5) SHA1(8e9e50c6c7c13010ecb726041a1ac8eccead96ce) ) + ROM_LOAD( "dog_02.rom", 0x4000, 0x2000, CRC(6ab19916) SHA1(f125365b3c5546d72662cf439311811ae761f225) ) + ROM_LOAD( "dog_01.rom", 0x6000, 0x2000, CRC(0f9f77b1) SHA1(03719f79a39f93f38e4170143a5654bd74596206) ) - ROM_REGION( 0x100, "proms2", 0 ) // colours again? + ROM_REGION( 0x200, "proms", 0 ) // colours ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END @@ -24097,7 +24082,7 @@ ROM_START( nfb96sec ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_CONTINUE( 0x00000, 0x08000 ) - ROM_REGION( 0x10000, "gfx2", 0 ) // Same data as other sets, arranged differently + ROM_REGION( 0x8000, "gfx2", 0 ) // Same data as other sets, arranged differently ROM_LOAD( "u35", 0x0000, 0x4000, CRC(ddd6b7cb) SHA1(ff5161d7d25b216fd507a43f9102cde1e1518593) ) // 0xxxxxxxxxxxxxx = 0xFF ROM_CONTINUE( 0x2000, 0x2000 ) ROM_CONTINUE( 0x0000, 0x2000 ) @@ -24105,12 +24090,7 @@ ROM_START( nfb96sec ) ROM_CONTINUE( 0x6000, 0x2000 ) ROM_CONTINUE( 0x4000, 0x2000 ) - // taken from new fruit bonus '96, might be wrong - ROM_REGION( 0x200, "proms", 0 ) // palette - ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) - ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) - - ROM_REGION( 0x100, "proms2", 0 ) // colours again? + ROM_REGION( 0x200, "proms", 0 ) // colours ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END @@ -24138,26 +24118,21 @@ ROM_START( carb2002 ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) - ROM_LOAD( "dogtai5", 0x10000, 0x08000, CRC(0c8a4afb) SHA1(994295eea7964d60b6a1db911679739a10be9bbe) ) - ROM_LOAD( "dogtai6", 0x08000, 0x08000, CRC(e9f5dc36) SHA1(6a4060c901f10202fe935701f1f1087c8477da56) ) ROM_LOAD( "dogtai7", 0x00000, 0x08000, CRC(73c4c1aa) SHA1(31a70861dc54b442a1e50adf3f013dbc38fbbbb1) ) + ROM_LOAD( "dogtai6", 0x08000, 0x08000, CRC(e9f5dc36) SHA1(6a4060c901f10202fe935701f1f1087c8477da56) ) + ROM_LOAD( "dogtai5", 0x10000, 0x08000, CRC(0c8a4afb) SHA1(994295eea7964d60b6a1db911679739a10be9bbe) ) // alt. replacements for roms 5+6?, erases the word 'slot' on the title screen? - ROM_LOAD( "dogdif5", 0x10000, 0x08000, CRC(a1986e44) SHA1(3178de9c6063c9f33878b6070db95b2eeb12ffea) ) ROM_LOAD( "dogdif6", 0x08000, 0x08000, CRC(a5d389fc) SHA1(3db570c938a387708974f24a110cf25b9b52ac22) ) + ROM_LOAD( "dogdif5", 0x10000, 0x08000, CRC(a1986e44) SHA1(3178de9c6063c9f33878b6070db95b2eeb12ffea) ) ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "dogtai1", 0x6000, 0x2000, CRC(68ed1c26) SHA1(495a8b57c368b0b7c2a618d4f1e980d5187f411a) ) - ROM_LOAD( "dogtai2", 0x4000, 0x2000, CRC(b5e25d9b) SHA1(9374f7662f92c10ca6d1af570eaa4d161173283f) ) - ROM_LOAD( "dogtai3", 0x2000, 0x2000, CRC(df13aeb2) SHA1(942f742a722bab44dd3de270001b60d888c44111) ) ROM_LOAD( "dogtai4", 0x0000, 0x2000, CRC(170f07ce) SHA1(4b48841f9c5bdf7bfbc05113148666a5bcdd3d35) ) + ROM_LOAD( "dogtai3", 0x2000, 0x2000, CRC(df13aeb2) SHA1(942f742a722bab44dd3de270001b60d888c44111) ) + ROM_LOAD( "dogtai2", 0x4000, 0x2000, CRC(b5e25d9b) SHA1(9374f7662f92c10ca6d1af570eaa4d161173283f) ) + ROM_LOAD( "dogtai1", 0x6000, 0x2000, CRC(68ed1c26) SHA1(495a8b57c368b0b7c2a618d4f1e980d5187f411a) ) - // taken from new fruit bonus '96, definitely wrong - ROM_REGION( 0x200, "proms", 0 ) // palette - ROM_LOAD( "chu19.bin", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) - ROM_LOAD( "chu20.bin", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) - - ROM_REGION( 0x100, "proms2", 0 ) // colours again? - ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, BAD_DUMP CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) + ROM_REGION( 0x200, "proms", 0 ) // colours + ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END @@ -24182,27 +24157,22 @@ ROM_START( carb2003 ) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) - ROM_LOAD( "timedog5.rom", 0x10000, 0x08000, CRC(cf05b66d) SHA1(a711a86f2a82dd685a379fda0cf7240b2ca2696e) ) - ROM_LOAD( "timedog6.rom", 0x08000, 0x08000, CRC(2d81bdbe) SHA1(56eaa9347014340b902d8f0bc38b719acf56c314) ) ROM_LOAD( "timedog7.rom", 0x00000, 0x08000, CRC(f8e410e5) SHA1(1edc863902cfb1605aca08f6970f9bd24147ca0b) ) + ROM_LOAD( "timedog6.rom", 0x08000, 0x08000, CRC(2d81bdbe) SHA1(56eaa9347014340b902d8f0bc38b719acf56c314) ) + ROM_LOAD( "timedog5.rom", 0x10000, 0x08000, CRC(cf05b66d) SHA1(a711a86f2a82dd685a379fda0cf7240b2ca2696e) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // these seem to contain mixed planes of different gfx sets.. not correct ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "timedog1.rom", 0x6000, 0x2000, CRC(d29e0217) SHA1(df978143ed313b33f848e7337097fe29c1fa4506) ) - ROM_LOAD( "timedog2.rom", 0x4000, 0x2000, CRC(fafb6a51) SHA1(57e79e5efd525cdf5a4475eedfee2c8fc1417b76) ) - ROM_LOAD( "timedog3.rom", 0x2000, 0x2000, CRC(6f305ac7) SHA1(55f0d73b783854584195658ab4e74770bc13ba0b) ) - ROM_LOAD( "timedog4.rom", 0x0000, 0x2000, CRC(807a16fc) SHA1(111e7d171f9278abea666d6ad41b02f2c8bf98d8) ) - ROM_IGNORE(0x2000) - - // taken from new fruit bonus '96, definitely wrong - ROM_REGION( 0x200, "proms", 0 ) // palette - ROM_LOAD( "chu19.bin", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) - ROM_LOAD( "chu20.bin", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) + ROM_LOAD( "timedog4.rom", 0x0000, 0x2000, BAD_DUMP CRC(807a16fc) SHA1(111e7d171f9278abea666d6ad41b02f2c8bf98d8) ) + ROM_IGNORE( 0x2000) + ROM_LOAD( "timedog3.rom", 0x2000, 0x2000, BAD_DUMP CRC(6f305ac7) SHA1(55f0d73b783854584195658ab4e74770bc13ba0b) ) + ROM_LOAD( "timedog2.rom", 0x4000, 0x2000, BAD_DUMP CRC(fafb6a51) SHA1(57e79e5efd525cdf5a4475eedfee2c8fc1417b76) ) + ROM_LOAD( "timedog1.rom", 0x6000, 0x2000, BAD_DUMP CRC(d29e0217) SHA1(df978143ed313b33f848e7337097fe29c1fa4506) ) - ROM_REGION( 0x100, "proms2", 0 ) // colours again? - ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, BAD_DUMP CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) + ROM_REGION( 0x200, "proms", 0 ) // colours + ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END ROM_START( noved ) @@ -25468,10 +25438,10 @@ ROM_START( bonusch ) ROM_CONTINUE( 0x10000, 0x08000 ) ROM_REGION( 0x20000, "gfx2", 0 ) -// ROM_LOAD( "4.1p", 0x08000, 0x08000, CRC(530bdec2) SHA1(2ce0993386fe6b165363a053b54fc66d8bf385d7) ) -// ROM_CONTINUE( 0x00000, 0x08000 ) -// ROM_LOAD( "3.1m", 0x18000, 0x08000, CRC(2acac012) SHA1(59d879214c4e473fa6fedb4a08dcd9b3c6a881a3) ) -// ROM_CONTINUE( 0x10000, 0x08000 ) +// ROM_LOAD( "4.1p", 0x08000, 0x08000, CRC(530bdec2) SHA1(2ce0993386fe6b165363a053b54fc66d8bf385d7) ) +// ROM_CONTINUE( 0x00000, 0x08000 ) +// ROM_LOAD( "3.1m", 0x18000, 0x08000, CRC(2acac012) SHA1(59d879214c4e473fa6fedb4a08dcd9b3c6a881a3) ) +// ROM_CONTINUE( 0x10000, 0x08000 ) ROM_LOAD( "4.1p", 0x08000, 0x04000, CRC(530bdec2) SHA1(2ce0993386fe6b165363a053b54fc66d8bf385d7) ) ROM_CONTINUE( 0x0e000, 0x02000 ) // 3rd and 4th querters swapped @@ -25512,10 +25482,10 @@ ROM_START( bonuscha ) ROM_CONTINUE( 0x10000, 0x08000 ) ROM_REGION( 0x20000, "gfx2", 0 ) -// ROM_LOAD( "4.1p", 0x08000, 0x08000, CRC(530bdec2) SHA1(2ce0993386fe6b165363a053b54fc66d8bf385d7) ) -// ROM_CONTINUE( 0x00000, 0x08000 ) -// ROM_LOAD( "3.1m", 0x18000, 0x08000, CRC(2acac012) SHA1(59d879214c4e473fa6fedb4a08dcd9b3c6a881a3) ) -// ROM_CONTINUE( 0x10000, 0x08000 ) +// ROM_LOAD( "4.1p", 0x08000, 0x08000, CRC(530bdec2) SHA1(2ce0993386fe6b165363a053b54fc66d8bf385d7) ) +// ROM_CONTINUE( 0x00000, 0x08000 ) +// ROM_LOAD( "3.1m", 0x18000, 0x08000, CRC(2acac012) SHA1(59d879214c4e473fa6fedb4a08dcd9b3c6a881a3) ) +// ROM_CONTINUE( 0x10000, 0x08000 ) ROM_LOAD( "4.1p", 0x08000, 0x04000, CRC(530bdec2) SHA1(2ce0993386fe6b165363a053b54fc66d8bf385d7) ) ROM_CONTINUE( 0x0e000, 0x02000 ) // 3rd and 4th querters swapped @@ -28475,6 +28445,22 @@ void wingco_state::init_magoddsc() } +void cmaster_state::init_nfb96bl() +{ + // split the byte nibbles creating 4bit data for the whole game palette. + uint8_t *proms = memregion("proms")->base(); + + for (int i = 0; i < 0x100; i++) + { + uint8_t nibble1 = proms[i] >> 4; + uint8_t nibble2 = proms[i] & 0x0f; + proms[i] = nibble2; + proms[i + 0x100] = nibble1; + } + + m_palette->update(); +} + void cmaster_state::init_nfb96sea() { uint8_t *rom = memregion("maincpu")->base(); @@ -28495,6 +28481,19 @@ void cmaster_state::init_nfb96sea() rom[i] = x; } + + // split the byte nibbles creating 4bit data for the whole game palette. + uint8_t *proms = memregion("proms")->base(); + + for (int i = 0; i < 0x100; i++) + { + uint8_t nibble1 = proms[i] >> 4; + uint8_t nibble2 = proms[i] & 0x0f; + proms[i] = nibble2; + proms[i + 0x100] = nibble1; + } + + m_palette->update(); } @@ -29559,10 +29558,10 @@ void cmaster_state::init_cutya() uint8_t *rom = memregion("maincpu")->base(); rom[0x02e6] = 0x83; // jp 0301h -> jp 8301h start - rom[0x2a6e] = 0x83; // ld hl, 0301h -> 8301h start + rom[0x2a6e] = 0x83; // ld hl, 0301h -> 8301h start rom[0x8f51] = 0x84; // jp 4423h -> jp 8423h loop attract rom[0x0821] = 0x93; // 81fh jp 53CBh -> jp 93cbh - rom[0x0927] = 0x5a; // 0926h call 0722h -> call 465ah - keep original program flow (as cutyline) + rom[0x0927] = 0x5a; // 0926h call 0722h -> call 465ah - keep original program flow (as cutyline) rom[0x0928] = 0x46; rom[0x9415] = 0xcd; // 9415h jp 8646h -> call 4d09h - keep original program flow (as cutyline) rom[0x9416] = 0x09; @@ -29606,7 +29605,12 @@ void wingco_state::init_cbaai() void cmaster_state::init_noved() { uint8_t *rom = memregion("maincpu")->base(); - rom[0x5551] = 0x00; // avoids link error + rom[0x5551] = 0xaf; // avoids link error + rom[0x29ff] = 0x00; + rom[0x2b11] = 0x00; + rom[0xb98f] = 0x00; + rom[0xb9ba] = 0x00; + rom[0xbab4] = 0x00; // split the byte nibbles creating 4bit data for the whole game palette. uint8_t *proms = memregion("proms")->base(); @@ -29930,12 +29934,12 @@ GAME( 1996, roypok96c, roypok96, amcoe2, roypok96a, cmaster_state, init_rp9 // some sets are messy and appear to have mismatched graphic roms, they need to be sorted out properly. // YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS -GAME( 1996, nfb96se, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 1, v97-3.3c Portuguese)", 0 ) -GAME( 1996, nfb96sea, nfb96, amcoe2, nfb96bl, cmaster_state, init_nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 2, v97-3.3c English)", MACHINE_WRONG_COLORS ) // encrypted program -GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 3, v97-3.3c Portuguese)", MACHINE_WRONG_COLORS ) -GAME( 1996, nfb96sec, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 4, v97-3.3c English)", MACHINE_WRONG_COLORS ) -GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", MACHINE_WRONG_COLORS ) -GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", MACHINE_WRONG_COLORS ) +GAME( 1996, nfb96se, nfb96, amcoe2, nfb96bl, cmaster_state, init_nfb96bl, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 1, v97-3.3c Portuguese)", 0 ) +GAME( 1996, nfb96sea, nfb96, amcoe2, nfb96bl, cmaster_state, init_nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 2, v97-3.3c English)", 0 ) // encrypted program +GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, cmaster_state, init_nfb96bl, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 3, v97-3.3c Portuguese)", 0 ) +GAME( 1996, nfb96sec, nfb96, amcoe2, nfb96bl, cmaster_state, init_nfb96bl, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 4, v97-3.3c English)", 0 ) +GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, cmaster_state, init_nfb96bl, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", 0 ) +GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, cmaster_state, init_nfb96bl, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 2006, noved, nfb96, amcoe2, nfb96bl, cmaster_state, init_noved, ROT0, "bootleg (Kon)", "Nove Diamante (bootleg)", 0 ) GAME( 2003, nfm, 0, nfm, nfm, cmaster_state, empty_init, ROT0, "Ming-Yang Electronic / TSK", "Fruit Bonus 2002 (Ming-Yang Electronic / TSK, vFB02-07A)", MACHINE_NOT_WORKING ) // vFB02-07A "Copyright By Ms. Liu Orchis 2003/03/06", needs correct PROM and USER1 regions decode |
