summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/cavepc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/cavepc.cpp')
-rw-r--r--src/mame/drivers/cavepc.cpp177
1 files changed, 177 insertions, 0 deletions
diff --git a/src/mame/drivers/cavepc.cpp b/src/mame/drivers/cavepc.cpp
new file mode 100644
index 00000000000..fc6702d0877
--- /dev/null
+++ b/src/mame/drivers/cavepc.cpp
@@ -0,0 +1,177 @@
+// license:BSD-3-Clause
+// copyright-holders:David Haywood
+/***************************************************************************
+
+ CAVE PC hardware
+ placeholder file for information
+
+***************************************************************************
+
+ Cave used a one-off PC platform for
+
+ Deathsmiles II (c)2009
+
+ According to
+ http://forum.arcadeotaku.com/viewtopic.php?f=26&t=9851
+ It uses a ASUS M3A78-EM motherboard (boot screen is shown)
+ http://www.asus.com/Motherboards/M3A78EM/
+
+ fitted with
+ AMD Athlon 64 X2 5050e Brisbane 2.60GHz, 1024KB L2 Cache
+ 2048MB (2GB) 800MHz DDR
+
+ and a custom JVS I/O board providing security etc.
+ 'CV2000XP Rev 2.0'
+
+ The game is contained on a
+ Transcend 2GB 300x UDMA Compact Flash Card
+ plugged into an adapter board
+ with 'Windows(r) Embedded Standard'
+
+ There don't appear to be any dedicated video / sound boards so it
+ presumably uses the onboard capabilities of the board
+ 'Integrated ATI Radeon(tm) HD 3200 GPU'
+ 'Realtek(r) ALC1200 8 -Channel High Definition Audio CODEC'
+
+ There should be at least 3 game revisions?
+
+ Pictures of the hardware can be seen at
+ http://ikotsu.blogspot.co.uk/2010/03/deathsmiles-ii-pos-arcade-pc.html
+ however this revision is using a Gigabyte motherboard instead, possibly
+ different boards were used?
+ appears to be this one
+ http://www.gigabyte.com/products/product-page.aspx?pid=3016#ov
+ GA-MA78GPM-UD2H (rev. 1.0)
+
+ The JVS board is said to be quite problematic, and the game will boot
+ to an error screen if it isn't functioning correctly.
+ http://forum.arcadeotaku.com/viewtopic.php?f=26&t=14850&start=60
+
+*/
+
+
+#include "emu.h"
+#include "cpu/i386/i386.h"
+
+
+
+class cavepc_state : public driver_device
+{
+public:
+ cavepc_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ required_device<cpu_device> m_maincpu;
+
+ DECLARE_DRIVER_INIT(cavepc);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ UINT32 screen_update_cavepc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+};
+
+void cavepc_state::video_start()
+{
+}
+
+UINT32 cavepc_state::screen_update_cavepc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+/*****************************************************************************/
+
+static ADDRESS_MAP_START( cavepc_map, AS_PROGRAM, 32, cavepc_state )
+ AM_RANGE(0x000f0000, 0x000fffff) AM_ROMBANK("bank1")
+ AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START(cavepc_io, AS_IO, 32, cavepc_state )
+ADDRESS_MAP_END
+
+/*****************************************************************************/
+
+
+static INPUT_PORTS_START(cavepc)
+INPUT_PORTS_END
+
+void cavepc_state::machine_start()
+{
+}
+
+void cavepc_state::machine_reset()
+{
+ membank("bank1")->set_base(memregion("bios")->base() + 0x30000);
+}
+
+static MACHINE_CONFIG_START( cavepc, cavepc_state )
+ /* basic machine hardware */
+ MCFG_CPU_ADD("maincpu", PENTIUM3, 200000000) /* AMD Athlon 64 X2 5050e Brisbane 2.60GHz, 1024KB L2 Cache ! */
+ MCFG_CPU_PROGRAM_MAP(cavepc_map)
+ MCFG_CPU_IO_MAP(cavepc_io)
+
+ /* video hardware */
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MCFG_SCREEN_SIZE(640, 480)
+ MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 199)
+ MCFG_SCREEN_UPDATE_DRIVER(cavepc_state, screen_update_cavepc)
+ MCFG_SCREEN_PALETTE("palette")
+
+ MCFG_PALETTE_ADD("palette", 16)
+MACHINE_CONFIG_END
+
+
+
+DRIVER_INIT_MEMBER(cavepc_state,cavepc)
+{
+}
+
+/*****************************************************************************/
+
+/*
+
+Deathshmiles II (2009/10/14 MASTER VER 4.00)
+
+CAVE's venture into PC based hardware platforms. The game did not
+sell that well and was plagued by BSODs and hardware issues. The
+motherboard bios version that shipped out with the game is F2 on
+a Gigabyte GA-MA78GPM-UD2H board
+( http://www.gigabyte.com/products/product-page.aspx?pid=3016#ov )
+
+The following versions are known to have existed.
+
+1.00 - released 2009/05/14
+2.00
+3.00 - sometimes scrolls the text "2ND UPDATE MASTER VER 3.00" at
+ the bottom of the title screen
+
+The archive contains the following:
+
+./images, documentaiton
+./cf_card_2gb, a dd image of the 2GB CF FLASH card
+./usb_drive, the game is updated using a USB drive and will not
+ start if it is not present
+./motherboard manual
+./motherboard bios download version F2
+
+*/
+
+ROM_START(deathsm2)
+ ROM_REGION32_LE(0x100000, "bios", 0)
+ ROM_LOAD( "ma78gu2h.f2", 0x000000, 0x100000, CRC(c85742c4) SHA1(9e2a4b4a2137d1a19bf4cce20a3e2642fc6c6e05) )
+
+ DISK_REGION( "cfcard" )
+ DISK_IMAGE( "ds2_4.0", 0, SHA1(111c2c7a3b987d47f4b6666a8ba9c5d9552b9653) )
+
+ DISK_REGION( "usb" ) // the USB stick used to upgrade the game to Version 4.00 MUST be present for it to run once upgraded
+ DISK_IMAGE( "cave_ds2_usb", 0, SHA1(b601985c7f6e6a20b0b7999167b7ccdd12ab80d0) )
+ROM_END
+
+
+/*****************************************************************************/
+
+GAME(2009, deathsm2, 0, cavepc, cavepc, cavepc_state, cavepc, ROT0, "Cave", "Deathsmiles II: Makai no Merry Christmas (2009/10/14 MASTER VER 4.00)", MACHINE_IS_SKELETON )