novag6520: added rs232 port (untested) (nw)

This commit is contained in:
hap 2017-01-15 10:28:31 +01:00
parent f740593989
commit a4e383ee2c
3 changed files with 16 additions and 6 deletions

View File

@ -630,6 +630,10 @@ static MACHINE_CONFIG_DERIVED( eagv11, eagv7 )
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68EC040, XTAL_36MHz*2*2) // wrong! should be M68EC060 @ 72MHz
MCFG_CPU_PROGRAM_MAP(eagv11_map)
MCFG_CPU_PERIODIC_INT_DRIVER(fidelz80base_state, irq2_line_hold, 600)
MCFG_DEVICE_REMOVE("irq_on") // 8.25us is too long
MCFG_DEVICE_REMOVE("irq_off")
MACHINE_CONFIG_END

View File

@ -7329,7 +7329,8 @@ static INPUT_PORTS_START( ss7in1 )
PORT_CONFNAME( 0x01, 0x00, "Players" )
PORT_CONFSETTING( 0x00, "1" )
PORT_CONFSETTING( 0x01, "2" )
PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED ) // ?
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static MACHINE_CONFIG_START( ss7in1, ss7in1_state )

View File

@ -14,7 +14,6 @@
- cforteb emulation (was initially sforteba romset)
- verify supercon IRQ and beeper frequency
- why is sforte H and 1 leds always on?
- sforte/sexpert RS232 port (only works in version C?)
- printer port
******************************************************************************
@ -43,7 +42,7 @@ Super Expert (model 878/887/902):
- 8KB RAM battery-backed, 3*32KB ROM
- HD44780 LCD controller (16x1)
- beeper(32KHz/32), IRQ(32KHz/128) via MC14060
- optional R65C51P2 ACIA @ 1.8432MHz, for IBM PC interface
- optional R65C51P2 ACIA @ 1.8432MHz, for IBM PC interface (only works in version C?)
- printer port, magnetic sensors, 8*8 chessboard leds
I/O via TTL, hardware design was very awkward.
@ -55,6 +54,7 @@ instead of magnet sensors.
#include "emu.h"
#include "cpu/m6502/m6502.h"
#include "cpu/m6502/m65c02.h"
#include "bus/rs232/rs232.h"
#include "machine/mos6551.h"
#include "machine/nvram.h"
#include "sound/beep.h"
@ -506,7 +506,7 @@ static ADDRESS_MAP_START( sforte_map, AS_PROGRAM, 8, novag6502_state )
AM_RANGE(0x1ff3, 0x1ff3) AM_WRITENOP // printer
AM_RANGE(0x1ff6, 0x1ff6) AM_WRITE(sforte_lcd_control_w)
AM_RANGE(0x1ff7, 0x1ff7) AM_WRITE(sforte_lcd_data_w)
AM_RANGE(0x1ffc, 0x1fff) AM_DEVREADWRITE("rs232", mos6551_device, read, write)
AM_RANGE(0x1ffc, 0x1fff) AM_DEVREADWRITE("acia", mos6551_device, read, write)
AM_RANGE(0x2000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
@ -840,10 +840,15 @@ static MACHINE_CONFIG_START( sexpert, novag6502_state )
MCFG_TIMER_START_DELAY(attotime::from_hz(XTAL_32_768kHz/128) - attotime::from_nsec(21500)) // active for 21.5us
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_off", novag6502_state, irq_off, attotime::from_hz(XTAL_32_768kHz/128))
MCFG_DEVICE_ADD("rs232", MOS6551, 0) // R65C51P2
MCFG_DEVICE_ADD("acia", MOS6551, 0) // R65C51P2 - RTS to CTS, DCD to GND
MCFG_MOS6551_XTAL(XTAL_1_8432MHz)
MCFG_MOS6551_IRQ_HANDLER(INPUTLINE("maincpu", M6502_NMI_LINE))
MCFG_MOS6551_RTS_HANDLER(DEVWRITELINE("rs232", mos6551_device, write_cts))
MCFG_MOS6551_RTS_HANDLER(DEVWRITELINE("acia", mos6551_device, write_cts))
MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_MOS6551_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", mos6551_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("acia", mos6551_device, write_dsr))
MCFG_NVRAM_ADD_1FILL("nvram")