summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--scripts/target/mame/arcade.lua1
-rw-r--r--src/mame/arcade.flt1
-rw-r--r--src/mame/drivers/cowtipping.cpp113
-rw-r--r--src/mame/mame.lst4
4 files changed, 119 insertions, 0 deletions
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 9ba7c1dd7fb..cf9428c7c71 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -4802,6 +4802,7 @@ files {
MAME_DIR .. "src/mame/drivers/coinmstr.cpp",
MAME_DIR .. "src/mame/drivers/coinmvga.cpp",
MAME_DIR .. "src/mame/drivers/comebaby.cpp",
+ MAME_DIR .. "src/mame/drivers/cowtipping.cpp",
MAME_DIR .. "src/mame/drivers/crazybal.cpp",
MAME_DIR .. "src/mame/drivers/cromptons.cpp",
MAME_DIR .. "src/mame/drivers/cupidon.cpp",
diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt
index a8440e9cd36..a1bed00117f 100644
--- a/src/mame/arcade.flt
+++ b/src/mame/arcade.flt
@@ -258,6 +258,7 @@ cops.cpp
copsnrob.cpp
corona.cpp
cosmic.cpp
+cowtipping.cpp
cps1.cpp
cps1bl_5205.cpp
cps1bl_pic.cpp
diff --git a/src/mame/drivers/cowtipping.cpp b/src/mame/drivers/cowtipping.cpp
new file mode 100644
index 00000000000..418b39c66f3
--- /dev/null
+++ b/src/mame/drivers/cowtipping.cpp
@@ -0,0 +1,113 @@
+// license:BSD-3-Clause
+// copyright-holders:
+
+/*
+Cow Tipping
+Game Refuge / Team Play 2004
+
+PCB sputnik rev. 1.1
+
+- Motorola Super VZ DragonBall MC68SZ328AVH66
+- XTAL: 80 MHz (near Cyclone), 32.768k (near SoC and PIC)
+- Altera Cyclone EP1C6Q240C7
+- TDA8771AH DAC
+- PIC12C508 Microcontroller
+
+Two identical looking PCBs were dumped. The dumps are different (even taking into account a suspected bad dump, but it
+isn't currently known if it's because they're different sets or because of the saved scores and settings.
+
+The PIC is undumped, but on PCB the game seems to run without it, hanging when checking the ticket dispenser.
+*/
+
+
+
+#include "emu.h"
+#include "cpu/pic16c5x/pic16c5x.h"
+#include "cpu/m68000/m68000.h"
+#include "machine/mc68328.h"
+#include "emupal.h"
+#include "screen.h"
+#include "speaker.h"
+
+class cowtipping_state : public driver_device
+{
+public:
+ cowtipping_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ void cowtipping(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+ void main_map(address_map &map);
+};
+
+
+void cowtipping_state::machine_start()
+{
+}
+
+uint32_t cowtipping_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+void cowtipping_state::main_map(address_map &map)
+{
+ map(0x000000, 0x8000ff).rom().region("maincpu", 0);
+}
+
+
+static INPUT_PORTS_START( cowtipping )
+
+INPUT_PORTS_END
+
+void cowtipping_state::cowtipping(machine_config &config)
+{
+ MC68328(config, m_maincpu, 32.768_kHz_XTAL * 506); // 16.580608 MHz, multiplier unknown, to be adjusted
+ m_maincpu->set_addrmap(AS_PROGRAM, &cowtipping_state::main_map);
+
+ PIC16C56(config, "pic", 4000000); // Actually PIC12C508/P, clock not verified
+
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // wrong
+ screen.set_refresh_hz(60);
+ screen.set_screen_update(FUNC(cowtipping_state::screen_update));
+ screen.set_size(1024, 256);
+ screen.set_visarea_full();
+
+ PALETTE(config, "palette").set_entries(65536); // wrong
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+}
+
+
+ROM_START( cowtipp )
+ ROM_REGION16_BE(0x800100, "maincpu", 0)
+ ROM_LOAD16_WORD_SWAP( "am29lv640mb-u5-3287.u5", 0x000000, 0x800100, CRC(5aa4ac7c) SHA1(4b882008e13e581c0131875a1845c7e78696087e) )
+ // empty space at u6
+
+ ROM_REGION( 0x1000, "pic", 0 )
+ ROM_LOAD( "56_pic12c508-04p.u3", 0x000, 0x09db, NO_DUMP )
+ROM_END
+
+ROM_START( cowtippa )
+ ROM_REGION16_BE(0x800100, "maincpu", 0)
+ ROM_LOAD16_WORD_SWAP( "am29lv640mb-u5-3276.u5", 0x000000, 0x800100, BAD_DUMP CRC(05ce9f7f) SHA1(c27772c9a6a1feaf4d83ae0902759fa25642ad65) ) // suspected bad, seems to have some problems with bit 5
+ // empty space at u6
+
+ ROM_REGION( 0x1000, "pic", 0 )
+ ROM_LOAD( "54_pic12c508-04p.u3", 0x000, 0x09db, NO_DUMP )
+ROM_END
+
+
+GAME( 2004, cowtipp, 0, cowtipping, cowtipping, cowtipping_state, empty_init, ROT270, "Game Refuge / Team Play", "Cow Tipping - Shake Cattle & Roll (set 1)", MACHINE_IS_SKELETON )
+GAME( 2004, cowtippa, cowtipp, cowtipping, cowtipping, cowtipping_state, empty_init, ROT270, "Game Refuge / Team Play", "Cow Tipping - Shake Cattle & Roll (set 2)", MACHINE_IS_SKELETON )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 1312d1c8d13..3dd9fb2acb4 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -10674,6 +10674,10 @@ panich // 8015 (c) 1980
@source:cosmicos.cpp
cosmicos //
+@source:cowtipping.cpp
+cowtipp //
+cowtippa //
+
@source:cp1.cpp
cp1 //