summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Roberto Fresca <robbie@robertofresca.com>2019-07-23 20:51:42 +0200
committer Roberto Fresca <robbie@robertofresca.com>2019-07-23 20:51:42 +0200
commit032e487def42207590dfd75589720fb44c0320b1 (patch)
tree2fa5edd9ee4cec828edea6abc3c7ff664893adc5
parenta58242e756d25a94209ead5d9707ff9e227c7ca3 (diff)
New machines marked as NOT_WORKING
---------------------------------- Paradise 21 [Team Europe, Roberto Fresca] Note: Still working on it, so please tell me if some other changes will affect this driver.
-rw-r--r--src/mame/drivers/goldnpkr.cpp99
-rw-r--r--src/mame/mame.lst1
2 files changed, 100 insertions, 0 deletions
diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp
index d47ad68f4c9..ade773efb82 100644
--- a/src/mame/drivers/goldnpkr.cpp
+++ b/src/mame/drivers/goldnpkr.cpp
@@ -1273,6 +1273,8 @@
#include "emu.h"
#include "cpu/m6502/m6502.h"
+#include "cpu/m6502/m65sc02.h"
+#include "cpu/m6502/r65c02.h"
#include "cpu/m6805/m68705.h"
#include "cpu/z80/z80.h"
#include "machine/6821pia.h"
@@ -1323,6 +1325,7 @@ public:
void pottnpkr(machine_config &config);
void goldnpkr(machine_config &config);
void wcrdxtnd(machine_config &config);
+ void paradiss(machine_config &config);
void init_vkdlswwh();
void init_icp1db();
@@ -1406,6 +1409,7 @@ private:
void wildcrdb_mcu_map(address_map &map);
void witchcrd_falcon_map(address_map &map);
void witchcrd_map(address_map &map);
+ void paradiss_map(address_map &map);
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram;
@@ -2037,6 +2041,24 @@ void goldnpkr_state::bchancep_map(address_map &map)
map(0x2000, 0x7fff).rom();
}
+void goldnpkr_state::paradiss_map(address_map &map)
+{
+// ADDRESS_MAP_GLOBAL_MASK(0x7fff)
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0884, 0x0887).ram(); // unknown
+ map(0x0888, 0x088b).ram(); // unknown
+ map(0x1000, 0x13ff).ram().w(FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x2000).portr("SW2");
+ map(0x2200, 0x27ff).rom(); /* for VK set */
+ map(0x2800, 0x2fff).ram(); /* for VK set */
+ map(0x3000, 0xffff).rom(); /* for VK set. bootleg starts from 4000 */
+}
+
/*********************************************
* Input Ports *
@@ -4214,6 +4236,13 @@ static GFXDECODE_START( gfx_wcrdxtnd )
GFXDECODE_ENTRY( "gfx15", 0, tilelayout, 0, 16 )
GFXDECODE_END
+static GFXDECODE_START( gfx_paradiss )
+ GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 )
+// GFXDECODE_ENTRY( "gfx1", 0x1000, tilelayout, 0, 16 )
+ GFXDECODE_ENTRY( "gfx1", 0x1000, tilelayout, 16, 16 )
+GFXDECODE_END
+
+
/**********************************************************
* Discrete Sound Routines *
***********************************************************
@@ -4471,6 +4500,28 @@ void goldnpkr_state::wcfalcon(machine_config &config)
AY8910(config, m_ay8910, MASTER_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 1.00); /* guess, seems ok */
}
+void goldnpkr_state::paradiss(machine_config &config)
+{
+ goldnpkr_base(config);
+
+ /* basic machine hardware */
+ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &goldnpkr_state::paradiss_map);
+
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
+ m_pia[0]->writepb_handler().set(FUNC(goldnpkr_state::ay8910_control_w));
+ m_pia[1]->readpa_handler().set(FUNC(goldnpkr_state::ay8910_data_r));
+ m_pia[1]->writepa_handler().set(FUNC(goldnpkr_state::ay8910_data_w));
+
+ /* video hardware */
+ m_palette->set_init(FUNC(goldnpkr_state::witchcrd_palette));
+ m_gfxdecode->set_info(gfx_paradiss);
+
+ /* sound hardware */
+ SPEAKER(config, "mono").front_center();
+ AY8910(config, m_ay8910, MASTER_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 1.00); /* guess, seems ok */
+}
+
void goldnpkr_state::wildcard(machine_config &config)
{
goldnpkr_base(config);
@@ -11202,6 +11253,52 @@ ROM_START( megadpkrb )
ROM_END
+/*
+ SE Paradise.
+ Paradais PCB
+ "SUPN-072"
+
+ 1x Scratched CPU (seems 6502 family)
+ 1x GI AY-3-8910.
+ 2x Hitachi HD6821P.
+ 1x IC CIC8645BE (seems 6845 CRTC type)
+
+ 3x 27256 EPROMs.
+ 3x N82S129AN Bipolar PROMs.
+
+ 2x HM6116LP-3 SRAM.
+
+ 1x 10.000 MHz. Xtal.
+ 2x 8 DIP switches bank.
+
+*/
+
+ROM_START( paradiss )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "13.ic4", 0xc000, 0x2000, CRC(6f414354) SHA1(290e97b876ce7aa9e273fe5f597caaa2e31992a8) ) // ok
+ ROM_CONTINUE( 0x8000, 0x2000) // to check...
+ ROM_CONTINUE( 0xe000, 0x2000) // ok
+ ROM_CONTINUE( 0xa000, 0x2000) // to check...
+
+ ROM_REGION( 0x6000, "gfx1", 0 )
+ ROM_LOAD( "1.ic10", 0x0000, 0x4000, CRC(40bb114e) SHA1(be4636455c6dd303255d21799cd17c590d8f1423) ) // identical halves, 2 bitplanes.
+ ROM_IGNORE( 0x4000) // discarding the 2nd half.
+ ROM_LOAD( "2.ic9", 0x4000, 0x2000, CRC(51c08823) SHA1(123dab7485cac23ee1d72fd50e4af273c946fc56) ) // identical halves, 1 bitplane.
+ ROM_IGNORE( 0x6000) // discarding the 2nd half and the unused 0x2000.
+
+ ROM_REGION( 0x6000, "gfx2", 0 )
+ ROM_LOAD( "1.ic10", 0x0000, 0x4000, CRC(40bb114e) SHA1(be4636455c6dd303255d21799cd17c590d8f1423) ) // identical halves, 2 bitplanes.
+ ROM_IGNORE( 0x4000) // discarding the 2nd half.
+ ROM_LOAD( "2.ic9", 0x4000, 0x2000, CRC(51c08823) SHA1(123dab7485cac23ee1d72fd50e4af273c946fc56) ) // identical halves, 1 bitplane.
+ ROM_IGNORE( 0x6000) // discarding the 2nd half and the unused 0x2000.
+
+ ROM_REGION( 0x0300, "proms", 0 )
+ ROM_LOAD( "82s129_1.ic31", 0x0000, 0x0100, CRC(c3d777b4) SHA1(5a3c0325dcbddde3f8ae2ffbc1cb56cfccda308d) )
+ ROM_LOAD( "82s129_2.ic30", 0x0100, 0x0100, CRC(c9c12b13) SHA1(e0b26febb265af01f2caa891e14f4999400820b8) )
+ ROM_LOAD( "82s129_3.ic29", 0x0200, 0x0100, CRC(f079b80c) SHA1(c76706ad90a67ea7eda4e191840f95e18f3788d0) )
+ROM_END
+
+
/*********************************************
* Driver Init *
*********************************************/
@@ -11703,6 +11800,8 @@ GAMEL( 1990, falcnwlda, falcnwld, wildcard, wildcard, goldnpkr_state, empty_init
GAMEL( 1990, falcnwldb, falcnwld, wildcard, wildcard, goldnpkr_state, empty_init, ROT0, "Video Klein", "Falcons Wild - World Wide Poker (Video Klein, set 2)", 0, layout_goldnpkr )
GAME( 1983, falcnwldc, falcnwld, wildcrdb, wildcard, goldnpkr_state, init_flcnw, ROT0, "Falcon", "Falcons Wild - World Wide Poker (Falcon original)", MACHINE_NOT_WORKING )
+GAME( 1987, paradiss, 0, paradiss, wildcard, goldnpkr_state, empty_init, ROT0, "Paradise", "Paradise 21", MACHINE_NOT_WORKING )
+
GAMEL( 1991, witchcrd, 0, witchcrd, witchcrd, goldnpkr_state, init_vkdlsc, ROT0, "Video Klein?", "Witch Card (Video Klein CPU box, set 1)", 0, layout_goldnpkr )
GAME( 1991, witchcda, witchcrd, witchcrd, witchcda, goldnpkr_state, empty_init, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 1)", 0 )
GAME( 1991, witchcdb, witchcrd, witchcrd, witchcda, goldnpkr_state, empty_init, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 2)", 0 )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 08ce7658a3e..777fc9b18c8 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -14442,6 +14442,7 @@ megadpkrb // (c) 1990 Blitz System Inc
ngold // 198? Unknown
ngolda // 198? Unknown
ngoldb // 198? Unknown
+paradiss // 1987 Paradise
pmpoker // (c) 1981 PlayMan
poker91 // 1991, Unknown
pokerdub // 198?, Unknown