mirror of
https://github.com/holub/mame
synced 2025-05-08 15:22:28 +03:00
novag6520: added rs232 port (untested) (nw)
This commit is contained in:
parent
f740593989
commit
a4e383ee2c
@ -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
|
||||
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user