mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
novag*: small misc refactor
This commit is contained in:
parent
9a29a10341
commit
3de5b71893
@ -504,23 +504,23 @@ authors:hap
|
||||
<element ref="text_h"><bounds x="76" y="84.25" width="2" height="2" /></element>
|
||||
|
||||
<!-- chessboard leds -->
|
||||
<element name="7.9" ref="ledr"><bounds x="0.5" y="7.5" width="2" height="1" /></element>
|
||||
<element name="6.9" ref="ledr"><bounds x="0.5" y="17.5" width="2" height="1" /></element>
|
||||
<element name="5.9" ref="ledr"><bounds x="0.5" y="27.5" width="2" height="1" /></element>
|
||||
<element name="4.9" ref="ledr"><bounds x="0.5" y="37.5" width="2" height="1" /></element>
|
||||
<element name="3.9" ref="ledr"><bounds x="0.5" y="47.5" width="2" height="1" /></element>
|
||||
<element name="2.9" ref="ledr"><bounds x="0.5" y="57.5" width="2" height="1" /></element>
|
||||
<element name="1.9" ref="ledr"><bounds x="0.5" y="67.5" width="2" height="1" /></element>
|
||||
<element name="0.9" ref="ledr"><bounds x="0.5" y="77.5" width="2" height="1" /></element>
|
||||
<element name="7.1" ref="ledr"><bounds x="0.5" y="7.5" width="2" height="1" /></element>
|
||||
<element name="6.1" ref="ledr"><bounds x="0.5" y="17.5" width="2" height="1" /></element>
|
||||
<element name="5.1" ref="ledr"><bounds x="0.5" y="27.5" width="2" height="1" /></element>
|
||||
<element name="4.1" ref="ledr"><bounds x="0.5" y="37.5" width="2" height="1" /></element>
|
||||
<element name="3.1" ref="ledr"><bounds x="0.5" y="47.5" width="2" height="1" /></element>
|
||||
<element name="2.1" ref="ledr"><bounds x="0.5" y="57.5" width="2" height="1" /></element>
|
||||
<element name="1.1" ref="ledr"><bounds x="0.5" y="67.5" width="2" height="1" /></element>
|
||||
<element name="0.1" ref="ledr"><bounds x="0.5" y="77.5" width="2" height="1" /></element>
|
||||
|
||||
<element name="7.8" ref="ledr"><bounds x="8" y="84.5" width="2" height="1" /></element>
|
||||
<element name="6.8" ref="ledr"><bounds x="18" y="84.5" width="2" height="1" /></element>
|
||||
<element name="5.8" ref="ledr"><bounds x="28" y="84.5" width="2" height="1" /></element>
|
||||
<element name="4.8" ref="ledr"><bounds x="38" y="84.5" width="2" height="1" /></element>
|
||||
<element name="3.8" ref="ledr"><bounds x="48" y="84.5" width="2" height="1" /></element>
|
||||
<element name="2.8" ref="ledr"><bounds x="58" y="84.5" width="2" height="1" /></element>
|
||||
<element name="1.8" ref="ledr"><bounds x="68" y="84.5" width="2" height="1" /></element>
|
||||
<element name="0.8" ref="ledr"><bounds x="78" y="84.5" width="2" height="1" /></element>
|
||||
<element name="7.0" ref="ledr"><bounds x="8" y="84.5" width="2" height="1" /></element>
|
||||
<element name="6.0" ref="ledr"><bounds x="18" y="84.5" width="2" height="1" /></element>
|
||||
<element name="5.0" ref="ledr"><bounds x="28" y="84.5" width="2" height="1" /></element>
|
||||
<element name="4.0" ref="ledr"><bounds x="38" y="84.5" width="2" height="1" /></element>
|
||||
<element name="3.0" ref="ledr"><bounds x="48" y="84.5" width="2" height="1" /></element>
|
||||
<element name="2.0" ref="ledr"><bounds x="58" y="84.5" width="2" height="1" /></element>
|
||||
<element name="1.0" ref="ledr"><bounds x="68" y="84.5" width="2" height="1" /></element>
|
||||
<element name="0.0" ref="ledr"><bounds x="78" y="84.5" width="2" height="1" /></element>
|
||||
|
||||
<!-- lcd panel -->
|
||||
<element ref="whitew"><bounds x="47.75" y="89" width="25.25" height="5" /></element>
|
@ -50,7 +50,6 @@ public:
|
||||
m_inputs(*this, "IN.%u", 0)
|
||||
{ }
|
||||
|
||||
// machine configs
|
||||
void cexpert(machine_config &config);
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(change_cpu_freq);
|
||||
@ -67,13 +66,10 @@ private:
|
||||
required_ioport_array<8> m_inputs;
|
||||
|
||||
u8 m_inp_mux = 0;
|
||||
u8 m_led_select = 0;
|
||||
|
||||
// address maps
|
||||
void main_map(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
void update_display();
|
||||
void mux_w(u8 data);
|
||||
void control_w(u8 data);
|
||||
u8 input1_r();
|
||||
@ -82,9 +78,7 @@ private:
|
||||
|
||||
void cexpert_state::machine_start()
|
||||
{
|
||||
// register for savestates
|
||||
save_item(NAME(m_inp_mux));
|
||||
save_item(NAME(m_led_select));
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER(cexpert_state::change_cpu_freq)
|
||||
@ -99,16 +93,11 @@ INPUT_CHANGED_MEMBER(cexpert_state::change_cpu_freq)
|
||||
I/O
|
||||
*******************************************************************************/
|
||||
|
||||
void cexpert_state::update_display()
|
||||
{
|
||||
m_display->matrix(1 << m_led_select, m_inp_mux);
|
||||
}
|
||||
|
||||
void cexpert_state::mux_w(u8 data)
|
||||
{
|
||||
// d0-d7: input mux, led data
|
||||
m_inp_mux = data;
|
||||
update_display();
|
||||
m_display->write_mx(data);
|
||||
}
|
||||
|
||||
void cexpert_state::control_w(u8 data)
|
||||
@ -116,11 +105,11 @@ void cexpert_state::control_w(u8 data)
|
||||
// d0-d2: clock/printer?
|
||||
|
||||
// d3: enable beeper
|
||||
m_beeper->set_state(data >> 3 & 1);
|
||||
m_beeper->set_state(BIT(data, 3));
|
||||
|
||||
// d4-d7: 74145 to led select
|
||||
m_led_select = data >> 4 & 0xf;
|
||||
update_display();
|
||||
u8 sel = data >> 4 & 0xf;
|
||||
m_display->write_my(1 << sel);
|
||||
}
|
||||
|
||||
u8 cexpert_state::input1_r()
|
||||
@ -145,7 +134,6 @@ u8 cexpert_state::input2_r()
|
||||
data |= m_inputs[i]->read() << 6;
|
||||
|
||||
// other: ?
|
||||
|
||||
return ~data;
|
||||
}
|
||||
|
||||
|
@ -93,7 +93,7 @@ void cforte_state::machine_start()
|
||||
I/O
|
||||
*******************************************************************************/
|
||||
|
||||
// HLCD0538
|
||||
// LCD
|
||||
|
||||
void cforte_state::lcd_output_w(u64 data)
|
||||
{
|
||||
@ -115,7 +115,7 @@ void cforte_state::lcd_output_w(u64 data)
|
||||
}
|
||||
|
||||
|
||||
// TTL/generic
|
||||
// misc
|
||||
|
||||
void cforte_state::update_display()
|
||||
{
|
||||
@ -135,9 +135,9 @@ void cforte_state::control_w(u8 data)
|
||||
// d0: HLCD0538 data in
|
||||
// d1: HLCD0538 clk
|
||||
// d2: HLCD0538 lcd
|
||||
m_lcd->data_w(data & 1);
|
||||
m_lcd->clk_w(data >> 1 & 1);
|
||||
m_lcd->lcd_w(data >> 2 & 1);
|
||||
m_lcd->data_w(BIT(data, 0));
|
||||
m_lcd->clk_w(BIT(data, 1));
|
||||
m_lcd->lcd_w(BIT(data, 2));
|
||||
|
||||
// d3: ? (goes high at power-off NMI)
|
||||
|
||||
@ -146,7 +146,7 @@ void cforte_state::control_w(u8 data)
|
||||
update_display();
|
||||
|
||||
// d7: enable beeper
|
||||
m_beeper->set_state(data >> 7 & 1);
|
||||
m_beeper->set_state(BIT(data, 7));
|
||||
}
|
||||
|
||||
u8 cforte_state::input1_r()
|
||||
@ -171,7 +171,6 @@ u8 cforte_state::input2_r()
|
||||
data |= m_inputs[i]->read() << 6;
|
||||
|
||||
// other: ?
|
||||
|
||||
return ~data;
|
||||
}
|
||||
|
||||
|
@ -129,7 +129,6 @@ private:
|
||||
|
||||
bool m_power = false;
|
||||
u8 m_inp_mux = 0;
|
||||
u8 m_led_select = 0;
|
||||
|
||||
// address maps
|
||||
void const_map(address_map &map);
|
||||
@ -137,7 +136,6 @@ private:
|
||||
void sconst_map(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
void update_display();
|
||||
void mux_w(u8 data);
|
||||
void control_w(u8 data);
|
||||
u8 input1_r();
|
||||
@ -149,7 +147,6 @@ void const_state::machine_start()
|
||||
// register for savestates
|
||||
save_item(NAME(m_power));
|
||||
save_item(NAME(m_inp_mux));
|
||||
save_item(NAME(m_led_select));
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER(const_state::power_off)
|
||||
@ -175,28 +172,23 @@ void const_state::init_const()
|
||||
I/O
|
||||
*******************************************************************************/
|
||||
|
||||
void const_state::update_display()
|
||||
{
|
||||
m_display->matrix(m_led_select, m_inp_mux);
|
||||
}
|
||||
|
||||
void const_state::mux_w(u8 data)
|
||||
{
|
||||
// d0-d7: input mux, led data
|
||||
m_inp_mux = data;
|
||||
update_display();
|
||||
m_display->write_mx(data);
|
||||
}
|
||||
|
||||
void const_state::control_w(u8 data)
|
||||
{
|
||||
// d0-d2: ?
|
||||
// d3: ? (goes high at power-off NMI)
|
||||
|
||||
// d4-d6: select led row
|
||||
m_led_select = data >> 4 & 7;
|
||||
update_display();
|
||||
m_display->write_my(data >> 4 & 7);
|
||||
|
||||
// d7: enable beeper
|
||||
m_beeper->set_state(data >> 7 & 1);
|
||||
m_beeper->set_state(BIT(data, 7));
|
||||
}
|
||||
|
||||
u8 const_state::input1_r()
|
||||
|
@ -35,8 +35,8 @@ Scorpio 68000 hardware is very similar, but with chessboard buttons and side led
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
#include "novag_diablo68k.lh"
|
||||
#include "novag_scorpio68k.lh"
|
||||
#include "novag_diablo68.lh"
|
||||
#include "novag_scorpio68.lh"
|
||||
|
||||
|
||||
namespace {
|
||||
@ -58,8 +58,8 @@ public:
|
||||
{ }
|
||||
|
||||
// machine configs
|
||||
void diablo68k(machine_config &config);
|
||||
void scorpio68k(machine_config &config);
|
||||
void diablo68(machine_config &config);
|
||||
void scorpio68(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -77,18 +77,16 @@ private:
|
||||
required_ioport_array<8> m_inputs;
|
||||
|
||||
u8 m_inp_mux = 0;
|
||||
u8 m_led_data = 0;
|
||||
u8 m_led_side = 0;
|
||||
u8 m_lcd_control = 0;
|
||||
u8 m_lcd_data = 0;
|
||||
|
||||
// address maps
|
||||
void diablo68k_map(address_map &map);
|
||||
void scorpio68k_map(address_map &map);
|
||||
void diablo68_map(address_map &map);
|
||||
void scorpio68_map(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
void update_display();
|
||||
void control_w(u8 data);
|
||||
void control2_w(u8 data);
|
||||
void lcd_data_w(u8 data);
|
||||
void leds_w(u8 data);
|
||||
u8 input1_r();
|
||||
@ -102,8 +100,6 @@ void diablo_state::machine_start()
|
||||
{
|
||||
// register for savestates
|
||||
save_item(NAME(m_inp_mux));
|
||||
save_item(NAME(m_led_data));
|
||||
save_item(NAME(m_led_side));
|
||||
save_item(NAME(m_lcd_control));
|
||||
save_item(NAME(m_lcd_data));
|
||||
}
|
||||
@ -137,14 +133,7 @@ HD44780_PIXEL_UPDATE(diablo_state::lcd_pixel_update)
|
||||
}
|
||||
|
||||
|
||||
// TTL
|
||||
|
||||
void diablo_state::update_display()
|
||||
{
|
||||
// update leds (lcd is done separately)
|
||||
u8 led_select = 1 << m_inp_mux;
|
||||
m_display->matrix(led_select, m_led_side << 8 | m_led_data);
|
||||
}
|
||||
// misc
|
||||
|
||||
void diablo_state::control_w(u8 data)
|
||||
{
|
||||
@ -155,14 +144,19 @@ void diablo_state::control_w(u8 data)
|
||||
m_lcd_control = data & 3;
|
||||
|
||||
// d7: enable beeper
|
||||
m_beeper->set_state(data >> 7 & 1);
|
||||
|
||||
// d2,d3: side leds(scorpio)
|
||||
m_led_side = ~data >> 2 & 3;
|
||||
m_beeper->set_state(BIT(data, 7));
|
||||
|
||||
// d4-d6: input mux, led select
|
||||
m_inp_mux = data >> 4 & 7;
|
||||
update_display();
|
||||
m_display->write_my(1 << m_inp_mux);
|
||||
}
|
||||
|
||||
void diablo_state::control2_w(u8 data)
|
||||
{
|
||||
control_w(data);
|
||||
|
||||
// d2,d3: side leds (scorpio68)
|
||||
m_display->write_mx(~data >> 2 & 3);
|
||||
}
|
||||
|
||||
void diablo_state::lcd_data_w(u8 data)
|
||||
@ -173,9 +167,8 @@ void diablo_state::lcd_data_w(u8 data)
|
||||
|
||||
void diablo_state::leds_w(u8 data)
|
||||
{
|
||||
// d0-d7: chessboard leds
|
||||
m_led_data = data;
|
||||
update_display();
|
||||
// d0-d7: chessboard leds (diablo68)
|
||||
m_display->write_mx(data);
|
||||
}
|
||||
|
||||
u8 diablo_state::input1_r()
|
||||
@ -197,7 +190,7 @@ u8 diablo_state::input2_r()
|
||||
Address Maps
|
||||
*******************************************************************************/
|
||||
|
||||
void diablo_state::diablo68k_map(address_map &map)
|
||||
void diablo_state::diablo68_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x00ffff).rom();
|
||||
map(0x200000, 0x20ffff).rom().region("maincpu", 0x10000);
|
||||
@ -211,10 +204,10 @@ void diablo_state::diablo68k_map(address_map &map)
|
||||
map(0xff8000, 0xffbfff).ram().share("nvram");
|
||||
}
|
||||
|
||||
void diablo_state::scorpio68k_map(address_map &map)
|
||||
void diablo_state::scorpio68_map(address_map &map)
|
||||
{
|
||||
diablo68k_map(map);
|
||||
map(0x380000, 0x380000).w(FUNC(diablo_state::control_w));
|
||||
diablo68_map(map);
|
||||
map(0x380000, 0x380000).w(FUNC(diablo_state::control2_w));
|
||||
map(0x3c0000, 0x3c0001).nopw();
|
||||
}
|
||||
|
||||
@ -224,7 +217,7 @@ void diablo_state::scorpio68k_map(address_map &map)
|
||||
Input Ports
|
||||
*******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( diablo68k )
|
||||
static INPUT_PORTS_START( diablo68 )
|
||||
PORT_START("IN.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("Go")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("Take Back / Analyze Games")
|
||||
@ -272,12 +265,12 @@ INPUT_PORTS_END
|
||||
Machine Configs
|
||||
*******************************************************************************/
|
||||
|
||||
void diablo_state::diablo68k(machine_config &config)
|
||||
void diablo_state::diablo68(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M68000(config, m_maincpu, 16_MHz_XTAL);
|
||||
m_maincpu->set_interrupt_mixer(false);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &diablo_state::diablo68k_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &diablo_state::diablo68_map);
|
||||
|
||||
auto &irq_clock(CLOCK(config, "irq_clock", 32.768_kHz_XTAL/128)); // 256Hz
|
||||
irq_clock.set_pulse_width(attotime::from_nsec(1380)); // active for 1.38us
|
||||
@ -305,8 +298,8 @@ void diablo_state::diablo68k(machine_config &config)
|
||||
m_lcd->set_lcd_size(2, 8);
|
||||
m_lcd->set_pixel_update_cb(FUNC(diablo_state::lcd_pixel_update));
|
||||
|
||||
PWM_DISPLAY(config, m_display).set_size(8, 8+2);
|
||||
config.set_default_layout(layout_novag_diablo68k);
|
||||
PWM_DISPLAY(config, m_display).set_size(8, 8);
|
||||
config.set_default_layout(layout_novag_diablo68);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
@ -325,17 +318,18 @@ void diablo_state::diablo68k(machine_config &config)
|
||||
m_rs232->dsr_handler().set("acia", FUNC(mos6551_device::write_dsr));
|
||||
}
|
||||
|
||||
void diablo_state::scorpio68k(machine_config &config)
|
||||
void diablo_state::scorpio68(machine_config &config)
|
||||
{
|
||||
diablo68k(config);
|
||||
diablo68(config);
|
||||
|
||||
// basic machine hardware
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &diablo_state::scorpio68k_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &diablo_state::scorpio68_map);
|
||||
|
||||
m_board->set_type(sensorboard_device::BUTTONS);
|
||||
m_board->set_delay(attotime::from_msec(150));
|
||||
|
||||
config.set_default_layout(layout_novag_scorpio68k);
|
||||
m_display->set_width(2);
|
||||
config.set_default_layout(layout_novag_scorpio68);
|
||||
}
|
||||
|
||||
|
||||
@ -381,9 +375,9 @@ ROM_END
|
||||
Drivers
|
||||
*******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
SYST( 1991, diablo68, 0, 0, diablo68k, diablo68k, diablo_state, empty_init, "Novag Industries", "Diablo 68000 (set 1)", MACHINE_SUPPORTS_SAVE )
|
||||
SYST( 1991, diablo68a, diablo68, 0, diablo68k, diablo68k, diablo_state, empty_init, "Novag Industries", "Diablo 68000 (set 2)", MACHINE_SUPPORTS_SAVE )
|
||||
SYST( 1991, diablo68b, diablo68, 0, diablo68k, diablo68k, diablo_state, empty_init, "Novag Industries", "Diablo 68000 (set 3)", MACHINE_SUPPORTS_SAVE )
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
SYST( 1991, diablo68, 0, 0, diablo68, diablo68, diablo_state, empty_init, "Novag Industries", "Diablo 68000 (set 1)", MACHINE_SUPPORTS_SAVE )
|
||||
SYST( 1991, diablo68a, diablo68, 0, diablo68, diablo68, diablo_state, empty_init, "Novag Industries", "Diablo 68000 (set 2)", MACHINE_SUPPORTS_SAVE )
|
||||
SYST( 1991, diablo68b, diablo68, 0, diablo68, diablo68, diablo_state, empty_init, "Novag Industries", "Diablo 68000 (set 3)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
SYST( 1991, scorpio68, 0, 0, scorpio68k, diablo68k, diablo_state, empty_init, "Novag Industries", "Scorpio 68000", MACHINE_SUPPORTS_SAVE )
|
||||
SYST( 1991, scorpio68, 0, 0, scorpio68, diablo68, diablo_state, empty_init, "Novag Industries", "Scorpio 68000", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -103,7 +103,6 @@ protected:
|
||||
required_ioport_array<8> m_inputs;
|
||||
|
||||
u8 m_inp_mux = 0;
|
||||
u8 m_led_data = 0;
|
||||
u8 m_lcd_control = 0;
|
||||
u8 m_lcd_data = 0;
|
||||
|
||||
@ -111,7 +110,6 @@ protected:
|
||||
void sexpert_map(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
void update_display();
|
||||
virtual void lcd_control_w(u8 data);
|
||||
virtual void lcd_data_w(u8 data);
|
||||
void leds_w(u8 data);
|
||||
@ -127,7 +125,6 @@ void sexpert_state::machine_start()
|
||||
{
|
||||
// register for savestates
|
||||
save_item(NAME(m_inp_mux));
|
||||
save_item(NAME(m_led_data));
|
||||
save_item(NAME(m_lcd_control));
|
||||
save_item(NAME(m_lcd_data));
|
||||
}
|
||||
@ -213,13 +210,7 @@ HD44780_PIXEL_UPDATE(sexpert_state::lcd_pixel_update)
|
||||
}
|
||||
|
||||
|
||||
// TTL/generic
|
||||
|
||||
void sexpert_state::update_display()
|
||||
{
|
||||
// update leds (lcd is done separately)
|
||||
m_display->matrix(m_inp_mux, m_led_data);
|
||||
}
|
||||
// common
|
||||
|
||||
void sexpert_state::lcd_control_w(u8 data)
|
||||
{
|
||||
@ -240,8 +231,7 @@ void sexpert_state::lcd_data_w(u8 data)
|
||||
void sexpert_state::leds_w(u8 data)
|
||||
{
|
||||
// d0-d7: chessboard leds
|
||||
m_led_data = data;
|
||||
update_display();
|
||||
m_display->write_mx(data);
|
||||
}
|
||||
|
||||
void sexpert_state::mux_w(u8 data)
|
||||
@ -250,11 +240,11 @@ void sexpert_state::mux_w(u8 data)
|
||||
m_rombank->set_entry(data & 1);
|
||||
|
||||
// d3: enable beeper
|
||||
m_beeper->set_state(data >> 3 & 1);
|
||||
m_beeper->set_state(BIT(data, 3));
|
||||
|
||||
// d4-d7: 74145 to input mux/led select
|
||||
m_inp_mux = 1 << (data >> 4 & 0xf) & 0xff;
|
||||
update_display();
|
||||
m_display->write_my(m_inp_mux);
|
||||
}
|
||||
|
||||
u8 sexpert_state::input1_r()
|
||||
@ -301,10 +291,10 @@ void sforte_state::lcd_data_w(u8 data)
|
||||
// d0-d2: 74145 to input mux/led select
|
||||
// 74145 D from lcd control d2 (HD44780 E)
|
||||
m_inp_mux = 1 << ((m_lcd_control << 1 & 8) | (data & 7));
|
||||
m_display->write_my(m_inp_mux);
|
||||
|
||||
// d5,d6: led data
|
||||
m_led_data = ~data >> 5 & 3;
|
||||
update_display();
|
||||
m_display->write_mx(~data >> 5 & 3);
|
||||
|
||||
// d7: enable beeper
|
||||
// capacitor for noise filter (sound glitches otherwise)
|
||||
@ -341,10 +331,7 @@ void sexpert_state::sexpert_map(address_map &map)
|
||||
void sforte_state::sforte_map(address_map &map)
|
||||
{
|
||||
sexpert_map(map);
|
||||
map(0x1ff4, 0x1ff4).nopw();
|
||||
map(0x1ff5, 0x1ff5).nopw();
|
||||
map(0x1ff6, 0x1ff6).w(FUNC(sforte_state::lcd_control_w));
|
||||
map(0x1ff7, 0x1ff7).w(FUNC(sforte_state::lcd_data_w));
|
||||
map(0x1ff4, 0x1ff5).nopw();
|
||||
}
|
||||
|
||||
|
||||
@ -483,6 +470,7 @@ void sforte_state::sforte(machine_config &config)
|
||||
|
||||
m_board->set_type(sensorboard_device::BUTTONS);
|
||||
|
||||
m_display->set_width(2);
|
||||
config.set_default_layout(layout_novag_sforte);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user