diff --git a/.gitattributes b/.gitattributes index 88fb5b4c83b..f04c2ed132b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1284,6 +1284,8 @@ src/emu/machine/mb3773.c svneol=native#text/plain src/emu/machine/mb3773.h svneol=native#text/plain src/emu/machine/mb87078.c svneol=native#text/plain src/emu/machine/mb87078.h svneol=native#text/plain +src/emu/machine/mb89371.c svneol=native#text/plain +src/emu/machine/mb89371.h svneol=native#text/plain src/emu/machine/mc146818.c svneol=native#text/plain src/emu/machine/mc146818.h svneol=native#text/plain src/emu/machine/mc2661.c svneol=native#text/plain diff --git a/src/emu/emu.mak b/src/emu/emu.mak index b5c494bb56d..6adc25c9baa 100644 --- a/src/emu/emu.mak +++ b/src/emu/emu.mak @@ -221,6 +221,7 @@ EMUMACHINEOBJS = \ $(EMUMACHINE)/mb14241.o \ $(EMUMACHINE)/mb3773.o \ $(EMUMACHINE)/mb87078.o \ + $(EMUMACHINE)/mb89371.o \ $(EMUMACHINE)/mc146818.o \ $(EMUMACHINE)/mc2661.o \ $(EMUMACHINE)/mc6843.o \ diff --git a/src/emu/machine/mb89371.c b/src/emu/machine/mb89371.c new file mode 100644 index 00000000000..e14eacb0f66 --- /dev/null +++ b/src/emu/machine/mb89371.c @@ -0,0 +1,29 @@ +/* + * MB89371 + * + * Fujitsu + * Dual Serial UART + * + */ + +#include "mb89371.h" + +const device_type MB89371 = &device_creator; + +mb89371_device::mb89371_device( const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock ) + : device_t(mconfig, MB89371, "MB89371", tag, owner, clock) +{ +} + +void mb89371_device::device_start() +{ +} + +WRITE8_MEMBER(mb89371_device::write) +{ +} + +READ8_MEMBER(mb89371_device::read) +{ + return 0xff; +} diff --git a/src/emu/machine/mb89371.h b/src/emu/machine/mb89371.h new file mode 100644 index 00000000000..fe2e425784a --- /dev/null +++ b/src/emu/machine/mb89371.h @@ -0,0 +1,33 @@ +/* + * MB89371 + * + * Fujitsu + * Dual Serial UART + * + */ + +#ifndef __MB89371_H__ +#define __MB89371_H__ + +#include "emu.h" + +class mb89371_device : public device_t +{ +public: + // construction/destruction + mb89371_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + DECLARE_WRITE8_MEMBER( write ); + DECLARE_READ8_MEMBER( read ); + +protected: + + // device-level overrides + virtual void device_start(); +}; + + +// device type definition +extern const device_type MB89371; + +#endif diff --git a/src/mame/drivers/konamigq.c b/src/mame/drivers/konamigq.c index 6a287d932d1..011e0c1ab98 100644 --- a/src/mame/drivers/konamigq.c +++ b/src/mame/drivers/konamigq.c @@ -49,10 +49,11 @@ #include "cpu/m68000/m68000.h" #include "cpu/psx/psx.h" #include "video/psx.h" +#include "machine/am53cf96.h" #include "machine/eeprom.h" +#include "machine/mb89371.h" #include "machine/scsibus.h" #include "machine/scsihd.h" -#include "machine/am53cf96.h" #include "sound/k054539.h" class konamigq_state : public driver_device @@ -74,11 +75,9 @@ public: UINT8 m_sector_buffer[ 512 ]; DECLARE_WRITE16_MEMBER(soundr3k_w); DECLARE_READ16_MEMBER(soundr3k_r); - DECLARE_WRITE16_MEMBER(mb89371_w); - DECLARE_READ16_MEMBER(mb89371_r); DECLARE_WRITE16_MEMBER(eeprom_w); - DECLARE_WRITE16_MEMBER(pcmram_w); - DECLARE_READ16_MEMBER(pcmram_r); + DECLARE_WRITE8_MEMBER(pcmram_w); + DECLARE_READ8_MEMBER(pcmram_r); DECLARE_READ16_MEMBER(sndcomm68k_r); DECLARE_WRITE16_MEMBER(sndcomm68k_w); DECLARE_READ16_MEMBER(tms57002_data_word_r); @@ -116,17 +115,6 @@ READ16_MEMBER(konamigq_state::soundr3k_r) return m_sndtor3k[ offset ]; } -/* UART */ - -WRITE16_MEMBER(konamigq_state::mb89371_w) -{ -} - -READ16_MEMBER(konamigq_state::mb89371_r) -{ - return 0xffff; -} - /* EEPROM */ static const UINT16 konamigq_def_eeprom[64] = @@ -150,12 +138,12 @@ WRITE16_MEMBER(konamigq_state::eeprom_w) /* PCM RAM */ -WRITE16_MEMBER(konamigq_state::pcmram_w) +WRITE8_MEMBER(konamigq_state::pcmram_w) { m_p_n_pcmram[ offset ] = data; } -READ16_MEMBER(konamigq_state::pcmram_r) +READ8_MEMBER(konamigq_state::pcmram_r) { return m_p_n_pcmram[ offset ]; } @@ -178,8 +166,8 @@ static ADDRESS_MAP_START( konamigq_map, AS_PROGRAM, 32, konamigq_state ) AM_RANGE(0x1f230000, 0x1f230003) AM_READ_PORT("P1_P2") AM_RANGE(0x1f230004, 0x1f230007) AM_READ_PORT("P3_SERVICE") AM_RANGE(0x1f238000, 0x1f238003) AM_READ_PORT("DSW") - AM_RANGE(0x1f300000, 0x1f5fffff) AM_READWRITE16(pcmram_r, pcmram_w, 0xffffffff) - AM_RANGE(0x1f680000, 0x1f68001f) AM_READWRITE16(mb89371_r, mb89371_w, 0xffffffff) + AM_RANGE(0x1f300000, 0x1f5fffff) AM_READWRITE8(pcmram_r, pcmram_w, 0x00ff00ff) + AM_RANGE(0x1f680000, 0x1f68001f) AM_DEVREADWRITE8("mb89371", mb89371_device, read, write, 0x00ff00ff) AM_RANGE(0x1f780000, 0x1f780003) AM_WRITENOP /* watchdog? */ ADDRESS_MAP_END @@ -306,6 +294,8 @@ static MACHINE_CONFIG_START( konamigq, konamigq_state ) MCFG_MACHINE_START_OVERRIDE(konamigq_state, konamigq ) MCFG_MACHINE_RESET_OVERRIDE(konamigq_state, konamigq ) + + MCFG_DEVICE_ADD("mb89371", MB89371, 0) MCFG_EEPROM_93C46_ADD("eeprom") MCFG_EEPROM_DATA(konamigq_def_eeprom, 128) diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c index d6455011fd2..3d2972e4643 100644 --- a/src/mame/drivers/konamigv.c +++ b/src/mame/drivers/konamigv.c @@ -123,11 +123,12 @@ Notes: #include "cdrom.h" #include "cpu/psx/psx.h" #include "video/psx.h" +#include "machine/am53cf96.h" #include "machine/eeprom.h" #include "machine/intelfsh.h" +#include "machine/mb89371.h" #include "machine/scsibus.h" #include "machine/scsicd.h" -#include "machine/am53cf96.h" #include "sound/spu.h" #include "sound/cdda.h" @@ -141,8 +142,6 @@ public: { } - DECLARE_WRITE16_MEMBER(mb89371_w); - DECLARE_READ16_MEMBER(mb89371_r); DECLARE_READ16_MEMBER(flash_r); DECLARE_WRITE16_MEMBER(flash_w); DECLARE_READ16_MEMBER(trackball_r); @@ -174,22 +173,13 @@ private: required_device m_maincpu; }; -WRITE16_MEMBER(konamigv_state::mb89371_w) -{ -} - -READ16_MEMBER(konamigv_state::mb89371_r) -{ - return 0xffff; -} - static ADDRESS_MAP_START( konamigv_map, AS_PROGRAM, 32, konamigv_state ) AM_RANGE(0x1f000000, 0x1f00001f) AM_DEVREADWRITE8("scsi:am53cf96", am53cf96_device, read, write, 0x00ff00ff) AM_RANGE(0x1f100000, 0x1f100003) AM_READ_PORT("P1") AM_RANGE(0x1f100004, 0x1f100007) AM_READ_PORT("P2") AM_RANGE(0x1f100008, 0x1f10000b) AM_READ_PORT("P3_P4") AM_RANGE(0x1f180000, 0x1f180003) AM_WRITE_PORT("EEPROMOUT") - AM_RANGE(0x1f680000, 0x1f68001f) AM_READWRITE16(mb89371_r, mb89371_w, 0xffffffff) + AM_RANGE(0x1f680000, 0x1f68001f) AM_DEVREADWRITE8("mb89371", mb89371_device, read, write, 0x00ff00ff) AM_RANGE(0x1f780000, 0x1f780003) AM_WRITENOP /* watchdog? */ ADDRESS_MAP_END @@ -330,6 +320,7 @@ static MACHINE_CONFIG_START( konamigv, konamigv_state ) MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psx_dma_read_delegate( FUNC( konamigv_state::scsi_dma_read ), (konamigv_state *) owner ) ) MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psx_dma_write_delegate( FUNC( konamigv_state::scsi_dma_write ), (konamigv_state *) owner ) ) + MCFG_DEVICE_ADD("mb89371", MB89371, 0) MCFG_EEPROM_93C46_ADD("eeprom") MCFG_SCSIBUS_ADD("scsi") diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c index 3125f4b1264..278038d2d03 100644 --- a/src/mame/drivers/ksys573.c +++ b/src/mame/drivers/ksys573.c @@ -487,6 +487,7 @@ G: gun mania only, drives air soft gun (this game uses real BB bullet) #include "machine/timekpr.h" #include "machine/adc083x.h" #include "machine/ds2401.h" +#include "machine/mb89371.h" #include "machine/mpeg573.h" #include "machine/upd4701.h" #include "machine/x76f041.h" @@ -605,8 +606,6 @@ public: DECLARE_CUSTOM_INPUT_MEMBER(gn845pwbb_read); DECLARE_CUSTOM_INPUT_MEMBER(gunmania_tank_shutter_sensor); DECLARE_CUSTOM_INPUT_MEMBER(gunmania_cable_holder_sensor); - DECLARE_WRITE16_MEMBER(mb89371_w); - DECLARE_READ16_MEMBER(mb89371_r); DECLARE_READ32_MEMBER(jamma_r); DECLARE_READ16_MEMBER(control_r); DECLARE_WRITE16_MEMBER(control_w); @@ -680,18 +679,6 @@ void ATTR_PRINTF(3,4) ksys573_state::verboselog( int n_level, const char *s_fmt } } -WRITE16_MEMBER(ksys573_state::mb89371_w) -{ - verboselog(2, "mb89371_w %04x %04x %04x\n", offset, mem_mask, data ); -} - -READ16_MEMBER(ksys573_state::mb89371_r) -{ - UINT32 data = 0xffff; - verboselog(2, "mb89371_r %04x %04x %04x\n", offset, mem_mask, data ); - return data; -} - READ32_MEMBER(ksys573_state::jamma_r) { int security_cart_number = m_security_cart_number; @@ -1346,7 +1333,7 @@ static ADDRESS_MAP_START( konami573_map, AS_PROGRAM, 32, ksys573_state ) AM_RANGE(0x1f560000, 0x1f560003) AM_WRITE16(atapi_reset_w, 0x0000ffff) AM_RANGE(0x1f5c0000, 0x1f5c0003) AM_WRITENOP // watchdog? AM_RANGE(0x1f620000, 0x1f623fff) AM_DEVREADWRITE8("m48t58", timekeeper_device, read, write, 0x00ff00ff) - AM_RANGE(0x1f680000, 0x1f68001f) AM_READWRITE16(mb89371_r, mb89371_w, 0xffffffff) + AM_RANGE(0x1f680000, 0x1f68001f) AM_DEVREADWRITE8("mb89371", mb89371_device, read, write, 0x00ff00ff) AM_RANGE(0x1f6a0000, 0x1f6a0003) AM_READWRITE16(security_r, security_w, 0x0000ffff) ADDRESS_MAP_END @@ -2699,6 +2686,7 @@ static MACHINE_CONFIG_START( konami573, ksys573_state ) MCFG_MACHINE_RESET_OVERRIDE(ksys573_state, konami573 ) + MCFG_DEVICE_ADD("mb89371", MB89371, 0) MCFG_DEVICE_ADD("cdrom", CR589, 0) // onboard flash