mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
chess*: small cleanups
This commit is contained in:
parent
362d732136
commit
7a60bfeba7
@ -62,7 +62,7 @@ public:
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_reset() override { m_dac->write(0x80); }
|
||||
|
||||
private:
|
||||
// devices/pointers
|
||||
@ -95,11 +95,6 @@ void chesster_state::machine_start()
|
||||
save_item(NAME(m_select));
|
||||
}
|
||||
|
||||
void chesster_state::machine_reset()
|
||||
{
|
||||
m_dac->write(0x80);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
|
@ -42,7 +42,6 @@ public:
|
||||
m_inputs(*this, "IN.0")
|
||||
{ }
|
||||
|
||||
// machine configs
|
||||
void eldorado(machine_config &config);
|
||||
|
||||
protected:
|
||||
@ -57,15 +56,12 @@ private:
|
||||
required_ioport m_inputs;
|
||||
|
||||
bool m_kp_select = false;
|
||||
u16 m_inp_mux = 0;
|
||||
u8 m_led_select = 0;
|
||||
u8 m_inp_mux = 0;
|
||||
|
||||
// I/O handlers
|
||||
void update_display();
|
||||
void mux_w(u8 data);
|
||||
u8 mux_r();
|
||||
void control_w(u8 data);
|
||||
int t0_r();
|
||||
u8 input_r();
|
||||
};
|
||||
|
||||
@ -74,7 +70,6 @@ void eldorado_state::machine_start()
|
||||
// register for savestates
|
||||
save_item(NAME(m_kp_select));
|
||||
save_item(NAME(m_inp_mux));
|
||||
save_item(NAME(m_led_select));
|
||||
}
|
||||
|
||||
|
||||
@ -83,16 +78,11 @@ void eldorado_state::machine_start()
|
||||
I/O
|
||||
*******************************************************************************/
|
||||
|
||||
void eldorado_state::update_display()
|
||||
{
|
||||
m_display->matrix(m_led_select, m_inp_mux);
|
||||
}
|
||||
|
||||
void eldorado_state::mux_w(u8 data)
|
||||
{
|
||||
// D0-D7: input mux, led data
|
||||
m_inp_mux = ~data;
|
||||
update_display();
|
||||
m_display->write_mx(m_inp_mux);
|
||||
}
|
||||
|
||||
u8 eldorado_state::mux_r()
|
||||
@ -106,24 +96,17 @@ void eldorado_state::control_w(u8 data)
|
||||
m_dac->write(BIT(~data, 4));
|
||||
|
||||
// P25,P26: led select
|
||||
m_led_select = ~data >> 5 & 3;
|
||||
update_display();
|
||||
m_display->write_my(~data >> 5 & 3);
|
||||
|
||||
// P27: keypad select
|
||||
// P27: input mux highest bit (also goes to T0)
|
||||
m_kp_select = !bool(data & 0x80);
|
||||
}
|
||||
|
||||
int eldorado_state::t0_r()
|
||||
{
|
||||
// T0: P27
|
||||
return m_kp_select ? 0 : 1;
|
||||
}
|
||||
|
||||
u8 eldorado_state::input_r()
|
||||
{
|
||||
// P10-P17: multiplexed inputs
|
||||
u8 data = 0;
|
||||
|
||||
// P10-P17: multiplexed inputs
|
||||
// read chessboard buttons
|
||||
for (int i = 0; i < 8; i++)
|
||||
if (BIT(m_inp_mux, i))
|
||||
@ -168,7 +151,7 @@ void eldorado_state::eldorado(machine_config &config)
|
||||
m_maincpu->p2_out_cb().set(FUNC(eldorado_state::control_w));
|
||||
m_maincpu->bus_in_cb().set(FUNC(eldorado_state::mux_r));
|
||||
m_maincpu->bus_out_cb().set(FUNC(eldorado_state::mux_w));
|
||||
m_maincpu->t0_in_cb().set(FUNC(eldorado_state::t0_r));
|
||||
m_maincpu->t0_in_cb().set(m_maincpu, FUNC(mcs48_cpu_device::p2_r)).bit(7);
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
|
@ -167,6 +167,12 @@ protected:
|
||||
void ppi_portc_w(u8 data);
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Initialization
|
||||
*******************************************************************************/
|
||||
|
||||
void elite_state::machine_start()
|
||||
{
|
||||
fidel_clockdiv_state::machine_start();
|
||||
|
@ -27,12 +27,12 @@ and one for MCS48. A12 is forced high or low to select the bank.
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "cpu/z8/z8.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "video/pwm.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "speaker.h"
|
||||
@ -55,7 +55,6 @@ public:
|
||||
m_inputs(*this, "IN.0")
|
||||
{ }
|
||||
|
||||
// machine configs
|
||||
void msc(machine_config &config);
|
||||
|
||||
protected:
|
||||
@ -72,18 +71,13 @@ private:
|
||||
u8 m_led_select = 0;
|
||||
u16 m_inp_mux = 0;
|
||||
|
||||
// address maps
|
||||
void main_map(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
void update_display();
|
||||
void mux_w(u8 data);
|
||||
void control_w(u8 data);
|
||||
u8 rom_r(offs_t offset);
|
||||
|
||||
u8 read_inputs();
|
||||
u8 input_hi_r();
|
||||
u8 input_lo_r();
|
||||
u8 input_r();
|
||||
};
|
||||
|
||||
void msc_state::machine_start()
|
||||
@ -113,18 +107,20 @@ void msc_state::mux_w(u8 data)
|
||||
|
||||
void msc_state::control_w(u8 data)
|
||||
{
|
||||
// P37: input mux highest bit
|
||||
// P35,P36: led select
|
||||
m_inp_mux = (m_inp_mux & 0xff) | (data << 1 & 0x100);
|
||||
m_led_select = ~data >> 5 & 3;
|
||||
update_display();
|
||||
|
||||
// P34: speaker out
|
||||
m_dac->write(BIT(~data, 4));
|
||||
|
||||
// P35,P36: led select
|
||||
m_led_select = ~data >> 5 & 3;
|
||||
|
||||
// P37: input mux highest bit, led data
|
||||
m_inp_mux = (m_inp_mux & 0xff) | (data << 1 & 0x100);
|
||||
update_display();
|
||||
}
|
||||
|
||||
u8 msc_state::read_inputs()
|
||||
u8 msc_state::input_r()
|
||||
{
|
||||
// P30-P33,P04-P07: multiplexed inputs
|
||||
u8 data = 0;
|
||||
|
||||
// read chessboard sensors
|
||||
@ -139,18 +135,6 @@ u8 msc_state::read_inputs()
|
||||
return bitswap<8>(~data,0,1,2,3,4,5,6,7);
|
||||
}
|
||||
|
||||
u8 msc_state::input_hi_r()
|
||||
{
|
||||
// P04-P07: multiplexed inputs high
|
||||
return read_inputs() | 0x0f;
|
||||
}
|
||||
|
||||
u8 msc_state::input_lo_r()
|
||||
{
|
||||
// P30-P33: multiplexed inputs low
|
||||
return read_inputs() | 0xf0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
@ -191,9 +175,11 @@ void msc_state::msc(machine_config &config)
|
||||
// basic machine hardware
|
||||
Z8601(config, m_maincpu, 8_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &msc_state::main_map);
|
||||
m_maincpu->p0_in_cb().set(FUNC(msc_state::input_hi_r));
|
||||
m_maincpu->p0_in_cb().set(FUNC(msc_state::input_r)).mask(0xf0);
|
||||
m_maincpu->p0_in_cb().append_constant(0x0f).mask(0x0f);
|
||||
m_maincpu->p2_out_cb().set(FUNC(msc_state::mux_w));
|
||||
m_maincpu->p3_in_cb().set(FUNC(msc_state::input_lo_r));
|
||||
m_maincpu->p3_in_cb().set(FUNC(msc_state::input_r)).mask(0x0f);
|
||||
m_maincpu->p3_in_cb().append_constant(0xf0).mask(0xf0);
|
||||
m_maincpu->p3_out_cb().set(FUNC(msc_state::control_w));
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
|
||||
|
@ -197,11 +197,12 @@ void sc6_state::mux_w(u8 data)
|
||||
// P24-P27: 7442 A-D (or 74145)
|
||||
// 7442 0-8: input mux, led data
|
||||
m_inp_mux = data >> 4 & 0xf;
|
||||
m_display->write_mx(1 << m_inp_mux);
|
||||
u16 sel = 1 << m_inp_mux;
|
||||
m_display->write_mx(sel);
|
||||
|
||||
// 7442 9: speaker out
|
||||
if (m_dac != nullptr)
|
||||
m_dac->write(BIT(1 << m_inp_mux, 9));
|
||||
m_dac->write(BIT(sel, 9));
|
||||
}
|
||||
|
||||
void sc6_state::select_w(u8 data)
|
||||
|
@ -94,19 +94,21 @@ void scc_state::control_w(offs_t offset, u8 data)
|
||||
u8 mask = 1 << (offset & 7);
|
||||
m_led_data = (m_led_data & ~mask) | ((data & 0x80) ? mask : 0);
|
||||
|
||||
// d0-d3: led select, input mux (row 9 is speaker out)
|
||||
// d0-d3: 7442 to led select, input mux
|
||||
// d4: corner led(direct)
|
||||
m_inp_mux = data & 0xf;
|
||||
u16 sel = 1 << m_inp_mux;
|
||||
m_dac->write(BIT(sel, 9));
|
||||
m_display->matrix((sel & 0xff) | (data << 4 & 0x100), m_led_data);
|
||||
|
||||
// 7442 9: speaker out
|
||||
m_dac->write(BIT(sel, 9));
|
||||
}
|
||||
|
||||
u8 scc_state::input_r()
|
||||
{
|
||||
// d0-d7: multiplexed inputs (active low)
|
||||
u8 data = 0;
|
||||
|
||||
// d0-d7: multiplexed inputs (active low)
|
||||
// read chessboard sensors
|
||||
if (m_inp_mux < 8)
|
||||
data = m_board->read_file(m_inp_mux);
|
||||
|
@ -102,7 +102,6 @@ protected:
|
||||
void sc9d_map(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
void update_display();
|
||||
void control_w(u8 data);
|
||||
void led_w(offs_t offset, u8 data);
|
||||
u8 input_r();
|
||||
@ -129,21 +128,16 @@ INPUT_CHANGED_MEMBER(sc9_state::sc9c_change_cpu_freq)
|
||||
I/O
|
||||
*******************************************************************************/
|
||||
|
||||
void sc9_state::update_display()
|
||||
{
|
||||
// 8*8 chessboard leds + 1 corner led
|
||||
m_display->matrix(1 << m_inp_mux, m_led_data);
|
||||
}
|
||||
|
||||
void sc9_state::control_w(u8 data)
|
||||
{
|
||||
// d0-d3: 74245 P0-P3
|
||||
// 74245 Q0-Q8: input mux, led select
|
||||
m_inp_mux = data & 0xf;
|
||||
update_display();
|
||||
u16 sel = 1 << m_inp_mux;
|
||||
m_display->write_my(sel);
|
||||
|
||||
// 74245 Q9: speaker out
|
||||
m_dac->write(BIT(1 << m_inp_mux, 9));
|
||||
m_dac->write(BIT(sel, 9));
|
||||
|
||||
// d4,d5: ?
|
||||
// d6,d7: N/C
|
||||
@ -153,14 +147,14 @@ void sc9_state::led_w(offs_t offset, u8 data)
|
||||
{
|
||||
// a0-a2,d0: led data via NE591N
|
||||
m_led_data = (m_led_data & ~(1 << offset)) | ((data & 1) << offset);
|
||||
update_display();
|
||||
m_display->write_mx(m_led_data);
|
||||
}
|
||||
|
||||
u8 sc9_state::input_r()
|
||||
{
|
||||
// d0-d7: multiplexed inputs (active low)
|
||||
u8 data = 0;
|
||||
|
||||
// d0-d7: multiplexed inputs (active low)
|
||||
// read chessboard sensors
|
||||
if (m_inp_mux < 8)
|
||||
data = m_board->read_file(m_inp_mux);
|
||||
|
@ -142,6 +142,12 @@ private:
|
||||
u8 input2_r();
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Initialization
|
||||
*******************************************************************************/
|
||||
|
||||
void const_state::machine_start()
|
||||
{
|
||||
// register for savestates
|
||||
|
@ -105,9 +105,9 @@ void micro_state::input_w(u8 data)
|
||||
|
||||
u8 micro_state::input_r()
|
||||
{
|
||||
// P10-P17: multiplexed inputs
|
||||
u8 data = 0;
|
||||
|
||||
// P10-P17: multiplexed inputs
|
||||
// read chessboard
|
||||
u8 cb_mux = (m_inp_mux << 2) | (m_control >> 5 & 3);
|
||||
cb_mux = bitswap<8>(cb_mux,4,5,6,7,1,0,3,2);
|
||||
|
@ -90,10 +90,8 @@ private:
|
||||
|
||||
bool m_kp_select = false;
|
||||
u8 m_inp_mux = 0;
|
||||
u8 m_led_select = 0;
|
||||
|
||||
// I/O handlers
|
||||
void update_display();
|
||||
void mux_w(u8 data);
|
||||
void control_w(u8 data);
|
||||
u8 input_r();
|
||||
@ -101,12 +99,17 @@ private:
|
||||
void set_cpu_freq();
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Initialization
|
||||
*******************************************************************************/
|
||||
|
||||
void micro2_state::machine_start()
|
||||
{
|
||||
// register for savestates
|
||||
save_item(NAME(m_kp_select));
|
||||
save_item(NAME(m_inp_mux));
|
||||
save_item(NAME(m_led_select));
|
||||
}
|
||||
|
||||
void micro2_state::set_cpu_freq()
|
||||
@ -124,18 +127,11 @@ void micro2_state::set_cpu_freq()
|
||||
I/O
|
||||
*******************************************************************************/
|
||||
|
||||
// MCU ports/generic
|
||||
|
||||
void micro2_state::update_display()
|
||||
{
|
||||
m_display->matrix(m_led_select, m_inp_mux);
|
||||
}
|
||||
|
||||
void micro2_state::mux_w(u8 data)
|
||||
{
|
||||
// D0-D7: input mux, led data
|
||||
m_inp_mux = ~data;
|
||||
update_display();
|
||||
m_display->write_mx(m_inp_mux);
|
||||
}
|
||||
|
||||
void micro2_state::control_w(u8 data)
|
||||
@ -147,15 +143,14 @@ void micro2_state::control_w(u8 data)
|
||||
m_dac->write(BIT(data, 2) & BIT(~data, 3));
|
||||
|
||||
// P24-P26: led select
|
||||
m_led_select = ~data >> 4 & 7;
|
||||
update_display();
|
||||
m_display->write_my(~data >> 4 & 7);
|
||||
}
|
||||
|
||||
u8 micro2_state::input_r()
|
||||
{
|
||||
// P10-P17: multiplexed inputs
|
||||
u8 data = 0;
|
||||
|
||||
// P10-P17: multiplexed inputs
|
||||
// read chessboard buttons
|
||||
for (int i = 0; i < 8; i++)
|
||||
if (BIT(m_inp_mux, i))
|
||||
|
@ -116,6 +116,12 @@ private:
|
||||
void p6_w(u8 data);
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Initialization
|
||||
*******************************************************************************/
|
||||
|
||||
void blitz_state::machine_start()
|
||||
{
|
||||
m_out_lcd.resolve();
|
||||
|
@ -29,13 +29,13 @@ different compared to Stratos/Turbo King.
|
||||
|
||||
namespace {
|
||||
|
||||
// note: sub-class of saitek_stratos_state (see stratos.h, stratos.cpp)
|
||||
// note: sub-class of stratos_base_state (see stratos.h, stratos.cpp)
|
||||
|
||||
class corona_state : public saitek_stratos_state
|
||||
class corona_state : public stratos_base_state
|
||||
{
|
||||
public:
|
||||
corona_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
saitek_stratos_state(mconfig, type, tag),
|
||||
stratos_base_state(mconfig, type, tag),
|
||||
m_rombank(*this, "rombank"),
|
||||
m_board(*this, "board"),
|
||||
m_dac(*this, "dac"),
|
||||
@ -81,7 +81,7 @@ private:
|
||||
|
||||
void corona_state::machine_start()
|
||||
{
|
||||
saitek_stratos_state::machine_start();
|
||||
stratos_base_state::machine_start();
|
||||
|
||||
// register for savestates
|
||||
save_item(NAME(m_control1));
|
||||
@ -94,7 +94,7 @@ void corona_state::machine_start()
|
||||
|
||||
void corona_state::machine_reset()
|
||||
{
|
||||
saitek_stratos_state::machine_reset();
|
||||
stratos_base_state::machine_reset();
|
||||
|
||||
m_control2 = 0;
|
||||
m_rombank.select(0);
|
||||
|
@ -166,6 +166,12 @@ private:
|
||||
void p5_w(u8 data);
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Initialization
|
||||
*******************************************************************************/
|
||||
|
||||
void gk2000_state::machine_start()
|
||||
{
|
||||
m_out_lcd.resolve();
|
||||
|
@ -133,6 +133,12 @@ private:
|
||||
void write_lcd(int state);
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Initialization
|
||||
*******************************************************************************/
|
||||
|
||||
void mark5_state::machine_start()
|
||||
{
|
||||
m_out_x.resolve();
|
||||
|
@ -69,11 +69,11 @@ is engine version C.
|
||||
#include "saitek_tking.lh"
|
||||
|
||||
|
||||
class stratos_state : public saitek_stratos_state
|
||||
class stratos_state : public stratos_base_state
|
||||
{
|
||||
public:
|
||||
stratos_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
saitek_stratos_state(mconfig, type, tag),
|
||||
stratos_base_state(mconfig, type, tag),
|
||||
m_banked_nvram(*this, "nvram.u7", 0x2000, ENDIANNESS_LITTLE),
|
||||
m_nvrambank(*this, "nvrambank"),
|
||||
m_rombank(*this, "rombank"),
|
||||
@ -123,9 +123,9 @@ private:
|
||||
};
|
||||
|
||||
|
||||
// saitek_stratos_state
|
||||
// stratos_base_state
|
||||
|
||||
void saitek_stratos_state::machine_start()
|
||||
void stratos_base_state::machine_start()
|
||||
{
|
||||
// resolve handlers
|
||||
m_out_digit.resolve();
|
||||
@ -139,7 +139,7 @@ void saitek_stratos_state::machine_start()
|
||||
save_item(NAME(m_lcd_data));
|
||||
}
|
||||
|
||||
void saitek_stratos_state::machine_reset()
|
||||
void stratos_base_state::machine_reset()
|
||||
{
|
||||
m_power = true;
|
||||
m_lcd_ready = false;
|
||||
@ -147,7 +147,7 @@ void saitek_stratos_state::machine_reset()
|
||||
clear_lcd();
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER(saitek_stratos_state::change_cpu_freq)
|
||||
INPUT_CHANGED_MEMBER(stratos_base_state::change_cpu_freq)
|
||||
{
|
||||
// known officially* released CPU speeds: 5MHz, 5.626MHz, 5.67MHz
|
||||
// *not including reseller overclocks, user mods, or the "Turbo Kit"
|
||||
@ -160,7 +160,7 @@ INPUT_CHANGED_MEMBER(saitek_stratos_state::change_cpu_freq)
|
||||
|
||||
void stratos_state::machine_start()
|
||||
{
|
||||
saitek_stratos_state::machine_start();
|
||||
stratos_base_state::machine_start();
|
||||
|
||||
// init banks
|
||||
m_rombank->configure_entries(0, 2, memregion("maincpu")->base(), 0x8000);
|
||||
@ -174,7 +174,7 @@ void stratos_state::machine_start()
|
||||
|
||||
void stratos_state::machine_reset()
|
||||
{
|
||||
saitek_stratos_state::machine_reset();
|
||||
stratos_base_state::machine_reset();
|
||||
|
||||
m_control = 0;
|
||||
m_rombank->set_entry(0);
|
||||
@ -189,7 +189,7 @@ void stratos_state::machine_reset()
|
||||
|
||||
// soft power on/off
|
||||
|
||||
INPUT_CHANGED_MEMBER(saitek_stratos_state::go_button)
|
||||
INPUT_CHANGED_MEMBER(stratos_base_state::go_button)
|
||||
{
|
||||
if (newval && !m_power)
|
||||
{
|
||||
@ -198,7 +198,7 @@ INPUT_CHANGED_MEMBER(saitek_stratos_state::go_button)
|
||||
}
|
||||
}
|
||||
|
||||
void saitek_stratos_state::power_off()
|
||||
void stratos_base_state::power_off()
|
||||
{
|
||||
m_power = false;
|
||||
m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
|
||||
@ -212,7 +212,7 @@ void saitek_stratos_state::power_off()
|
||||
|
||||
// LCD HLE
|
||||
|
||||
void saitek_stratos_state::update_lcd()
|
||||
void stratos_base_state::update_lcd()
|
||||
{
|
||||
// output individual segments
|
||||
for (int i = 0; i < 0x40; i++)
|
||||
@ -230,7 +230,7 @@ void saitek_stratos_state::update_lcd()
|
||||
m_out_digit[i + 5] = (m_lcd_data[0x11 + i * 2] << 4 | m_lcd_data[0x11 + i * 2 + 1]) & 0x7f;
|
||||
}
|
||||
|
||||
void saitek_stratos_state::lcd_data_w(u8 data)
|
||||
void stratos_base_state::lcd_data_w(u8 data)
|
||||
{
|
||||
// d0-d3: lcd data
|
||||
// d4-d7: unused?
|
||||
@ -418,10 +418,10 @@ INPUT_PORTS_START( saitek_stratos )
|
||||
PORT_CONFSETTING( 0x01, DEF_STR( Normal ) )
|
||||
|
||||
PORT_START("RESET")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, go_button, 0) PORT_NAME("Go")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CHANGED_MEMBER(DEVICE_SELF, stratos_base_state, go_button, 0) PORT_NAME("Go")
|
||||
|
||||
PORT_START("CPU")
|
||||
PORT_CONFNAME( 0x03, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, change_cpu_freq, 0) // factory set
|
||||
PORT_CONFNAME( 0x03, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, stratos_base_state, change_cpu_freq, 0) // factory set
|
||||
PORT_CONFSETTING( 0x00, "5MHz" )
|
||||
PORT_CONFSETTING( 0x01, "5.626MHz" )
|
||||
PORT_CONFSETTING( 0x02, "5.67MHz" )
|
||||
@ -468,7 +468,7 @@ static INPUT_PORTS_START( tking ) // same buttons, but different locations
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Normal")
|
||||
|
||||
PORT_MODIFY("RESET")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, go_button, 0) PORT_NAME("Go")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_CHANGED_MEMBER(DEVICE_SELF, stratos_base_state, go_button, 0) PORT_NAME("Go")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( tking2 )
|
||||
|
@ -17,10 +17,10 @@
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
class saitek_stratos_state : public driver_device
|
||||
class stratos_base_state : public driver_device
|
||||
{
|
||||
public:
|
||||
saitek_stratos_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
stratos_base_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_display(*this, "display"),
|
||||
|
@ -13,7 +13,7 @@ TODO:
|
||||
- where does the interrupt come from?
|
||||
- Debut-M is an updated version? Or is it the same program as Debut with a redesigned case?
|
||||
|
||||
********************************************************************************
|
||||
================================================================================
|
||||
|
||||
Hardware notes:
|
||||
- КР1810ВМ86 (i8086 clone), 16200K XTAL
|
||||
|
Loading…
Reference in New Issue
Block a user