summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2024-03-19 19:37:51 +0100
committer Olivier Galibert <galibert@pobox.com>2024-03-19 19:37:57 +0100
commitcdbc92de853c4ee794ad0a12cfe1aa5dadc73745 (patch)
tree704521eeb06480bdc6307a04835f89a4ee0ca3ab
parent200a14079a5664c380fe11c671eb89cf9732593a (diff)
misc swx00 fixes
-rw-r--r--src/devices/bus/plg1x0/plg150-ap.cpp5
-rw-r--r--src/devices/cpu/h8/swx00.cpp3
-rw-r--r--src/devices/cpu/h8/swx00.h2
-rw-r--r--src/mame/yamaha/ymmu15.cpp3
-rw-r--r--src/mame/yamaha/ympsr340.cpp9
5 files changed, 17 insertions, 5 deletions
diff --git a/src/devices/bus/plg1x0/plg150-ap.cpp b/src/devices/bus/plg1x0/plg150-ap.cpp
index 103e7a2c8c7..7b92cf37666 100644
--- a/src/devices/bus/plg1x0/plg150-ap.cpp
+++ b/src/devices/bus/plg1x0/plg150-ap.cpp
@@ -53,13 +53,16 @@ void plg150_ap_device::midi_rx(int state)
void plg150_ap_device::map(address_map &map)
{
map(0x000000, 0x07ffff).rom().region("cpu", 0);
+ map(0x200000, 0x207fff).ram();
}
void plg150_ap_device::device_add_mconfig(machine_config &config)
{
- SWX00(config, m_cpu, 8.4672_MHz_XTAL, 1);
+ SWX00(config, m_cpu, 8.4672_MHz_XTAL*2, 1);
m_cpu->set_addrmap(AS_PROGRAM, &plg150_ap_device::map);
m_cpu->write_sci_tx<1>().set([this] (int state) { m_connector->do_midi_tx(state); });
+ m_cpu->sci_set_external_clock_period(0, attotime::from_hz(500000));
+ m_cpu->sci_set_external_clock_period(1, attotime::from_hz(500000));
}
ROM_START( plg150_ap )
diff --git a/src/devices/cpu/h8/swx00.cpp b/src/devices/cpu/h8/swx00.cpp
index b00cd3e72ca..77d53554287 100644
--- a/src/devices/cpu/h8/swx00.cpp
+++ b/src/devices/cpu/h8/swx00.cpp
@@ -7,6 +7,7 @@ DEFINE_DEVICE_TYPE(SWX00, swx00_device, "swx00", "Yamaha SWX00")
swx00_device::swx00_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, u8 mode) :
h8s2000_device(mconfig, SWX00, tag, owner, clock, address_map_constructor(FUNC(swx00_device::map), this)),
+ device_mixer_interface(mconfig, *this, 2),
m_intc(*this, "intc"),
m_adc(*this, "adc"),
m_dma(*this, "dma"),
@@ -315,6 +316,8 @@ void swx00_device::device_add_mconfig(machine_config &config)
SWX00_SOUND(config, m_swx00);
m_swx00->set_space(DEVICE_SELF, AS_S);
+ m_swx00->add_route(0, DEVICE_SELF, 1.0, AUTO_ALLOC_INPUT, 0);
+ m_swx00->add_route(1, DEVICE_SELF, 1.0, AUTO_ALLOC_INPUT, 1);
}
device_memory_interface::space_config_vector swx00_device::memory_space_config() const
diff --git a/src/devices/cpu/h8/swx00.h b/src/devices/cpu/h8/swx00.h
index b1f3d03e5e6..76d2006e913 100644
--- a/src/devices/cpu/h8/swx00.h
+++ b/src/devices/cpu/h8/swx00.h
@@ -39,7 +39,7 @@
#include "h8_watchdog.h"
#include "sound/swx00.h"
-class swx00_device : public h8s2000_device {
+class swx00_device : public h8s2000_device, public device_mixer_interface {
public:
enum {
AS_C = AS_PROGRAM,
diff --git a/src/mame/yamaha/ymmu15.cpp b/src/mame/yamaha/ymmu15.cpp
index 7c15c03365c..5f2527c57c2 100644
--- a/src/mame/yamaha/ymmu15.cpp
+++ b/src/mame/yamaha/ymmu15.cpp
@@ -176,6 +176,9 @@ void mu15_state::mu15(machine_config &config)
m_maincpu->set_addrmap(swx00_device::AS_C, &mu15_state::c_map);
m_maincpu->set_addrmap(swx00_device::AS_S, &mu15_state::s_map);
+ m_maincpu->add_route(0, "lspeaker", 1.0);
+ m_maincpu->add_route(1, "rspeaker", 1.0);
+
// Nothing connected to sclki, yet...
m_maincpu->sci_set_external_clock_period(0, attotime::from_hz(500000));
m_maincpu->sci_set_external_clock_period(1, attotime::from_hz(500000));
diff --git a/src/mame/yamaha/ympsr340.cpp b/src/mame/yamaha/ympsr340.cpp
index e5199253872..cf57c1bb293 100644
--- a/src/mame/yamaha/ympsr340.cpp
+++ b/src/mame/yamaha/ympsr340.cpp
@@ -223,6 +223,9 @@ void psr340_state::psr340(machine_config &config)
m_maincpu->read_pad().set(FUNC(psr340_state::pad_r));
m_maincpu->write_txd().set(FUNC(psr340_state::txd_w));
+ m_maincpu->add_route(0, "lspeaker", 1.0);
+ m_maincpu->add_route(1, "rspeaker", 1.0);
+
// mks3 is connected to sclki, sync comms on sci1
// something generates 500K for sci0, probably internal to the swx00
m_maincpu->sci_set_external_clock_period(0, attotime::from_hz(500000));
@@ -233,7 +236,7 @@ void psr340_state::psr340(machine_config &config)
m_mks3->write_da().set(m_maincpu, FUNC(swx00_device::sci_rx_w<1>));
m_mks3->write_clk().set(m_maincpu, FUNC(swx00_device::sci_clk_w<1>));
- KS0066(config, m_lcdc, 270'000); // 91K resistor
+ KS0066(config, m_lcdc, 270000); // 91K resistor
m_lcdc->set_default_bios_tag("f05");
m_lcdc->set_lcd_size(2, 40);
@@ -260,8 +263,8 @@ ROM_START( psr340 )
ROM_REGION16_BE(0x200000, "wave", 0)
ROM_LOAD("xv89810.bin", 0x000000, 0x200000, CRC(10e68363) SHA1(5edee814bf07c49088da44474fdd5c817e7c5af0))
- ROM_REGION(0x61809, "screen", 0)
- ROM_LOAD("psr340-lcd.svg", 0, 0x61809, CRC(f9d11ca6) SHA1(da036d713c73d6b452a3e2d2b2234d473422d5fb))
+ ROM_REGION(399369, "screen", 0)
+ ROM_LOAD("psr340-lcd.svg", 0, 399369, CRC(f9d11ca6) SHA1(da036d713c73d6b452a3e2d2b2234d473422d5fb))
ROM_END
} // anonymous namespace