From ae41637b3e521d28d3cbd5bbdd74dc4c4d47ece9 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Tue, 2 Oct 2012 13:34:21 +0000 Subject: [PATCH] FIREBIRD - wip --- src/mame/drivers/nsm.c | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/src/mame/drivers/nsm.c b/src/mame/drivers/nsm.c index 99f180bbcbb..cb3027b51f3 100644 --- a/src/mame/drivers/nsm.c +++ b/src/mame/drivers/nsm.c @@ -1,21 +1,24 @@ /******************************************************************************** -Pinball -NSM : Hot Fire Birds + Pinball + NSM (Lowen) : Hot Fire Birds *********************************************************************************/ #include "emu.h" #include "cpu/tms9900/tms9900l.h" +#include "sound/ay8910.h" +#include "machine/nvram.h" class nsm_state : public driver_device { public: nsm_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") + m_maincpu(*this, "maincpu") { } + DECLARE_READ8_MEMBER(ff_r); protected: // devices @@ -29,13 +32,28 @@ public: static ADDRESS_MAP_START( nsm_map, AS_PROGRAM, 8, nsm_state ) - AM_RANGE(0x0000, 0x5fff) AM_ROM - AM_RANGE(0x6000, 0xffff) AM_RAM + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0xe000, 0xefff) AM_RAM + AM_RANGE(0xf000, 0xf0fb) AM_READ_LEGACY(tms9995_internal1_r) + AM_RANGE(0xffec, 0xffed) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w) + AM_RANGE(0xffee, 0xffef) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w) + AM_RANGE(0xfffc, 0xffff) AM_READ_LEGACY(tms9995_internal2_r) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( nsm_io_map, AS_IO, 8, nsm_state ) + AM_RANGE(0x0000, 0x0001) AM_READ(ff_r) + AM_RANGE(0x0010, 0x0011) AM_READNOP + AM_RANGE(0x0060, 0x0061) AM_READNOP + AM_RANGE(0x0f70, 0x0f7d) AM_WRITENOP + AM_RANGE(0x0fe4, 0x0fff) AM_READNOP + AM_RANGE(0x7f80, 0x7fd1) AM_WRITENOP ADDRESS_MAP_END static INPUT_PORTS_START( nsm ) INPUT_PORTS_END +READ8_MEMBER( nsm_state::ff_r ) { return 0xff; } + void nsm_state::machine_reset() { } @@ -48,6 +66,14 @@ static MACHINE_CONFIG_START( nsm, nsm_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", TMS9995L, 11052000) MCFG_CPU_PROGRAM_MAP(nsm_map) + MCFG_CPU_IO_MAP(nsm_io_map) + + /* Sound */ + MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") + MCFG_SOUND_ADD("ay1", AY8912, 11052000/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) + MCFG_SOUND_ADD("ay2", AY8912, 11052000/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75) MACHINE_CONFIG_END /*-------------------------------------------------------------------