mirror of
https://github.com/holub/mame
synced 2025-04-21 16:01:56 +03:00
New working machine added
---------- Space Jam (Tiger handheld) [hap, Sean Riddle]
This commit is contained in:
parent
779ff8ac42
commit
272e686928
@ -1399,7 +1399,7 @@ READ8_MEMBER(tddragon_state::input_r)
|
||||
|
||||
static INPUT_PORTS_START( tddragon )
|
||||
PORT_START("IN.0") // S1
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Jump
|
||||
PORT_BIT( 0x0b, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.1") // S2
|
||||
@ -1408,12 +1408,12 @@ static INPUT_PORTS_START( tddragon )
|
||||
PORT_BIT( 0x09, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.2") // S3
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Sway
|
||||
PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.3") // S4
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Punch/Pick
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Kick
|
||||
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.4") // S5
|
||||
@ -1431,7 +1431,7 @@ static INPUT_PORTS_START( tddragon )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POWER_OFF )
|
||||
|
||||
PORT_START("ACL")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static MACHINE_CONFIG_START( tddragon )
|
||||
@ -1464,6 +1464,102 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger Space Jam
|
||||
* Sharp SM510 under epoxy (die label KMS10, 23)
|
||||
* lcd screen with custom segments, 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
class tsjam_state : public hh_sm510_state
|
||||
{
|
||||
public:
|
||||
tsjam_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: hh_sm510_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(input_r) override;
|
||||
};
|
||||
|
||||
// handlers
|
||||
|
||||
READ8_MEMBER(tsjam_state::input_r)
|
||||
{
|
||||
// K: multiplexed inputs (note: Vdd row is always on)
|
||||
return m_inp_matrix[5]->read() | read_inputs(5);
|
||||
}
|
||||
|
||||
|
||||
// config
|
||||
|
||||
static INPUT_PORTS_START( tsjam )
|
||||
PORT_START("IN.0") // S1
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x0b, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.1") // S2
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x09, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.2") // S3
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.3") // S4
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Shoot/Block
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Tune/Steal
|
||||
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.4") // S5
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Pause")
|
||||
PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.5") // Vdd!
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Power On/Start")
|
||||
|
||||
PORT_START("BA")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_VOLUME_DOWN ) PORT_NAME("Sound")
|
||||
|
||||
PORT_START("B")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POWER_OFF )
|
||||
|
||||
PORT_START("ACL")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static MACHINE_CONFIG_START( tsjam )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", SM510, XTAL_32_768kHz)
|
||||
MCFG_SM510_WRITE_SEGS_CB(WRITE16(hh_sm510_state, sm510_lcd_segment_w))
|
||||
MCFG_SM510_READ_K_CB(READ8(tsjam_state, input_r))
|
||||
MCFG_SM510_WRITE_S_CB(WRITE8(hh_sm510_state, input_w))
|
||||
MCFG_SM510_WRITE_R_CB(WRITE8(hh_sm510_state, piezo_r1_w))
|
||||
MCFG_SM510_READ_BA_CB(IOPORT("BA"))
|
||||
MCFG_SM510_READ_B_CB(IOPORT("B"))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_SVG_ADD("screen", "svg")
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_SIZE(1421, 1080)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 1421-1, 0, 1080-1)
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_svg)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger Sonic The Hedgehog
|
||||
@ -1520,7 +1616,7 @@ READ8_MEMBER(tsonic_state::input_r)
|
||||
|
||||
static INPUT_PORTS_START( tsonic )
|
||||
PORT_START("IN.0") // S2
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Jump
|
||||
PORT_BIT( 0x0b, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.1") // S3
|
||||
@ -1533,7 +1629,7 @@ static INPUT_PORTS_START( tsonic )
|
||||
PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.3") // S5
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Super Sonic Spin
|
||||
PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.4") // S6
|
||||
@ -1551,7 +1647,7 @@ static INPUT_PORTS_START( tsonic )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POWER_OFF )
|
||||
|
||||
PORT_START("ACL")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const s16 tsonic_speaker_levels[] = { 0, 0x7fff/3*1, 0x7fff/3*2, 0x7fff };
|
||||
@ -1793,6 +1889,15 @@ ROM_START( tsonic )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( tsjam )
|
||||
ROM_REGION( 0x1000, "maincpu", 0 )
|
||||
ROM_LOAD( "1023", 0x0000, 0x1000, CRC(6eaabfbd) SHA1(f0ecbd6f65fe72ce2d8a452685be2e77a63fc9f0) )
|
||||
|
||||
ROM_REGION( 1044640, "svg", 0)
|
||||
ROM_LOAD( "tsjam.svg", 0, 1044640, CRC(4e33adee) SHA1(220bab1e2921032e254f3f8bdf6916a84abb6de4) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
// YEAR NAME PARENT COMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1989, ktopgun, 0, 0, ktopgun, ktopgun, ktopgun_state, 0, "Konami", "Top Gun (handheld)", MACHINE_SUPPORTS_SAVE )
|
||||
@ -1819,3 +1924,4 @@ CONS( 1984, gnw_bx301, 0, 0, bx301, bx301, bx301_state, 0, "Ni
|
||||
|
||||
CONS( 1988, tddragon, 0, 0, tddragon, tddragon, tddragon_state, 0, "Tiger Electronics (licensed from Tradewest/Technos)", "Double Dragon (handheld)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1991, tsonic, 0, 0, tsonic, tsonic, tsonic_state, 0, "Tiger Electronics (licensed from Sega)", "Sonic The Hedgehog (handheld)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1996, tsjam, 0, 0, tsjam, tsjam, tsjam_state, 0, "Tiger Electronics", "Space Jam (handheld)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -14566,6 +14566,7 @@ ktmnt // Konami
|
||||
ktopgun // Konami
|
||||
nupogodi // Elektronika
|
||||
tddragon // Tiger
|
||||
tsjam // Tiger
|
||||
tsonic // Tiger
|
||||
|
||||
@source:hh_tms1k.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user