diff --git a/.gitattributes b/.gitattributes index 577d0c8835e..c08a95ac8b6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5753,8 +5753,6 @@ src/mame/machine/konppc.h svneol=native#text/plain src/mame/machine/leland.c svneol=native#text/plain src/mame/machine/lkage.c svneol=native#text/plain src/mame/machine/lsasquad.c svneol=native#text/plain -src/mame/machine/m68kfmly.c svneol=native#text/plain -src/mame/machine/m68kfmly.h svneol=native#text/plain src/mame/machine/maniach.c svneol=native#text/plain src/mame/machine/maple-dc.c svneol=native#text/plain src/mame/machine/maple-dc.h svneol=native#text/plain diff --git a/src/emu/machine/tmp68301.c b/src/emu/machine/tmp68301.c index 9463d8e75bf..ebe2405a3f8 100644 --- a/src/emu/machine/tmp68301.c +++ b/src/emu/machine/tmp68301.c @@ -18,7 +18,10 @@ static ADDRESS_MAP_START( tmp68301_regs, AS_0, 16, tmp68301_device ) AM_RANGE(0x094,0x095) AM_READWRITE(imr_r,imr_w) AM_RANGE(0x098,0x099) AM_READWRITE(iisr_r,iisr_w) - /* Serial */ + /* Parallel Port */ + AM_RANGE(0x10a,0x10b) AM_READWRITE(pdr_r,pdr_w) + + /* Serial Port */ AM_RANGE(0x18e,0x18f) AM_READWRITE(scr_r,scr_w) ADDRESS_MAP_END @@ -62,6 +65,17 @@ WRITE16_MEMBER(tmp68301_device::scr_w) m_scr &= 0xa1; } +/* TODO: bit direction */ +READ16_MEMBER(tmp68301_device::pdr_r) +{ + return m_in_parallel_func(0); +} + +WRITE16_MEMBER(tmp68301_device::pdr_w) +{ + m_out_parallel_func(0,data); +} + tmp68301_device::tmp68301_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, TMP68301, "TMP68301", tag, owner, clock, "tmp68301", __FILE__), @@ -78,6 +92,18 @@ tmp68301_device::tmp68301_device(const machine_config &mconfig, const char *tag, void tmp68301_device::device_config_complete() { + // inherit a copy of the static data + const tmp68301_interface *intf = reinterpret_cast(static_config()); + if (intf != NULL) + *static_cast(this) = *intf; + + // or defaults to 0 if none provided + else + { + memset(&m_in_parallel_cb, 0, sizeof(m_in_parallel_cb)); + memset(&m_out_parallel_cb, 0, sizeof(m_out_parallel_cb)); + + } } //------------------------------------------------- @@ -89,6 +115,9 @@ void tmp68301_device::device_start() int i; for (i = 0; i < 3; i++) m_tmp68301_timer[i] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(tmp68301_device::timer_callback), this)); + + m_in_parallel_func.resolve(m_in_parallel_cb, *this); + m_out_parallel_func.resolve(m_out_parallel_cb, *this); } //------------------------------------------------- diff --git a/src/emu/machine/tmp68301.h b/src/emu/machine/tmp68301.h index 8b7c334bca7..a55da32f4f8 100644 --- a/src/emu/machine/tmp68301.h +++ b/src/emu/machine/tmp68301.h @@ -1,8 +1,40 @@ #ifndef TMP68301_H #define TMP68301_H +//************************************************************************** +// INTERFACE CONFIGURATION MACROS +//************************************************************************** + +/* TODO: frequency & hook it up with m68k */ +#define MCFG_TMP68301_ADD(_tag, _config) \ + MCFG_DEVICE_ADD(_tag, TMP68301, 0) \ + MCFG_DEVICE_CONFIG(_config) + +#define MCFG_TMP68301_MODIFY(_tag, _config) \ + MCFG_DEVICE_MODIFY(_tag) \ + MCFG_DEVICE_CONFIG(_config) + + +#define TMP68301_INTERFACE(name) \ + const tmp68301_interface (name) = + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> mb_vcu_interface + +struct tmp68301_interface +{ + devcb_read16 m_in_parallel_cb; + devcb_write16 m_out_parallel_cb; +// TODO: serial ports +}; + class tmp68301_device : public device_t, - public device_memory_interface + public device_memory_interface, + public tmp68301_interface { public: tmp68301_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); @@ -23,6 +55,8 @@ public: DECLARE_WRITE16_MEMBER(iisr_w); DECLARE_READ16_MEMBER(scr_r); DECLARE_WRITE16_MEMBER(scr_w); + DECLARE_READ16_MEMBER(pdr_r); + DECLARE_WRITE16_MEMBER(pdr_w); protected: // device-level overrides @@ -31,6 +65,8 @@ protected: virtual void device_reset(); virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const; + devcb_resolved_read16 m_in_parallel_func; + devcb_resolved_write16 m_out_parallel_func; private: // internal state UINT16 m_regs[0x400]; @@ -56,7 +92,4 @@ private: extern const device_type TMP68301; -#define MCFG_TMP68301_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, TMP68301, 0) - #endif diff --git a/src/mame/drivers/csplayh5.c b/src/mame/drivers/csplayh5.c index 5ef68dfd03e..d035efb2853 100644 --- a/src/mame/drivers/csplayh5.c +++ b/src/mame/drivers/csplayh5.c @@ -634,6 +634,12 @@ static const z80_daisy_config daisy_chain_sound[] = { NULL } }; +static TMP68301_INTERFACE( tmp68301_interface ) +{ + DEVCB_NULL, + DEVCB_NULL +}; + static MACHINE_CONFIG_START( csplayh5, csplayh5_state ) @@ -642,7 +648,7 @@ static MACHINE_CONFIG_START( csplayh5, csplayh5_state ) MCFG_CPU_PROGRAM_MAP(csplayh5_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", csplayh5_state, csplayh5_irq, "screen", 0, 1) - MCFG_TMP68301_ADD("tmp68301") + MCFG_TMP68301_ADD("tmp68301",tmp68301_interface) #if USE_H8 MCFG_CPU_ADD("subcpu", H83002, 16000000) /* unknown clock */ diff --git a/src/mame/drivers/niyanpai.c b/src/mame/drivers/niyanpai.c index 8faae558dfa..513a93b6758 100644 --- a/src/mame/drivers/niyanpai.c +++ b/src/mame/drivers/niyanpai.c @@ -23,8 +23,6 @@ /****************************************************************************** Memo: -- TMP68301 emulation is not implemented (machine/m68kfmly.c, .h does nothing). - - niyanpai's 2p start does not mean 2p simultaneous or exchanging play. Simply uses controls for 2p side. @@ -38,7 +36,7 @@ Memo: #include "emu.h" #include "cpu/z80/z80.h" #include "cpu/m68000/m68000.h" -#include "machine/m68kfmly.h" +#include "machine/tmp68301.h" #include "machine/z80ctc.h" #include "includes/nb1413m3.h" #include "sound/dac.h" @@ -306,15 +304,22 @@ READ16_MEMBER(niyanpai_state::musobana_inputport_0_r) return (portdata); } -CUSTOM_INPUT_MEMBER(niyanpai_state::musobana_outcoin_flag_r) +WRITE16_MEMBER(niyanpai_state::tmp68301_parallel_port_w) { - address_space &space = m_maincpu->space(AS_PROGRAM); // tmp68301_parallel_interface[0x05] // bit 0 coin counter // bit 2 motor on // bit 3 coin lock + // bit 8-9 video page select? - if (tmp68301_parallel_interface_r(space, 0x0005, 0x00ff) & 0x0004) m_musobana_outcoin_flag ^= 1; + m_motor_on = data & 4; + coin_counter_w(machine(),0,data & 1); + coin_lockout_w(machine(), 0,data & 0x08); +} + +CUSTOM_INPUT_MEMBER(niyanpai_state::musobana_outcoin_flag_r) +{ + if (m_motor_on) m_musobana_outcoin_flag ^= 1; else m_musobana_outcoin_flag = 1; return m_musobana_outcoin_flag & 0x01; @@ -325,14 +330,6 @@ WRITE16_MEMBER(niyanpai_state::musobana_inputport_w) m_musobana_inputport = data; } -static ADDRESS_MAP_START( tmp68301_regs, AS_PROGRAM, 16, niyanpai_state ) - AM_RANGE(0xfffc00, 0xfffc0f) AM_READWRITE_LEGACY(tmp68301_address_decoder_r,tmp68301_address_decoder_w) - AM_RANGE(0xfffc80, 0xfffc9f) AM_READWRITE_LEGACY(tmp68301_interrupt_controller_r,tmp68301_interrupt_controller_w) - AM_RANGE(0xfffd00, 0xfffd0f) AM_READWRITE_LEGACY(tmp68301_parallel_interface_r,tmp68301_parallel_interface_w) - AM_RANGE(0xfffd80, 0xfffdaf) AM_READWRITE_LEGACY(tmp68301_serial_interface_r,tmp68301_serial_interface_w) - AM_RANGE(0xfffe00, 0xfffe4f) AM_READWRITE_LEGACY(tmp68301_timer_r,tmp68301_timer_w) -ADDRESS_MAP_END - static ADDRESS_MAP_START( niyanpai_map, AS_PROGRAM, 16, niyanpai_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("nvram") @@ -365,7 +362,7 @@ static ADDRESS_MAP_START( niyanpai_map, AS_PROGRAM, 16, niyanpai_state ) AM_RANGE(0x240c00, 0x240c01) AM_WRITE(niyanpai_clutsel_1_w) AM_RANGE(0x240e00, 0x240e01) AM_WRITE(niyanpai_clutsel_2_w) - AM_IMPORT_FROM( tmp68301_regs ) + AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers ADDRESS_MAP_END static ADDRESS_MAP_START( musobana_map, AS_PROGRAM, 16, niyanpai_state ) @@ -403,7 +400,7 @@ static ADDRESS_MAP_START( musobana_map, AS_PROGRAM, 16, niyanpai_state ) AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") - AM_IMPORT_FROM( tmp68301_regs ) + AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers ADDRESS_MAP_END static ADDRESS_MAP_START( mhhonban_map, AS_PROGRAM, 16, niyanpai_state ) @@ -443,7 +440,7 @@ static ADDRESS_MAP_START( mhhonban_map, AS_PROGRAM, 16, niyanpai_state ) AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") - AM_IMPORT_FROM( tmp68301_regs ) + AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers ADDRESS_MAP_END static ADDRESS_MAP_START( zokumahj_map, AS_PROGRAM, 16, niyanpai_state ) @@ -482,7 +479,7 @@ static ADDRESS_MAP_START( zokumahj_map, AS_PROGRAM, 16, niyanpai_state ) AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") - AM_IMPORT_FROM( tmp68301_regs ) + AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers ADDRESS_MAP_END @@ -928,7 +925,7 @@ INPUT_PORTS_END INTERRUPT_GEN_MEMBER(niyanpai_state::niyanpai_interrupt) { - device.execute().set_input_line_and_vector(1, HOLD_LINE,0x100/4); + m_tmp68301->external_interrupt_0(); } static const z80_daisy_config daisy_chain_sound[] = @@ -937,6 +934,11 @@ static const z80_daisy_config daisy_chain_sound[] = { NULL } }; +static TMP68301_INTERFACE( tmp68301_interface ) +{ + DEVCB_NULL, + DEVCB_DRIVER_MEMBER16(niyanpai_state,tmp68301_parallel_port_w) +}; static MACHINE_CONFIG_START( niyanpai, niyanpai_state ) @@ -945,6 +947,8 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state ) MCFG_CPU_PROGRAM_MAP(niyanpai_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, niyanpai_interrupt) + MCFG_TMP68301_ADD("tmp68301",tmp68301_interface) + MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* TMPZ84C011, 8.00 MHz */ MCFG_CPU_CONFIG(daisy_chain_sound) MCFG_CPU_PROGRAM_MAP(niyanpai_sound_map) diff --git a/src/mame/drivers/realbrk.c b/src/mame/drivers/realbrk.c index 0b36e696e53..8d08f3effd9 100644 --- a/src/mame/drivers/realbrk.c +++ b/src/mame/drivers/realbrk.c @@ -172,7 +172,6 @@ static ADDRESS_MAP_START( realbrk_mem, AS_PROGRAM, 16, realbrk_state ) AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Coins AM_RANGE(0xc00004, 0xc00005) AM_RAM_READ(realbrk_dsw_r) AM_SHARE("dsw_select") // DSW select AM_RANGE(0xff0000, 0xfffbff) AM_RAM // RAM - AM_RANGE(0xfffd0a, 0xfffd0b) AM_WRITE(realbrk_flipscreen_w ) // Hack! Parallel port data register AM_IMPORT_FROM(base_mem) ADDRESS_MAP_END @@ -751,6 +750,12 @@ INTERRUPT_GEN_MEMBER(realbrk_state::realbrk_interrupt) m_tmp68301->external_interrupt_1(); } +static TMP68301_INTERFACE( tmp68301_interface ) +{ + DEVCB_NULL, + DEVCB_DRIVER_MEMBER16(realbrk_state,realbrk_flipscreen_w) +}; + static MACHINE_CONFIG_START( realbrk, realbrk_state ) /* basic machine hardware */ @@ -758,7 +763,7 @@ static MACHINE_CONFIG_START( realbrk, realbrk_state ) MCFG_CPU_PROGRAM_MAP(realbrk_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", realbrk_state, realbrk_interrupt) - MCFG_TMP68301_ADD("tmp68301") + MCFG_TMP68301_ADD("tmp68301", tmp68301_interface) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/seta2.c b/src/mame/drivers/seta2.c index 50f2679d7f0..e77d3f55ce3 100644 --- a/src/mame/drivers/seta2.c +++ b/src/mame/drivers/seta2.c @@ -210,7 +210,6 @@ static ADDRESS_MAP_START( gundamex_map, AS_PROGRAM, 16, seta2_state ) AM_RANGE(0xc50000, 0xc5ffff) AM_RAM // cleared AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs") // Video Registers AM_RANGE(0xe00010, 0xe0001f) AM_WRITE(seta2_sound_bank_w) // Samples Banks - AM_RANGE(0xfffd0a, 0xfffd0b) AM_READWRITE(gundamex_eeprom_r,gundamex_eeprom_w) // parallel data register AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers ADDRESS_MAP_END @@ -442,7 +441,6 @@ static ADDRESS_MAP_START( reelquak_map, AS_PROGRAM, 16, seta2_state ) AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram") // Sprites AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs") // Video Registers - AM_RANGE(0xfffd0a, 0xfffd0b) AM_WRITE(reelquak_leds_w ) // parallel data register (leds) AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers ADDRESS_MAP_END @@ -502,7 +500,6 @@ static ADDRESS_MAP_START( samshoot_map, AS_PROGRAM, 16, seta2_state ) AM_RANGE( 0x900000, 0x903fff ) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound - AM_RANGE( 0xfffd0a, 0xfffd0b ) AM_READ_PORT("DSW2") // parallel data register (DSW 2) AM_RANGE( 0xfffc00, 0xffffff ) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers ADDRESS_MAP_END @@ -1990,13 +1987,37 @@ static const x1_010_interface x1_010_sound_intf = 0x0000, /* address */ }; +static TMP68301_INTERFACE( tmp68301_default_intf ) +{ + DEVCB_NULL, + DEVCB_NULL +}; + + +static TMP68301_INTERFACE( tmp68301_gundamex_intf ) +{ + DEVCB_DRIVER_MEMBER16(seta2_state,gundamex_eeprom_r), + DEVCB_DRIVER_MEMBER16(seta2_state,gundamex_eeprom_w) +}; + +static TMP68301_INTERFACE( tmp68301_reelquak_intf ) +{ + DEVCB_NULL, + DEVCB_DRIVER_MEMBER16(seta2_state,reelquak_leds_w) +}; + +static TMP68301_INTERFACE( tmp68301_samshoot_intf ) +{ + DEVCB_INPUT_PORT("DSW2"), + DEVCB_NULL +}; + static MACHINE_CONFIG_START( seta2, seta2_state ) MCFG_CPU_ADD("maincpu", M68301, XTAL_50MHz/3) // !! TMP68301 !! MCFG_CPU_PROGRAM_MAP(mj4simai_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", seta2_state, seta2_interrupt) - MCFG_TMP68301_ADD("tmp68301") - + MCFG_TMP68301_ADD("tmp68301", tmp68301_default_intf) // video hardware MCFG_SCREEN_ADD("screen", RASTER) @@ -2036,6 +2057,8 @@ static MACHINE_CONFIG_DERIVED( gundamex, seta2 ) MCFG_CPU_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(gundamex_map) + MCFG_TMP68301_MODIFY("tmp68301",tmp68301_gundamex_intf) + MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") // video hardware @@ -2102,6 +2125,8 @@ static MACHINE_CONFIG_DERIVED( reelquak, seta2 ) MCFG_CPU_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(reelquak_map) + MCFG_TMP68301_MODIFY("tmp68301",tmp68301_reelquak_intf) + MCFG_NVRAM_ADD_0FILL("nvram") MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW) @@ -2118,6 +2143,8 @@ static MACHINE_CONFIG_DERIVED( samshoot, seta2 ) MCFG_CPU_PROGRAM_MAP(samshoot_map) MCFG_CPU_PERIODIC_INT_DRIVER(seta2_state, samshoot_interrupt, 60) + MCFG_TMP68301_MODIFY("tmp68301",tmp68301_samshoot_intf) + MCFG_NVRAM_ADD_0FILL("nvram") // video hardware @@ -2240,7 +2267,7 @@ static MACHINE_CONFIG_START( namcostr, seta2_state ) MCFG_CPU_PROGRAM_MAP(namcostr_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", seta2_state, seta2_interrupt) - MCFG_TMP68301_ADD("tmp68301") + MCFG_TMP68301_ADD("tmp68301",tmp68301_reelquak_intf) // video hardware diff --git a/src/mame/includes/niyanpai.h b/src/mame/includes/niyanpai.h index 23ced156402..e68804fdfb1 100644 --- a/src/mame/includes/niyanpai.h +++ b/src/mame/includes/niyanpai.h @@ -1,4 +1,5 @@ #include "sound/dac.h" +#include "machine/tmp68301.h" #define VRAM_MAX 3 class niyanpai_state : public driver_device @@ -12,6 +13,7 @@ public: niyanpai_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu"), + m_tmp68301(*this, "tmp68301"), m_dac1(*this, "dac1"), m_dac2(*this, "dac2") { } @@ -86,6 +88,8 @@ public: DECLARE_WRITE16_MEMBER(niyanpai_clutsel_2_w); DECLARE_CUSTOM_INPUT_MEMBER(musobana_outcoin_flag_r); DECLARE_DRIVER_INIT(niyanpai); + DECLARE_WRITE16_MEMBER(tmp68301_parallel_port_w); + UINT8 m_motor_on; virtual void machine_reset(); virtual void video_start(); UINT32 screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -99,6 +103,7 @@ public: void niyanpai_gfxdraw(int vram); void niyanpai_soundbank_w(int data); required_device m_maincpu; + required_device m_tmp68301; required_device m_dac1; required_device m_dac2; diff --git a/src/mame/machine/m68kfmly.c b/src/mame/machine/m68kfmly.c deleted file mode 100644 index 456ebd20666..00000000000 --- a/src/mame/machine/m68kfmly.c +++ /dev/null @@ -1,217 +0,0 @@ -/****************************************************************************** - - TMP68301 support (dummy) driver - - Driver by Takahiro Nogi 2000/12/23 - - -******************************************************************************/ -/****************************************************************************** -Memo: - -******************************************************************************/ - -#include "emu.h" -#include "m68kfmly.h" -#include "cpu/m68000/m68000.h" - - -#define VERBOSE 0 -#define LOG(x) do { if (VERBOSE) logerror x; } while (0) - - -// TMP68301 System Memory Map -// -// 0xFFFC00 - 0xFFFC0F TMP68301 Address decoder -// 0xFFFC80 - 0xFFFC9F TMP68301 Interrupt controller -// 0xFFFD00 - 0xFFFD0F TMP68301 Parallel interface -// 0xFFFD80 - 0xFFFDAF TMP68301 Serial interface -// 0xFFFE00 - 0xFFFE4F TMP68301 Timer -// -// Address decoder -// 15 7 -// 0xFFFC00 AMAR0 AAMR0 -// 0xFFFC02 - AACR0 -// 0xFFFC04 AMAR1 AAMR1 -// 0xFFFC06 - AACR1 -// 0xFFFC08 - AACR2 -// 0xFFFC0A - ATOR -// 0xFFFC0C ARELR -// 0xFFFC0E - - -// -// Interrupt controller -// 15 7 -// 0xFFFC80 - ICR0 -// 0xFFFC82 - ICR1 -// 0xFFFC84 - ICR2 -// 0xFFFC86 - ICR3 -// 0xFFFC88 - ICR4 -// 0xFFFC8A - ICR5 -// 0xFFFC8C - ICR6 -// 0xFFFC8E - ICR7 -// 0xFFFC90 - ICR8 -// 0xFFFC92 - ICR9 -// 0xFFFC94 IMR -// 0xFFFC96 IPR -// 0xFFFC98 IISR -// 0xFFFC9A - IVNR -// 0xFFFC9C - IEIR -// 0xFFFC9E - - -// -// Parallel interface -// 15 7 -// 0xFFFD00 PDIR -// 0xFFFD02 - PCR -// 0xFFFD04 - PSR -// 0xFFFD06 - PCMR -// 0xFFFD08 - PMR -// 0xFFFD0A PDR -// 0xFFFD0C - PPR1 -// 0xFFFD0E - PPR2 -// -// Serial interface -// 15 7 -// 0xFFFD80 - SMR0 -// 0xFFFD82 - SCMR0 -// 0xFFFD84 - SBRR0 -// 0xFFFD86 - SSR0 -// 0xFFFD88 - SDR0 -// 0xFFFD8A - - -// 0xFFFD8C - SPR -// 0xFFFD8E - SCR -// 0xFFFD90 - SMR1 -// 0xFFFD92 - SCMR1 -// 0xFFFD94 - SBRR1 -// 0xFFFD96 - SSR1 -// 0xFFFD98 - SDR1 -// 0xFFFD9A - - -// 0xFFFD9C - - -// 0xFFFD9E - - -// 0xFFFDA0 - SMR2 -// 0xFFFDA2 - SCMR2 -// 0xFFFDA4 - SBRR2 -// 0xFFFDA6 - SSR2 -// 0xFFFDA8 - SDR2 -// 0xFFFDAA - - -// 0xFFFDAC - - -// 0xFFFDAE - - -// -// Timer -// 15 7 -// 0xFFFE00 TCR0 -// 0xFFFE02 - - -// 0xFFFE04 TMCR0 -// 0xFFFE06 - - -// 0xFFFE08 - - -// 0xFFFE0A - - -// 0xFFFE0C TCTR0 -// 0xFFFE0E - - -// 0xFFFE10 - - -// 0xFFFE12 - - -// 0xFFFE14 - - -// 0xFFFE16 - - -// 0xFFFE18 - - -// 0xFFFE1A - - -// 0xFFFE1C - - -// 0xFFFE1E - - -// 0xFFFE20 TCR1 -// 0xFFFE22 - - -// 0xFFFE24 TMCR11 -// 0xFFFE26 - - -// 0xFFFE28 TMCR12 -// 0xFFFE2A - - -// 0xFFFE2C TCTR1 -// 0xFFFE2E - - -// 0xFFFE30 - - -// 0xFFFE32 - - -// 0xFFFE34 - - -// 0xFFFE36 - - -// 0xFFFE38 - - -// 0xFFFE3A - - -// 0xFFFE3C - - -// 0xFFFE3E - - -// 0xFFFE40 TCR2 -// 0xFFFE42 - - -// 0xFFFE44 TMCR21 -// 0xFFFE46 - - -// 0xFFFE48 TMCR22 -// 0xFFFE4A - - -// 0xFFFE4C TCTR2 -// 0xFFFE4E - - - - -static UINT16 tmp68301_address_decoder[0x10]; -static UINT16 tmp68301_interrupt_controller[0x20]; -static UINT16 tmp68301_parallel_interface[0x10]; -static UINT16 tmp68301_serial_interface[0x30]; -static UINT16 tmp68301_timer[0x50]; - - -READ16_HANDLER( tmp68301_address_decoder_r ) -{ - LOG(("PC %08X: TMP68301_address_decoder_r (%08X)\n", space.device().safe_pc(), (0xfffc00 + (offset * 2)))); - - return tmp68301_address_decoder[offset]; -} - -WRITE16_HANDLER( tmp68301_address_decoder_w ) -{ - LOG(("PC %08X: TMP68301_address_decoder_w (%08X = %04X)\n", space.device().safe_pc(), (0xfffc00 + (offset * 2)), data)); - - tmp68301_address_decoder[offset] = data; -} - -READ16_HANDLER( tmp68301_interrupt_controller_r ) -{ - LOG(("PC %08X: TMP68301_interrupt_controller_r (%08X)\n", space.device().safe_pc(), (0xfffc80 + (offset * 2)))); - - return tmp68301_interrupt_controller[offset]; -} - -WRITE16_HANDLER( tmp68301_interrupt_controller_w ) -{ - LOG(("PC %08X: TMP68301_interrupt_controller_w (%08X = %04X)\n", space.device().safe_pc(), (0xfffc80 + (offset * 2)), data)); - - tmp68301_interrupt_controller[offset] = data; -} - -READ16_HANDLER( tmp68301_parallel_interface_r ) -{ - LOG(("PC %08X: TMP68301_parallel_interface_r (%08X)\n", space.device().safe_pc(), (0xfffd00 + (offset * 2)))); - - return tmp68301_parallel_interface[offset]; -} - -WRITE16_HANDLER( tmp68301_parallel_interface_w ) -{ - LOG(("PC %08X: TMP68301_parallel_interface_w (%08X = %04X)\n", space.device().safe_pc(), (0xfffd00 + (offset * 2)), data)); - - tmp68301_parallel_interface[offset] = data; -} - -READ16_HANDLER( tmp68301_serial_interface_r ) -{ - LOG(("PC %08X: TMP68301_serial_interface_r (%08X)\n", space.device().safe_pc(), (0xfffd80 + (offset * 2)))); - - return tmp68301_serial_interface[offset]; -} - -WRITE16_HANDLER( tmp68301_serial_interface_w ) -{ - LOG(("PC %08X: TMP68301_serial_interface_w (%08X = %04X)\n", space.device().safe_pc(), (0xfffd80 + (offset * 2)), data)); - - tmp68301_serial_interface[offset] = data; -} - -READ16_HANDLER( tmp68301_timer_r ) -{ - LOG(("PC %08X: TMP68301_timer_r (%08X)\n", space.device().safe_pc(), (0xfffe00 + (offset * 2)))); - - return tmp68301_timer[offset]; -} - -WRITE16_HANDLER( tmp68301_timer_w ) -{ - LOG(("PC %08X: TMP68301_timer_w (%08X = %04X)\n", space.device().safe_pc(), (0xfffe00 + (offset * 2)), data)); - - tmp68301_timer[offset] = data; -} diff --git a/src/mame/machine/m68kfmly.h b/src/mame/machine/m68kfmly.h deleted file mode 100644 index b2fcdec8329..00000000000 --- a/src/mame/machine/m68kfmly.h +++ /dev/null @@ -1,18 +0,0 @@ -/****************************************************************************** - - TMP68301 support (dummy) driver - - Driver by Takahiro Nogi 2000/12/23 - - -******************************************************************************/ - -ATTR_DEPRECATED DECLARE_READ16_HANDLER( tmp68301_address_decoder_r ); -ATTR_DEPRECATED DECLARE_WRITE16_HANDLER( tmp68301_address_decoder_w ); -ATTR_DEPRECATED DECLARE_READ16_HANDLER( tmp68301_interrupt_controller_r ); -ATTR_DEPRECATED DECLARE_WRITE16_HANDLER( tmp68301_interrupt_controller_w ); -ATTR_DEPRECATED DECLARE_READ16_HANDLER( tmp68301_parallel_interface_r ); -ATTR_DEPRECATED DECLARE_WRITE16_HANDLER( tmp68301_parallel_interface_w ); -ATTR_DEPRECATED DECLARE_READ16_HANDLER( tmp68301_serial_interface_r ); -ATTR_DEPRECATED DECLARE_WRITE16_HANDLER( tmp68301_serial_interface_w ); -ATTR_DEPRECATED DECLARE_READ16_HANDLER( tmp68301_timer_r ); -ATTR_DEPRECATED DECLARE_WRITE16_HANDLER( tmp68301_timer_w ); diff --git a/src/mame/mame.mak b/src/mame/mame.mak index 0871bc623bf..3a3b56a52dc 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -1394,7 +1394,7 @@ $(MAMEOBJ)/nichibut.a: \ $(DRIVERS)/nbmj8991.o $(VIDEO)/nbmj8991.o \ $(DRIVERS)/nbmj9195.o $(VIDEO)/nbmj9195.o \ $(DRIVERS)/nightgal.o \ - $(DRIVERS)/niyanpai.o $(MACHINE)/m68kfmly.o $(VIDEO)/niyanpai.o \ + $(DRIVERS)/niyanpai.o $(VIDEO)/niyanpai.o \ $(DRIVERS)/pastelg.o $(VIDEO)/pastelg.o \ $(DRIVERS)/seicross.o $(VIDEO)/seicross.o \ $(DRIVERS)/terracre.o $(VIDEO)/terracre.o \