novag6502: workaround for unknown cforte lcd (nw)

This commit is contained in:
hap 2017-02-27 18:49:38 +01:00
parent 2cead2e014
commit bf11750f2a
3 changed files with 20 additions and 14 deletions

View File

@ -346,6 +346,10 @@ WRITE8_MEMBER(novag6502_state::cforte_control_w)
// d3: unused?
m_lcd_control = data;
// here's a hacky workaround for now
for (int i = 0; i < 10; i++)
output().set_digit_value(i, BITSWAP8(m_nvram[i + 0xc2d],3,5,4,6,7,2,1,0));
// other: same as supercon
supercon_control_w(space, offset, data);
}
@ -833,7 +837,7 @@ static MACHINE_CONFIG_START( supercon, novag6502_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("beeper", BEEP, 1000) // guessed
MCFG_SOUND_ADD("beeper", BEEP, 1024) // guessed
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
@ -841,7 +845,7 @@ static MACHINE_CONFIG_START( cforte, novag6502_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M65C02, 5000000) // 5MHz
MCFG_CPU_PERIODIC_INT_DRIVER(novag6502_state, irq0_line_hold, 250) // guessed
MCFG_CPU_PERIODIC_INT_DRIVER(novag6502_state, irq0_line_hold, 256) // guessed
MCFG_CPU_PROGRAM_MAP(cforte_map)
MCFG_NVRAM_ADD_1FILL("nvram")
@ -851,7 +855,7 @@ static MACHINE_CONFIG_START( cforte, novag6502_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("beeper", BEEP, 1000) // guessed
MCFG_SOUND_ADD("beeper", BEEP, 1024) // guessed
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
@ -999,7 +1003,7 @@ ROM_END
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
CONS( 1984, supercon, 0, 0, supercon, supercon, driver_device, 0, "Novag", "Super Constellation", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1986, cforteb, 0, 0, cforte, cforte, driver_device, 0, "Novag", "Constellation Forte (version B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING )
CONS( 1986, cforteb, 0, 0, cforte, cforte, driver_device, 0, "Novag", "Constellation Forte (version B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1987, sfortea, 0, 0, sforte, sforte, novag6502_state, sexpert, "Novag", "Super Forte (version A, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1987, sfortea1, sfortea, 0, sforte, sforte, novag6502_state, sexpert, "Novag", "Super Forte (version A, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -17,6 +17,7 @@ public:
m_maincpu(*this, "maincpu"),
m_beeper(*this, "beeper"),
m_lcd(*this, "hd44780"),
m_nvram(*this, "nvram"),
m_inp_matrix(*this, "IN.%u", 0),
m_display_wait(33),
m_display_maxy(1),
@ -27,6 +28,7 @@ public:
required_device<cpu_device> m_maincpu;
optional_device<beep_device> m_beeper;
optional_device<hd44780_device> m_lcd;
optional_shared_ptr<uint8_t> m_nvram;
optional_ioport_array<8> m_inp_matrix; // max 8
// misc common

View File

@ -324,16 +324,16 @@
<!-- right side lcd panel/leds -->
<bezel element="digit"><bounds x="87.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="89.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="91.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="93.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="95.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="97.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="99.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="101.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="103.125" y="9" width="2" height="3" /></bezel>
<bezel element="digit"><bounds x="105.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit0" element="digit"><bounds x="87.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit1" element="digit"><bounds x="89.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit2" element="digit"><bounds x="91.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit3" element="digit"><bounds x="93.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit4" element="digit"><bounds x="95.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit5" element="digit"><bounds x="97.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit6" element="digit"><bounds x="99.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit7" element="digit"><bounds x="101.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit8" element="digit"><bounds x="103.125" y="9" width="2" height="3" /></bezel>
<bezel name="digit9" element="digit"><bounds x="105.125" y="9" width="2" height="3" /></bezel>
<bezel element="text_l7"><bounds x="87" y="68.64" width="14" height="1.4" /></bezel>
<bezel element="text_l8"><bounds x="87" y="76.35" width="14" height="1.4" /></bezel>