mirror of
https://github.com/holub/mame
synced 2025-06-24 13:26:36 +03:00
Machine promoted to working
---------- Game & Watch: Mickey Mouse [hap]
This commit is contained in:
parent
038bd3c249
commit
5c37bc7ae5
@ -7,7 +7,7 @@
|
|||||||
TODO:
|
TODO:
|
||||||
- EXKSA, EXKFA opcodes
|
- EXKSA, EXKFA opcodes
|
||||||
- SM500 data book suggests that R1 divider output is selectable, but how?
|
- SM500 data book suggests that R1 divider output is selectable, but how?
|
||||||
- unknown which H/O pin is which W output, guessed for now
|
- unknown which O group is which W output, guessed for now (segments and H should be ok)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ void sm500_device::lcd_update()
|
|||||||
for (int o = 0; o < m_o_pins; o++)
|
for (int o = 0; o < m_o_pins; o++)
|
||||||
{
|
{
|
||||||
// 4 segments per group
|
// 4 segments per group
|
||||||
u8 seg = h ? m_o[o] : m_ox[o];
|
u8 seg = h ? m_ox[o] : m_o[o];
|
||||||
m_write_o(o << 1 | h, m_bp ? seg : 0, 0xff);
|
m_write_o(o << 1 | h, m_bp ? seg : 0, 0xff);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,7 @@
|
|||||||
Sharp SM5xx family handhelds.
|
Sharp SM5xx family handhelds.
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- add svg layout for gnw_mc25
|
- improve svg layout for gnw_mc25, gnw_jr55, gnw_mw56
|
||||||
- improve svg layout for gnw_jr55, gnw_mw56
|
|
||||||
- svg lcd screen background/foreground (not supported in core),
|
- svg lcd screen background/foreground (not supported in core),
|
||||||
or should it be for external artwork only?
|
or should it be for external artwork only?
|
||||||
- confirm gnw_mc25 rom (dumped from Soviet clone, but pretty confident that it's same)
|
- confirm gnw_mc25 rom (dumped from Soviet clone, but pretty confident that it's same)
|
||||||
@ -26,7 +25,7 @@
|
|||||||
#include "gnw_dualv.lh"
|
#include "gnw_dualv.lh"
|
||||||
#include "gnw_dualh.lh"
|
#include "gnw_dualh.lh"
|
||||||
//#include "hh_sm510_test.lh" // common test-layout - use external artwork
|
//#include "hh_sm510_test.lh" // common test-layout - use external artwork
|
||||||
#include "hh_sm500_test.lh" // "
|
//#include "hh_sm500_test.lh" // "
|
||||||
|
|
||||||
|
|
||||||
class hh_sm510_state : public driver_device
|
class hh_sm510_state : public driver_device
|
||||||
@ -38,7 +37,7 @@ public:
|
|||||||
m_inp_matrix(*this, "IN.%u", 0),
|
m_inp_matrix(*this, "IN.%u", 0),
|
||||||
m_speaker(*this, "speaker"),
|
m_speaker(*this, "speaker"),
|
||||||
m_inp_lines(0),
|
m_inp_lines(0),
|
||||||
m_display_wait(17)
|
m_display_wait(33)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
// devices
|
// devices
|
||||||
@ -64,7 +63,7 @@ public:
|
|||||||
virtual DECLARE_WRITE8_MEMBER(piezo_input_w);
|
virtual DECLARE_WRITE8_MEMBER(piezo_input_w);
|
||||||
|
|
||||||
// display common
|
// display common
|
||||||
int m_display_wait; // lcd segment on/off-delay in milliseconds (default 17ms)
|
int m_display_wait; // lcd segment on/off-delay in milliseconds (default 33ms)
|
||||||
u8 m_display_x_len; // lcd number of groups
|
u8 m_display_x_len; // lcd number of groups
|
||||||
u8 m_display_y_len; // lcd number of segments
|
u8 m_display_y_len; // lcd number of segments
|
||||||
u8 m_display_z_len; // lcd number of commons
|
u8 m_display_z_len; // lcd number of commons
|
||||||
@ -149,7 +148,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(hh_sm510_state::display_decay_tick)
|
|||||||
|
|
||||||
// SM500 series: output to x.y.z, where:
|
// SM500 series: output to x.y.z, where:
|
||||||
// x = O group (0-*)
|
// x = O group (0-*)
|
||||||
// y = O segment (0-3)
|
// y = O segment 1-4 (0-3)
|
||||||
// z = common H1/H2 (0/1)
|
// z = common H1/H2 (0/1)
|
||||||
char buf[0x10];
|
char buf[0x10];
|
||||||
sprintf(buf, "%d.%d.%d", zx >> m_display_z_len, y, zx & z_mask);
|
sprintf(buf, "%d.%d.%d", zx >> m_display_z_len, y, zx & z_mask);
|
||||||
@ -655,8 +654,13 @@ static MACHINE_CONFIG_START( mc25 )
|
|||||||
MCFG_SM510_WRITE_R_CB(WRITE8(hh_sm510_state, piezo_input_w))
|
MCFG_SM510_WRITE_R_CB(WRITE8(hh_sm510_state, piezo_input_w))
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
|
MCFG_SCREEN_SVG_ADD("screen", "svg")
|
||||||
|
MCFG_SCREEN_REFRESH_RATE(50)
|
||||||
|
MCFG_SCREEN_SIZE(1711, 1080)
|
||||||
|
MCFG_SCREEN_VISIBLE_AREA(0, 1711-1, 0, 1080-1)
|
||||||
|
|
||||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1))
|
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1))
|
||||||
MCFG_DEFAULT_LAYOUT(layout_hh_sm500_test)
|
MCFG_DEFAULT_LAYOUT(layout_svg)
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
@ -1174,8 +1178,8 @@ ROM_START( gnw_mc25 )
|
|||||||
ROM_REGION( 0x1000, "maincpu", 0 )
|
ROM_REGION( 0x1000, "maincpu", 0 )
|
||||||
ROM_LOAD( "mc-25", 0x0000, 0x0740, BAD_DUMP CRC(cb820c32) SHA1(7e94fc255f32db725d5aa9e196088e490c1a1443) ) // dumped from Soviet clone
|
ROM_LOAD( "mc-25", 0x0000, 0x0740, BAD_DUMP CRC(cb820c32) SHA1(7e94fc255f32db725d5aa9e196088e490c1a1443) ) // dumped from Soviet clone
|
||||||
|
|
||||||
ROM_REGION( 100000, "svg", 0)
|
ROM_REGION( 100018, "svg", 0)
|
||||||
ROM_LOAD( "gnw_mc25.svg", 0, 100000, NO_DUMP )
|
ROM_LOAD( "gnw_mc25.svg", 0, 100018, CRC(bcd01de3) SHA1(2c7a9da248f96ac11e794a46942a3e420d1e854b) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
@ -1253,7 +1257,7 @@ CONS( 1989, ktmnt, 0, 0, ktmnt, ktmnt, ktmnt_state, 0, "Kona
|
|||||||
CONS( 1989, kgradius, 0, 0, kgradius, kgradius, kgradius_state, 0, "Konami", "Gradius (handheld)", MACHINE_SUPPORTS_SAVE )
|
CONS( 1989, kgradius, 0, 0, kgradius, kgradius, kgradius_state, 0, "Konami", "Gradius (handheld)", MACHINE_SUPPORTS_SAVE )
|
||||||
CONS( 1989, kloneran, 0, 0, kloneran, kloneran, kloneran_state, 0, "Konami", "Lone Ranger (handheld)", MACHINE_SUPPORTS_SAVE )
|
CONS( 1989, kloneran, 0, 0, kloneran, kloneran, kloneran_state, 0, "Konami", "Lone Ranger (handheld)", MACHINE_SUPPORTS_SAVE )
|
||||||
|
|
||||||
CONS( 1981, gnw_mc25, 0, 0, mc25, mc25, mc25_state, 0, "Nintendo", "Game & Watch: Mickey Mouse", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
CONS( 1981, gnw_mc25, 0, 0, mc25, mc25, mc25_state, 0, "Nintendo", "Game & Watch: Mickey Mouse", MACHINE_SUPPORTS_SAVE )
|
||||||
CONS( 1982, gnw_dm53, 0, 0, dm53, dm53, dm53_state, 0, "Nintendo", "Game & Watch: Mickey & Donald", MACHINE_SUPPORTS_SAVE )
|
CONS( 1982, gnw_dm53, 0, 0, dm53, dm53, dm53_state, 0, "Nintendo", "Game & Watch: Mickey & Donald", MACHINE_SUPPORTS_SAVE )
|
||||||
CONS( 1983, gnw_jr55, 0, 0, jr55, jr55, jr55_state, 0, "Nintendo", "Game & Watch: Donkey Kong II", MACHINE_SUPPORTS_SAVE )
|
CONS( 1983, gnw_jr55, 0, 0, jr55, jr55, jr55_state, 0, "Nintendo", "Game & Watch: Donkey Kong II", MACHINE_SUPPORTS_SAVE )
|
||||||
CONS( 1983, gnw_mw56, 0, 0, mw56, mw56, mw56_state, 0, "Nintendo", "Game & Watch: Mario Bros.", MACHINE_SUPPORTS_SAVE )
|
CONS( 1983, gnw_mw56, 0, 0, mw56, mw56, mw56_state, 0, "Nintendo", "Game & Watch: Mario Bros.", MACHINE_SUPPORTS_SAVE )
|
||||||
|
Loading…
Reference in New Issue
Block a user