summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fidel_elite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fidel_elite.cpp')
-rw-r--r--src/mame/drivers/fidel_elite.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/mame/drivers/fidel_elite.cpp b/src/mame/drivers/fidel_elite.cpp
index 9af4e2e664b..bf009832a40 100644
--- a/src/mame/drivers/fidel_elite.cpp
+++ b/src/mame/drivers/fidel_elite.cpp
@@ -61,17 +61,17 @@ uninteresting to emulate as separate drivers.
#include "emu.h"
#include "machine/fidel_clockdiv.h"
+#include "bus/generic/carts.h"
+#include "bus/generic/slot.h"
#include "cpu/m6502/m65c02.h"
#include "cpu/m6502/r65c02.h"
#include "machine/i8255.h"
#include "machine/sensorboard.h"
#include "machine/nvram.h"
#include "machine/timer.h"
-#include "sound/s14001a.h"
#include "sound/dac.h"
+#include "sound/s14001a.h"
#include "video/pwm.h"
-#include "bus/generic/slot.h"
-#include "bus/generic/carts.h"
#include "softlist.h"
#include "speaker.h"
@@ -150,22 +150,16 @@ protected:
void ppi_portc_w(u8 data);
bool m_rotate;
- u8 m_led_data;
- u8 m_7seg_data;
- u8 m_inp_mux;
- u8 m_speech_bank;
+ u8 m_led_data = 0;
+ u8 m_7seg_data = 0;
+ u8 m_inp_mux = 0;
+ u8 m_speech_bank = 0;
};
void elite_state::machine_start()
{
fidel_clockdiv_state::machine_start();
- // zerofill
- m_led_data = 0;
- m_7seg_data = 0;
- m_inp_mux = 0;
- m_speech_bank = 0;
-
// register for savestates
save_item(NAME(m_led_data));
save_item(NAME(m_7seg_data));
@@ -182,8 +176,8 @@ void elite_state::machine_reset()
void elite_state::set_cpu_freq()
{
// known official CPU speeds: 3MHz(EAS), 3.57MHz(PC/EWC/Privat), 4MHz(PC/EAS-C)
- u8 inp = ioport("FAKE")->read();
- m_maincpu->set_unscaled_clock((inp & 2) ? 4_MHz_XTAL : ((inp & 1) ? 3.579545_MHz_XTAL : 3_MHz_XTAL));
+ static const XTAL xtal[3] = { 3_MHz_XTAL, 3.579545_MHz_XTAL, 4_MHz_XTAL };
+ m_maincpu->set_unscaled_clock(xtal[ioport("FAKE")->read() % 3]);
div_refresh();
}