segac2: speed up initialization

This commit is contained in:
hap 2021-09-26 23:21:11 +02:00
parent ebe63de49a
commit ec74c604f1
4 changed files with 12 additions and 15 deletions

View File

@ -12,9 +12,6 @@ pulse width (active time) can be set directly with set_pulse_width.
Output signal at machine start is right after falling edge.
TODO:
- add one-shot trigger? eg. monostable 555
*/
#include "emu.h"

View File

@ -228,7 +228,7 @@ void conchess_state::concstd(machine_config &config)
M6502(config, m_maincpu, 4_MHz_XTAL/2);
m_maincpu->set_addrmap(AS_PROGRAM, &conchess_state::main_map);
const attotime irq_period = attotime::from_hz(4_MHz_XTAL/2 / 0x1000);
const attotime irq_period = attotime::from_hz(4_MHz_XTAL / 0x2000);
m_maincpu->set_periodic_int(FUNC(conchess_state::irq0_line_assert), irq_period);
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
@ -244,7 +244,7 @@ void conchess_state::concstd(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
BEEP(config, m_beeper, 4_MHz_XTAL/2 / 0x200);
BEEP(config, m_beeper, 4_MHz_XTAL / 0x400);
m_beeper->add_route(ALL_OUTPUTS, "mono", 0.25);
}
@ -256,13 +256,13 @@ void conchess_state::concply5(machine_config &config)
R65C02(config.replace(), m_maincpu, 11_MHz_XTAL/2);
m_maincpu->set_addrmap(AS_PROGRAM, &conchess_state::main_map);
const attotime irq_period = attotime::from_hz(11_MHz_XTAL/2 / 0x2000);
const attotime irq_period = attotime::from_hz(11_MHz_XTAL / 0x4000);
m_maincpu->set_periodic_int(FUNC(conchess_state::irq0_line_assert), irq_period);
SOFTWARE_LIST(config.replace(), "cart_list").set_original("conchess_plymate");
/* sound hardware */
BEEP(config.replace(), m_beeper, 11_MHz_XTAL/2 / 0x400);
BEEP(config.replace(), m_beeper, 11_MHz_XTAL / 0x800);
m_beeper->add_route(ALL_OUTPUTS, "mono", 0.25);
}
@ -274,11 +274,11 @@ void conchess_state::concply8(machine_config &config)
R65C02(config.replace(), m_maincpu, 16_MHz_XTAL/2);
m_maincpu->set_addrmap(AS_PROGRAM, &conchess_state::main_map);
const attotime irq_period = attotime::from_hz(16_MHz_XTAL/2 / 0x2000);
const attotime irq_period = attotime::from_hz(16_MHz_XTAL / 0x4000);
m_maincpu->set_periodic_int(FUNC(conchess_state::irq0_line_assert), irq_period);
/* sound hardware */
BEEP(config.replace(), m_beeper, 16_MHz_XTAL/2 / 0x800);
BEEP(config.replace(), m_beeper, 16_MHz_XTAL / 0x1000);
m_beeper->add_route(ALL_OUTPUTS, "mono", 0.25);
}
@ -290,13 +290,13 @@ void conchess_state::concplyv(machine_config &config)
M65C02(config.replace(), m_maincpu, 12.288_MHz_XTAL/2);
m_maincpu->set_addrmap(AS_PROGRAM, &conchess_state::main_map);
const attotime irq_period = attotime::from_hz(12.288_MHz_XTAL/2 / 0x2000);
const attotime irq_period = attotime::from_hz(12.288_MHz_XTAL / 0x4000);
m_maincpu->set_periodic_int(FUNC(conchess_state::irq0_line_assert), irq_period);
SOFTWARE_LIST(config.replace(), "cart_list").set_original("conchess_victoria");
/* sound hardware */
BEEP(config.replace(), m_beeper, 12.288_MHz_XTAL/2 / 0x800);
BEEP(config.replace(), m_beeper, 12.288_MHz_XTAL / 0x1000);
m_beeper->add_route(ALL_OUTPUTS, "mono", 0.25);
}

View File

@ -472,7 +472,7 @@ void eagv5_state::main_map(address_map &map)
void eagv5_state::sub_map(address_map &map)
{
map(0x000000, 0x00ffff).rom();
map(0x000001, 0x000001).mirror(0x00fffe).w(m_sublatch, FUNC(generic_latch_8_device::write));
map(0x000000, 0x000001).mirror(0x00fffe).w(m_sublatch, FUNC(generic_latch_8_device::write)).umask16(0x00ff);
map(0x044000, 0x047fff).ram();
map(0x140000, 0x140000).r(FUNC(eagv5_state::sub_ack_r));
map(0x140001, 0x140001).r(m_mainlatch, FUNC(generic_latch_8_device::read));

View File

@ -674,11 +674,11 @@ void pclub_state::print_club_camera_w(uint16_t data)
void segac2_state::segac_map(address_map &map)
{
map(0x000000, 0x1fffff).rom();
map(0x800001, 0x800001).mirror(0x13fdfe).rw(FUNC(segac2_state::prot_r), FUNC(segac2_state::prot_w));
map(0x800201, 0x800201).mirror(0x13fdfe).w(FUNC(segac2_state::control_w));
map(0x800000, 0x800001).mirror(0x13fdfe).rw(FUNC(segac2_state::prot_r), FUNC(segac2_state::prot_w)).umask16(0x00ff);
map(0x800200, 0x800201).mirror(0x13fdfe).w(FUNC(segac2_state::control_w)).umask16(0x00ff);
map(0x840000, 0x84001f).mirror(0x13fee0).rw("io", FUNC(sega_315_5296_device::read), FUNC(sega_315_5296_device::write)).umask16(0x00ff);
map(0x840100, 0x840107).mirror(0x13fef8).rw(m_ymsnd, FUNC(ym3438_device::read), FUNC(ym3438_device::write)).umask16(0x00ff);
map(0x880101, 0x880101).mirror(0x13fefe).w(FUNC(segac2_state::counter_timer_w));
map(0x880100, 0x880101).mirror(0x13fefe).w(FUNC(segac2_state::counter_timer_w)).umask16(0x00ff);
map(0x8c0000, 0x8c0fff).mirror(0x13f000).rw(FUNC(segac2_state::palette_r), FUNC(segac2_state::palette_w)).share("paletteram");
map(0xc00000, 0xc0001f).mirror(0x18ff00).rw(m_vdp, FUNC(sega315_5313_device::vdp_r), FUNC(sega315_5313_device::vdp_w));
map(0xe00000, 0xe0ffff).mirror(0x1f0000).ram().share("nvram");