mirror of
https://github.com/holub/mame
synced 2025-06-07 13:23:50 +03:00
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:
parent
eb3c4e67da
commit
19b8551131
@ -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 )
|
||||||
|
@ -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 )
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user