From c12e993217929a54ab0bb0a4542f5fa588563ec3 Mon Sep 17 00:00:00 2001 From: hap Date: Sun, 26 Feb 2017 19:52:00 +0100 Subject: novag6502: update cforte todo note (nw) --- src/mame/drivers/novag6502.cpp | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp index 93b688ba3d3..3f1a99e59b7 100644 --- a/src/mame/drivers/novag6502.cpp +++ b/src/mame/drivers/novag6502.cpp @@ -11,8 +11,8 @@ such as Arena(in editmode). TODO: - - cforteb lcd (chip unknown, probably serially via 1f00 w) - - verify supercon IRQ and beeper frequency + - cforte lcd(chip unknown), and ACIA? + - verify supercon/cforte IRQ and beeper frequency - sforte irq active time (21.5us is too long) - sforte/sexpert led handling is correct? - printer port @@ -86,6 +86,9 @@ public: DECLARE_READ8_MEMBER(supercon_input1_r); DECLARE_READ8_MEMBER(supercon_input2_r); + // Constellation Forte + DECLARE_WRITE8_MEMBER(cforte_control_w); + // Super Expert DECLARE_WRITE8_MEMBER(sexpert_leds_w); DECLARE_WRITE8_MEMBER(sexpert_mux_w); @@ -325,6 +328,27 @@ READ8_MEMBER(novag6502_state::supercon_input2_r) +/****************************************************************************** + Constellation Forte +******************************************************************************/ + +// TTL + +WRITE8_MEMBER(novag6502_state::cforte_control_w) +{ + // TODO: unknown lcd at d0-d3, clocks it 34 times with rowselect in lower bits + // d0: lcd data + // d1: lcd clock + // d2: lcd cs + // d3: unused? + m_lcd_control = data; + + // other: same as supercon + supercon_control_w(space, offset, data); +} + + + /****************************************************************************** Super Expert ******************************************************************************/ @@ -448,6 +472,11 @@ static ADDRESS_MAP_START( supercon_map, AS_PROGRAM, 8, novag6502_state ) AM_RANGE(0x2000, 0xffff) AM_ROM ADDRESS_MAP_END +static ADDRESS_MAP_START( cforte_map, AS_PROGRAM, 8, novag6502_state ) + AM_RANGE(0x1f00, 0x1f00) AM_READWRITE(supercon_input1_r, cforte_control_w) + AM_IMPORT_FROM( supercon_map ) +ADDRESS_MAP_END + // Super Expert / Super Forte @@ -808,7 +837,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_PROGRAM_MAP(supercon_map) + MCFG_CPU_PROGRAM_MAP(cforte_map) MCFG_NVRAM_ADD_1FILL("nvram") -- cgit v1.2.3