mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
scptchess: rename prtchess
This commit is contained in:
parent
d407ad4c38
commit
1f31d0800e
@ -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 )
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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>
|
@ -11760,8 +11760,8 @@ scmder
|
||||
sdtor
|
||||
|
||||
@source:cxg/scptchess.cpp
|
||||
prtchess
|
||||
scptchess
|
||||
scptchessa
|
||||
|
||||
@source:cxg/sphinx40.cpp
|
||||
sphinx40
|
||||
|
Loading…
Reference in New Issue
Block a user