summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/saitek_stratos.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/saitek_stratos.cpp')
-rw-r--r--src/mame/drivers/saitek_stratos.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/mame/drivers/saitek_stratos.cpp b/src/mame/drivers/saitek_stratos.cpp
index 9ef63d74484..9e6678b2bf8 100644
--- a/src/mame/drivers/saitek_stratos.cpp
+++ b/src/mame/drivers/saitek_stratos.cpp
@@ -20,7 +20,7 @@ cold boot, press ACL, then hold the PLAY button and press GO.
*******************************************************************************
Hardware notes:
-- W65C02 or R65C02 at 5MHz or 5.67MHz (for latter, box says 6MHz but that's a marketing lie)
+- W65C02 or R65C02 at 5MHz or ~5.6MHz (for latter, box says 6MHz but that's a marketing lie)
- 2*32KB ROM + optional 32KB Endgame ROM sold separately
- 8KB RAM + another 8KB RAM(latter not populated on every PCB)
- NEC gate array for all I/O, Saitek calls it HELIOS
@@ -31,6 +31,11 @@ Stratos/Turbo King are identical.
Corona has magnet sensors and two HELIOS chips.
Simultano has an extra LCD screen representing the chessboard state.
+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.
+
TODO:
- emulate LCD at lower level, probably an MCU with embedded LCDC
- add LCD 7*7 DMD, it's in m_lcd_data[0x30 to 0x3b] but scrambled
@@ -143,8 +148,10 @@ void saitek_stratos_state::machine_reset()
void saitek_stratos_state::set_cpu_freq()
{
- // released with either 5MHz or 5.67MHz speeds
- m_maincpu->set_unscaled_clock((ioport("FAKE")->read() & 1) ? 5.67_MHz_XTAL : 5_MHz_XTAL);
+ // known officially* released CPU speeds: 5MHz, 5.626MHz, 5.67MHz
+ // *not including reseller overclocks, user mods, or the "Turbo Kit"
+ u8 inp = ioport("FAKE")->read();
+ m_maincpu->set_unscaled_clock((inp & 2) ? 5.67_MHz_XTAL : ((inp & 1) ? 5.626_MHz_XTAL : 5_MHz_XTAL));
}
// stratos_state
@@ -449,9 +456,10 @@ INPUT_PORTS_START( saitek_stratos )
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, acl_button, nullptr) PORT_NAME("ACL")
PORT_START("FAKE")
- PORT_CONFNAME( 0x01, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, cpu_freq, nullptr) // factory set
+ PORT_CONFNAME( 0x03, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, cpu_freq, nullptr) // factory set
PORT_CONFSETTING( 0x00, "5MHz" )
- PORT_CONFSETTING( 0x01, "5.67MHz" )
+ PORT_CONFSETTING( 0x01, "5.626MHz" )
+ PORT_CONFSETTING( 0x02, "5.67MHz" )
INPUT_PORTS_END
static INPUT_PORTS_START( stratos )
@@ -560,6 +568,6 @@ ROM_END
CONS( 1986, stratos, 0, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
CONS( 1986, stratosa, stratos, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1990, tking, 0, 0, tking2, tking2, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 1, ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Turbo King II
+CONS( 1988, tking, 0, 0, tking2, tking2, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 1, ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Turbo King II
CONS( 1988, tkinga, tking, 0, stratos, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // oldest?
CONS( 1988, tkingb, tking, 0, stratos, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 3)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )