mirror of
https://github.com/holub/mame
synced 2025-07-03 09:06:08 +03:00
New machines marked as NOT_WORKING
---------------------------------- Roland MC-300 Micro Composer [DBWBP] Roland MC-50 Micro Composer [DBWBP] Roland MC-50mkII Micro Composer [DBWBP]
This commit is contained in:
parent
00d459cb35
commit
c0a81f91a5
@ -3282,6 +3282,7 @@ files {
|
|||||||
MAME_DIR .. "src/mame/drivers/roland_jv80.cpp",
|
MAME_DIR .. "src/mame/drivers/roland_jv80.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/roland_jx3p.cpp",
|
MAME_DIR .. "src/mame/drivers/roland_jx3p.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/roland_jx8p.cpp",
|
MAME_DIR .. "src/mame/drivers/roland_jx8p.cpp",
|
||||||
|
MAME_DIR .. "src/mame/drivers/roland_mc50.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/roland_mt32.cpp",
|
MAME_DIR .. "src/mame/drivers/roland_mt32.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/roland_r8.cpp",
|
MAME_DIR .. "src/mame/drivers/roland_r8.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/roland_ra30.cpp",
|
MAME_DIR .. "src/mame/drivers/roland_ra30.cpp",
|
||||||
|
131
src/mame/drivers/roland_mc50.cpp
Normal file
131
src/mame/drivers/roland_mc50.cpp
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
// license:BSD-3-Clause
|
||||||
|
// copyright-holders:AJR
|
||||||
|
/****************************************************************************
|
||||||
|
|
||||||
|
Skeleton driver for Roland MC-50 & similar MIDI sequencers.
|
||||||
|
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
//#include "bus/midi/midi.h"
|
||||||
|
#include "cpu/z180/z180.h"
|
||||||
|
#include "imagedev/floppy.h"
|
||||||
|
#include "machine/wd_fdc.h"
|
||||||
|
|
||||||
|
class roland_mc50_state : public driver_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
roland_mc50_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: driver_device(mconfig, type, tag)
|
||||||
|
, m_mpu(*this, "mpu")
|
||||||
|
, m_wdfdc(*this, "wdfdc")
|
||||||
|
, m_wdfdd(*this, "wdfdc:0")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void mc300(machine_config &config);
|
||||||
|
void mc50(machine_config &config);
|
||||||
|
void mc50mk2(machine_config &config);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void mem_map_mc300(address_map &map);
|
||||||
|
void mem_map_mc50(address_map &map);
|
||||||
|
void io_map(address_map &map);
|
||||||
|
|
||||||
|
required_device<z180_device> m_mpu;
|
||||||
|
optional_device<wd1772_device> m_wdfdc;
|
||||||
|
//optional_device<hd63266_device> m_hdfdc;
|
||||||
|
optional_device<floppy_connector> m_wdfdd;
|
||||||
|
};
|
||||||
|
|
||||||
|
void roland_mc50_state::mem_map_mc300(address_map &map)
|
||||||
|
{
|
||||||
|
map(0x00000, 0x01fff).rom().region("mpurom", 0);
|
||||||
|
map(0x40000, 0xfffff).ram();
|
||||||
|
}
|
||||||
|
|
||||||
|
void roland_mc50_state::mem_map_mc50(address_map &map)
|
||||||
|
{
|
||||||
|
map(0x00000, 0x3ffff).rom().region("mpurom", 0);
|
||||||
|
map(0x40000, 0x7ffff).ram();
|
||||||
|
map(0x80000, 0xfffff).rom().region("mpurom", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void roland_mc50_state::io_map(address_map &map)
|
||||||
|
{
|
||||||
|
map(0x0000, 0x003f).noprw(); // internal registers
|
||||||
|
map(0x00c0, 0x00c3).mirror(0xff00).rw(m_wdfdc, FUNC(wd1772_device::read), FUNC(wd1772_device::write));
|
||||||
|
}
|
||||||
|
|
||||||
|
static INPUT_PORTS_START(mc50)
|
||||||
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
static void mc50_floppies(device_slot_interface &device)
|
||||||
|
{
|
||||||
|
device.option_add("35dd", FLOPPY_35_DD);
|
||||||
|
}
|
||||||
|
|
||||||
|
void roland_mc50_state::mc300(machine_config &config)
|
||||||
|
{
|
||||||
|
Z80180(config, m_mpu, 10_MHz_XTAL);
|
||||||
|
m_mpu->set_addrmap(AS_PROGRAM, &roland_mc50_state::mem_map_mc300);
|
||||||
|
m_mpu->set_addrmap(AS_IO, &roland_mc50_state::io_map);
|
||||||
|
|
||||||
|
//bu3904s_device &fsk(BU3904S(config, "fsk", 10_MHz_XTAL / 2));
|
||||||
|
//fsk.xint_callback().set_inputline(m_mpu, Z180_INPUT_LINE_IRQ0);
|
||||||
|
|
||||||
|
WD1772(config, m_wdfdc, 8_MHz_XTAL);
|
||||||
|
m_wdfdc->intrq_wr_callback().set_inputline(m_mpu, Z180_INPUT_LINE_IRQ1);
|
||||||
|
m_wdfdc->drq_wr_callback().set_inputline(m_mpu, Z180_INPUT_LINE_DREQ0);
|
||||||
|
|
||||||
|
FLOPPY_CONNECTOR(config, m_wdfdd, mc50_floppies, "35dd", floppy_image_device::default_floppy_formats);
|
||||||
|
}
|
||||||
|
|
||||||
|
void roland_mc50_state::mc50(machine_config &config)
|
||||||
|
{
|
||||||
|
Z80180(config, m_mpu, 10_MHz_XTAL); // HD64180R1F6
|
||||||
|
m_mpu->set_addrmap(AS_PROGRAM, &roland_mc50_state::mem_map_mc50);
|
||||||
|
m_mpu->set_addrmap(AS_IO, &roland_mc50_state::io_map);
|
||||||
|
|
||||||
|
//mn53015_device &fsk(MN53015(config, "fsk", 10_MHz_XTAL / 2));
|
||||||
|
//fsk.int_callback().set_inputline(m_mpu, Z180_INPUT_LINE_IRQ0);
|
||||||
|
|
||||||
|
WD1772(config, m_wdfdc, 8_MHz_XTAL); // WD1772-02
|
||||||
|
m_wdfdc->intrq_wr_callback().set_inputline(m_mpu, Z180_INPUT_LINE_IRQ1);
|
||||||
|
m_wdfdc->drq_wr_callback().set_inputline(m_mpu, Z180_INPUT_LINE_DREQ0);
|
||||||
|
m_wdfdc->dden_w(0);
|
||||||
|
|
||||||
|
FLOPPY_CONNECTOR(config, m_wdfdd, mc50_floppies, "35dd", floppy_image_device::default_floppy_formats);
|
||||||
|
|
||||||
|
// TODO: LCD unit (EA-D20225PX-1)
|
||||||
|
}
|
||||||
|
|
||||||
|
void roland_mc50_state::mc50mk2(machine_config &config)
|
||||||
|
{
|
||||||
|
mc50(config);
|
||||||
|
|
||||||
|
//config.device_remove("wdfdc");
|
||||||
|
//HD63266(config, m_hdfdc, 16_MHz_XTAL); // HD63266F
|
||||||
|
}
|
||||||
|
|
||||||
|
ROM_START(mc300)
|
||||||
|
ROM_REGION(0x2000, "mpurom", 0)
|
||||||
|
ROM_SYSTEM_BIOS(0, "v102", "Version 1.02")
|
||||||
|
ROMX_LOAD("osv1.02-27c64.bin", 0x0000, 0x2000, CRC(a509d5b2) SHA1(d5b23aa2514610d3a5b3f33bdf4479fdb8dc91bd), ROM_BIOS(0))
|
||||||
|
ROM_SYSTEM_BIOS(1, "v101", "Version 1.01")
|
||||||
|
ROMX_LOAD("osv1.01-27c64.bin", 0x0000, 0x2000, CRC(459fd2a1) SHA1(5cea936807c80945ac39d0e7ecc63d3a2b968664), ROM_BIOS(1))
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START(mc50)
|
||||||
|
ROM_REGION(0x80000, "mpurom", 0)
|
||||||
|
ROM_LOAD("mc50_mk1.ic9", 0x00000, 0x80000, CRC(322b5f73) SHA1(f5cb5738f03c51d7019a661ac660ecea56b44350))
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START(mc50mk2)
|
||||||
|
ROM_REGION(0x80000, "mpurom", 0)
|
||||||
|
ROM_LOAD("mc50_mkii-firmware-v.0060.ic7", 0x00000, 0x80000, CRC(a428e378) SHA1(ac411c33ef79cf9ae51c5d5dbb1ed9ea5839db3e))
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
SYST(1988, mc300, 0, 0, mc300, mc50, roland_mc50_state, empty_init, "Roland", "MC-300 Micro Composer", MACHINE_IS_SKELETON)
|
||||||
|
SYST(1990, mc50, 0, 0, mc50, mc50, roland_mc50_state, empty_init, "Roland", "MC-50 Micro Composer", MACHINE_IS_SKELETON)
|
||||||
|
SYST(1992, mc50mk2, 0, 0, mc50mk2, mc50, roland_mc50_state, empty_init, "Roland", "MC-50mkII Micro Composer", MACHINE_IS_SKELETON)
|
@ -34655,6 +34655,11 @@ jx8p //
|
|||||||
jx8po //
|
jx8po //
|
||||||
mks70 //
|
mks70 //
|
||||||
|
|
||||||
|
@source:roland_mc50.cpp
|
||||||
|
mc300 //
|
||||||
|
mc50 //
|
||||||
|
mc50mk2 //
|
||||||
|
|
||||||
@source:roland_mt32.cpp
|
@source:roland_mt32.cpp
|
||||||
cm32l //
|
cm32l //
|
||||||
mt32 //
|
mt32 //
|
||||||
|
@ -763,6 +763,7 @@ roland_d50.cpp
|
|||||||
roland_jv80.cpp
|
roland_jv80.cpp
|
||||||
roland_jx3p.cpp
|
roland_jx3p.cpp
|
||||||
roland_jx8p.cpp
|
roland_jx8p.cpp
|
||||||
|
roland_mc50.cpp
|
||||||
roland_mt32.cpp
|
roland_mt32.cpp
|
||||||
roland_r8.cpp
|
roland_r8.cpp
|
||||||
roland_ra30.cpp
|
roland_ra30.cpp
|
||||||
|
Loading…
Reference in New Issue
Block a user