From 5cfc87823f5f79b3ece0f309ed724d0d7c1b3be2 Mon Sep 17 00:00:00 2001 From: hap Date: Fri, 11 Sep 2020 13:22:24 +0200 Subject: Machines promoted to working ---------------------------- Constellation Expert [hap, Berger] --- src/mame/drivers/novag_cexpert.cpp | 37 ++- src/mame/layout/novag_cexpert.lay | 513 +++++++++++++++++++++++++++++++++++ src/mame/layout/novag_cforte.lay | 2 +- src/mame/layout/novag_constq.lay | 2 +- src/mame/layout/novag_diablo68k.lay | 2 +- src/mame/layout/novag_scorpio68k.lay | 2 +- src/mame/layout/novag_sexpert.lay | 2 +- src/mame/layout/novag_sforte.lay | 2 +- src/mame/layout/novag_supercon.lay | 14 +- 9 files changed, 544 insertions(+), 32 deletions(-) create mode 100644 src/mame/layout/novag_cexpert.lay diff --git a/src/mame/drivers/novag_cexpert.cpp b/src/mame/drivers/novag_cexpert.cpp index 22d0f0eaea0..610014ef150 100644 --- a/src/mame/drivers/novag_cexpert.cpp +++ b/src/mame/drivers/novag_cexpert.cpp @@ -5,7 +5,7 @@ Novag Constellation Expert (model 853) -The u3 ROM contains this message: (it's David Kittinger's company) +The u3 ROM contains the following message (it's David Kittinger's company): Copyright (c) 1985, Intelligent Heuristic Programming, Inc Hardware notes: @@ -14,8 +14,7 @@ Hardware notes: - 64+8 leds, magnet sensors chessboard - ports for optional printer and chess clock -TODO: -- based on a copy-paste of cforte driver, need to finish it and make internal artwork +I/O is again similar to supercon ******************************************************************************/ @@ -30,7 +29,7 @@ TODO: #include "speaker.h" // internal artwork -//#include "novag_cexpert.lh" // clickable +#include "novag_cexpert.lh" // clickable namespace { @@ -152,7 +151,7 @@ u8 cexpert_state::input2_r() void cexpert_state::main_map(address_map &map) { - map(0x0000, 0x0fff).ram(); //.share("nvram"); + map(0x0000, 0x0fff).ram().share("nvram"); map(0x1000, 0x1000).nopw(); // accessory? map(0x1100, 0x1100).nopw(); // " map(0x1200, 0x1200).rw(FUNC(cexpert_state::input2_r), FUNC(cexpert_state::mux_w)); @@ -169,35 +168,35 @@ void cexpert_state::main_map(address_map &map) static INPUT_PORTS_START( cexpert ) PORT_START("IN.0") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("New Game") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_NAME("Player/Player / Gambit/Large / King") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_NAME("Player/Player / Gambit Book / King") PORT_START("IN.1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("Verify/Set Up / Pro-Op") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) PORT_NAME("Random/Tour/Normal / Training Level / Queen") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("Verify / Set Up") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) PORT_NAME("Best Move/Random / Training Level / Queen") PORT_START("IN.2") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_NAME("Change Color / Time Control / Priority") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_NAME("Change Color") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_NAME("Sound / Depth Search / Bishop") PORT_START("IN.3") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("Flip Display / Clear Board / Clear Book") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("Clear Board / Tournament Book") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_NAME("Solve Mate / Infinite / Knight") PORT_START("IN.4") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Print Moves / Print Evaluations / Print Book") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Print Moves / Print Evaluations") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_NAME("Print Board / Interface / Rook") PORT_START("IN.5") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Trace Forward / Auto Play / No/End") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Trace Forward / Auto Play") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_NAME("Print List / Acc. Time / Pawn") PORT_START("IN.6") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("Hint / Next Best / Yes/Start") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("Hint / Next Best") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_NAME("Set Level") PORT_START("IN.7") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("Go / ->") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_NAME("Take Back / Restore / <-") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("Go") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_NAME("Take Back / Restore") INPUT_PORTS_END @@ -217,16 +216,16 @@ void cexpert_state::cexpert(machine_config &config) m_irq_on->set_start_delay(irq_period - attotime::from_nsec(15200)); // active for 15.2us TIMER(config, "irq_off").configure_periodic(FUNC(cexpert_state::irq_off), irq_period); - //NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS); m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); m_board->set_delay(attotime::from_msec(200)); - //m_board->set_nvram_enable(true); + m_board->set_nvram_enable(true); /* video hardware */ PWM_DISPLAY(config, m_display).set_size(9, 8); - //config.set_default_layout(layout_novag_cexpert); + config.set_default_layout(layout_novag_cexpert); /* sound hardware */ SPEAKER(config, "mono").front_center(); @@ -255,4 +254,4 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1985, cexpert, 0, 0, cexpert, cexpert, cexpert_state, empty_init, "Novag", "Constellation Expert", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1985, cexpert, 0, 0, cexpert, cexpert, cexpert_state, empty_init, "Novag", "Constellation Expert", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/layout/novag_cexpert.lay b/src/mame/layout/novag_cexpert.lay new file mode 100644 index 00000000000..8c9f84755e3 --- /dev/null +++ b/src/mame/layout/novag_cexpert.lay @@ -0,0 +1,513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/novag_cforte.lay b/src/mame/layout/novag_cforte.lay index 030aa238223..8c3b0252054 100644 --- a/src/mame/layout/novag_cforte.lay +++ b/src/mame/layout/novag_cforte.lay @@ -432,7 +432,7 @@ license:CC0 - + diff --git a/src/mame/layout/novag_constq.lay b/src/mame/layout/novag_constq.lay index 33cc6604fde..d61872e14e2 100644 --- a/src/mame/layout/novag_constq.lay +++ b/src/mame/layout/novag_constq.lay @@ -381,7 +381,7 @@ license:CC0 - + diff --git a/src/mame/layout/novag_diablo68k.lay b/src/mame/layout/novag_diablo68k.lay index a0453358106..43691c8eb82 100644 --- a/src/mame/layout/novag_diablo68k.lay +++ b/src/mame/layout/novag_diablo68k.lay @@ -397,7 +397,7 @@ license:CC0 - + diff --git a/src/mame/layout/novag_scorpio68k.lay b/src/mame/layout/novag_scorpio68k.lay index 5cfb175d910..8217a397d4f 100644 --- a/src/mame/layout/novag_scorpio68k.lay +++ b/src/mame/layout/novag_scorpio68k.lay @@ -387,7 +387,7 @@ license:CC0 - + diff --git a/src/mame/layout/novag_sexpert.lay b/src/mame/layout/novag_sexpert.lay index a0453358106..43691c8eb82 100644 --- a/src/mame/layout/novag_sexpert.lay +++ b/src/mame/layout/novag_sexpert.lay @@ -397,7 +397,7 @@ license:CC0 - + diff --git a/src/mame/layout/novag_sforte.lay b/src/mame/layout/novag_sforte.lay index 4b01c8c22bd..348c9849114 100644 --- a/src/mame/layout/novag_sforte.lay +++ b/src/mame/layout/novag_sforte.lay @@ -391,7 +391,7 @@ license:CC0 - + diff --git a/src/mame/layout/novag_supercon.lay b/src/mame/layout/novag_supercon.lay index f314e53e628..3d45f8e75c4 100644 --- a/src/mame/layout/novag_supercon.lay +++ b/src/mame/layout/novag_supercon.lay @@ -423,7 +423,7 @@ license:CC0 - + @@ -596,7 +596,7 @@ license:CC0 - + @@ -609,7 +609,7 @@ license:CC0 - + @@ -641,13 +641,13 @@ license:CC0 - - + + - - + + -- cgit v1.2.3