ym2151: Add YM2414 as alias (no attempt at emulating distinctive features at the moment) (nw)

This commit is contained in:
AJR 2020-03-26 15:14:52 -04:00
parent 5ba56a827b
commit 11f9f6166b
3 changed files with 29 additions and 2 deletions

View File

@ -6,6 +6,7 @@
DEFINE_DEVICE_TYPE(YM2151, ym2151_device, "ym2151", "Yamaha YM2151 OPM")
DEFINE_DEVICE_TYPE(YM2164, ym2164_device, "ym2164", "Yamaha YM2164 OPP")
DEFINE_DEVICE_TYPE(YM2414, ym2414_device, "ym2414", "Yamaha YM2414 OPZ")
#define FREQ_SH 16 /* 16.16 fixed point (frequency calculations) */
@ -1715,6 +1716,16 @@ ym2164_device::ym2164_device(const machine_config &mconfig, const char *tag, dev
}
//-------------------------------------------------
// ym2414_device - constructor
//-------------------------------------------------
ym2414_device::ym2414_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: ym2151_device(mconfig, YM2414, tag, owner, clock)
{
}
//-------------------------------------------------
// read - read from the device
//-------------------------------------------------

View File

@ -282,10 +282,19 @@ protected:
virtual void write_reg(int r, int v) override;
};
// ======================> ym2414_device
class ym2414_device : public ym2151_device
{
public:
// construction/destruction
ym2414_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
// device type definition
DECLARE_DEVICE_TYPE(YM2151, ym2151_device)
DECLARE_DEVICE_TYPE(YM2164, ym2164_device)
DECLARE_DEVICE_TYPE(YM2414, ym2414_device)
#endif // MAME_SOUND_YM2151_H

View File

@ -12,6 +12,8 @@
#include "machine/adc0808.h"
#include "machine/nvram.h"
#include "machine/pic8259.h"
#include "sound/ym2151.h"
#include "speaker.h"
class korgz3_state : public driver_device
{
@ -94,7 +96,7 @@ void korgz3_state::synth_map(address_map &map)
map(0x0000, 0x0027).m(m_synthcpu, FUNC(hd6301y_cpu_device::hd6301y_io));
map(0x0040, 0x013f).ram();
map(0x2000, 0x2000).nopr();
//map(0x3800, 0x3801).rw("ymsnd", FUNC(ym2414_device::read), FUNC(ym2414_device::write));
map(0x3800, 0x3801).rw("ymsnd", FUNC(ym2414_device::read), FUNC(ym2414_device::write));
map(0x4000, 0x7fff).ram().share("nvram");
map(0x8000, 0xffff).rom().region("hd6303_program", 0);
}
@ -125,7 +127,12 @@ void korgz3_state::korgz3(machine_config &config)
M58990(config, m_adc, 1'000'000); // M58990P-1
//YM2414(config, "ymsnd", ?'???'???); // YM2414B
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
ym2414_device &ymsnd(YM2414(config, "ymsnd", 3'579'545)); // YM2414B
ymsnd.add_route(0, "lspeaker", 0.60);
ymsnd.add_route(1, "rspeaker", 0.60);
}
ROM_START(korgz3)