summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2021-09-26 23:21:11 +0200
committer hap <happppp@users.noreply.github.com>2021-09-26 23:21:27 +0200
commitec74c604f1732eeaa5144ec98c9630d59e1993de (patch)
tree80f1ba251a678d202532240d59b1c3e44a035b9b
parentebe63de49a95b147980b5b262d6807b32783d83d (diff)
segac2: speed up initialization
-rw-r--r--src/devices/machine/clock.cpp3
-rw-r--r--src/mame/drivers/conchess.cpp16
-rw-r--r--src/mame/drivers/fidel_eag68k.cpp2
-rw-r--r--src/mame/drivers/segac2.cpp6
4 files changed, 12 insertions, 15 deletions
diff --git a/src/devices/machine/clock.cpp b/src/devices/machine/clock.cpp
index 803e3d3a55f..4bd89fe791a 100644
--- a/src/devices/machine/clock.cpp
+++ b/src/devices/machine/clock.cpp
@@ -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"
diff --git a/src/mame/drivers/conchess.cpp b/src/mame/drivers/conchess.cpp
index 19ae4c19d74..e2bea9699dc 100644
--- a/src/mame/drivers/conchess.cpp
+++ b/src/mame/drivers/conchess.cpp
@@ -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);
}
diff --git a/src/mame/drivers/fidel_eag68k.cpp b/src/mame/drivers/fidel_eag68k.cpp
index 380d3d6a8bc..4ce43644894 100644
--- a/src/mame/drivers/fidel_eag68k.cpp
+++ b/src/mame/drivers/fidel_eag68k.cpp
@@ -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));
diff --git a/src/mame/drivers/segac2.cpp b/src/mame/drivers/segac2.cpp
index 1be460ff039..112a4571dea 100644
--- a/src/mame/drivers/segac2.cpp
+++ b/src/mame/drivers/segac2.cpp
@@ -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");