From bf11750f2a78d0d601b1a4f5264b7ff4e8147047 Mon Sep 17 00:00:00 2001 From: hap Date: Mon, 27 Feb 2017 18:49:38 +0100 Subject: novag6502: workaround for unknown cforte lcd (nw) --- src/mame/drivers/novag6502.cpp | 12 ++++++++---- src/mame/includes/novagbase.h | 2 ++ src/mame/layout/novag_cforte.lay | 20 ++++++++++---------- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp index ca8536910a1..dcfccf9c087 100644 --- a/src/mame/drivers/novag6502.cpp +++ b/src/mame/drivers/novag6502.cpp @@ -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 ) diff --git a/src/mame/includes/novagbase.h b/src/mame/includes/novagbase.h index 9bbefb01c45..1acf9c51005 100644 --- a/src/mame/includes/novagbase.h +++ b/src/mame/includes/novagbase.h @@ -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 m_maincpu; optional_device m_beeper; optional_device m_lcd; + optional_shared_ptr m_nvram; optional_ioport_array<8> m_inp_matrix; // max 8 // misc common diff --git a/src/mame/layout/novag_cforte.lay b/src/mame/layout/novag_cforte.lay index 0c8416e8024..2c8fe89ed0d 100644 --- a/src/mame/layout/novag_cforte.lay +++ b/src/mame/layout/novag_cforte.lay @@ -324,16 +324,16 @@ - - - - - - - - - - + + + + + + + + + + -- cgit v1.2.3