hh_sm510: gnw_smb WIP (nw)

This commit is contained in:
hap 2018-01-12 22:08:31 +01:00
parent 343e75cb51
commit 5934c89762
4 changed files with 115 additions and 21 deletions

View File

@ -332,7 +332,7 @@ MACHINE_CONFIG_END
/***************************************************************************
Coleco Head to Head Basketball/Hockey/Soccer (model 2150/2160/2170)
Coleco Head to Head: Electronic Basketball/Hockey/Soccer (model 2150/2160/2170)
* COP420 MCU label COP420L-NEZ/N
* 2-digit 7seg display, 41 other leds, 1-bit sound
@ -1723,12 +1723,12 @@ ROM_START( h2hbaskb )
ROM_LOAD( "cop420l-nmy", 0x0000, 0x0400, CRC(87152509) SHA1(acdb869b65d49b3b9855a557ed671cbbb0f61e2c) )
ROM_END
ROM_START( h2hhockey )
ROM_START( h2hhockey ) // dumped from Basketball
ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "cop420l-nmy", 0x0000, 0x0400, CRC(87152509) SHA1(acdb869b65d49b3b9855a557ed671cbbb0f61e2c) )
ROM_END
ROM_START( h2hsoccer )
ROM_START( h2hsoccer ) // dumped from Basketball
ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "cop420l-nmy", 0x0000, 0x0400, CRC(87152509) SHA1(acdb869b65d49b3b9855a557ed671cbbb0f61e2c) )
ROM_END
@ -1801,9 +1801,9 @@ ROM_END
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1979, ctstein, 0, 0, ctstein, ctstein, ctstein_state, 0, "Castle Toy", "Einstein (Castle Toy)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1980, h2hbaskb, 0, 0, h2hbaskb, h2hbaskb, h2hbaskb_state, 0, "Coleco", "Head to Head Basketball (COP420L version)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hhockey, h2hbaskb, 0, h2hhockey, h2hhockey, h2hbaskb_state, 0, "Coleco", "Head to Head Hockey (COP420L version)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hsoccer, h2hbaskb, 0, h2hsoccer, h2hsoccer, h2hbaskb_state, 0, "Coleco", "Head to Head Soccer (COP420L version)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hbaskb, 0, 0, h2hbaskb, h2hbaskb, h2hbaskb_state, 0, "Coleco", "Head to Head: Electronic Basketball (COP420L version)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hhockey, h2hbaskb, 0, h2hhockey, h2hhockey, h2hbaskb_state, 0, "Coleco", "Head to Head: Electronic Hockey (COP420L version)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hsoccer, h2hbaskb, 0, h2hsoccer, h2hsoccer, h2hbaskb_state, 0, "Coleco", "Head to Head: Electronic Soccer (COP420L version)", MACHINE_SUPPORTS_SAVE )
CONS( 1981, einvaderc, einvader, 0, einvaderc, einvaderc, einvaderc_state, 0, "Entex", "Space Invader (Entex, COP444L version)", MACHINE_SUPPORTS_SAVE )

View File

@ -1202,7 +1202,7 @@ public:
static INPUT_PORTS_START( gnw_dkong2 )
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)
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)
@ -1370,7 +1370,7 @@ public:
static INPUT_PORTS_START( gnw_dkjr )
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)
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)
@ -1453,7 +1453,7 @@ public:
static INPUT_PORTS_START( gnw_mariocm )
PORT_START("IN.0") // S1
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) // Open
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_16WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_16WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
@ -1509,6 +1509,85 @@ MACHINE_CONFIG_END
/***************************************************************************
Nintendo Game & Watch: Super Mario Bros. (model: see below)
* Sharp SM511 label YM-105 9024B (new wide screen version) (die label ?)
* lcd screen with custom segments, 1-bit sound
First released in 1986 on Crystal Screen (model YM-801), rereleased on
New Wide Screen in 1988 (model YM-105). It was also a prize in a Nintendo
game contest in 1987 (model YM-901-S).
***************************************************************************/
class gnw_smb_state : public hh_sm510_state
{
public:
gnw_smb_state(const machine_config &mconfig, device_type type, const char *tag)
: hh_sm510_state(mconfig, type, tag)
{
m_inp_lines = 3;
}
};
// config
static INPUT_PORTS_START( gnw_smb )
PORT_START("IN.0") // S1
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_START1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Game")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Alarm")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN.1") // S2
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
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_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
PORT_START("IN.2") // S3
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Jump
PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
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
static MACHINE_CONFIG_START( gnw_smb )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", SM511, XTAL_32_768kHz)
MCFG_SM510_WRITE_SEGS_CB(WRITE16(hh_sm510_state, sm510_lcd_segment_w))
MCFG_SM510_READ_K_CB(READ8(hh_sm510_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_B_CB(IOPORT("B"))
/* video hardware */
MCFG_SCREEN_SVG_ADD("screen", "svg")
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE(1677, 1080)
MCFG_SCREEN_VISIBLE_AREA(0, 1677-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
/***************************************************************************
Nintendo Game & Watch: Boxing (model BX-301)
@ -4407,6 +4486,18 @@ ROM_START( gnw_mariocm )
ROM_END
ROM_START( gnw_smb ) // dumped from New Wide Screen version
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "ym-105.program", 0x0000, 0x1000, CRC(0dff3b12) SHA1(3fa83f88e49ea9d7080fe935ec90ce69acbe8850) )
ROM_REGION( 0x100, "maincpu:melody", 0 )
ROM_LOAD( "ym-105.melody", 0x000, 0x100, NO_DUMP )
ROM_REGION( 648209, "svg", 0)
ROM_LOAD( "gnw_smb.svg", 0, 648209, CRC(4a6fdb28) SHA1(0a0bc48d82d5b8bf8ef96ef9ce2f87ba6ea850c1) )
ROM_END
ROM_START( gnw_boxing )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "bx-301_744.program", 0x0000, 0x1000, CRC(0fdf0303) SHA1(0b791c9d4874e9534d0a9b7a8968ce02fe4bee96) )
@ -4704,6 +4795,7 @@ CONS( 1983, gnw_mario, 0, 0, gnw_mario, gnw_mario, gnw_mario_stat
CONS( 1982, gnw_dkjr, 0, 0, gnw_dkjr, gnw_dkjr, gnw_dkjr_state, 0, "Nintendo", "Game & Watch: Donkey Kong Jr. (new wide screen)", MACHINE_SUPPORTS_SAVE )
CONS( 1983, gnw_mariocm, 0, 0, gnw_mariocm, gnw_mariocm, gnw_mariocm_state, 0, "Nintendo", "Game & Watch: Mario's Cement Factory (new wide screen)", MACHINE_SUPPORTS_SAVE )
CONS( 1986, gnw_smb, 0, 0, gnw_smb, gnw_smb, gnw_smb_state, 0, "Nintendo", "Game & Watch: Super Mario Bros.", MACHINE_SUPPORTS_SAVE )
CONS( 1984, gnw_boxing, 0, 0, gnw_boxing, gnw_boxing, gnw_boxing_state, 0, "Nintendo", "Game & Watch: Boxing", MACHINE_SUPPORTS_SAVE )

View File

@ -54,7 +54,7 @@
*MP1296 TMS1100? 1982, Entex Black Knight
@MP1312 TMS1100 1983, Gakken FX-Micom R-165/Tandy Radio Shack Science Fair Microcomputer Trainer
*MP1359 TMS1100? 1985, Capsela CRC2000
@MP1525 TMS1170 1980, Coleco Head to Head Baseball
@MP1525 TMS1170 1980, Coleco Head to Head: Electronic Baseball
@MP1604 TMS1370 1982, Gakken Invader 2000/Tandy Cosmic Fire Away 3000
@MP1801 TMS1700 1981, Tiger Ditto/Tandy Pocket Repeat (model 60-2152)
@MP2105 TMS1370 1979, Gakken/Entex Poker (6005)
@ -68,7 +68,8 @@
*MP3232 TMS1000 1979, Fonas 2-Player Baseball (no "MP" on chip label)
@MP3300 TMS1000 1979, Milton Bradley Simon (Rev F)
@MP3301A TMS1000 1979, Milton Bradley Big Trak
*MP3320A TMS1000 1979, Coleco Head to Head Basketball
*MP3320A TMS1000 1980, Coleco Head to Head: Electronic Basketball
*MP3321A TMS1000 1980, Coleco Head to Head: Electronic Hockey
@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
@ -82,7 +83,7 @@
MP3454 TMS1100 1979, MicroVision cartridge: Star Trek Phaser Strike
MP3455 TMS1100 1980, MicroVision cartridge: Pinball
MP3457 TMS1100 1979, MicroVision cartridge: Mindbuster
@MP3460 TMS1100 1980, Coleco Head to Head Football
@MP3460 TMS1100 1980, Coleco Head to Head: Electronic Football
MP3474 TMS1100 1979, MicroVision cartridge: Vegas Slots
MP3475 TMS1100 1979, MicroVision cartridge: Bowling
@MP3476 TMS1100 1979, Milton Bradley Super Simon
@ -97,7 +98,7 @@
@M34012 TMS1100 1980, Mattel Dungeons & Dragons - Computer Labyrinth Game
*M34014 TMS1100 1981, Coleco Bowlatronic
M34017 TMS1100 1981, MicroVision cartridge: Cosmic Hunter
@M34018 TMS1100 1981, Coleco Head to Head Boxing
@M34018 TMS1100 1981, Coleco Head to Head: Electronic Boxing
@M34038 TMS1100 1982, Parker Brothers Lost Treasure
M34047 TMS1100 1982, MicroVision cartridge: Super Blockbuster
@M34078A TMS1100 1983, Milton Bradley Electronic Arcade Mania
@ -1348,7 +1349,7 @@ MACHINE_CONFIG_END
/***************************************************************************
Coleco Head to Head Football
Coleco Head to Head: Electronic Football
* TMS1100NLLE (rev. E!) MP3460 (die label same)
* 2*SN75492N LED display drivers, 9-digit LED grid, 1-bit sound
@ -1356,7 +1357,7 @@ MACHINE_CONFIG_END
offense blips (should) appear brighter. The hardware is similar to cqback.
known releases:
- USA(1): Head to Head Football
- USA(1): Head to Head: Electronic Football
- USA(2): Team Play Football, published by Sears
***************************************************************************/
@ -1465,13 +1466,13 @@ MACHINE_CONFIG_END
/***************************************************************************
Coleco Head to Head Baseball
Coleco Head to Head: Electronic Baseball
* PCB labels Coleco rev C 73891/2
* TMS1170NLN MP1525-N2 (die label MP1525)
* 9-digit cyan VFD display, and other LEDs behind bezel, 1-bit sound
known releases:
- USA: Head to Head Baseball
- USA: Head to Head: Electronic Baseball
- Japan: Computer Baseball, published by Tsukuda
***************************************************************************/
@ -1603,7 +1604,7 @@ MACHINE_CONFIG_END
/***************************************************************************
Coleco Head to Head Boxing
Coleco Head to Head: Electronic Boxing
* TMS1100NLL M34018-N2 (die label M34018)
* 2-digit 7seg LED display, LED grid display, 1-bit sound
@ -10091,9 +10092,9 @@ CONS( 1979, bcheetah, 0, 0, bcheetah, bcheetah, bcheetah_state, 0,
CONS( 1978, amaztron, 0, 0, amaztron, amaztron, amaztron_state, 0, "Coleco", "Amaze-A-Tron", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) // ***
COMP( 1979, zodiac, 0, 0, zodiac, zodiac, zodiac_state, 0, "Coleco", "Zodiac - The Astrology Computer", MACHINE_SUPPORTS_SAVE )
CONS( 1978, cqback, 0, 0, cqback, cqback, cqback_state, 0, "Coleco", "Electronic Quarterback", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hfootb, 0, 0, h2hfootb, h2hfootb, h2hfootb_state, 0, "Coleco", "Head to Head Football", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hbaseb, 0, 0, h2hbaseb, h2hbaseb, h2hbaseb_state, 0, "Coleco", "Head to Head Baseball", MACHINE_SUPPORTS_SAVE )
CONS( 1981, h2hboxing, 0, 0, h2hboxing, h2hboxing, h2hboxing_state, 0, "Coleco", "Head to Head Boxing", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hfootb, 0, 0, h2hfootb, h2hfootb, h2hfootb_state, 0, "Coleco", "Head to Head: Electronic Football", MACHINE_SUPPORTS_SAVE )
CONS( 1980, h2hbaseb, 0, 0, h2hbaseb, h2hbaseb, h2hbaseb_state, 0, "Coleco", "Head to Head: Electronic Baseball", MACHINE_SUPPORTS_SAVE )
CONS( 1981, h2hboxing, 0, 0, h2hboxing, h2hboxing, h2hboxing_state, 0, "Coleco", "Head to Head: Electronic Boxing", MACHINE_SUPPORTS_SAVE )
CONS( 1981, quizwizc, 0, 0, quizwizc, quizwizc, quizwizc_state, 0, "Coleco", "Quiz Wiz Challenger", MACHINE_SUPPORTS_SAVE ) // ***
CONS( 1981, tc4, 0, 0, tc4, tc4, tc4_state, 0, "Coleco", "Total Control 4", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )

View File

@ -14744,6 +14744,7 @@ gnw_mario // Nintendo
gnw_mariocm // Nintendo
gnw_mmouse // Nintendo
gnw_mickdon // Nintendo
gnw_smb // Nintendo
kbilly // Konami
kblades // Konami
kbucky // Konami