mirror of
https://github.com/holub/mame
synced 2025-06-07 13:23:50 +03:00
dynduke: take xtals from pcb photo
This commit is contained in:
parent
76e6392092
commit
e16d158279
@ -22,6 +22,9 @@
|
|||||||
|
|
||||||
Emulation by Bryan McPhail, mish@tendril.co.uk
|
Emulation by Bryan McPhail, mish@tendril.co.uk
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
- can be moved to raiden.cpp?
|
||||||
|
|
||||||
|
|
||||||
SW#1
|
SW#1
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
@ -248,7 +251,6 @@ void dynduke_state::control_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
|||||||
// bit 0x04 unused? txt disable?
|
// bit 0x04 unused? txt disable?
|
||||||
// bit 0x02 is used on the map screen (fore disable?)
|
// bit 0x02 is used on the map screen (fore disable?)
|
||||||
// bit 0x01 set when inserting coin.. bg disable?
|
// bit 0x01 set when inserting coin.. bg disable?
|
||||||
|
|
||||||
m_back_enable = BIT(~data, 0);
|
m_back_enable = BIT(~data, 0);
|
||||||
m_fore_enable = BIT(~data, 1);
|
m_fore_enable = BIT(~data, 1);
|
||||||
m_txt_enable = BIT(~data, 2);
|
m_txt_enable = BIT(~data, 2);
|
||||||
@ -625,13 +627,13 @@ void dynduke_state::vblank_irq(int state)
|
|||||||
void dynduke_state::dynduke(machine_config &config)
|
void dynduke_state::dynduke(machine_config &config)
|
||||||
{
|
{
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
V30(config, m_maincpu, 16'000'000 / 2); // NEC V30-8 CPU
|
V30(config, m_maincpu, 16_MHz_XTAL / 2); // NEC V30-8 CPU
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &dynduke_state::master_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &dynduke_state::master_map);
|
||||||
|
|
||||||
V30(config, m_slave, 16'000'000 / 2); // NEC V30-8 CPU
|
V30(config, m_slave, 16_MHz_XTAL / 2); // NEC V30-8 CPU
|
||||||
m_slave->set_addrmap(AS_PROGRAM, &dynduke_state::slave_map);
|
m_slave->set_addrmap(AS_PROGRAM, &dynduke_state::slave_map);
|
||||||
|
|
||||||
z80_device &audiocpu(Z80(config, "audiocpu", 14'318'180 / 4));
|
z80_device &audiocpu(Z80(config, "audiocpu", 14.318181_MHz_XTAL / 4));
|
||||||
audiocpu.set_addrmap(AS_PROGRAM, &dynduke_state::sound_map);
|
audiocpu.set_addrmap(AS_PROGRAM, &dynduke_state::sound_map);
|
||||||
audiocpu.set_addrmap(AS_OPCODES, &dynduke_state::sound_decrypted_opcodes_map);
|
audiocpu.set_addrmap(AS_OPCODES, &dynduke_state::sound_decrypted_opcodes_map);
|
||||||
audiocpu.set_irq_acknowledge_callback("seibu_sound", FUNC(seibu_sound_device::im0_vector_cb));
|
audiocpu.set_irq_acknowledge_callback("seibu_sound", FUNC(seibu_sound_device::im0_vector_cb));
|
||||||
@ -660,11 +662,11 @@ void dynduke_state::dynduke(machine_config &config)
|
|||||||
// sound hardware
|
// sound hardware
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
|
|
||||||
ym3812_device &ymsnd(YM3812(config, "ymsnd", 14'318'180 / 4));
|
ym3812_device &ymsnd(YM3812(config, "ymsnd", 14.318181_MHz_XTAL / 4));
|
||||||
ymsnd.irq_handler().set("seibu_sound", FUNC(seibu_sound_device::fm_irqhandler));
|
ymsnd.irq_handler().set("seibu_sound", FUNC(seibu_sound_device::fm_irqhandler));
|
||||||
ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
|
ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||||
|
|
||||||
okim6295_device &oki(OKIM6295(config, "oki", 1'320'000, okim6295_device::PIN7_LOW));
|
okim6295_device &oki(OKIM6295(config, "oki", 12_MHz_XTAL / 12, okim6295_device::PIN7_HIGH));
|
||||||
oki.add_route(ALL_OUTPUTS, "mono", 0.40);
|
oki.add_route(ALL_OUTPUTS, "mono", 0.40);
|
||||||
|
|
||||||
SEIBU_SOUND(config, m_seibu_sound, 0);
|
SEIBU_SOUND(config, m_seibu_sound, 0);
|
||||||
|
@ -713,13 +713,13 @@ void raiden_state::vblank_irq(int state)
|
|||||||
void raiden_state::raiden(machine_config &config)
|
void raiden_state::raiden(machine_config &config)
|
||||||
{
|
{
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
V30(config, m_maincpu, XTAL(20'000'000) / 2); // NEC V30 CPU, 20MHz verified on PCB
|
V30(config, m_maincpu, 20_MHz_XTAL / 2); // NEC V30 CPU, 20MHz verified on PCB
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &raiden_state::main_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &raiden_state::main_map);
|
||||||
|
|
||||||
V30(config, m_subcpu, XTAL(20'000'000) / 2); // NEC V30 CPU, 20MHz verified on PCB
|
V30(config, m_subcpu, 20_MHz_XTAL / 2); // NEC V30 CPU, 20MHz verified on PCB
|
||||||
m_subcpu->set_addrmap(AS_PROGRAM, &raiden_state::sub_map);
|
m_subcpu->set_addrmap(AS_PROGRAM, &raiden_state::sub_map);
|
||||||
|
|
||||||
z80_device &audiocpu(Z80(config, "audiocpu", XTAL(14'318'181) / 4)); // verified on PCB
|
z80_device &audiocpu(Z80(config, "audiocpu", 14.318181_MHz_XTAL / 4)); // verified on PCB
|
||||||
audiocpu.set_addrmap(AS_PROGRAM, &raiden_state::seibu_sound_map);
|
audiocpu.set_addrmap(AS_PROGRAM, &raiden_state::seibu_sound_map);
|
||||||
audiocpu.set_irq_acknowledge_callback("seibu_sound", FUNC(seibu_sound_device::im0_vector_cb));
|
audiocpu.set_irq_acknowledge_callback("seibu_sound", FUNC(seibu_sound_device::im0_vector_cb));
|
||||||
|
|
||||||
@ -744,11 +744,11 @@ void raiden_state::raiden(machine_config &config)
|
|||||||
// sound hardware
|
// sound hardware
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
|
|
||||||
ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(14'318'181) / 4));
|
ym3812_device &ymsnd(YM3812(config, "ymsnd", 14.318181_MHz_XTAL / 4));
|
||||||
ymsnd.irq_handler().set("seibu_sound", FUNC(seibu_sound_device::fm_irqhandler));
|
ymsnd.irq_handler().set("seibu_sound", FUNC(seibu_sound_device::fm_irqhandler));
|
||||||
ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
|
ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||||
|
|
||||||
okim6295_device &oki(OKIM6295(config, "oki", XTAL(12'000'000) / 12, okim6295_device::PIN7_HIGH)); // frequency and pin 7 verified
|
okim6295_device &oki(OKIM6295(config, "oki", 12_MHz_XTAL / 12, okim6295_device::PIN7_HIGH)); // frequency and pin 7 verified
|
||||||
oki.add_route(ALL_OUTPUTS, "mono", 0.75);
|
oki.add_route(ALL_OUTPUTS, "mono", 0.75);
|
||||||
|
|
||||||
SEIBU_SOUND(config, m_seibu_sound, 0);
|
SEIBU_SOUND(config, m_seibu_sound, 0);
|
||||||
@ -784,8 +784,8 @@ void raidenb_state::layer_scroll_w(offs_t offset, u16 data, u16 mem_mask)
|
|||||||
void raiden_state::raidenkb(machine_config &config)
|
void raiden_state::raidenkb(machine_config &config)
|
||||||
{
|
{
|
||||||
raiden(config);
|
raiden(config);
|
||||||
m_maincpu->set_clock(XTAL(32'000'000) / 4); // Xtal and clock verified
|
m_maincpu->set_clock(32_MHz_XTAL / 4); // Xtal and clock verified
|
||||||
m_subcpu->set_clock(XTAL(32'000'000) / 4); // Xtal and clock verified
|
m_subcpu->set_clock(32_MHz_XTAL / 4); // Xtal and clock verified
|
||||||
}
|
}
|
||||||
|
|
||||||
void raidenb_state::raidenb(machine_config &config)
|
void raidenb_state::raidenb(machine_config &config)
|
||||||
|
Loading…
Reference in New Issue
Block a user