summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2012-06-29 01:27:06 +0000
committer R. Belmont <rb6502@users.noreply.github.com>2012-06-29 01:27:06 +0000
commit67641df139e3b9fa5432974fd4a1e42767e9e004 (patch)
tree2e3c6df9dd8d0fa68cbb54526e9986022827ad44
parenta3a03cc3e0c2e6c9d242debd06504f9453804903 (diff)
New games added as GAME_NOT_WORKING
----------------------------------- Skins Game (1.08) [Mr. CAST, M. Ponweiser, Mojo2000, Smitdogg, The Dumping Union, R. Belmont] Skins Game (unknown alt. version) [Guru, R. Belmont]
-rw-r--r--.gitattributes1
-rw-r--r--src/mame/drivers/atlantis.c210
-rw-r--r--src/mame/mame.lst4
-rw-r--r--src/mame/mame.mak1
4 files changed, 216 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
index 674e836bf70..8bd6a918040 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2138,6 +2138,7 @@ src/mame/drivers/atarisy2.c svneol=native#text/plain
src/mame/drivers/atarisy4.c svneol=native#text/plain
src/mame/drivers/ataxx.c svneol=native#text/plain
src/mame/drivers/atetris.c svneol=native#text/plain
+src/mame/drivers/atlantis.c svneol=native#text/plain
src/mame/drivers/atronic.c svneol=native#text/plain
src/mame/drivers/attckufo.c svneol=native#text/plain
src/mame/drivers/atvtrack.c svneol=native#text/plain
diff --git a/src/mame/drivers/atlantis.c b/src/mame/drivers/atlantis.c
new file mode 100644
index 00000000000..88f09f2f201
--- /dev/null
+++ b/src/mame/drivers/atlantis.c
@@ -0,0 +1,210 @@
+/***************************************************************************
+
+ Midway "Atlantis" hardware
+
+ skeleton by R. Belmont
+
+ Games supported:
+ * Midway Skins Game
+ * Midway Skins Game Tournament Edition (not dumped)
+ * Midway Swingers Tour (not dumped)
+
+ Hardware overview:
+ * VR4310 CPU (similar to the N64's VR4300)
+ * VR4373 "Nile 3" system controller / PCI bridge
+ * CMD 646U2 Ultra DMA IDE controller
+ * M4T28-8R128H1 TimeKeeper RTC/CMOS
+ * PLX PCI9050 Bus Target Interface Chip (interfaces ISA-style designs to PCI)
+ * Midway Zeus-series custom video
+ * TL16c552 dual UART
+ * ADSP-2181 based DCS2 audio (unclear which variant)
+
+ TODO:
+ * Proper VR4373 implementation
+ * Proper PCI bus implementation
+ * PCI peripherals
+
+***************************************************************************/
+
+#include "emu.h"
+#include "cpu/mips/mips3.h"
+#include "cpu/adsp2100/adsp2100.h"
+#include "machine/idectrl.h"
+#include "machine/midwayic.h"
+#include "audio/dcs.h"
+
+
+class atlantis_state : public driver_device
+{
+public:
+ atlantis_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag) {}
+};
+
+
+/*************************************
+ *
+ * Machine start
+ *
+ *************************************/
+
+static MACHINE_START( mwskins )
+{
+// atlantis_state *state = machine.driver_data<atlantis_state>();
+ /* set the fastest DRC options */
+ mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_FASTEST_OPTIONS);
+}
+
+
+
+/*************************************
+ *
+ * Machine init
+ *
+ *************************************/
+
+static MACHINE_RESET( mwskins )
+{
+ dcs_reset_w(machine, 1);
+ dcs_reset_w(machine, 0);
+}
+
+
+
+/*************************************
+ *
+ * Video refresh
+ *
+ *************************************/
+
+static SCREEN_UPDATE_IND16( mwskins )
+{
+ return 0;
+}
+
+
+
+/*************************************
+ *
+ * Interrupt handling
+ *
+ *************************************/
+
+static void ide_interrupt(device_t *device, int state)
+{
+}
+
+/*************************************
+ *
+ * Main CPU memory handlers
+ *
+ *************************************/
+
+static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atlantis_state )
+ ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE(0x00000000, 0x007fffff) AM_RAM // 8 MB main RAM
+ // 04000000 - PCI slot (ActionTec modem, ROM dump TBD)
+ // 08000000 - PLX9050 chip (Zeus interface?)
+ // 0F000000 - VR4373 ("Nile 3") registers
+ AM_RANGE(0x1fc00000, 0x1fc7ffff) AM_ROM AM_REGION("user1", 0) AM_SHARE("rombase")
+ADDRESS_MAP_END
+
+
+
+
+/*************************************
+ *
+ * Port definitions
+ *
+ *************************************/
+
+static INPUT_PORTS_START( mwskins )
+INPUT_PORTS_END
+
+/*************************************
+ *
+ * Machine driver
+ *
+ *************************************/
+
+static const mips3_config r4310_config =
+{
+ 16384, /* code cache size */
+ 16384 /* data cache size */
+};
+
+
+static MACHINE_CONFIG_START( mwskins, atlantis_state )
+
+ /* basic machine hardware */
+ MCFG_CPU_ADD("maincpu", VR4310LE, 166666666) // clock is TRUSTED
+ MCFG_CPU_CONFIG(r4310_config)
+ MCFG_CPU_PROGRAM_MAP(main_map)
+
+ MCFG_MACHINE_START(mwskins)
+ MCFG_MACHINE_RESET(mwskins)
+
+ MCFG_IDE_CONTROLLER_ADD("ide", ide_interrupt, ide_devices, "hdd", NULL, true)
+
+ /* video hardware */
+ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
+
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
+ MCFG_SCREEN_SIZE(320, 240)
+ MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
+ MCFG_SCREEN_UPDATE_STATIC(mwskins)
+
+ MCFG_PALETTE_INIT(BBBBB_GGGGG_RRRRR)
+ MCFG_PALETTE_LENGTH(32768)
+
+ /* sound hardware */
+ MCFG_FRAGMENT_ADD(dcs2_audio_denver)
+MACHINE_CONFIG_END
+
+
+
+/*************************************
+ *
+ * ROM definition(s)
+ *
+ *************************************/
+
+ROM_START( mwskins )
+ ROM_REGION32_LE( 0x80000, "user1", 0 ) /* 512k for R4310 code */
+ ROM_LOAD( "skins_game_u4_boot_1.00.u4", 0x000000, 0x080000, CRC(0fe87720) SHA1(4b24abbe662a2d7b61e6a3f079e28b73605ba19f) )
+
+ DISK_REGION( "drive_0" )
+ DISK_IMAGE( "mwskins", 0, SHA1(5cb293a6fdb2478293f48ddfc93cdd018acb2bb5) )
+ROM_END
+
+ROM_START( mwskinsa )
+ ROM_REGION32_LE( 0x80000, "user1", 0 ) /* 512k for R4310 code */
+ ROM_LOAD( "skins_game_u4_boot_1.00.u4", 0x000000, 0x080000, CRC(0fe87720) SHA1(4b24abbe662a2d7b61e6a3f079e28b73605ba19f) )
+
+ DISK_REGION( "drive_0" )
+ DISK_IMAGE( "mwskinsa", 0, SHA1(72497917b31156eb11a46bbcc6f22a254dcec044) )
+ROM_END
+
+
+/*************************************
+ *
+ * Driver initialization
+ *
+ *************************************/
+
+static DRIVER_INIT( mwskins )
+{
+ dcs2_init(machine, 8, 0);
+}
+
+/*************************************
+ *
+ * Game driver(s)
+ *
+ *************************************/
+
+GAME( 2000, mwskins, 0, mwskins, mwskins, mwskins, ROT0, "Midway", "Skins Game (1.06)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2000, mwskinsa, mwskins, mwskins, mwskins, mwskins, ROT0, "Midway", "Skins Game (unknown alt. version)", GAME_NOT_WORKING | GAME_NO_SOUND )
+
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 9cccbb25c65..17ab0e7ef88 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -7382,6 +7382,10 @@ quizdna // (c) 1992 Face
gekiretu // (c) 1992 Face
cultures // (c) 1994 Face
+// Midway Atlantis games
+mwskins // (c) 2000 Midway
+mwskinsa // (c) 2000 Midway
+
// Williams/Midway TMS games
narc // (c) 1988 Williams
narc3 // (c) 1988 Williams
diff --git a/src/mame/mame.mak b/src/mame/mame.mak
index 8c4a63a4f3a..09ecfef7b44 100644
--- a/src/mame/mame.mak
+++ b/src/mame/mame.mak
@@ -977,6 +977,7 @@ $(MAMEOBJ)/midw8080.a: \
$(MAMEOBJ)/midway.a: \
$(DRIVERS)/astrocde.o $(VIDEO)/astrocde.o \
+ $(DRIVERS)/atlantis.o \
$(DRIVERS)/balsente.o $(MACHINE)/balsente.o $(VIDEO)/balsente.o \
$(DRIVERS)/gridlee.o $(AUDIO)/gridlee.o $(VIDEO)/gridlee.o \
$(DRIVERS)/mcr.o $(MACHINE)/mcr.o $(VIDEO)/mcr.o \