diff options
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 |
commit | 67641df139e3b9fa5432974fd4a1e42767e9e004 (patch) | |
tree | 2e3c6df9dd8d0fa68cbb54526e9986022827ad44 | |
parent | a3a03cc3e0c2e6c9d242debd06504f9453804903 (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-- | .gitattributes | 1 | ||||
-rw-r--r-- | src/mame/drivers/atlantis.c | 210 | ||||
-rw-r--r-- | src/mame/mame.lst | 4 | ||||
-rw-r--r-- | src/mame/mame.mak | 1 |
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 \ |