New machines marked as NOT_WORKING

----------------------------------
Korg DW-8000 Programmable Digital Waveform Synthesizer [DBWBP]

New clones marked as NOT_WORKING
--------------------------------
DW-8000-EX Programmable Digital Waveform Synthesizer [DBWBP]
EX-8000 Programmable Polyphonic Synthe Module [DBWBP]
This commit is contained in:
AJR 2020-03-17 10:03:05 -04:00
parent 295a71da72
commit d4b1f475ca
4 changed files with 175 additions and 0 deletions

View File

@ -2639,6 +2639,7 @@ createMESSProjects(_target, _subtarget, "korg")
files {
MAME_DIR .. "src/mame/drivers/korgds8.cpp",
MAME_DIR .. "src/mame/drivers/korgdss1.cpp",
MAME_DIR .. "src/mame/drivers/korgdw8k.cpp",
MAME_DIR .. "src/mame/drivers/korgm1.cpp",
MAME_DIR .. "src/mame/drivers/poly800.cpp",
MAME_DIR .. "src/mame/drivers/polysix.cpp",

View File

@ -0,0 +1,168 @@
// license:BSD-3-Clause
// copyright-holders:AJR
/****************************************************************************
Skeleton driver for Korg DW-8000 and EX-8000 synthesizers.
****************************************************************************/
#include "emu.h"
#include "cpu/m6800/m6801.h"
//#include "bus/midi/midi.h"
#include "machine/nvram.h"
class korgdw8k_state : public driver_device
{
public:
korgdw8k_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_rombank(*this, "rombank")
{
}
void dw8000(machine_config &config);
void dw8000ex(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
void dac_w(u8 data);
void vcfa_w(u8 data);
void ddl_w(u8 data);
void led_data_w(u8 data);
void led_addr_w(u8 data);
void bank_w(u8 data);
void mem_map(address_map &map);
void expanded_mem_map(address_map &map);
required_device<hd6303x_cpu_device> m_maincpu;
optional_memory_bank m_rombank;
};
void korgdw8k_state::machine_start()
{
if (m_rombank.found())
m_rombank->configure_entries(0, 2, memregion("program")->base(), 0x4000);
}
void korgdw8k_state::machine_reset()
{
if (m_rombank.found())
bank_w(0);
}
void korgdw8k_state::dac_w(u8 data)
{
}
void korgdw8k_state::vcfa_w(u8 data)
{
}
void korgdw8k_state::ddl_w(u8 data)
{
}
void korgdw8k_state::led_data_w(u8 data)
{
}
void korgdw8k_state::led_addr_w(u8 data)
{
}
void korgdw8k_state::bank_w(u8 data)
{
//m_rombank->set_entry(BIT(data, 0));
m_rombank->set_entry(1);
}
void korgdw8k_state::mem_map(address_map &map)
{
map(0x0000, 0x001f).m(m_maincpu, FUNC(hd6303x_cpu_device::hd6301x_io));
map(0x0040, 0x00ff).ram(); // internal RAM
map(0x3000, 0x37ff).ram().share("nvram");
map(0x3800, 0x3fff).ram();
map(0x4040, 0x4040).w(FUNC(korgdw8k_state::dac_w));
map(0x4060, 0x4060).w(FUNC(korgdw8k_state::vcfa_w));
map(0x4080, 0x4080).w(FUNC(korgdw8k_state::ddl_w));
map(0x40a0, 0x40a0).w(FUNC(korgdw8k_state::led_data_w));
map(0x40c0, 0x40c0).w(FUNC(korgdw8k_state::led_addr_w));
map(0xc000, 0xffff).rom().region("program", 0);
}
void korgdw8k_state::expanded_mem_map(address_map &map)
{
mem_map(map);
map(0x8000, 0xbfff).ram();
map(0xc000, 0xffff).bankr("rombank").w(FUNC(korgdw8k_state::bank_w));
}
static INPUT_PORTS_START(dw8000)
INPUT_PORTS_END
void korgdw8k_state::dw8000(machine_config &config)
{
HD6303X(config, m_maincpu, 8_MHz_XTAL); // HD63B03XP
m_maincpu->set_addrmap(AS_PROGRAM, &korgdw8k_state::mem_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // HM6116LP-4 + battery
}
void korgdw8k_state::dw8000ex(machine_config &config)
{
dw8000(config);
m_maincpu->set_addrmap(AS_PROGRAM, &korgdw8k_state::expanded_mem_map);
}
ROM_START(dw8000)
ROM_REGION(0x4000, "program", 0)
ROM_SYSTEM_BIOS(0, "v13", "Version 13")
ROMX_LOAD("dw8000-v0713.ic38", 0x0000, 0x4000, CRC(d8d89329) SHA1(a0e3402528036a2ba5767e707b8d2e4e365dbd4a), ROM_BIOS(0))
ROM_SYSTEM_BIOS(1, "v12", "Version 12")
ROMX_LOAD("dw-8000-v12.ic38", 0x0000, 0x4000, CRC(f21b3848) SHA1(2e91791e71205049446e75ec53267d54150e1ac7), ROM_BIOS(1))
ROM_REGION(0x20000, "waveform", 0) // Standard waves
ROM_LOAD("hn613256p-t70_32004086.ic46", 0x00000, 0x08000, CRC(f24d5e8b) SHA1(bf8eafffd55e70d6a515abbc311667d3bc12157b))
ROM_LOAD("hn613256p-t71_32004087.ic45", 0x08000, 0x08000, CRC(a8c5a80c) SHA1(c2c4fb748f1fbdea3abe20072105eedebc321ece))
ROM_LOAD("hn613256p-cb4_32004088.ic44", 0x10000, 0x08000, CRC(2610d6f6) SHA1(6894b8368f64f62bb541b3f88e58d88f7138b3a5))
ROM_LOAD("hn613256p-cb5_32004089.ic43", 0x18000, 0x08000, CRC(0958145d) SHA1(fd7fd60bde8739a937bd0af11caac76e566b4a00))
ROM_END
ROM_START(dw8000ex)
ROM_REGION(0x8000, "program", 0)
ROM_LOAD("korg-dw8000-ex.bin", 0x0000, 0x8000, CRC(beb31c83) SHA1(e9879ccb6c3417c099e0b673852cad6c79026c73))
ROM_REGION(0x20000, "waveform", 0) // Standard waves
ROM_LOAD("hn613256p-t70_32004086.ic46", 0x00000, 0x08000, CRC(f24d5e8b) SHA1(bf8eafffd55e70d6a515abbc311667d3bc12157b))
ROM_LOAD("hn613256p-t71_32004087.ic45", 0x08000, 0x08000, CRC(a8c5a80c) SHA1(c2c4fb748f1fbdea3abe20072105eedebc321ece))
ROM_LOAD("hn613256p-cb4_32004088.ic44", 0x10000, 0x08000, CRC(2610d6f6) SHA1(6894b8368f64f62bb541b3f88e58d88f7138b3a5))
ROM_LOAD("hn613256p-cb5_32004089.ic43", 0x18000, 0x08000, CRC(0958145d) SHA1(fd7fd60bde8739a937bd0af11caac76e566b4a00))
ROM_REGION(0x20000, "exp", 0) // Expansion waves ("Version E") (TBD: do these actually require a different expansion?)
ROM_LOAD("exp-1.bin", 0x00000, 0x08000, CRC(14a5d504) SHA1(76ba6a715f1126d4cce59f172943c9f710ce981a))
ROM_LOAD("exp-3.bin", 0x08000, 0x08000, CRC(1d2fd4a0) SHA1(41864bf1180cc226d149bcfd02496882affdad19))
ROM_LOAD("exp-2.bin", 0x10000, 0x08000, CRC(e4a445ca) SHA1(53513fbf29523567d87ed119ecf1b116da904abc))
ROM_LOAD("exp-4.bin", 0x18000, 0x08000, CRC(bfd0701f) SHA1(07d3b903df3b980b4d0df0d64315083abdd86b41))
ROM_END
ROM_START(ex8000)
ROM_REGION(0x4000, "program", 0)
ROM_LOAD("ex8000_firmware.ic38", 0x0000, 0x4000, CRC(a6d0fcdc) SHA1(a5eed30248c8d51b8d2e00e4b23fdcdf2a2f94af))
ROM_REGION(0x20000, "waveform", 0)
ROM_LOAD("hn613256p-t70_32004086.ic46", 0x00000, 0x08000, CRC(f24d5e8b) SHA1(bf8eafffd55e70d6a515abbc311667d3bc12157b))
ROM_LOAD("hn613256p-t71_32004087.ic45", 0x08000, 0x08000, CRC(a8c5a80c) SHA1(c2c4fb748f1fbdea3abe20072105eedebc321ece))
ROM_LOAD("hn613256p-cb4_32004088.ic44", 0x10000, 0x08000, CRC(2610d6f6) SHA1(6894b8368f64f62bb541b3f88e58d88f7138b3a5))
ROM_LOAD("hn613256p-cb5_32004089.ic43", 0x18000, 0x08000, CRC(0958145d) SHA1(fd7fd60bde8739a937bd0af11caac76e566b4a00))
ROM_END
SYST(1985, dw8000, 0, 0, dw8000, dw8000, korgdw8k_state, empty_init, "Korg", "DW-8000 Programmable Digital Waveform Synthesizer", MACHINE_IS_SKELETON)
SYST(1985, dw8000ex, dw8000, 0, dw8000ex, dw8000, korgdw8k_state, empty_init, "Korg / Musitronics", "DW-8000-EX Programmable Digital Waveform Synthesizer", MACHINE_IS_SKELETON)
SYST(1985, ex8000, dw8000, 0, dw8000, dw8000, korgdw8k_state, empty_init, "Korg", "EX-8000 Programmable Polyphonic Synthe Module", MACHINE_IS_SKELETON)

View File

@ -18731,6 +18731,11 @@ korg707 //
dss1 //
dssmsrk //
@source:korgdw8k.cpp
dw8000 //
dw8000ex //
ex8000 //
@source:korgm1.cpp
korgm1 //
korgm1ex //

View File

@ -447,6 +447,7 @@ kim1.cpp
konin.cpp
korgds8.cpp
korgdss1.cpp
korgdw8k.cpp
korgm1.cpp
kramermc.cpp
krokha.cpp