mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
upd765: add aux commands to 72065 (nw)
This commit is contained in:
parent
1c2c55c82a
commit
1032098a74
@ -72,7 +72,7 @@ void i8272a_device::map(address_map &map)
|
||||
|
||||
void upd72065_device::map(address_map &map)
|
||||
{
|
||||
map(0x0, 0x0).r(FUNC(upd72065_device::msr_r));
|
||||
map(0x0, 0x0).rw(FUNC(upd72065_device::msr_r), FUNC(upd72065_device::auxcmd_w));
|
||||
map(0x1, 0x1).rw(FUNC(upd72065_device::fifo_r), FUNC(upd72065_device::fifo_w));
|
||||
}
|
||||
|
||||
@ -2989,3 +2989,17 @@ WRITE8_MEMBER(tc8566af_device::cr1_w)
|
||||
tc_w((m_cr1 & 0x01) ? true : false);
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(upd72065_device::auxcmd_w)
|
||||
{
|
||||
switch(data)
|
||||
{
|
||||
case 0x36: // reset
|
||||
soft_reset();
|
||||
break;
|
||||
case 0x35: // set standby
|
||||
break;
|
||||
case 0x34: // reset standby
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -510,6 +510,7 @@ public:
|
||||
upd72065_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void map(address_map &map) override;
|
||||
DECLARE_WRITE8_MEMBER(auxcmd_w);
|
||||
};
|
||||
|
||||
class n82077aa_device : public upd765_family_device {
|
||||
|
@ -61,6 +61,7 @@
|
||||
#include "speaker.h"
|
||||
#include "screen.h"
|
||||
#include "emupal.h"
|
||||
#include "machine/upd765.h"
|
||||
|
||||
class mpc3000_state : public driver_device
|
||||
{
|
||||
@ -71,6 +72,7 @@ public:
|
||||
, m_lcdc(*this, "lcdc")
|
||||
, m_dsp(*this, "dsp")
|
||||
, m_mdout(*this, "mdout")
|
||||
, m_fdc(*this, "upd72068")
|
||||
{ }
|
||||
|
||||
void mpc3000(machine_config &config);
|
||||
@ -82,7 +84,7 @@ private:
|
||||
required_device<hd61830_device> m_lcdc;
|
||||
required_device<l7a1045_sound_device> m_dsp;
|
||||
required_device<midi_port_device> m_mdout;
|
||||
|
||||
required_device<upd72065_device> m_fdc;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
@ -131,6 +133,7 @@ void mpc3000_state::mpc3000_io_map(address_map &map)
|
||||
map(0x0068, 0x0069).rw(FUNC(mpc3000_state::dsp_0008_hack_r), FUNC(mpc3000_state::dsp_0008_hack_w));
|
||||
map(0x00e0, 0x00e0).rw(m_lcdc, FUNC(hd61830_device::data_r), FUNC(hd61830_device::data_w)).umask16(0x00ff);
|
||||
map(0x00e2, 0x00e2).rw(m_lcdc, FUNC(hd61830_device::status_r), FUNC(hd61830_device::control_w)).umask16(0x00ff);
|
||||
map(0x00e8, 0x00eb).m(m_fdc, FUNC(upd72065_device::map)).umask16(0x00ff);
|
||||
}
|
||||
|
||||
READ8_MEMBER(mpc3000_state::dma_memr_cb)
|
||||
@ -170,6 +173,10 @@ void mpc3000_state::mpc3000(machine_config &config)
|
||||
MCFG_PALETTE_ADD("palette", 2)
|
||||
MCFG_PALETTE_INIT_OWNER(mpc3000_state, mpc3000)
|
||||
|
||||
MCFG_UPD72065_ADD("upd72068", true, true) // TODO: upd72068 supports motor control
|
||||
//MCFG_UPD765_INTRQ_CALLBACK(WRITELINE("maincpu", v53a_device, ir?_w))
|
||||
//MCFG_UPD765_DRQ_CALLBACK(WRITELINE("maincpu", v53a_device, drq?_w))
|
||||
|
||||
HD61830(config, m_lcdc, 4.9152_MHz_XTAL / 2 / 2);
|
||||
|
||||
auto &mdin(MIDI_PORT(config, "mdin"));
|
||||
|
Loading…
Reference in New Issue
Block a user