diff options
author | 2017-09-02 03:49:55 +0200 | |
---|---|---|
committer | 2017-09-02 03:49:55 +0200 | |
commit | 68a33b336db3c390dd32ff0a12a56dabe078e9dc (patch) | |
tree | 41cc6337b8d888331c358dbbb4c4a998d1c51e66 | |
parent | 21d7b418a8f35baad0613b087753b935622d635d (diff) |
-nds: Skeleton driver. [Ryan Holtz]
-rw-r--r-- | scripts/target/mame/mess.lua | 2 | ||||
-rw-r--r-- | src/mame/drivers/nds.cpp | 74 | ||||
-rw-r--r-- | src/mame/includes/nds.h | 29 | ||||
-rw-r--r-- | src/mame/mame.lst | 3 | ||||
-rw-r--r-- | src/mame/mess.flt | 1 |
5 files changed, 109 insertions, 0 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 188d91ab023..659981f32fb 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -2466,6 +2466,8 @@ files { MAME_DIR .. "src/mame/includes/gba.h", MAME_DIR .. "src/mame/drivers/n64.cpp", MAME_DIR .. "src/mame/includes/n64.h", + MAME_DIR .. "src/mame/drivers/nds.cpp", + MAME_DIR .. "src/mame/includes/nds.h", MAME_DIR .. "src/mame/drivers/nes.cpp", MAME_DIR .. "src/mame/includes/nes.h", MAME_DIR .. "src/mame/machine/nes.cpp", diff --git a/src/mame/drivers/nds.cpp b/src/mame/drivers/nds.cpp new file mode 100644 index 00000000000..e806677e976 --- /dev/null +++ b/src/mame/drivers/nds.cpp @@ -0,0 +1,74 @@ +// license:BSD-3-Clause +// copyright-holders:Ryan Holtz +/*************************************************************************** + + ds.cpp + + Skeleton driver for first-generation Nintendo DS. + +***************************************************************************/ + +#include "emu.h" +#include "includes/nds.h" + +#define VERBOSE_LEVEL (0) + +static inline void ATTR_PRINTF(3,4) verboselog(device_t &device, int n_level, const char *s_fmt, ...) +{ + if( VERBOSE_LEVEL >= n_level ) + { + va_list v; + char buf[ 32768 ]; + va_start( v, s_fmt ); + vsprintf( buf, s_fmt, v ); + va_end( v ); + device.logerror( "%08x: %s", device.machine().describe_context(), buf ); + } +} + +static ADDRESS_MAP_START( nds_arm9_map, AS_PROGRAM, 32, nds_state ) + AM_RANGE(0x00000000, 0x00000fff) AM_ROM + AM_RANGE(0x02000000, 0x023fffff) AM_RAM AM_SHARE("mainram") +ADDRESS_MAP_END + +static ADDRESS_MAP_START( nds_arm7_map, AS_PROGRAM, 32, nds_state ) + AM_RANGE(0x00000000, 0x00003fff) AM_ROM + AM_RANGE(0x02000000, 0x023fffff) AM_RAM AM_SHARE("mainram") + AM_RANGE(0x03800000, 0x0380ffff) AM_RAM +ADDRESS_MAP_END + +static INPUT_PORTS_START( nds ) +INPUT_PORTS_END + + +void nds_state::machine_reset() +{ +} + +void nds_state::machine_start() +{ +} + +static MACHINE_CONFIG_START( nds ) + + MCFG_CPU_ADD("arm9", ARM946ES, XTAL_66_6667MHz) + MCFG_CPU_PROGRAM_MAP(nds_arm9_map) + + MCFG_CPU_ADD("arm7", ARM7, XTAL_33_333MHz) + MCFG_CPU_PROGRAM_MAP(nds_arm7_map) +MACHINE_CONFIG_END + +/* Help identifying the region and revisions of the set would be greatly appreciated! */ +ROM_START( nds ) + ROM_REGION( 0x1000, "arm9", 0 ) + ROM_LOAD( "biosnds9.rom", 0x0000, 0x1000, CRC(12345678) SHA1(1234567812345678123456781234567812345678) ) + + ROM_REGION( 0x4000, "arm7", 0 ) + ROM_LOAD( "biosnds7.rom", 0x0000, 0x4000, CRC(87654321) SHA1(8765432187654321876543218765432187654321) ) + + ROM_REGION32_LE( 0x40000, "firmware", 0 ) + ROM_LOAD( "firmware.bin", 0x0000, 0x40000, CRC(55aa6699) SHA1(55aa669955aa669955aa669955aa669955aa6699) ) +ROM_END + +// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS +CONS(2004, nds, 0, 0, nds, nds, nds_state, 0, "Nintendo", "DS", MACHINE_IS_SKELETON) diff --git a/src/mame/includes/nds.h b/src/mame/includes/nds.h new file mode 100644 index 00000000000..8614a4eea3b --- /dev/null +++ b/src/mame/includes/nds.h @@ -0,0 +1,29 @@ +// license:BSD-3-Clause +// copyright-holders:Ryan Holtz +#ifndef INCLUDES_NDS_H +#define INCLUDES_NDS_H + +#include "cpu/arm7/arm7.h" +#include "cpu/arm7/arm7core.h" + +class nds_state : public driver_device +{ +public: + nds_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_arm9(*this, "arm9"), + m_arm7(*this, "arm7"), + m_firmware(*this, "firmware") + { } + + required_device<arm946es_cpu_device> m_arm9; + required_device<arm7_cpu_device> m_arm7; + + void machine_start() override; + void machine_reset() override; + +protected: + required_region_ptr<uint32_t> m_firmware; +}; + +#endif // INCLUDES_NDS_H diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 71db2f03d23..59a37c9dfb8 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -29146,6 +29146,9 @@ nc100 // 1992 NC100 nc150 // 1992 NC150 nc200 // 1993 NC200 +@source:nds.cpp +nds // 2004 Nintendp + @source:nemesis.cpp blkpnthr // GX604 (c) 1987 (Japan) bubsys // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 086851887dc..1a36b138160 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -414,6 +414,7 @@ nakajies.cpp nanos.cpp nascom1.cpp nc.cpp +nds.cpp neogeocd.cpp nes.cpp nes_vt.cpp |