From 032e487def42207590dfd75589720fb44c0320b1 Mon Sep 17 00:00:00 2001 From: Roberto Fresca Date: Tue, 23 Jul 2019 20:51:42 +0200 Subject: [PATCH] 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. --- src/mame/drivers/goldnpkr.cpp | 99 +++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 1 + 2 files changed, 100 insertions(+) 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 m_videoram; required_shared_ptr 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, "", "Witch Card (Spanish, witch game, set 1)", 0 ) GAME( 1991, witchcdb, witchcrd, witchcrd, witchcda, goldnpkr_state, empty_init, ROT0, "", "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