diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp index ab30986f9d7..fd59a10968c 100644 --- a/src/mame/drivers/fidel68k.cpp +++ b/src/mame/drivers/fidel68k.cpp @@ -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 diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index de0275d6ff3..e14282582f9 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -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 ) diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp index b29472d7f0b..2aff0a8543b 100644 --- a/src/mame/drivers/novag6502.cpp +++ b/src/mame/drivers/novag6502.cpp @@ -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")