New machines marked as NOT_WORKING

----------------------------------
Yamaha RX15 Digital Rhythm Programmer [DBWBP]
This commit is contained in:
AJR 2021-12-24 13:11:58 -05:00
parent 4cc55742d2
commit 3c7bb985b6
6 changed files with 119 additions and 1 deletions

View File

@ -4474,6 +4474,7 @@ files {
MAME_DIR .. "src/mame/drivers/ympsr40.cpp",
MAME_DIR .. "src/mame/drivers/ympsr60.cpp",
MAME_DIR .. "src/mame/drivers/ympsr340.cpp",
MAME_DIR .. "src/mame/drivers/ymrx15.cpp",
MAME_DIR .. "src/mame/drivers/ymsy35.cpp",
MAME_DIR .. "src/mame/drivers/ymtx81z.cpp",
MAME_DIR .. "src/mame/drivers/ymvl70.cpp",

View File

@ -80,10 +80,12 @@ const double XTAL::known_xtals[] = {
2'000'000, /* 2_MHz_XTAL - */
2'012'160, /* 2.01216_MHz_XTAL Cidelsa Draco sound board */
2'097'152, /* 2.097152_MHz_XTAL Icatel 1995 - Brazilian public payphone */
2'250'000, /* 2.25_MHz_XTAL Resonator - YM2154 on Yamaha PSR-60 & PSR-70 */
2'376'000, /* 2.376_MHz_XTAL CIT-101 keyboard */
2'457'600, /* 2.4576_MHz_XTAL Atari ST MFP */
2'500'000, /* 2.5_MHz_XTAL Janken Man units */
2'600'000, /* 2.6_MHz_XTAL Sharp PC-1500 */
2'700'000, /* 2.7_MHz_XTAL Resonator - YM2154 on Yamaha RX15 */
2'950'000, /* 2.95_MHz_XTAL Playmatic MPU-C, MPU-III & Sound-3 */
3'000'000, /* 3_MHz_XTAL Probably only used to drive 68705 or similar MCUs on 80's Taito PCBs */
3'072'000, /* 3.072_MHz_XTAL INS 8520 input clock rate */

View File

@ -683,7 +683,7 @@ void psr60_state::psr_common(machine_config &config)
m_ym3533->add_route(1, m_rmixer, 0.22);
m_ym3533->add_route(1, m_ic204a, 1.0); // routed to BBD via filters
YM2154(config, m_ryp4, 2250000);
YM2154(config, m_ryp4, 2.25_MHz_XTAL);
m_ryp4->irq_handler().set(FUNC(psr60_state::ryp4_irq_w));
m_ryp4->io_read_handler().set(FUNC(psr60_state::ryp4_an_r));
m_ryp4->io_write_handler().set(FUNC(psr60_state::ryp4_out_w));

111
src/mame/drivers/ymrx15.cpp Normal file
View File

@ -0,0 +1,111 @@
// license:BSD-3-Clause
// copyright-holders:AJR
/****************************************************************************
Skeleton driver for Yamaha RX15 drum machine.
****************************************************************************/
#include "emu.h"
#include "cpu/m6800/m6801.h"
#include "sound/ym2154.h"
#include "video/hd44780.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
namespace {
class rx15_state : public driver_device
{
public:
rx15_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_ryp4(*this, "ryp4")
{
}
void rx15(machine_config &config);
private:
HD44780_PIXEL_UPDATE(pixel_update);
void mem_map(address_map &map);
required_device<hd6303x_cpu_device> m_maincpu;
required_device<ym2154_device> m_ryp4;
};
HD44780_PIXEL_UPDATE(rx15_state::pixel_update)
{
if (x < 5 && y < 8 && line < 2 && pos < 8)
bitmap.pix(y, (line * 8 + pos) * 6 + x) = state;
}
void rx15_state::mem_map(address_map &map)
{
map(0x0000, 0x001f).m(m_maincpu, FUNC(hd6301x_cpu_device::hd6301x_io)); // TODO: internalize
map(0x0040, 0x00ff).ram(); // TODO: internalize
map(0x1000, 0x1000).nopr();
map(0x2000, 0x207f).rw(m_ryp4, FUNC(ym2154_device::read), FUNC(ym2154_device::write));
map(0x3000, 0x3001).rw("lcdc", FUNC(hd44780_device::read), FUNC(hd44780_device::write));
map(0x7800, 0x7fff).ram(); // NVRAM #1?
map(0x8000, 0x87ff).ram(); // NVRAM #2?
map(0xc000, 0xffff).rom().region("firmware", 0);
}
static INPUT_PORTS_START(rx15)
INPUT_PORTS_END
void rx15_state::rx15(machine_config &config)
{
HD6303X(config, m_maincpu, 4_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &rx15_state::mem_map);
//NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // M5M5118P-15L (one or both battery-backed?)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update("lcdc", FUNC(hd44780_device::screen_update));
screen.set_size(6*16, 8*1);
screen.set_visarea_full();
screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED);
hd44780_device &lcdc(HD44780(config, "lcdc", 0));
lcdc.set_lcd_size(2, 8);
lcdc.set_pixel_update_cb(FUNC(rx15_state::pixel_update));
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
YM2154(config, m_ryp4, 2.7_MHz_XTAL);
m_ryp4->add_route(0, "lspeaker", 0.50);
m_ryp4->add_route(1, "rspeaker", 0.50);
}
ROM_START(rx15)
ROM_REGION(0x4000, "firmware", 0)
ROM_LOAD("yamaharx15_v1-0_hn27128ag.bin", 0x0000, 0x4000, CRC(0ca8e3d4) SHA1(d09cdb3686b15603660abec49848ef451005be62))
ROM_REGION(0x8000, "ryp4:group0", 0)
ROM_LOAD("ym21901.bin", 0x0000, 0x8000, NO_DUMP)
ROM_REGION(0x8000, "ryp4:group1", 0)
ROM_LOAD("ym21902.bin", 0x0000, 0x8000, NO_DUMP)
ROM_REGION(0x8000, "ryp4:group2", 0)
ROM_LOAD("ym21903.bin", 0x0000, 0x8000, NO_DUMP)
ROM_REGION(0x8000, "ryp4:group3", 0)
ROM_LOAD("ym21907.bin", 0x0000, 0x8000, NO_DUMP)
ROM_END
} // anonymous namespace
SYST(1984, rx15, 0, 0, rx15, rx15, rx15_state, empty_init, "Yamaha", "RX15 Digital Rhythm Programmer", MACHINE_IS_SKELETON)

View File

@ -43709,6 +43709,9 @@ psr70 // 1985 PSR-70
@source:ympsr340.cpp
psr340 // 1999 PSR-340
@source:ymrx15.cpp
rx15 //
@source:ymsy35.cpp
sy35 //

View File

@ -1212,6 +1212,7 @@ ympsr16.cpp
ympsr40.cpp
ympsr60.cpp
ympsr340.cpp
ymrx15.cpp
ymsy35.cpp
ymtx81z.cpp
ymvl70.cpp