New working clones

------------------
Coco Louco [Jorge Silva]
Dongfang Zhi Zhu (Hong Kong, V011H, set 2) [Jorge Silva]
Puzzle & Action: Ichidant-R (World) (bootleg) [Jorge Silva]

Clones promoted to working
----------------------------
Super Poker (v114IT) [Ivan Vangelista]
Super Poker (v116IT-MX) [Ivan Vangelista]
This commit is contained in:
Ivan Vangelista 2022-01-25 19:12:25 +01:00
parent eb3c4e67da
commit 19b8551131
5 changed files with 184 additions and 60 deletions

View File

@ -48,7 +48,7 @@
Video : Video :
No scrolling , no sprites. No scrolling , no sprites.
32x32 Tilemap stored in VRAM (10 bits/tile (tile numebr 0-1023)) 32x32 Tilemap stored in VRAM (10 bits/tile (tile number 0-1023))
3 gfx ROMS 3 gfx ROMS
ROM1 - R component (ROM ->(parallel in) shift register 74166 (serial out) -> jamma output ROM1 - R component (ROM ->(parallel in) shift register 74166 (serial out) -> jamma output
@ -87,7 +87,7 @@
around the center. (each ghost represent a number). around the center. (each ghost represent a number).
Bet using START, and once done, press UP (deal), to allow the pacman eat all Bet using START, and once done, press UP (deal), to allow the pacman eat all
ghosts, revealing the five numbers (like italian poker games without cards). ghosts, revealing the five numbers (like Italian poker games without cards).
Now you have an arrow as cursor. Place it under the each number you want to Now you have an arrow as cursor. Place it under the each number you want to
discard and press START to eliminate the number and place the representative discard and press START to eliminate the number and place the representative
@ -102,7 +102,7 @@
If you're playing the Double-Up, choose left or right for Big and Small. If you're playing the Double-Up, choose left or right for Big and Small.
If you win, you'll get the bet amount x2. If you lose, your pacman will die. If you win, you'll get the bet amount x2. If you lose, your pacman will die.
Coin with A or B to exit the gambling game and play the ultra-adictive Coin with A or B to exit the gambling game and play the ultra-addictive
pacman front game again!... pacman front game again!...
*************************************************************************** ***************************************************************************
@ -142,7 +142,7 @@
1x oscillator 18.432 MHz. 1x oscillator 18.432 MHz.
1x 8 DIP Switches bank (near ay8910). 1x 8 DIP Switches bank (near ay8910).
1x Volume Pot (betweeen the audio amp and ay8910). 1x Volume Pot (between the audio amp and ay8910).
1x Motorola MCT1413 (High Current Darlington Transistor Array, same as ULN2003). 1x Motorola MCT1413 (High Current Darlington Transistor Array, same as ULN2003).
1x 2x28 Edge connector (pins 1-2-27-28 from component side are GND). 1x 2x28 Edge connector (pins 1-2-27-28 from component side are GND).
@ -764,6 +764,17 @@ ROM_START(unkpacgb)
ROM_IGNORE(0x4000) ROM_IGNORE(0x4000)
ROM_END ROM_END
ROM_START(unkpacgc)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD( "4", 0x0000, 0x2000, CRC(9f620694) SHA1(957d5c6636d40a74579d3f20be8f0b7e58516935) )
ROM_LOAD( "5", 0x8000, 0x2000, CRC(b107ad7e) SHA1(33ab0a63f8a57dd7efd5c5efae7c6e8bda1a65cc) )
ROM_REGION( 0x6000, "gfx1", 0 )
ROM_LOAD( "1", 0x2000, 0x2000, CRC(d00b04ea) SHA1(e65901d8586507257d74ab103001207e28fa28af) )
ROM_LOAD( "2", 0x4000, 0x2000, CRC(4a123a3d) SHA1(26300b8af0d0df0023a153a212699727311d1b74) )
ROM_LOAD( "3", 0x0000, 0x2000, CRC(f7cd9de0) SHA1(e0a6b316811ef7c3d3aeb853a9c50f9fdf1f2ff2) )
ROM_END
/* /*
Unknown 'Space Invaders' gambling game. Unknown 'Space Invaders' gambling game.
All roms are 0x8000 but only the last 0x2000 of each is used. All roms are 0x8000 but only the last 0x2000 of each is used.
@ -862,6 +873,7 @@ GAME( 1992?, strker, 0, tourpgum, tourpgum, unk_gambl_state, empty_init,
GAME( 199?, unkpacg, 0, unkpacg, unkpacg, unk_gambl_enc_state, empty_init, ROT0, "<unknown>", "unknown 'Pac-Man' gambling game (set 1)", MACHINE_SUPPORTS_SAVE ) GAME( 199?, unkpacg, 0, unkpacg, unkpacg, unk_gambl_enc_state, empty_init, ROT0, "<unknown>", "unknown 'Pac-Man' gambling game (set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 199?, unkpacgb, unkpacg, unkpacg, unkpacg, unk_gambl_enc_state, empty_init, ROT0, "<unknown>", "unknown 'Pac-Man' gambling game (set 2)", MACHINE_SUPPORTS_SAVE ) GAME( 199?, unkpacgb, unkpacg, unkpacg, unkpacg, unk_gambl_enc_state, empty_init, ROT0, "<unknown>", "unknown 'Pac-Man' gambling game (set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, unkpacgc, unkpacg, unkpacg, unkpacg, unk_gambl_state, empty_init, ROT0, "<unknown>", "Coco Louco", MACHINE_SUPPORTS_SAVE )
GAME( 199?, unkpacga, unkpacg, unkpacga, unkpacg, unk_gambl_enc_state, empty_init, ROT0, "IDI SRL", "Pucman", MACHINE_SUPPORTS_SAVE ) GAME( 199?, unkpacga, unkpacg, unkpacga, unkpacg, unk_gambl_enc_state, empty_init, ROT0, "IDI SRL", "Pucman", MACHINE_SUPPORTS_SAVE )
GAME( 199?, unksig, 0, unkpacg, unkfr, unk_gambl_enc_state, empty_init, ROT0, "<unknown>", "unknown 'Space Invaders' gambling game (set 1)", MACHINE_SUPPORTS_SAVE ) GAME( 199?, unksig, 0, unkpacg, unkfr, unk_gambl_enc_state, empty_init, ROT0, "<unknown>", "unknown 'Space Invaders' gambling game (set 1)", MACHINE_SUPPORTS_SAVE )

View File

@ -23,7 +23,8 @@ Year + Game PCB Sound Chips
95 Long Hu Bang V035C ? 95 Long Hu Bang V035C ?
95 Mj Ryukobou NO-T0094 M6295 IGS011 8255 95 Mj Ryukobou NO-T0094 M6295 IGS011 8255
95 Dragon World V010C NO-0105-4 M6295 YM3812 IGS011 IGS003 95 Dragon World V010C NO-0105-4 M6295 YM3812 IGS011 IGS003
95 Dragon World V011H ? 95 Dragon World V011H (set 1) ?
95 Dragon World V011H (set 2) NO-T0105 M6295 YM3812 IGS011 IGS003 IGS012
95 Dragon World V020J ? M6295 YM3812 IGS011 IGS003 IGS012 95 Dragon World V020J ? M6295 YM3812 IGS011 IGS003 IGS012
95 Dragon World V021J ? 95 Dragon World V021J ?
95 Dragon World V021O NO-0105-1 M6295 YM3812 IGS011 IGS003 IGS012 95 Dragon World V021O NO-0105-1 M6295 YM3812 IGS011 IGS003 IGS012
@ -4400,6 +4401,17 @@ ROM_START( drgnwrldv11h )
ROM_LOAD( "igs-s0302.u43", 0x00000, 0x40000, CRC(fde63ce1) SHA1(cc32d2cace319fe4d5d0aa96d7addb2d1def62f2) ) ROM_LOAD( "igs-s0302.u43", 0x00000, 0x40000, CRC(fde63ce1) SHA1(cc32d2cace319fe4d5d0aa96d7addb2d1def62f2) )
ROM_END ROM_END
ROM_START( drgnwrldv11ha )
ROM_REGION( 0x80000, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "u3", 0x00000, 0x80000, CRC(b68113c4) SHA1(618fbf8ef71fcab5cd887e2d06f08169aec9e59f) ) // label not readable
ROM_REGION( 0x400000, "blitter", 0 )
ROM_LOAD( "igs-d0301.u39", 0x000000, 0x400000, CRC(78ab45d9) SHA1(c326ee9f150d766edd6886075c94dea3691b606d) )
ROM_REGION( 0x40000, "oki", 0 )
ROM_LOAD( "china-dr-sp.u43", 0x00000, 0x40000, CRC(fde63ce1) SHA1(cc32d2cace319fe4d5d0aa96d7addb2d1def62f2) )
ROM_END
/*************************************************************************** /***************************************************************************
/Zhōngguó Lóng (China, V010C) /Zhōngguó Lóng (China, V010C)
@ -4924,7 +4936,8 @@ GAME( 1995, drgnwrldv30, drgnwrld, drgnwrld, drgnwrld, igs011_state, in
GAME( 1995, drgnwrldv21, drgnwrld, drgnwrld_igs012, drgnwrld, igs011_state, init_drgnwrldv21, ROT0, "IGS", "Dragon World (World, V021O)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, drgnwrldv21, drgnwrld, drgnwrld_igs012, drgnwrld, igs011_state, init_drgnwrldv21, ROT0, "IGS", "Dragon World (World, V021O)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, drgnwrldv21j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, init_drgnwrldv21j, ROT0, "IGS / Alta", "Zhongguo Long (Japan, V021J)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, drgnwrldv21j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, init_drgnwrldv21j, ROT0, "IGS / Alta", "Zhongguo Long (Japan, V021J)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, drgnwrldv20j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, init_drgnwrldv20j, ROT0, "IGS / Alta", "Zhongguo Long (Japan, V020J)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, drgnwrldv20j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, init_drgnwrldv20j, ROT0, "IGS / Alta", "Zhongguo Long (Japan, V020J)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, drgnwrldv11h, drgnwrld, drgnwrld, drgnwrldc, igs011_state, init_drgnwrldv11h, ROT0, "IGS", "Dongfang Zhi Zhu (Hong Kong, V011H)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, drgnwrldv11h, drgnwrld, drgnwrld, drgnwrldc, igs011_state, init_drgnwrldv11h, ROT0, "IGS", "Dongfang Zhi Zhu (Hong Kong, V011H, set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, drgnwrldv11ha, drgnwrld, drgnwrld_igs012, drgnwrldc, igs011_state, init_drgnwrldv40k, ROT0, "IGS", "Dongfang Zhi Zhu (Hong Kong, V011H, set 2)", MACHINE_SUPPORTS_SAVE ) // different encryption and with IGS012
GAME( 1995, drgnwrldv10c, drgnwrld, drgnwrld, drgnwrldc, igs011_state, init_drgnwrldv10c, ROT0, "IGS", "Zhongguo Long (China, V010C)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, drgnwrldv10c, drgnwrld, drgnwrld, drgnwrldc, igs011_state, init_drgnwrldv10c, ROT0, "IGS", "Zhongguo Long (China, V010C)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, lhb, 0, lhb, lhb, igs011_state, init_lhb, ROT0, "IGS", "Long Hu Bang (China, V035C)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, lhb, 0, lhb, lhb, igs011_state, init_lhb, ROT0, "IGS", "Long Hu Bang (China, V035C)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, lhbv33c, lhb, lhb, lhb, igs011_state, init_lhbv33c, ROT0, "IGS", "Long Hu Bang (China, V033C)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, lhbv33c, lhb, lhb, lhb, igs011_state, init_lhbv33c, ROT0, "IGS", "Long Hu Bang (China, V033C)", MACHINE_SUPPORTS_SAVE )

View File

@ -2272,6 +2272,18 @@ ROM_START( ichir ) /* Ichidant-R (Puzzle & Action 2) (c)1994 Sega (World) */
ROM_END ROM_END
ROM_START( ichirbl ) // bootleg of the World version, only difference is the protection checks are NOPed out
ROM_REGION( 0x200000, "maincpu", 0 )
ROM_LOAD16_BYTE( "2.f11", 0x000000, 0x080000, CRC(b8201c2e) SHA1(95ac035ffd5948745324d855ecffdb7d2ff9f0fb) )
ROM_LOAD16_BYTE( "1.f10", 0x000001, 0x080000, CRC(af0dd811) SHA1(75b1f51ad93f99933037ffff4106c92f9c2393e6) )
ROM_LOAD16_BYTE( "4.f8", 0x100000, 0x080000, CRC(85d73722) SHA1(7ebe81b4d6c89f87f60200a3a8cddb07d581adef) )
ROM_LOAD16_BYTE( "3.f9", 0x100001, 0x080000, CRC(bc3bbf25) SHA1(e760ad400bc183b38e9787d88c8ac084fbe2ae21) )
ROM_REGION( 0x080000, "upd", 0 )
ROM_LOAD( "2.e3", 0x000000, 0x080000, CRC(fc7b0da5) SHA1(46770aa7e19b4f8a183be3f433c48ad677b552b1) )
ROM_END
ROM_START( ichirk ) /* Ichidant-R (Puzzle & Action 2) (c)1994 Sega (Korea) */ ROM_START( ichirk ) /* Ichidant-R (Puzzle & Action 2) (c)1994 Sega (Korea) */
ROM_REGION( 0x200000, "maincpu", 0 ) ROM_REGION( 0x200000, "maincpu", 0 )
/* Again the part numbers are quite strange for the Korean verison */ /* Again the part numbers are quite strange for the Korean verison */
@ -2897,6 +2909,7 @@ GAME( 1994, stkclmns, 0, segac2, stkclmns, segac2_state, init_st
GAME( 1994, stkclmnsj, stkclmns, segac2, stkclmns, segac2_state, init_stkclmnj, ROT0, "Sega", "Stack Columns (Japan)", 0 ) GAME( 1994, stkclmnsj, stkclmns, segac2, stkclmns, segac2_state, init_stkclmnj, ROT0, "Sega", "Stack Columns (Japan)", 0 )
GAME( 1994, ichir, 0, segac2, ichir, segac2_state, init_ichir, ROT0, "Sega", "Puzzle & Action: Ichidant-R (World)", 0 ) GAME( 1994, ichir, 0, segac2, ichir, segac2_state, init_ichir, ROT0, "Sega", "Puzzle & Action: Ichidant-R (World)", 0 )
GAME( 1994, ichirbl, ichir, segac2, ichir, segac2_state, init_noprot, ROT0, "Sega", "Puzzle & Action: Ichidant-R (World) (bootleg)", 0 )
GAME( 1994, ichirk, ichir, segac2, ichir, segac2_state, init_ichirk, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Korea)", 0 ) GAME( 1994, ichirk, ichir, segac2, ichir, segac2_state, init_ichirk, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Korea)", 0 )
GAME( 1994, ichirj, ichir, segac2, ichir, segac2_state, init_ichirj, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Japan)", 0 ) GAME( 1994, ichirj, ichir, segac2, ichir, segac2_state, init_ichirj, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Japan)", 0 )
GAME( 1994, ichirjbl, ichir, segac, ichir, segac2_state, init_ichirjbl, ROT0, "bootleg", "Puzzle & Action: Ichidant-R (Japan) (bootleg)", 0 ) // C board, no samples GAME( 1994, ichirjbl, ichir, segac, ichir, segac2_state, init_ichirjbl, ROT0, "bootleg", "Puzzle & Action: Ichidant-R (Japan) (bootleg)", 0 ) // C board, no samples

View File

@ -28,12 +28,14 @@
***************************************************************************/ ***************************************************************************/
#include "emu.h" #include "emu.h"
#include "cpu/z180/z180.h" #include "cpu/z180/z180.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/i8255.h" #include "machine/i8255.h"
#include "machine/nvram.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "sound/ymopl.h" #include "sound/ymopl.h"
#include "machine/nvram.h"
#include "emupal.h" #include "emupal.h"
#include "screen.h" #include "screen.h"
#include "speaker.h" #include "speaker.h"
@ -58,9 +60,11 @@ public:
{ } { }
void spoker(machine_config &config); void spoker(machine_config &config);
void spokeru(machine_config &config);
void _3super8(machine_config &config); void _3super8(machine_config &config);
void init_spkleftover(); void init_spkleftover();
void init_spk114it();
void init_spk116it(); void init_spk116it();
void init_3super8(); void init_3super8();
@ -113,7 +117,9 @@ private:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void _3super8_portmap(address_map &map); void _3super8_portmap(address_map &map);
void spoker_map(address_map &map); void spoker_map(address_map &map);
void spokeru_map(address_map &map);
void spoker_portmap(address_map &map); void spoker_portmap(address_map &map);
void spokeru_portmap(address_map &map);
}; };
@ -281,6 +287,12 @@ void spoker_state::spoker_map(address_map &map)
map(0x0f400, 0x0ffff).ram().share("nvram"); map(0x0f400, 0x0ffff).ram().share("nvram");
} }
void spoker_state::spokeru_map(address_map &map) // TODO: implement other differences
{
map(0x00000, 0x0efff).rom();
map(0x0f000, 0x0ffff).ram().share("nvram");
}
void spoker_state::spoker_portmap(address_map &map) void spoker_state::spoker_portmap(address_map &map)
{ {
map(0x0000, 0x003f).ram(); // Z180 internal regs map(0x0000, 0x003f).ram(); // Z180 internal regs
@ -297,6 +309,28 @@ void spoker_state::spoker_portmap(address_map &map)
map(0x7000, 0x7fff).ram().w(FUNC(spoker_state::fg_color_w)).share(m_fg_color_ram); map(0x7000, 0x7fff).ram().w(FUNC(spoker_state::fg_color_w)).share(m_fg_color_ram);
} }
void spoker_state::spokeru_portmap(address_map &map)
{
map(0x0000, 0x003f).ram(); // Z180 internal regs
map(0x2000, 0x23ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette"); // should be good
map(0x2400, 0x27ff).ram().w(m_palette, FUNC(palette_device::write8_ext)).share("palette_ext"); // should be good
map(0x3000, 0x33ff).ram().w(FUNC(spoker_state::bg_tile_w)).share(m_bg_tile_ram); // should be good
map(0x4000, 0x4000).portr("DSW1"); // should be good
map(0x4001, 0x4001).portr("DSW2"); // should be good
map(0x4002, 0x4002).portr("DSW3"); // should be good
map(0x5080, 0x5080).portr("BUTTONS2"); // should be good
map(0x5081, 0x5081).portr("SERVICE"); // should be good
map(0x5082, 0x5082).portr("COINS"); // should be good
//map(0x5083, 0x5083).portr("");
map(0x5090, 0x5090).w(FUNC(spoker_state::nmi_and_coins_w)); // ?
map(0x5091, 0x5091).w(FUNC(spoker_state::leds_w)); // ?
map(0x5092, 0x5092).portr("BUTTONS1").w(FUNC(spoker_state::video_and_leds_w)); // ??
map(0x50b0, 0x50b1).w("ymsnd", FUNC(ym2413_device::write)); // should be good
map(0x50c0, 0x50c0).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // should be good
map(0x6000, 0x6fff).ram().w(FUNC(spoker_state::fg_color_w)).share(m_fg_color_ram); // ?
map(0x7000, 0x7fff).ram().w(FUNC(spoker_state::fg_tile_w)).share(m_fg_tile_ram); // should be good
}
void spoker_state::_3super8_portmap(address_map &map) void spoker_state::_3super8_portmap(address_map &map)
{ {
// map(0x1000, 0x1fff).nopw(); // map(0x1000, 0x1fff).nopw();
@ -330,7 +364,7 @@ void spoker_state::_3super8_portmap(address_map &map)
Input Ports Input Ports
***************************************************************************/ ***************************************************************************/
static INPUT_PORTS_START( spoker ) static INPUT_PORTS_START( spoker ) // this has every hold key which also does another function (i. e. bet, take)
PORT_START("DSW1") PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@ -441,6 +475,31 @@ static INPUT_PORTS_START( spoker )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( spk114it ) // this has dedicated keys for every function
PORT_INCLUDE(spoker)
PORT_MODIFY("SERVICE")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // no payout here
PORT_MODIFY("BUTTONS1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_MODIFY("BUTTONS2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) // Small
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) // Big
INPUT_PORTS_END
static INPUT_PORTS_START( 3super8 ) static INPUT_PORTS_START( 3super8 )
PORT_START("DSW1") PORT_START("DSW1")
PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPUNKNOWN( 0x01, 0x01 )
@ -651,6 +710,18 @@ void spoker_state::spoker(machine_config &config)
} }
void spoker_state::spokeru(machine_config &config)
{
spoker(config);
m_maincpu->set_addrmap(AS_PROGRAM, &spoker_state::spokeru_map);
m_maincpu->set_addrmap(AS_IO, &spoker_state::spokeru_portmap);
config.device_remove("ppi8255_0");
config.device_remove("ppi8255_1");
}
void spoker_state::_3super8(machine_config &config) void spoker_state::_3super8(machine_config &config)
{ {
spoker(config); spoker(config);
@ -950,6 +1021,18 @@ void spoker_state::init_spk116it()
} }
} }
void spoker_state::init_spk114it()
{
uint8_t *rom = memregion("maincpu")->base();
for (int A = 0; A < 0x10000; A++)
{
rom[A] ^= 0x02;
if ((A & 0x0120) == 0x0020) rom[A] ^= 0x20;
if ((A & 0x04a0) == 0x04a0) rom[A] ^= 0x02;
if ((A & 0x1208) == 0x1208) rom[A] ^= 0x01;
}
}
void spoker_state::init_3super8() void spoker_state::init_3super8()
{ {
uint8_t *ROM = memregion("maincpu")->base(); uint8_t *ROM = memregion("maincpu")->base();
@ -995,15 +1078,15 @@ void spoker_state::init_3super8()
Game Drivers Game Drivers
***************************************************************************/ ***************************************************************************/
/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ // YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS
GAME( 1996, spk306us, 0, spoker, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v306US)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver GAME( 1996, spk306us, 0, spokeru, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v306US)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver
GAME( 1996, spk205us, spk306us, spoker, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v205US)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver GAME( 1996, spk205us, spk306us, spokeru, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v205US)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver
GAME( 1996, spk203us, spk306us, spoker, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v203US)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver GAME( 1996, spk203us, spk306us, spokeru, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v203US)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver
GAME( 1996, spk200ua, spk306us, spoker, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v200UA)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver GAME( 1996, spk200ua, spk306us, spokeru, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v200UA)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver
GAME( 1993?, spk116it, spk306us, spoker, spoker, spoker_state, init_spk116it, ROT0, "IGS", "Super Poker (v116IT)", MACHINE_SUPPORTS_SAVE ) GAME( 1993?, spk116it, spk306us, spoker, spoker, spoker_state, init_spk116it, ROT0, "IGS", "Super Poker (v116IT)", MACHINE_SUPPORTS_SAVE )
GAME( 1993?, spk116itmx, spk306us, spoker, spoker, spoker_state, empty_init, ROT0, "IGS", "Super Poker (v116IT-MX)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver GAME( 1993?, spk116itmx, spk306us, spoker, spoker, spoker_state, init_spk114it, ROT0, "IGS", "Super Poker (v116IT-MX)", MACHINE_SUPPORTS_SAVE )
GAME( 1993?, spk115it, spk306us, spoker, spoker, spoker_state, init_spk116it, ROT0, "IGS", "Super Poker (v115IT)", MACHINE_SUPPORTS_SAVE ) GAME( 1993?, spk115it, spk306us, spoker, spoker, spoker_state, init_spk116it, ROT0, "IGS", "Super Poker (v115IT)", MACHINE_SUPPORTS_SAVE )
GAME( 1993?, spk114it, spk306us, spoker, spoker, spoker_state, empty_init, ROT0, "IGS", "Super Poker (v114IT)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver GAME( 1993?, spk114it, spk306us, spoker, spk114it, spoker_state, init_spk114it, ROT0, "IGS", "Super Poker (v114IT)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, spk102ua, spk306us, spoker, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v102UA)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver GAME( 1996, spk102ua, spk306us, spokeru, spoker, spoker_state, init_spkleftover, ROT0, "IGS", "Super Poker (v102UA)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs proper machine driver
GAME( 1996, spk102u, spk306us, spoker, spoker, spoker_state, empty_init, ROT0, "IGS", "Super Poker (v102U)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs decryption, proper machine driver GAME( 1996, spk102u, spk306us, spokeru, spoker, spoker_state, empty_init, ROT0, "IGS", "Super Poker (v102U)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // needs decryption, proper machine driver
GAME( 1993?, 3super8, 0, _3super8,3super8, spoker_state, init_3super8, ROT0, "<unknown>", "3 Super 8 (Italy)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) //roms are badly dumped GAME( 1993?, 3super8, 0, _3super8, 3super8, spoker_state, init_3super8, ROT0, "<unknown>", "3 Super 8 (Italy)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) //roms are badly dumped

View File

@ -115,6 +115,7 @@ tourpgum
unkpacg // (c) 19?? ??? unkpacg // (c) 19?? ???
unkpacga // unkpacga //
unkpacgb // unkpacgb //
unkpacgc //
unksig // 1998? unksig // 1998?
unksiga // 1998? unksiga // 1998?
@ -17160,6 +17161,7 @@ dbc // (c) 199?
drgnwrld // (c) 1997 drgnwrld // (c) 1997
drgnwrldv10c // (c) 1995 drgnwrldv10c // (c) 1995
drgnwrldv11h // (c) 1995 drgnwrldv11h // (c) 1995
drgnwrldv11ha // (c) 1995
drgnwrldv20j // (c) 1995 drgnwrldv20j // (c) 1995
drgnwrldv21 // (c) 1995 drgnwrldv21 // (c) 1995
drgnwrldv21j // (c) 1995 drgnwrldv21j // (c) 1995
@ -37517,6 +37519,7 @@ columnsj // (c) 1990 Sega
columnsu // (c) 1990 Sega columnsu // (c) 1990 Sega
headonch // (c) 1994 Sega headonch // (c) 1994 Sega
ichir // (c) 1994 Sega ichir // (c) 1994 Sega
ichirbl // bootleg
ichirj // (c) 1994 Sega ichirj // (c) 1994 Sega
ichirjbl // bootleg ichirjbl // bootleg
ichirk // (c) 1994 Sega ichirk // (c) 1994 Sega