From f127a679f54a7ecea9bea964ea635652844bdbba Mon Sep 17 00:00:00 2001 From: hap Date: Thu, 5 Sep 2019 02:24:57 +0200 Subject: New working clones ------------------ Constellation Quattro [hap, anonymous] --- src/mame/drivers/novag_const.cpp | 34 ++- src/mame/drivers/saitek_superstar.cpp | 2 +- src/mame/layout/novag_cforte.lay | 46 +-- src/mame/layout/novag_constq.lay | 527 ++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 1 + 5 files changed, 575 insertions(+), 35 deletions(-) create mode 100644 src/mame/layout/novag_constq.lay diff --git a/src/mame/drivers/novag_const.cpp b/src/mame/drivers/novag_const.cpp index 8fb8cc41cda..07fe59fce85 100644 --- a/src/mame/drivers/novag_const.cpp +++ b/src/mame/drivers/novag_const.cpp @@ -26,6 +26,10 @@ Constellation 3.6MHz: - 2KB RAM (TC5516AP), 16KB ROM (custom label, assumed TMM23128) - PCB supports "Memory Save", but components aren't installed +Constellation Quattro: +- R65C02P3 @ 4MHz (8MHz XTAL) +- 2KB RAM (D449C), 16KB ROM (custom label) + Super Sensor IV: - MOS MPS6502A @ 2MHz - 1KB battery-backed RAM (2*TC5514AP-3) @@ -43,13 +47,14 @@ Super Constellation: TODO: - ssensor4 nvram doesn't work, at boot it always starts a new game - is Dynamic S a program update of ssensor4 or identical? -- add Constellation Quattro version, another small update, this time 4MHz +- verify IRQ active time for ssensor4, const, constq ******************************************************************************/ #include "emu.h" #include "cpu/m6502/m6502.h" #include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/r65c02.h" #include "machine/sensorboard.h" #include "machine/nvram.h" #include "machine/timer.h" @@ -59,6 +64,7 @@ TODO: // internal artwork #include "novag_const.lh" // clickable +#include "novag_constq.lh" // clickable #include "novag_ssensor4.lh" // clickable #include "novag_supercon.lh" // clickable @@ -81,6 +87,7 @@ public: // machine drivers void nconst(machine_config &config); void nconst36(machine_config &config); + void nconstq(machine_config &config); void ssensor4(machine_config &config); void sconst(machine_config &config); @@ -283,7 +290,7 @@ static INPUT_PORTS_START( ssensor4 ) PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("Hint") INPUT_PORTS_END -static INPUT_PORTS_START( sconst ) +static INPUT_PORTS_START( nconstq ) PORT_INCLUDE( nconst ) PORT_MODIFY("IN.1") @@ -291,6 +298,10 @@ static INPUT_PORTS_START( sconst ) PORT_MODIFY("IN.2") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_NAME("Sound / Depth Search / Bishop") +INPUT_PORTS_END + +static INPUT_PORTS_START( sconst ) + PORT_INCLUDE( nconstq ) PORT_MODIFY("IN.4") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Print Moves") @@ -382,6 +393,19 @@ void const_state::sconst(machine_config &config) config.set_default_layout(layout_novag_supercon); } +void const_state::nconstq(machine_config &config) +{ + sconst(config); + + /* basic machine hardware */ + R65C02(config.replace(), m_maincpu, 8_MHz_XTAL/2); + m_maincpu->set_addrmap(AS_PROGRAM, &const_state::const_map); + + config.device_remove("nvram"); + + config.set_default_layout(layout_novag_constq); +} + /****************************************************************************** @@ -405,6 +429,11 @@ ROM_START( const36 ) ROM_LOAD("novag-831a_6133-8316.u2", 0xc000, 0x4000, CRC(7da760f3) SHA1(6172e0fa03377e911141a86747849bf25f20613f) ) ROM_END +ROM_START( constq ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD("novag_854-501.u2", 0xc000, 0x4000, CRC(b083d5c4) SHA1(ecac8a599bd8ea8dd549c742ec45b94fb8b11af4) ) +ROM_END + ROM_START( supercon ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -425,5 +454,6 @@ CONS( 1981, ssensor4, 0, 0, ssensor4, ssensor4, const_state, empty_init, "N CONS( 1983, const, 0, 0, nconst, nconst, const_state, init_const, "Novag", "Constellation", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1984, const36, const, 0, nconst36, nconst, const_state, init_const, "Novag", "Constellation 3.6MHz", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1985, constq, const, 0, nconstq, nconstq, const_state, init_const, "Novag", "Constellation Quattro", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1984, supercon, 0, 0, sconst, sconst, const_state, empty_init, "Novag", "Super Constellation", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/saitek_superstar.cpp b/src/mame/drivers/saitek_superstar.cpp index cc2521ae54f..7bac6008f04 100644 --- a/src/mame/drivers/saitek_superstar.cpp +++ b/src/mame/drivers/saitek_superstar.cpp @@ -14,7 +14,7 @@ Hardware notes (Superstar 28K): - TTL, buzzer, 28 LEDs, 8*8 chessboard buttons Turbostar 432: -- PCB label: SUPERSTAR REV 3 +- PCB label: SUPERSTAR REV-3 - R65C02P4 @ 4MHz - 4KB RAM (2*HM6116P-4) - 32KB ROM (custom label), extension ROM slot diff --git a/src/mame/layout/novag_cforte.lay b/src/mame/layout/novag_cforte.lay index c03e5e85d98..dc667d360dd 100644 --- a/src/mame/layout/novag_cforte.lay +++ b/src/mame/layout/novag_cforte.lay @@ -139,30 +139,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + @@ -512,8 +494,8 @@ - - + + @@ -551,12 +533,12 @@ - - - - - - + + + + + + diff --git a/src/mame/layout/novag_constq.lay b/src/mame/layout/novag_constq.lay new file mode 100644 index 00000000000..d54700aa9d2 --- /dev/null +++ b/src/mame/layout/novag_constq.lay @@ -0,0 +1,527 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 893da9150c4..0935c957760 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -31119,6 +31119,7 @@ cforteb // @source:novag_const.cpp const const36 +constq ssensor4 supercon -- cgit v1.2.3