summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/arcade.flt1
-rw-r--r--src/mame/mame.lst5
-rw-r--r--src/mame/pinball/newcanasta.cpp105
3 files changed, 110 insertions, 1 deletions
diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt
index a9406ae645c..0282726ba08 100644
--- a/src/mame/arcade.flt
+++ b/src/mame/arcade.flt
@@ -1115,6 +1115,7 @@ pinball/micropin.cpp
pinball/missamer.cpp
pinball/mrgame.cpp
pinball/nsm.cpp
+pinball/newcanasta.cpp
pinball/peyper.cpp
pinball/play_1.cpp
pinball/play_2.cpp
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index e535f41dadb..5428762991f 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -32807,7 +32807,7 @@ ryuuha // (c) 1987
secolove // (c) 1986
seiha // (c) 1987
seiham // (c) 1987
-swinggal // (c) 1987 Digital Denshi
+swinggal // (c) 1987 Digital Denshi
vipclub // (c) 1988 Daiichi Denshi
@source:nichibutsu/nbmj8891.cpp
@@ -33472,6 +33472,9 @@ newbrain //
newbraina //
newbrainmd //
+@source:pinball/newcanasta.cpp
+newcanasta // (c) 2010 Marsaplay
+
@source:misc/news.cpp
news // "Virus"??? ((c) 1993 Poby in ROM VIRUS.4)
newsa // "Jeansole / Poby
diff --git a/src/mame/pinball/newcanasta.cpp b/src/mame/pinball/newcanasta.cpp
new file mode 100644
index 00000000000..3a98efb6b48
--- /dev/null
+++ b/src/mame/pinball/newcanasta.cpp
@@ -0,0 +1,105 @@
+// license:BSD-3-Clause
+// copyright-holders:
+/*
+ New Canasta, pinball with PC-based electronics, from the Spanish company Marsaplay.
+
+ AsRock Conroe 1333-d677 Pressler P4FSB1333-650 motherboard.
+ USB-DIO-96 (96 channel digital I/O module from "Access I/O Products, Inc.".
+*/
+
+#include "emu.h"
+#include "cpu/i386/i386.h"
+//#include "cpu/mcs51/mcs51.h"
+#include "screen.h"
+
+namespace {
+
+class newcanasta_state : public driver_device
+{
+public:
+ newcanasta_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ void newcanasta(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ void newcanasta_map(address_map &map);
+};
+
+void newcanasta_state::video_start()
+{
+}
+
+uint32_t newcanasta_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+void newcanasta_state::newcanasta_map(address_map &map)
+{
+}
+
+static INPUT_PORTS_START( newcanasta )
+INPUT_PORTS_END
+
+void newcanasta_state::machine_start()
+{
+}
+
+void newcanasta_state::machine_reset()
+{
+}
+
+void newcanasta_state::newcanasta(machine_config &config)
+{
+ // Basic machine hardware
+ PENTIUM4(config, m_maincpu, 100000000); // Pentium 4, exact model unknown
+ m_maincpu->set_addrmap(AS_PROGRAM, &newcanasta_state::newcanasta_map);
+
+ // Video hardware
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(800, 600);
+ screen.set_visarea(0, 800-1, 0, 600-1);
+ screen.set_screen_update(FUNC(newcanasta_state::screen_update));
+
+ // I/O board
+ //I80C51(config, m_maincpu, 24.0000_MHz_XTAL); // USB-DIO-96 with a CY7C68013A MCU (MCS51 core)
+}
+
+/***************************************************************************
+
+ Game drivers
+
+***************************************************************************/
+
+ROM_START(newcanasta)
+ ROM_REGION(0x80000, "bios", 0)
+ ROM_SYSTEM_BIOS( 0, "110", "v1.10")
+ ROMX_LOAD("p4f136_1.10.bin", 0x00000, 0x80000, CRC(88e558e7) SHA1(ea4305cf7a6373711dad21e1de0e208b62f2d7de), ROM_BIOS(0))
+ ROM_SYSTEM_BIOS( 1, "100", "v1.00")
+ ROMX_LOAD("p4f136_1.00.bin", 0x00000, 0x80000, CRC(63968e55) SHA1(7dd49be078abc55422639e145c06505f48e2abb2), ROM_BIOS(1))
+
+ // External ROM for the CY7C68013A MCU on the USB I/O board
+ ROM_REGION(0x2000, "usbio", 0)
+ ROM_LOAD("24lc64.u4", 0x0000, 0x2000, NO_DUMP)
+
+ DISK_REGION("ide:0:hdd:image") // Seagate ST320410A
+ DISK_IMAGE("newcanasta", 0, BAD_DUMP SHA1(7b18a07925cf62d0fcf25fab6e65897eddc45e4e)) // Contains players and operator data
+ROM_END
+
+} // Anonymous namespace
+
+
+GAME(2010, newcanasta, 0, newcanasta, newcanasta, newcanasta_state, empty_init, ROT0, "Marsaplay", "New Canasta", MACHINE_IS_SKELETON_MECHANICAL)