dynduke: take xtals from pcb photo

This commit is contained in:
hap 2024-11-19 15:21:19 +01:00
parent 76e6392092
commit e16d158279
2 changed files with 17 additions and 15 deletions

View File

@ -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);

View File

@ -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)