diff --git a/src/devices/bus/saitek_osa/maestro.cpp b/src/devices/bus/saitek_osa/maestro.cpp index 96cf1227cda..2f9f23268f7 100644 --- a/src/devices/bus/saitek_osa/maestro.cpp +++ b/src/devices/bus/saitek_osa/maestro.cpp @@ -330,14 +330,7 @@ void saitekosa_maestro_device::ack_w(int state) u32 saitekosa_analyst_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { - static const rgb_t colors[3] = - { - rgb_t(135, 143, 145), // lcd pixel off - rgb_t(51, 42, 43), // lcd pixel on - rgb_t(147, 155, 158) // background - }; - - bitmap.fill(colors[2], cliprect); + bitmap.fill(0xffffff, cliprect); const u8 *render = m_lcd->render(); // draw lcd characters @@ -346,7 +339,7 @@ u32 saitekosa_analyst_device::screen_update(screen_device &screen, bitmap_rgb32 const u8 *src = render + 16 * ((i & 7) + BIT(i, 3) * 40); for (int y = 0; y < 8; y++) for (int x = 0; x < 5; x++) - bitmap.pix(y + 4, i * 6 + x + 2) = colors[BIT(src[y], 4 - x)]; + bitmap.pix(y + 4, i * 6 + x + 2) = BIT(src[y], 4 - x) ? 0x282828 : 0xe8e8e8; } return 0; diff --git a/src/mame/drivers/saitek_leonardo.cpp b/src/mame/drivers/saitek_leonardo.cpp index 6e1329df7af..bee7b2ded06 100644 --- a/src/mame/drivers/saitek_leonardo.cpp +++ b/src/mame/drivers/saitek_leonardo.cpp @@ -61,6 +61,7 @@ TODO: #include "speaker.h" // internal artwork +#include "saitek_galileo.lh" // clickable #include "saitek_leonardo.lh" // clickable @@ -79,8 +80,9 @@ public: m_inputs(*this, "IN.%u", 0) { } - void leo(machine_config &config); - void leoa(machine_config &config); + void leonardo(machine_config &config); + void leonardoa(machine_config &config); + void galileo(machine_config &config); protected: virtual void machine_start() override; @@ -351,7 +353,7 @@ INPUT_PORTS_END Machine Configs ******************************************************************************/ -void leo_state::leo(machine_config &config) +void leo_state::leonardo(machine_config &config) { // basic machine hardware HD6303Y(config, m_maincpu, 12_MHz_XTAL); @@ -383,12 +385,16 @@ void leo_state::leo(machine_config &config) m_expansion->rts_handler().set(FUNC(leo_state::exp_rts_w)); } -void leo_state::leoa(machine_config &config) +void leo_state::leonardoa(machine_config &config) { - leo(config); + leonardo(config); + m_board->set_delay(attotime::from_msec(250)); // slower chessboard response? +} - // slower chessboard response? - m_board->set_delay(attotime::from_msec(250)); +void leo_state::galileo(machine_config &config) +{ + leonardo(config); + config.set_default_layout(layout_saitek_galileo); } @@ -420,8 +426,8 @@ ROM_END Drivers ******************************************************************************/ -// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS -CONS( 1986, leonardo, 0, 0, leo, leonardo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) -CONS( 1986, leonardoa, leonardo, 0, leoa, leonardo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) +// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS +CONS( 1986, leonardo, 0, 0, leonardo, leonardo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) +CONS( 1986, leonardoa, leonardo, 0, leonardoa, leonardo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) -CONS( 1988, galileo, leonardo, 0, leo, galileo, leo_state, empty_init, "Saitek", "Kasparov Galileo", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) +CONS( 1988, galileo, leonardo, 0, galileo, galileo, leo_state, empty_init, "Saitek", "Kasparov Galileo", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/saitek_renaissance.cpp b/src/mame/drivers/saitek_renaissance.cpp index f71d5bba39a..8964bcef6cf 100644 --- a/src/mame/drivers/saitek_renaissance.cpp +++ b/src/mame/drivers/saitek_renaissance.cpp @@ -38,6 +38,7 @@ TODO: #include "video/pwm.h" #include "video/sed1500.h" +#include "render.h" #include "screen.h" #include "speaker.h" @@ -63,6 +64,8 @@ public: m_out_lcd(*this, "s%u.%u", 0U, 0U) { } + template DECLARE_INPUT_CHANGED_MEMBER(change_view); + // machine configs void ren(machine_config &config); @@ -113,6 +116,16 @@ void ren_state::machine_start() save_item(NAME(m_led_data)); } +template INPUT_CHANGED_MEMBER(ren_state::change_view) +{ + if (oldval && !newval) + { + // meant for changing lcd drawer view + render_target *target = machine().render().first_target(); + target->set_view(target->view() + N); + } +} + /****************************************************************************** @@ -317,6 +330,10 @@ static INPUT_PORTS_START( ren ) PORT_START("RESET") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("Go") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F1) PORT_NAME("ACL") + + PORT_START("VIEW") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CHANGED_MEMBER(DEVICE_SELF, ren_state, change_view<+1>, 0) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CHANGED_MEMBER(DEVICE_SELF, ren_state, change_view<-1>, 0) INPUT_PORTS_END diff --git a/src/mame/layout/saitek_galileo.lay b/src/mame/layout/saitek_galileo.lay new file mode 100644 index 00000000000..38b7f53d17e --- /dev/null +++ b/src/mame/layout/saitek_galileo.lay @@ -0,0 +1,669 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/saitek_leonardo.lay b/src/mame/layout/saitek_leonardo.lay index 615bed3f4e0..a616d0092ee 100644 --- a/src/mame/layout/saitek_leonardo.lay +++ b/src/mame/layout/saitek_leonardo.lay @@ -7,6 +7,7 @@ license:CC0 + @@ -504,6 +505,7 @@ license:CC0 + diff --git a/src/mame/layout/saitek_renaissance.lay b/src/mame/layout/saitek_renaissance.lay index ab5f00c2777..b48fe517878 100644 --- a/src/mame/layout/saitek_renaissance.lay +++ b/src/mame/layout/saitek_renaissance.lay @@ -14,6 +14,10 @@ license:CC0 + + + + @@ -476,6 +480,9 @@ license:CC0 + + + @@ -521,41 +528,41 @@ license:CC0 - + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - + + - - + + - + @@ -569,74 +576,106 @@ license:CC0 - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + - - + + + - - + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + +