scptchess: rename prtchess

This commit is contained in:
hap 2022-07-04 23:22:14 +02:00
parent d407ad4c38
commit 1f31d0800e
5 changed files with 30 additions and 54 deletions

View File

@ -37,7 +37,7 @@ HD44801A50 used in:
HD44801C89 used in:
- CXG Portachess (1985 version, "NEW 16 LEVELS") - 1st use
- CXG Sensor Computachess (198? rerelease, "NEW 16 LEVELS")
- CXG Sensor Computachess (1985 rerelease, "NEW 16 LEVELS")
- CXG Portachess II (1986)
- CXG Computachess IV (1986)
- CXG Sphinx Chess Voyager? (1992)
@ -58,7 +58,7 @@ HD44801C89 used in:
// internal artwork
#include "cxg_scptchess_v1.lh" // clickable
#include "cxg_prtchess_v2.lh" // clickable
#include "cxg_scptchess_v2.lh" // clickable
namespace {
@ -72,18 +72,17 @@ public:
m_board(*this, "board"),
m_display(*this, "display"),
m_dac(*this, "dac"),
m_inputs(*this, "IN.%u", 0)
m_inputs(*this, "IN.0")
{ }
void scptchess_v1(machine_config &config);
void prtchess_v2(machine_config &config);
void scptchess_v2(machine_config &config);
DECLARE_INPUT_CHANGED_MEMBER(reset_button);
DECLARE_INPUT_CHANGED_MEMBER(save_switch) { update_halt(); }
// New Game button is directly tied to MCU reset
DECLARE_INPUT_CHANGED_MEMBER(reset_button) { m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); }
protected:
virtual void machine_start() override;
virtual void machine_reset() override { update_halt(); }
private:
// devices/pointers
@ -91,9 +90,8 @@ private:
required_device<sensorboard_device> m_board;
required_device<pwm_display_device> m_display;
required_device<dac_bit_interface> m_dac;
required_ioport_array<2> m_inputs;
required_ioport m_inputs;
void update_halt();
void update_display();
template<int N> void mux_w(u8 data);
void leds_w(u16 data);
@ -109,20 +107,6 @@ void scptchess_state::machine_start()
save_item(NAME(m_led_data));
}
void scptchess_state::update_halt()
{
// power switch to "Save" disables the leds and halts the MCU
m_maincpu->set_input_line(HMCS40_INPUT_LINE_HLT, (m_inputs[1]->read() & 2) ? ASSERT_LINE : CLEAR_LINE);
m_display->clear();
}
INPUT_CHANGED_MEMBER(scptchess_state::reset_button)
{
// New Game button is directly tied to MCU reset
if (~m_inputs[1]->read() & 2)
m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE);
}
/******************************************************************************
@ -157,7 +141,7 @@ u16 scptchess_state::input_r()
u16 data = 0;
// D7: read buttons
if (m_inp_mux & m_inputs[0]->read())
if (m_inp_mux & m_inputs->read())
data |= 0x80;
// D8-D15: read chessboard
@ -174,22 +158,21 @@ u16 scptchess_state::input_r()
Input Ports
******************************************************************************/
static INPUT_PORTS_START( shared_v1 )
static INPUT_PORTS_START( scptchess_v1 )
PORT_START("IN.0")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("Sound") // only hooked up on 1st version
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Reverse Play")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Level")
PORT_START("IN.1") // these are not available up on 1st version
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_CHANGED_MEMBER(DEVICE_SELF, scptchess_state, reset_button, 0) PORT_NAME("New Game")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_F1) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, scptchess_state, save_switch, 0) PORT_NAME("Save Switch")
INPUT_PORTS_END
static INPUT_PORTS_START( shared_v2 )
PORT_INCLUDE( shared_v1 )
static INPUT_PORTS_START( scptchess_v2 )
PORT_INCLUDE( scptchess_v1 )
PORT_MODIFY("IN.0")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNUSED)
PORT_START("RESET")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_CHANGED_MEMBER(DEVICE_SELF, scptchess_state, reset_button, 0) PORT_NAME("New Game")
INPUT_PORTS_END
@ -220,10 +203,10 @@ void scptchess_state::scptchess_v1(machine_config &config)
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
}
void scptchess_state::prtchess_v2(machine_config &config)
void scptchess_state::scptchess_v2(machine_config &config)
{
scptchess_v1(config);
config.set_default_layout(layout_cxg_prtchess_v2);
config.set_default_layout(layout_cxg_scptchess_v2);
}
@ -237,7 +220,7 @@ ROM_START( scptchess )
ROM_LOAD("white_allcock_44801a50", 0x0000, 0x2000, CRC(c5c53e05) SHA1(8fa9b8e48ca54f08585afd83ae78fb1970fbd382) )
ROM_END
ROM_START( prtchess )
ROM_START( scptchessa )
ROM_REGION( 0x2000, "maincpu", 0 )
ROM_LOAD("202_newcrest_16_hd44801c89", 0x0000, 0x2000, CRC(56b48f70) SHA1(84ec62323c6d3314e0515bccfde2f65f6d753e99) )
ROM_END
@ -250,6 +233,6 @@ ROM_END
Drivers
******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1981, scptchess, 0, 0, scptchess_v1, shared_v1, scptchess_state, empty_init, "CXG Systems / White & Allcock", "Sensor Computachess (1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1985, prtchess, scptchess, 0, prtchess_v2, shared_v2, scptchess_state, empty_init, "CXG Systems / Newcrest Technology", "Portachess (1985 version)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1981, scptchess, 0, 0, scptchess_v1, scptchess_v1, scptchess_state, empty_init, "CXG Systems / White & Allcock", "Sensor Computachess (1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1985, scptchessa, scptchess, 0, scptchess_v2, scptchess_v2, scptchess_state, empty_init, "CXG Systems / Newcrest Technology", "Sensor Computachess (1985 version)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -19,11 +19,11 @@ known chips:
@A67 HD38750 1982, Romtec Pucki & Monsters (ET-803)
@A04 HD38800 1980, Gakken Heiankyo Alien
A16 HD38800 1981, Entex Select-A-Game cartridge: Basketball 3 -> sag.cpp
A16 HD38800 1981, Entex Select-A-Game cartridge: Basketball 3 -> entex/sag.cpp
*A20 HD38800 1981, Entex Super Space Invader 2
@A25 HD38800 1981, Coleco Alien Attack
@A27 HD38800 1981, Bandai Packri Monster
@A31 HD38800 1981, Entex Select-A-Game cartridge: Space Invader 2 -> sag.cpp - also used in 2nd version of Super Space Invader 2!
@A31 HD38800 1981, Entex Select-A-Game cartridge: Space Invader 2 -> entex/sag.cpp - also used in 2nd version of Super Space Invader 2!
A36 HD38800 1981, Entex Select-A-Game cartridge: Pac-Man 2 -> "
A37 HD38800 1981, Entex Select-A-Game cartridge: Baseball 4 -> "
A38 HD38800 1981, Entex Select-A-Game cartridge: Pinball -> "
@ -69,16 +69,16 @@ known chips:
@A88 HD38820 1984, Bandai Pair Match (PT-460) (1/2)
@A89 HD38820 1984, Bandai Pair Match (PT-460) (2/2)
A34 HD44801 1981, SciSys Mini Chess -> saitek_minichess.cpp
A50 HD44801 1981, CXG Sensor Computachess -> cxg_scptchess.cpp
A75 HD44801 1982, Alpha 8201 protection MCU -> machine/alpha8201.*
A34 HD44801 1981, SciSys Mini Chess -> saitek/minichess.cpp
A50 HD44801 1981, CXG Sensor Computachess -> cxg/scptchess.cpp
A75 HD44801 1982, Alpha 8201 protection MCU -> alpha/alpha8201.*
*A85 HD44801 1982, SciSys Travel Sensor / Travel Mate / Chesspartner 5000/6000
*A92 HD44801 1982, SciSys Play Bridge Computer
B35 HD44801 1983, Alpha 8302 protection MCU (see 8201)
B42 HD44801 1983, Alpha 8303 protection MCU (see 8201)
*B43 HD44801 1983, Alpha 8304 protection MCU (see 8201)
C57 HD44801 1985, Alpha 8505 protection MCU (see 8201)
C89 HD44801 1985, CXG Portachess (1985 version) -> cxg_scptchess.cpp
C89 HD44801 1985, CXG Portachess (1985 version) -> cxg/scptchess.cpp
*A86 HD44820 1983, Chess King Pocket Micro
*B63 HD44820 1985, CXG Pocket Chess (12 buttons)

View File

@ -131,7 +131,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
@MP3352 TMS1200 1979, Tiger Sub Wars (model 7-490)
@M32001 TMS1000 1981, Coleco Quiz Wiz Challenger (note: MP3398, MP3399, M3200x?)
*M32018 TMS1000 1990, unknown device (have decap/dump)
M32045B TMS1000 1983, Chrysler Electronic Voice Alert (11-function) -> eva.cpp
M32045B TMS1000 1983, Chrysler Electronic Voice Alert (11-function) -> misc/eva.cpp
@MP3403 TMS1100 1978, Marx Electronic Bowling
@MP3404 TMS1100 1978, Parker Brothers Merlin
@MP3405 TMS1100 1979, Coleco Amaze-A-Tron
@ -179,7 +179,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
@MP7351 TMS1400 1982, Parker Brothers Master Merlin
@MP7551 TMS1670 1980, Entex Color Football 4 (6009)
@MPF553 TMS1670 1980, Gakken/Entex Jackpot: Gin Rummy & Black Jack (6008) (note: assume F to be a misprint)
MP7573 TMS1670 1981, Entex Select-A-Game cartridge: Football 4 -> sag.cpp
MP7573 TMS1670 1981, Entex Select-A-Game cartridge: Football 4 -> entex/sag.cpp
*M30026 TMS2370 1983, Yaesu FT-757 Display Unit part
*M95041 TMS2670 1983, Tsukuda Game Pachinko (have decap, missing MCU emulation)

View File

@ -8,11 +8,6 @@ license:CC0
<element name="white2"><rect><color red="0.76" green="0.75" blue="0.74" /></rect></element>
<element name="save" defstate="0">
<text state="0" string="POWER SW.: ON" align="1"><color red="0.81" green="0.8" blue="0.79" /></text>
<text state="1" string="POWER SW.: SAVE" align="1"><color red="0.81" green="0.8" blue="0.79" /></text>
</element>
<element name="but" defstate="0">
<rect state="1"><color red="0.25" green="0.24" blue="0.24" /></rect>
<rect state="0"><color red="0.17" green="0.16" blue="0.16" /></rect>
@ -387,7 +382,7 @@ license:CC0
<element ref="text_l4"><bounds x="69" y="87.1" width="10" height="2" /></element>
<!-- right side buttons -->
<element ref="but" inputtag="IN.1" inputmask="0x01"><bounds x="88" y="59" width="10" height="4" /></element>
<element ref="but" inputtag="RESET" inputmask="0x01"><bounds x="88" y="59" width="10" height="4" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x80"><bounds x="88" y="69" width="10" height="4" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x40"><bounds x="88" y="79" width="10" height="4" /></element>
@ -395,7 +390,5 @@ license:CC0
<element ref="text_l6"><bounds x="86" y="66.5" width="14" height="2" /></element>
<element ref="text_l7"><bounds x="86" y="76.5" width="14" height="2" /></element>
<element ref="save" inputtag="IN.1" inputmask="0x02"><bounds x="87" y="87.1" width="14.5" height="2" /></element>
</view>
</mamelayout>

View File

@ -11760,8 +11760,8 @@ scmder
sdtor
@source:cxg/scptchess.cpp
prtchess
scptchess
scptchessa
@source:cxg/sphinx40.cpp
sphinx40