mirror of
https://github.com/holub/mame
synced 2025-10-05 00:38:58 +03:00
New working machine added (#4173)
----------- Green House (Nintendo Game & Watch) [algestam]
This commit is contained in:
parent
dbaf83eebf
commit
1482a81fc2
@ -1301,6 +1301,90 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Nintendo Game & Watch: Green House (model GH-54)
|
||||
* PCB label GH-54
|
||||
* Sharp SM510 label GH-54 52ZD (no decap)
|
||||
* vertical dual lcd screens with custom segments, 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
class gnw_ghouse_state : public hh_sm510_state
|
||||
{
|
||||
public:
|
||||
gnw_ghouse_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: hh_sm510_state(mconfig, type, tag)
|
||||
{
|
||||
m_inp_lines = 3;
|
||||
}
|
||||
|
||||
void gnw_ghouse(machine_config &config);
|
||||
};
|
||||
|
||||
// config
|
||||
|
||||
static INPUT_PORTS_START( gnw_ghouse )
|
||||
PORT_START("IN.0") // S1
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Jump
|
||||
|
||||
PORT_START("IN.1") // S2
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x02, 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_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
|
||||
|
||||
PORT_START("IN.2") // S3
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Time")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Game B")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Game A")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Alarm")
|
||||
|
||||
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")
|
||||
|
||||
PORT_START("B") // MCU B(beta) pin pulled to GND
|
||||
PORT_CONFNAME( 0x01, 0x01, "Infinite Lives (Cheat)")
|
||||
PORT_CONFSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(gnw_ghouse_state::gnw_ghouse)
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", SM510)
|
||||
MCFG_SM510_R_MASK_OPTION(2) // confirmed
|
||||
MCFG_SM510_WRITE_SEGS_CB(WRITE16(*this, hh_sm510_state, sm510_lcd_segment_w))
|
||||
MCFG_SM510_READ_K_CB(READ8(*this, hh_sm510_state, input_r))
|
||||
MCFG_SM510_WRITE_S_CB(WRITE8(*this, hh_sm510_state, input_w))
|
||||
MCFG_SM510_WRITE_R_CB(WRITE8(*this, hh_sm510_state, piezo_r1_w))
|
||||
MCFG_SM510_READ_B_CB(IOPORT("B"))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_SVG_ADD("screen_top", "svg_top")
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_SIZE(1920/2, 1303/2)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1303/2-1)
|
||||
|
||||
MCFG_SCREEN_SVG_ADD("screen_bottom", "svg_bottom")
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_SIZE(1920/2, 1274/2)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1274/2-1)
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1))
|
||||
config.set_default_layout(layout_gnw_dualv);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Nintendo Game & Watch: Donkey Kong II (model JR-55)
|
||||
@ -6663,6 +6747,16 @@ ROM_START( gnw_mickdon )
|
||||
ROM_LOAD( "gnw_mickdon_bottom.svg", 0, 122870, CRC(8f06ddf1) SHA1(69d4b785781600abcdfc01b3902df1d0ae3608cf) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( gnw_ghouse )
|
||||
ROM_REGION( 0x1000, "maincpu", 0 )
|
||||
ROM_LOAD( "gh-54", 0x0000, 0x1000, CRC(4df12b4d) SHA1(708be5fef8dbd9337f5ab35baaca5bdf21e1f36c) )
|
||||
|
||||
ROM_REGION( 159098, "svg_top", 0)
|
||||
ROM_LOAD( "gnw_ghouse_top.svg", 0, 159098, CRC(96bc58d9) SHA1(eda6a0abde739fb71af3e150751a519e59ef021d) )
|
||||
|
||||
ROM_REGION( 149757, "svg_bottom", 0)
|
||||
ROM_LOAD( "gnw_ghouse_bottom.svg", 0, 149757, CRC(d66ee72c) SHA1(dcbe1c81ee0c7ddb9692858749ce6934f4dd7f30) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( gnw_dkong2 )
|
||||
ROM_REGION( 0x1000, "maincpu", 0 )
|
||||
@ -7225,6 +7319,7 @@ CONS( 1989, exospace, gnw_mmouse, 0, exospace, exospace, gnw_mmouse_sta
|
||||
// multi screen
|
||||
CONS( 1982, gnw_dkong, 0, 0, gnw_dkong, gnw_dkong, gnw_dkong_state, empty_init, "Nintendo", "Game & Watch: Donkey Kong", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1982, gnw_mickdon, 0, 0, gnw_mickdon, gnw_mickdon, gnw_mickdon_state, empty_init, "Nintendo", "Game & Watch: Mickey & Donald", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1982, gnw_ghouse, 0, 0, gnw_ghouse, gnw_ghouse, gnw_ghouse_state, empty_init, "Nintendo", "Game & Watch: Green House", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1983, gnw_dkong2, 0, 0, gnw_dkong2, gnw_dkong2, gnw_dkong2_state, empty_init, "Nintendo", "Game & Watch: Donkey Kong II", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1983, gnw_mario, 0, 0, gnw_mario, gnw_mario, gnw_mario_state, empty_init, "Nintendo", "Game & Watch: Mario Bros.", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
|
@ -14946,6 +14946,7 @@ gnw_dkjr // Nintendo
|
||||
gnw_dkong // Nintendo
|
||||
gnw_dkong2 // Nintendo
|
||||
gnw_egg // Nintendo
|
||||
gnw_ghouse // Nintendo
|
||||
gnw_mario // Nintendo
|
||||
gnw_mariocm // Nintendo
|
||||
gnw_mmouse // Nintendo
|
||||
|
Loading…
Reference in New Issue
Block a user