stratos,simultano,risc2500: remove wrongly emulated ACL button

This commit is contained in:
hap 2023-11-11 14:11:21 +01:00
parent 4f9c947633
commit 231c47ef17
6 changed files with 20 additions and 24 deletions

View File

@ -166,8 +166,8 @@ INPUT_CHANGED_MEMBER(leo_state::go_button)
{
if (newval && m_maincpu->standby())
{
machine_reset();
m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
machine_reset();
}
}

View File

@ -163,8 +163,8 @@ INPUT_CHANGED_MEMBER(ren_state::go_button)
{
if (newval && m_maincpu->standby())
{
machine_reset();
m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
machine_reset();
}
}

View File

@ -81,7 +81,6 @@ public:
, m_leds(*this, "led%u", 0U)
{ }
DECLARE_INPUT_CHANGED_MEMBER(acl_button) { if (newval) power_off(); }
DECLARE_INPUT_CHANGED_MEMBER(on_button);
void risc2500(machine_config &config);
@ -398,7 +397,6 @@ static INPUT_PORTS_START( risc2500 )
PORT_START("RESET")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ON") PORT_CODE(KEYCODE_I) PORT_CHANGED_MEMBER(DEVICE_SELF, risc2500_state, on_button, 0)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ACL") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, risc2500_state, acl_button, 0)
INPUT_PORTS_END
static INPUT_PORTS_START( montreux ) // on/off buttons have different labels

View File

@ -65,7 +65,6 @@ public:
m_out_lcd(*this, "s%u.%u", 0U, 0U)
{ }
DECLARE_INPUT_CHANGED_MEMBER(acl_button) { if (newval) power_off(); }
DECLARE_INPUT_CHANGED_MEMBER(go_button);
void simultano(machine_config &config);
@ -300,7 +299,6 @@ static INPUT_PORTS_START( simultano )
PORT_START("RESET")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CHANGED_MEMBER(DEVICE_SELF, simultano_state, go_button, 0) PORT_NAME("Go")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, simultano_state, acl_button, 0) PORT_NAME("ACL")
INPUT_PORTS_END
static INPUT_PORTS_START( cc2150 )

View File

@ -11,19 +11,19 @@ SciSys/Saitek Stratos chesscomputer family (1987-1990)
- Corona --> corona.cpp
IMPORTANT: The user is expected to press the STOP button to turn off the computer.
When not using -autosave, press that button before exiting MAME, or NVRAM can get corrupt.
If that happens, the chesscomputer will become unresponsive on next boot. To force a
cold boot, press ACL, then hold the PLAY button and press GO.
When not using -autosave, press that button before exiting MAME, or NVRAM can get
corrupt. If that happens, the chesscomputer will become unresponsive on next boot.
To force a cold boot, hold the PLAY button and power on/reset (F3).
TODO:
- emulate LCD at lower level, probably an MCU with embedded LCDC
- LCD status bit handling is guessed. stratos expects it to be high after lcd command 0xf,
but tking2 won't work if it's done that way, and corona is different too
- irq timing is derived from the main XTAL, but result should be similar with 5MHz and 5.67MHz,
there are a couple of "FREQ. SEL" nodes on the PCB, maybe related (not the ones in input ports).
irq source should be from HELIOS pin 2
- tking(old revisions) and stratos slow responsive buttons, related to irq timing, but if that's changed,
the led blinking and in-game clock is too fast
- LCD status bit handling is guessed. stratos expects it to be high after lcd
command 0xf, but tking2 won't work if it's done that way, and corona differs too
- irq timing is derived from the main XTAL, but result should be similar with 5MHz
and 5.67MHz, there are a couple of "FREQ. SEL" nodes on the PCB, maybe related
(not the ones in input ports). irq source should be from HELIOS pin 2
- tking(old revisions) and stratos slow responsive buttons, related to irq timing,
but if that's changed, the led blinking and in-game clock is too fast
- does nvram.u7 work? it's cleared during boot, but not used after
================================================================================
@ -39,13 +39,15 @@ Hardware notes:
Stratos/Turbo King are identical.
Corona has magnet sensors and two HELIOS chips.
There is no official Saitek program versioning for these. The D/D+ versions are known since
they're the same chess engine as later Saitek modules, such as the Analyst module.
Likewise, officially there isn't a "Turbo King II" or "Corona II", these 'sequels' are titled
as such by the chesscomputer community. Saitek simply advertised them as an improved program.
There is no official Saitek program versioning for these. The D/D+ versions are
known since they're the same chess engine as later Saitek modules, such as the
Analyst module. Likewise, officially there isn't a "Turbo King II" or "Corona II",
these 'sequels' are titled as such by the chesscomputer community. Saitek simply
advertised them as an improved program.
The initial Stratos/Turbo King (PRG ROM labels known: M,K,L,P) are probably engine version B,
very few bytes difference between revisions. The first Corona is engine version C.
The initial Stratos/Turbo King (PRG ROM labels known: M,K,L,P) are probably
engine version B, very few bytes difference between revisions. The first Corona
is engine version C.
*******************************************************************************/
@ -417,7 +419,6 @@ INPUT_PORTS_START( saitek_stratos )
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(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, acl_button, 0) PORT_NAME("ACL")
PORT_START("FAKE")
PORT_CONFNAME( 0x03, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, switch_cpu_freq, 0) // factory set

View File

@ -29,7 +29,6 @@ public:
{ }
DECLARE_INPUT_CHANGED_MEMBER(switch_cpu_freq) { set_cpu_freq(); }
DECLARE_INPUT_CHANGED_MEMBER(acl_button) { if (newval) power_off(); }
DECLARE_INPUT_CHANGED_MEMBER(go_button);
protected: