mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
Merge branch 'master' of https://github.com/mamedev/mame
This commit is contained in:
commit
abf0b1994a
@ -16,17 +16,6 @@
|
||||
#include "imagedev/floppy.h"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// INTERFACE MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_COMPUCOLOR_FLOPPY_PORT_ADD(_tag, _slot_intf, _def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, COMPUCOLOR_FLOPPY_PORT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
@ -50,6 +39,15 @@ protected:
|
||||
class compucolor_floppy_port_device : public rs232_port_device
|
||||
{
|
||||
public:
|
||||
template <typename T>
|
||||
compucolor_floppy_port_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
|
||||
: rs232_port_device(mconfig, tag, owner, 0)
|
||||
{
|
||||
option_reset();
|
||||
opts(*this);
|
||||
set_default_option(dflt);
|
||||
set_fixed(false);
|
||||
}
|
||||
compucolor_floppy_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( rw_w ) { if (m_dev) m_dev->rw_w(state); }
|
||||
|
@ -408,6 +408,9 @@ void mb87030_device::step(bool timeout)
|
||||
|
||||
case State::TransferSendAck:
|
||||
|
||||
if (!(ctrl & S_INP))
|
||||
m_temp = data;
|
||||
|
||||
scsi_set_ctrl(S_ACK, S_ACK);
|
||||
scsi_bus->ctrl_wait(scsi_refid, 0, S_REQ);
|
||||
|
||||
@ -582,7 +585,7 @@ WRITE8_MEMBER(mb87030_device::scmd_w)
|
||||
case SCMD_CMD_SET_ACK_REQ:
|
||||
LOG("%s: Set ACK/REQ\n", __FUNCTION__);
|
||||
if (m_ssts & SSTS_INIT_CONNECTED) {
|
||||
if (m_pctl & 1) {
|
||||
if (scsi_bus->ctrl_r() & S_INP) {
|
||||
m_temp = scsi_bus->data_r();
|
||||
} else {
|
||||
scsi_bus->data_w(scsi_refid, m_temp);
|
||||
@ -701,7 +704,7 @@ WRITE8_MEMBER(mb87030_device::dreg_w)
|
||||
|
||||
READ8_MEMBER(mb87030_device::temp_r)
|
||||
{
|
||||
m_temp = scsi_bus->data_r();
|
||||
step(false);
|
||||
LOG("%s: %02X\n", __FUNCTION__, m_temp);
|
||||
return m_temp;
|
||||
|
||||
|
@ -35,44 +35,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
// Set read and write callbacks to access DIO bus on IEEE-488
|
||||
#define MCFG_TMS9914_DIO_READWRITE_CB(_read , _write) \
|
||||
downcast<tms9914_device &>(*device).set_dio_read_cb(DEVCB_##_read); \
|
||||
downcast<tms9914_device &>(*device).set_dio_write_cb(DEVCB_##_write);
|
||||
|
||||
// Set write callbacks to access uniline signals on IEEE-488
|
||||
#define MCFG_TMS9914_EOI_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_EOI , DEVCB_##_write);
|
||||
|
||||
#define MCFG_TMS9914_DAV_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_DAV , DEVCB_##_write);
|
||||
|
||||
#define MCFG_TMS9914_NRFD_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_NRFD , DEVCB_##_write);
|
||||
|
||||
#define MCFG_TMS9914_NDAC_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_NDAC , DEVCB_##_write);
|
||||
|
||||
#define MCFG_TMS9914_IFC_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_IFC , DEVCB_##_write);
|
||||
|
||||
#define MCFG_TMS9914_SRQ_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_SRQ , DEVCB_##_write);
|
||||
|
||||
#define MCFG_TMS9914_ATN_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_ATN , DEVCB_##_write);
|
||||
|
||||
#define MCFG_TMS9914_REN_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_REN , DEVCB_##_write);
|
||||
|
||||
// Set write callback for INT signal
|
||||
#define MCFG_TMS9914_INT_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_int_write_cb(DEVCB_##_write);
|
||||
|
||||
// Set write callback for ACCRQ signal
|
||||
#define MCFG_TMS9914_ACCRQ_WRITE_CB(_write) \
|
||||
downcast<tms9914_device &>(*device).set_accrq_write_cb(DEVCB_##_write);
|
||||
|
||||
class tms9914_device : public device_t
|
||||
{
|
||||
public:
|
||||
@ -92,23 +54,11 @@ public:
|
||||
IEEE_488_SIGNAL_COUNT
|
||||
};
|
||||
|
||||
template <class Object> devcb_base& set_dio_read_cb(Object &&cb)
|
||||
{ return m_dio_read_func.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
template <class Object> devcb_base& set_dio_write_cb(Object &&cb)
|
||||
{ return m_dio_write_func.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
template <class Object> devcb_base& set_488_signal_write_cb(ieee_488_signal_t signal , Object &&cb)
|
||||
{ return m_signal_wr_fns[ signal ].set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
template <class Object> devcb_base& set_int_write_cb(Object &&cb)
|
||||
{ return m_int_write_func.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
template <class Object> devcb_base& set_accrq_write_cb(Object &&cb)
|
||||
{ return m_accrq_write_func.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
// Set read and write callbacks to access DIO bus on IEEE-488
|
||||
auto dio_read_cb() { return m_dio_read_func.bind(); }
|
||||
auto dio_write_cb() { return m_dio_write_func.bind(); }
|
||||
|
||||
// Set write callbacks to access uniline signals on IEEE-488
|
||||
auto eoi_write_cb() { return m_signal_wr_fns[IEEE_488_EOI].bind(); }
|
||||
auto dav_write_cb() { return m_signal_wr_fns[IEEE_488_DAV].bind(); }
|
||||
auto nrfd_write_cb() { return m_signal_wr_fns[IEEE_488_NRFD].bind(); }
|
||||
@ -118,7 +68,10 @@ public:
|
||||
auto atn_write_cb() { return m_signal_wr_fns[IEEE_488_ATN].bind(); }
|
||||
auto ren_write_cb() { return m_signal_wr_fns[IEEE_488_REN].bind(); }
|
||||
|
||||
// Set write callback for INT signal
|
||||
auto int_write_cb() { return m_int_write_func.bind(); }
|
||||
|
||||
// Set write callback for ACCRQ signal
|
||||
auto accrq_write_cb() { return m_accrq_write_func.bind(); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(eoi_w);
|
||||
|
@ -602,7 +602,7 @@ MACHINE_CONFIG_START(bw12_state::common)
|
||||
MCFG_PIT8253_CLK0(XTAL(1'843'200))
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(*this, bw12_state, pit_out0_w))
|
||||
MCFG_PIT8253_CLK1(XTAL(1'843'200))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(m_sio, z80dart_device, rxtxcb_w))
|
||||
MCFG_PIT8253_CLK2(XTAL(1'843'200))
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(*this, bw12_state, pit_out2_w))
|
||||
|
||||
@ -620,15 +620,15 @@ MACHINE_CONFIG_START(bw12_state::common)
|
||||
m_kbc->control().set(FUNC(bw12_state::ay3600_control_r));
|
||||
m_kbc->data_ready().set(FUNC(bw12_state::ay3600_data_ready_w));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
|
||||
rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, nullptr));
|
||||
rs232a.rxd_handler().set(m_sio, FUNC(z80dart_device::rxa_w));
|
||||
rs232a.dcd_handler().set(m_sio, FUNC(z80dart_device::dcda_w));
|
||||
rs232a.cts_handler().set(m_sio, FUNC(z80dart_device::ctsa_w));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, ctsb_w))
|
||||
rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr));
|
||||
rs232b.rxd_handler().set(m_sio, FUNC(z80dart_device::rxb_w));
|
||||
rs232b.dcd_handler().set(m_sio, FUNC(z80dart_device::dcdb_w));
|
||||
rs232b.cts_handler().set(m_sio, FUNC(z80dart_device::ctsb_w));
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD(CENTRONICS_TAG, CENTRONICS, centronics_devices, "printer")
|
||||
|
@ -588,9 +588,9 @@ MACHINE_CONFIG_START(bw2_state::bw2)
|
||||
m_uart->dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
m_uart->rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(m_uart, i8251_device, write_dsr))
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_uart, FUNC(i8251_device::write_rxd));
|
||||
rs232.dsr_handler().set(m_uart, FUNC(i8251_device::write_dsr));
|
||||
|
||||
WD2797(config, m_fdc, 16_MHz_XTAL / 16);
|
||||
m_fdc->intrq_wr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
|
@ -112,9 +112,9 @@ MACHINE_CONFIG_START(c900_state::c900)
|
||||
scc.out_rtsb_callback().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
//scc.out_int_callback().set("rs232", FUNC(c900_state::scc_int));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER (WRITELINE ("scc", scc8030_device, rxb_w))
|
||||
MCFG_RS232_CTS_HANDLER (WRITELINE ("scc", scc8030_device, ctsb_w))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
|
||||
rs232.rxd_handler().set("scc", FUNC(scc8030_device::rxb_w));
|
||||
rs232.cts_handler().set("scc", FUNC(scc8030_device::ctsb_w));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( c900 )
|
||||
|
@ -505,9 +505,9 @@ MACHINE_CONFIG_START(cgc7900_state::cgc7900)
|
||||
m_i8251_0->rxrdy_handler().set(FUNC(cgc7900_state::irq<0xf>));
|
||||
m_i8251_0->txrdy_handler().set(FUNC(cgc7900_state::irq<0x3>));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "null_modem")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(INS8251_0_TAG, i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(INS8251_0_TAG, i8251_device, write_dsr))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "null_modem"));
|
||||
rs232.rxd_handler().set(m_i8251_0, FUNC(i8251_device::write_rxd));
|
||||
rs232.dsr_handler().set(m_i8251_0, FUNC(i8251_device::write_dsr));
|
||||
|
||||
I8251(config, m_i8251_1, 0);
|
||||
m_i8251_1->txd_handler().set("rs449", FUNC(rs232_port_device::write_txd));
|
||||
@ -516,9 +516,9 @@ MACHINE_CONFIG_START(cgc7900_state::cgc7900)
|
||||
m_i8251_1->rxrdy_handler().set(FUNC(cgc7900_state::irq<0x8>));
|
||||
m_i8251_1->txrdy_handler().set(FUNC(cgc7900_state::irq<0x1>));
|
||||
|
||||
MCFG_DEVICE_ADD("rs449", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(INS8251_1_TAG, i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(INS8251_1_TAG, i8251_device, write_dsr))
|
||||
rs232_port_device &rs449(RS232_PORT(config, "rs449", default_rs232_devices, nullptr));
|
||||
rs449.rxd_handler().set(m_i8251_1, FUNC(i8251_device::write_rxd));
|
||||
rs449.dsr_handler().set(m_i8251_1, FUNC(i8251_device::write_dsr));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -472,9 +472,9 @@ MACHINE_CONFIG_START(cgenie_state::cgenie)
|
||||
MCFG_SOFTWARE_LIST_ADD("cass_list", "cgenie_cass")
|
||||
|
||||
// serial port
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(*this, cgenie_state, rs232_rx_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(*this, cgenie_state, rs232_dcd_w))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(FUNC(cgenie_state::rs232_rx_w));
|
||||
rs232.dcd_handler().set(FUNC(cgenie_state::rs232_dcd_w));
|
||||
|
||||
// cartridge expansion slot
|
||||
MCFG_CG_EXP_SLOT_ADD("exp")
|
||||
|
@ -69,7 +69,6 @@ class cit101_state : public driver_device
|
||||
public:
|
||||
cit101_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_screen(*this, "screen")
|
||||
, m_nvr(*this, "nvr")
|
||||
, m_comuart(*this, "comuart")
|
||||
@ -108,7 +107,6 @@ private:
|
||||
bool m_blink;
|
||||
u8 m_brightness;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<er2055_device> m_nvr;
|
||||
required_device<i8251_device> m_comuart;
|
||||
@ -329,18 +327,19 @@ static INPUT_PORTS_START( cit101 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(cit101_state::cit101)
|
||||
MCFG_DEVICE_ADD("maincpu", I8085A, 6.144_MHz_XTAL)
|
||||
MCFG_DEVICE_PROGRAM_MAP(mem_map)
|
||||
MCFG_DEVICE_IO_MAP(io_map)
|
||||
MCFG_I8085A_SID(CONSTANT(0)) // used to time NVR reads
|
||||
MCFG_I8085A_SOD(WRITELINE(*this, cit101_state, blink_w))
|
||||
void cit101_state::cit101(machine_config &config)
|
||||
{
|
||||
i8085a_cpu_device &maincpu(I8085A(config, "maincpu", 6.144_MHz_XTAL));
|
||||
maincpu.set_addrmap(AS_PROGRAM, &cit101_state::mem_map);
|
||||
maincpu.set_addrmap(AS_IO, &cit101_state::io_map);
|
||||
maincpu.in_sid_func().set_constant(0); // used to time NVR reads
|
||||
maincpu.out_sod_func().set(FUNC(cit101_state::blink_w));
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
//MCFG_SCREEN_RAW_PARAMS(14.976_MHz_XTAL, 960, 0, 800, 260, 0, 240)
|
||||
MCFG_SCREEN_RAW_PARAMS(22.464_MHz_XTAL, 1440, 0, 1188, 260, 0, 240)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cit101_state, screen_update)
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", I8085_RST75_LINE))
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
//m_screen->set_raw(14.976_MHz_XTAL, 960, 0, 800, 260, 0, 240);
|
||||
m_screen->set_raw(22.464_MHz_XTAL, 1440, 0, 1188, 260, 0, 240);
|
||||
m_screen->set_screen_update(FUNC(cit101_state::screen_update));
|
||||
m_screen->screen_vblank().set_inputline("maincpu", I8085_RST75_LINE);
|
||||
|
||||
I8251(config, m_comuart, 6.144_MHz_XTAL / 2);
|
||||
m_comuart->txd_handler().set("comm", FUNC(rs232_port_device::write_txd));
|
||||
@ -349,9 +348,9 @@ MACHINE_CONFIG_START(cit101_state::cit101)
|
||||
m_comuart->rxrdy_handler().set("uartint", FUNC(input_merger_device::in_w<0>));
|
||||
m_comuart->txrdy_handler().set("uartint", FUNC(input_merger_device::in_w<2>));
|
||||
|
||||
MCFG_DEVICE_ADD("comm", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("comuart", i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("comuart", i8251_device, write_dsr))
|
||||
rs232_port_device &comm(RS232_PORT(config, "comm", default_rs232_devices, nullptr));
|
||||
comm.rxd_handler().set("comuart", FUNC(i8251_device::write_rxd));
|
||||
comm.dsr_handler().set("comuart", FUNC(i8251_device::write_dsr));
|
||||
// CTS can be disabled in SET-UP Mode C
|
||||
// DSR, CD, SI, RI are examined only during the modem test, not "always ignored" as the User's Manual claims
|
||||
|
||||
@ -360,26 +359,24 @@ MACHINE_CONFIG_START(cit101_state::cit101)
|
||||
auxuart.rxrdy_handler().set("uartint", FUNC(input_merger_device::in_w<1>));
|
||||
auxuart.txrdy_handler().set("uartint", FUNC(input_merger_device::in_w<3>));
|
||||
|
||||
MCFG_DEVICE_ADD("printer", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("auxuart", i8251_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("auxuart", i8251_device, write_cts))
|
||||
rs232_port_device &printer(RS232_PORT(config, "printer", default_rs232_devices, nullptr));
|
||||
printer.rxd_handler().set("auxuart", FUNC(i8251_device::write_rxd));
|
||||
printer.cts_handler().set("auxuart", FUNC(i8251_device::write_cts));
|
||||
|
||||
MCFG_INPUT_MERGER_ANY_HIGH("uartint")
|
||||
MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("maincpu", I8085_RST55_LINE))
|
||||
INPUT_MERGER_ANY_HIGH(config, "uartint").output_handler().set_inputline("maincpu", I8085_RST55_LINE);
|
||||
|
||||
I8251(config, m_kbduart, 6.144_MHz_XTAL / 2);
|
||||
m_kbduart->txd_handler().set("keyboard", FUNC(cit101_hle_keyboard_device::write_rxd));
|
||||
m_kbduart->rxrdy_handler().set_inputline("maincpu", I8085_RST65_LINE);
|
||||
|
||||
MCFG_DEVICE_ADD("keyboard", CIT101_HLE_KEYBOARD, 0)
|
||||
MCFG_CIT101_HLE_KEYBOARD_TXD_CALLBACK(WRITELINE("kbduart", i8251_device, write_rxd))
|
||||
CIT101_HLE_KEYBOARD(config, "keyboard").txd_callback().set("kbduart", FUNC(i8251_device::write_rxd));
|
||||
|
||||
MCFG_DEVICE_ADD("pit0", PIT8253, 0)
|
||||
MCFG_PIT8253_CLK0(6.144_MHz_XTAL / 4)
|
||||
MCFG_PIT8253_CLK1(6.144_MHz_XTAL / 4)
|
||||
//MCFG_PIT8253_CLK2(6.144_MHz_XTAL / 4)
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE("auxuart", i8251_device, write_txc))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE("auxuart", i8251_device, write_rxc))
|
||||
pit8253_device &pit0(PIT8253(config, "pit0", 0));
|
||||
pit0.set_clk<0>(6.144_MHz_XTAL / 4);
|
||||
pit0.set_clk<1>(6.144_MHz_XTAL / 4);
|
||||
//pit0.set_clk<2>(6.144_MHz_XTAL / 4);
|
||||
pit0.out_handler<0>().set("auxuart", FUNC(i8251_device::write_txc));
|
||||
pit0.out_handler<1>().set("auxuart", FUNC(i8251_device::write_rxc));
|
||||
// OUT2 might be used for an internal expansion similar to the VT100 STP.
|
||||
// The output appears to be fixed to a 307.2 kHz rate; turning this off boosts driver performance.
|
||||
|
||||
@ -402,8 +399,8 @@ MACHINE_CONFIG_START(cit101_state::cit101)
|
||||
ppi.in_pc_callback().append("comm", FUNC(rs232_port_device::si_r)).lshift(3); // tied to CTS for loopback test
|
||||
ppi.out_pc_callback().set(FUNC(cit101_state::nvr_control_w));
|
||||
|
||||
MCFG_DEVICE_ADD("nvr", ER2055, 0)
|
||||
MACHINE_CONFIG_END
|
||||
ER2055(config, m_nvr);
|
||||
}
|
||||
|
||||
|
||||
// PCB ID: HAV-2P005B / CIT-101 / C. ITOH
|
||||
|
@ -684,11 +684,11 @@ MACHINE_CONFIG_START(clcd_state::clcd)
|
||||
m_acia->rts_handler().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
m_acia->dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("acia", mos6551_device, write_rxd))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("acia", mos6551_device, write_dcd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("acia", mos6551_device, write_dsr))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("via1", via6522_device, write_pb4))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_acia, FUNC(mos6551_device::write_rxd));
|
||||
rs232.dcd_handler().set(m_acia, FUNC(mos6551_device::write_dcd));
|
||||
rs232.dsr_handler().set(m_acia, FUNC(mos6551_device::write_dsr));
|
||||
rs232.cts_handler().set("via1", FUNC(via6522_device::write_pb4));
|
||||
|
||||
CENTRONICS(config, m_centronics, centronics_devices, nullptr);
|
||||
m_centronics->busy_handler().set("via1", FUNC(via6522_device::write_pb6)).invert();
|
||||
|
@ -425,14 +425,14 @@ MACHINE_CONFIG_START(compucolor2_state::compucolor2)
|
||||
m_mioc->xi_callback().set(FUNC(compucolor2_state::xi_r));
|
||||
m_mioc->xo_callback().set(FUNC(compucolor2_state::xo_w));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(TMS5501_TAG, tms5501_device, rcv_w))
|
||||
RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
|
||||
m_rs232->rxd_handler().set(m_mioc, FUNC(tms5501_device::rcv_w));
|
||||
|
||||
MCFG_COMPUCOLOR_FLOPPY_PORT_ADD("cd0", compucolor_floppy_port_devices, "floppy")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(TMS5501_TAG, tms5501_device, rcv_w))
|
||||
COMPUCOLOR_FLOPPY_PORT(config, m_floppy0, compucolor_floppy_port_devices, "floppy");
|
||||
m_floppy0->rxd_handler().set(m_mioc, FUNC(tms5501_device::rcv_w));
|
||||
|
||||
MCFG_COMPUCOLOR_FLOPPY_PORT_ADD("cd1", compucolor_floppy_port_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(TMS5501_TAG, tms5501_device, rcv_w))
|
||||
COMPUCOLOR_FLOPPY_PORT(config, m_floppy1, compucolor_floppy_port_devices, nullptr);
|
||||
m_floppy1->rxd_handler().set(m_mioc, FUNC(tms5501_device::rcv_w));
|
||||
|
||||
// internal ram
|
||||
RAM(config, RAM_TAG).set_default_size("32K").set_extra_options("8K,16K");
|
||||
|
@ -390,8 +390,8 @@ static DEVICE_INPUT_DEFAULTS_START( debug_serial ) // set up debug port to defau
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
||||
MACHINE_CONFIG_START(cybiko_state::cybikov1_debug_serial)
|
||||
MCFG_DEVICE_MODIFY("debug_serial")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("maincpu:sci2", h8_sci_device, rx_w))
|
||||
auto &debug_serial(*subdevice<rs232_port_device>("debug_serial"));
|
||||
debug_serial.rxd_handler().set("maincpu:sci2", FUNC(h8_sci_device::rx_w));
|
||||
MCFG_DEVICE_MODIFY("maincpu:sci2")
|
||||
MCFG_H8_SCI_TX_CALLBACK(WRITELINE("debug_serial", rs232_port_device, write_txd))
|
||||
MACHINE_CONFIG_END
|
||||
@ -420,10 +420,10 @@ MACHINE_CONFIG_START(cybiko_state::cybikov1_base)
|
||||
RAM(config, m_ram).set_default_size("512K").set_extra_options("1M");
|
||||
|
||||
/* serial debug port */
|
||||
MCFG_DEVICE_ADD ("debug_serial", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("null_modem", debug_serial)
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", debug_serial)
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("pty", debug_serial)
|
||||
rs232_port_device &debug_serial(RS232_PORT(config, "debug_serial", default_rs232_devices, nullptr));
|
||||
debug_serial.set_option_device_input_defaults("null_modem", DEVICE_INPUT_DEFAULTS_NAME(debug_serial));
|
||||
debug_serial.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(debug_serial));
|
||||
debug_serial.set_option_device_input_defaults("pty", DEVICE_INPUT_DEFAULTS_NAME(debug_serial));
|
||||
|
||||
/* quickload */
|
||||
MCFG_QUICKLOAD_ADD("quickload", cybiko_state, cybiko, "bin,nv", 0)
|
||||
@ -473,8 +473,8 @@ MACHINE_CONFIG_START(cybiko_state::cybikov2)
|
||||
m_ram->set_default_size("256K").set_extra_options("512K,1M");
|
||||
|
||||
/* serial debug port */
|
||||
MCFG_DEVICE_MODIFY("debug_serial")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("maincpu:sci2", h8_sci_device, rx_w))
|
||||
auto &debug_serial(*subdevice<rs232_port_device>("debug_serial"));
|
||||
debug_serial.rxd_handler().set("maincpu:sci2", FUNC(h8_sci_device::rx_w));
|
||||
MCFG_DEVICE_MODIFY("maincpu:sci2")
|
||||
MCFG_H8_SCI_TX_CALLBACK(WRITELINE("debug_serial", rs232_port_device, write_txd))
|
||||
MACHINE_CONFIG_END
|
||||
@ -494,8 +494,8 @@ MACHINE_CONFIG_START(cybiko_state::cybikoxt)
|
||||
m_ram->set_default_size("2M");
|
||||
|
||||
/* serial debug port */
|
||||
MCFG_DEVICE_MODIFY("debug_serial")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("maincpu:sci2", h8_sci_device, rx_w))
|
||||
auto &debug_serial(*subdevice<rs232_port_device>("debug_serial"));
|
||||
debug_serial.rxd_handler().set("maincpu:sci2", FUNC(h8_sci_device::rx_w));
|
||||
MCFG_DEVICE_MODIFY("maincpu:sci2")
|
||||
MCFG_H8_SCI_TX_CALLBACK(WRITELINE("debug_serial", rs232_port_device, write_txd))
|
||||
|
||||
|
@ -397,15 +397,15 @@ MACHINE_CONFIG_START(decstation_state::kn02ba)
|
||||
MCFG_DEVICE_ADD("lk201", LK201, 0)
|
||||
MCFG_LK201_TX_HANDLER(WRITELINE("scc1", z80scc_device, rxb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("scc0", z80scc_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("scc0", z80scc_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("scc0", z80scc_device, ctsa_w))
|
||||
rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, nullptr));
|
||||
rs232a.rxd_handler().set(m_scc0, FUNC(z80scc_device::rxa_w));
|
||||
rs232a.dcd_handler().set(m_scc0, FUNC(z80scc_device::dcda_w));
|
||||
rs232a.cts_handler().set(m_scc0, FUNC(z80scc_device::ctsa_w));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("scc0", z80scc_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("scc0", z80scc_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("scc0", z80scc_device, ctsb_w))
|
||||
rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr));
|
||||
rs232b.rxd_handler().set(m_scc0, FUNC(z80scc_device::rxb_w));
|
||||
rs232b.dcd_handler().set(m_scc0, FUNC(z80scc_device::dcdb_w));
|
||||
rs232b.cts_handler().set(m_scc0, FUNC(z80scc_device::ctsb_w));
|
||||
|
||||
MCFG_NSCSI_BUS_ADD("scsibus")
|
||||
MCFG_NSCSI_ADD("scsibus:0", dec_scsi_devices, "harddisk", false)
|
||||
|
@ -880,7 +880,7 @@ MACHINE_CONFIG_START(dectalk_state::dectalk)
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(20'000'000)/2) /* E74 20MHz OSC (/2) */
|
||||
MCFG_DEVICE_PROGRAM_MAP(m68k_mem)
|
||||
MCFG_DEVICE_ADD("duart", SCN2681, XTAL(3'686'400)) // MC2681 DUART ; Y3 3.6864MHz xtal */
|
||||
MCFG_DEVICE_ADD(m_duart, SCN2681, XTAL(3'686'400)) // MC2681 DUART ; Y3 3.6864MHz xtal */
|
||||
MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, dectalk_state, duart_irq_handler))
|
||||
MCFG_MC68681_A_TX_CALLBACK(WRITELINE(*this, dectalk_state, duart_txa))
|
||||
MCFG_MC68681_B_TX_CALLBACK(WRITELINE("rs232", rs232_port_device, write_txd))
|
||||
@ -909,8 +909,8 @@ MACHINE_CONFIG_START(dectalk_state::dectalk)
|
||||
|
||||
/* Y2 is a 3.579545 MHz xtal for the dtmf decoder chip */
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("duart", scn2681_device, rx_b_w))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
|
||||
rs232.rxd_handler().set(m_duart, FUNC(scn2681_device::rx_b_w));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -456,9 +456,9 @@ MACHINE_CONFIG_START(decwriter_state::la120)
|
||||
MCFG_INPUT_MERGER_ANY_HIGH("mainint")
|
||||
MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("maincpu", 0))
|
||||
|
||||
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("usart", i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("usart", i8251_device, write_dsr))
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set("usart", FUNC(i8251_device::write_rxd));
|
||||
rs232.dsr_handler().set("usart", FUNC(i8251_device::write_dsr));
|
||||
*/
|
||||
|
||||
ER1400(config, m_nvm);
|
||||
|
@ -447,13 +447,13 @@ MACHINE_CONFIG_START(ksm_state::ksm)
|
||||
|
||||
// D42 - serial connection to host
|
||||
I8251(config, m_i8251line, 0);
|
||||
m_i8251line->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
m_i8251line->txd_handler().set(m_rs232, FUNC(rs232_port_device::write_txd));
|
||||
m_i8251line->rxrdy_handler().set("pic8259", FUNC(pic8259_device::ir3_w));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "null_modem")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("i8251line", i8251_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("i8251line", i8251_device, write_cts))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("i8251line", i8251_device, write_dsr))
|
||||
RS232_PORT(config, m_rs232, default_rs232_devices, "null_modem");
|
||||
m_rs232->rxd_handler().set(m_i8251line, FUNC(i8251_device::write_rxd));
|
||||
m_rs232->cts_handler().set(m_i8251line, FUNC(i8251_device::write_cts));
|
||||
m_rs232->dsr_handler().set(m_i8251line, FUNC(i8251_device::write_dsr));
|
||||
|
||||
// D41 - serial connection to MS7004 keyboard
|
||||
I8251(config, m_i8251kbd, 0);
|
||||
|
@ -578,10 +578,10 @@ MACHINE_CONFIG_START(ep64_state::ep64)
|
||||
|
||||
// video hardware
|
||||
MCFG_NICK_ADD(NICK_TAG, SCREEN_TAG, XTAL(8'000'000))
|
||||
MCFG_NICK_VIRQ_CALLBACK(WRITELINE(DAVE_TAG, dave_device, int1_w))
|
||||
MCFG_NICK_VIRQ_CALLBACK(WRITELINE(m_dave, dave_device, int1_w))
|
||||
|
||||
// sound hardware
|
||||
MCFG_DAVE_ADD(DAVE_TAG, XTAL(8'000'000), dave_64k_mem, dave_io)
|
||||
MCFG_DAVE_ADD(m_dave, XTAL(8'000'000), dave_64k_mem, dave_io)
|
||||
MCFG_DAVE_IRQ_CALLBACK(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
|
||||
|
||||
// devices
|
||||
@ -595,8 +595,8 @@ MACHINE_CONFIG_START(ep64_state::ep64)
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, ep64_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(DAVE_TAG, dave_device, int2_w))
|
||||
RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
|
||||
m_rs232->rxd_handler().set(m_dave, FUNC(dave_device::int2_w));
|
||||
|
||||
MCFG_CASSETTE_ADD(CASSETTE1_TAG)
|
||||
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED)
|
||||
|
@ -713,21 +713,21 @@ MACHINE_CONFIG_START(cpu30_state::cpu30)
|
||||
/* DUSCC2 interrupt signal REQN is connected to LOCAL IRQ5 of the FGA-002 and level is programmable */
|
||||
MCFG_DUSCC_OUT_INT_CB(WRITELINE("fga002", fga002_device, lirq5_w))
|
||||
|
||||
MCFG_DEVICE_ADD(RS232P1_TAG, RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("duscc", duscc68562_device, rxb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("duscc", duscc68562_device, ctsb_w))
|
||||
rs232_port_device &rs232p1(RS232_PORT(config, RS232P1_TAG, default_rs232_devices, "terminal"));
|
||||
rs232p1.rxd_handler().set(m_dusccterm, FUNC(duscc68562_device::rxb_w));
|
||||
rs232p1.cts_handler().set(m_dusccterm, FUNC(duscc68562_device::ctsb_w));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232P2_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("duscc2", duscc68562_device, rxa_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("duscc2", duscc68562_device, ctsa_w))
|
||||
rs232_port_device &rs232p2(RS232_PORT(config, RS232P2_TAG, default_rs232_devices, nullptr));
|
||||
rs232p2.rxd_handler().set("duscc2", FUNC(duscc68562_device::rxa_w));
|
||||
rs232p2.cts_handler().set("duscc2", FUNC(duscc68562_device::ctsa_w));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232P3_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("duscc2", duscc68562_device, rxb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("duscc2", duscc68562_device, ctsb_w))
|
||||
rs232_port_device &rs232p3(RS232_PORT(config, RS232P3_TAG, default_rs232_devices, nullptr));
|
||||
rs232p3.rxd_handler().set("duscc2", FUNC(duscc68562_device::rxb_w));
|
||||
rs232p3.cts_handler().set("duscc2", FUNC(duscc68562_device::ctsb_w));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232P4_TAG, RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("duscc", duscc68562_device, rxa_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("duscc", duscc68562_device, ctsa_w))
|
||||
rs232_port_device &rs232p4(RS232_PORT(config, RS232P4_TAG, default_rs232_devices, "terminal"));
|
||||
rs232p4.rxd_handler().set(m_dusccterm, FUNC(duscc68562_device::rxa_w));
|
||||
rs232p4.cts_handler().set(m_dusccterm, FUNC(duscc68562_device::ctsa_w));
|
||||
|
||||
/* PIT Parallel Interface and Timer device, assumed strapped for on board clock */
|
||||
PIT68230(config, m_pit1, XTAL(16'000'000) / 2); // The PIT clock is not verified on schema but reversed from behaviour
|
||||
|
@ -2866,10 +2866,10 @@ MACHINE_CONFIG_START(towns_state::towns_base)
|
||||
m_i8251->rts_handler().set("rs232c", FUNC(rs232_port_device::write_rts));
|
||||
m_i8251->txd_handler().set("rs232c", FUNC(rs232_port_device::write_txd));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232c", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("i8251",i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("i8251",i8251_device, write_dsr))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("i8251",i8251_device, write_cts))
|
||||
rs232_port_device &rs232c(RS232_PORT(config, "rs232c", default_rs232_devices, nullptr));
|
||||
rs232c.rxd_handler().set(m_i8251, FUNC(i8251_device::write_rxd));
|
||||
rs232c.dsr_handler().set(m_i8251, FUNC(i8251_device::write_dsr));
|
||||
rs232c.cts_handler().set(m_i8251, FUNC(i8251_device::write_cts));
|
||||
|
||||
MCFG_FMT_ICMEMCARD_ADD("icmemcard")
|
||||
|
||||
|
@ -558,18 +558,18 @@ MACHINE_CONFIG_START(force68k_state::fccpu1)
|
||||
m_aciahost->txd_handler().set("rs232host", FUNC(rs232_port_device::write_txd));
|
||||
m_aciahost->rts_handler().set("rs232host", FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232host", RS232_PORT, default_rs232_devices, "null_modem")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("aciahost", acia6850_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("aciahost", acia6850_device, write_cts))
|
||||
rs232_port_device &rs232host(RS232_PORT(config, "rs232host", default_rs232_devices, "null_modem"));
|
||||
rs232host.rxd_handler().set(m_aciahost, FUNC(acia6850_device::write_rxd));
|
||||
rs232host.cts_handler().set(m_aciahost, FUNC(acia6850_device::write_cts));
|
||||
|
||||
/* P4/Terminal Port config */
|
||||
ACIA6850(config, m_aciaterm, 0);
|
||||
m_aciaterm->txd_handler().set("rs232trm", FUNC(rs232_port_device::write_txd));
|
||||
m_aciaterm->rts_handler().set("rs232trm", FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232trm", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("aciaterm", acia6850_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("aciaterm", acia6850_device, write_cts))
|
||||
rs232_port_device &rs232trm(RS232_PORT(config, "rs232trm", default_rs232_devices, "terminal"));
|
||||
rs232trm.rxd_handler().set(m_aciaterm, FUNC(acia6850_device::write_rxd));
|
||||
rs232trm.cts_handler().set(m_aciaterm, FUNC(acia6850_device::write_cts));
|
||||
|
||||
/* P5/Remote Port config */
|
||||
ACIA6850(config, m_aciaremt, 0);
|
||||
|
@ -619,9 +619,9 @@ MACHINE_CONFIG_START(igt_gameking_state::igt_gameking)
|
||||
MCFG_DEVICE_ADD("quart2", SC28C94, XTAL(24'000'000) / 6)
|
||||
MCFG_MC68681_IRQ_CALLBACK(INPUTLINE("maincpu", I960_IRQ0))
|
||||
|
||||
MCFG_DEVICE_ADD("diag", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("quart1", sc28c94_device, rx_d_w))
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
|
||||
rs232_port_device &diag(RS232_PORT(config, "diag", default_rs232_devices, nullptr));
|
||||
diag.rxd_handler().set("quart1", FUNC(sc28c94_device::rx_d_w));
|
||||
diag.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
|
||||
|
||||
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_igt_gameking)
|
||||
|
||||
|
@ -399,17 +399,18 @@ MACHINE_CONFIG_START(gridcomp_state::grid1101)
|
||||
i7220.irq_callback().set(I80130_TAG, FUNC(i80130_device::ir1_w));
|
||||
i7220.drq_callback().set(I80130_TAG, FUNC(i80130_device::ir1_w));
|
||||
|
||||
MCFG_DEVICE_ADD("hpib", TMS9914, XTAL(4'000'000))
|
||||
MCFG_TMS9914_INT_WRITE_CB(WRITELINE(I80130_TAG, i80130_device, ir5_w))
|
||||
MCFG_TMS9914_DIO_READWRITE_CB(READ8(IEEE488_TAG, ieee488_device, dio_r), WRITE8(IEEE488_TAG, ieee488_device, host_dio_w))
|
||||
MCFG_TMS9914_EOI_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_eoi_w))
|
||||
MCFG_TMS9914_DAV_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_dav_w))
|
||||
MCFG_TMS9914_NRFD_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_nrfd_w))
|
||||
MCFG_TMS9914_NDAC_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_ndac_w))
|
||||
MCFG_TMS9914_IFC_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_ifc_w))
|
||||
MCFG_TMS9914_SRQ_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_srq_w))
|
||||
MCFG_TMS9914_ATN_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_atn_w))
|
||||
MCFG_TMS9914_REN_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_ren_w))
|
||||
tms9914_device &hpib(TMS9914(config, "hpib", XTAL(4'000'000)));
|
||||
hpib.int_write_cb().set(I80130_TAG, FUNC(i80130_device::ir5_w));
|
||||
hpib.dio_read_cb().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
|
||||
hpib.dio_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dio_w));
|
||||
hpib.eoi_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_eoi_w));
|
||||
hpib.dav_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dav_w));
|
||||
hpib.nrfd_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_nrfd_w));
|
||||
hpib.ndac_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ndac_w));
|
||||
hpib.ifc_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ifc_w));
|
||||
hpib.srq_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_srq_w));
|
||||
hpib.atn_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_atn_w));
|
||||
hpib.ren_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ren_w));
|
||||
MCFG_IEEE488_BUS_ADD()
|
||||
MCFG_IEEE488_EOI_CALLBACK(WRITELINE("hpib", tms9914_device, eoi_w))
|
||||
MCFG_IEEE488_DAV_CALLBACK(WRITELINE("hpib", tms9914_device, dav_w))
|
||||
|
@ -534,10 +534,10 @@ MACHINE_CONFIG_START(guab_state::guab)
|
||||
acia1.rts_handler().set("rs232_1", FUNC(rs232_port_device::write_rts));
|
||||
acia1.irq_handler().set_inputline("maincpu", 4);
|
||||
|
||||
MCFG_DEVICE_ADD("rs232_1", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("acia6850_1", acia6850_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("acia6850_1", acia6850_device, write_cts))
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", acia_1_rs232_defaults)
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232_1", default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set("acia6850_1", FUNC(acia6850_device::write_rxd));
|
||||
rs232.cts_handler().set("acia6850_1", FUNC(acia6850_device::write_cts));
|
||||
rs232.set_option_device_input_defaults("keyboard", DEVICE_INPUT_DEFAULTS_NAME(acia_1_rs232_defaults));
|
||||
|
||||
clock_device &acia_clock(CLOCK(config, "acia_clock", 153600)); // source? the ptm doesn't seem to output any common baud values
|
||||
acia_clock.signal_handler().set("acia6850_1", FUNC(acia6850_device::write_txc));
|
||||
|
@ -185,21 +185,22 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(h89_state::h89)
|
||||
void h89_state::h89(machine_config & config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu",Z80, XTAL(12'288'000) / 6)
|
||||
MCFG_DEVICE_PROGRAM_MAP(h89_mem)
|
||||
MCFG_DEVICE_IO_MAP(h89_io)
|
||||
Z80(config, m_maincpu, XTAL(12'288'000) / 6);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &h89_state::h89_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &h89_state::h89_io);
|
||||
|
||||
ins8250_device &uart(INS8250(config, "ins8250", XTAL(1'843'200)));
|
||||
uart.out_tx_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("ins8250", ins8250_uart_device, rx_w))
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, "terminal"));
|
||||
rs232.rxd_handler().set("ins8250", FUNC(ins8250_uart_device::rx_w));
|
||||
rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", h89_state, h89_irq_timer, attotime::from_hz(100))
|
||||
MACHINE_CONFIG_END
|
||||
TIMER(config, "irq_timer", 0).configure_periodic(timer_device::expired_delegate(FUNC(h89_state::h89_irq_timer), this), attotime::from_hz(100));
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( h89 )
|
||||
|
@ -350,9 +350,9 @@ MACHINE_CONFIG_START(hk68v10_state::hk68v10)
|
||||
m_sccterm->out_dtra_callback().set("rs232trm", FUNC(rs232_port_device::write_dtr));
|
||||
m_sccterm->out_rtsa_callback().set("rs232trm", FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232trm", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_sccterm, scc8530_device, rxa_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_sccterm, scc8530_device, ctsa_w))
|
||||
rs232_port_device &rs232trm(RS232_PORT(config, "rs232trm", default_rs232_devices, "terminal"));
|
||||
rs232trm.rxd_handler().set(m_sccterm, FUNC(scc8530_device::rxa_w));
|
||||
rs232trm.cts_handler().set(m_sccterm, FUNC(scc8530_device::ctsa_w));
|
||||
|
||||
MCFG_VME_DEVICE_ADD("vme")
|
||||
MCFG_VME_SLOT_ADD("vme", 1, hk68_vme_cards, nullptr)
|
||||
|
@ -767,17 +767,18 @@ MACHINE_CONFIG_START(hp_ipc_state::hp_ipc_base)
|
||||
mouse.set_default_option("hp_46060b");
|
||||
mouse.set_hp_hil_slot(this, "mlc");
|
||||
|
||||
MCFG_DEVICE_ADD("hpib", TMS9914, 4_MHz_XTAL)
|
||||
MCFG_TMS9914_INT_WRITE_CB(WRITELINE(*this, hp_ipc_state, irq_3))
|
||||
MCFG_TMS9914_DIO_READWRITE_CB(READ8(IEEE488_TAG , ieee488_device , dio_r) , WRITE8(IEEE488_TAG , ieee488_device , host_dio_w))
|
||||
MCFG_TMS9914_EOI_WRITE_CB(WRITELINE(IEEE488_TAG , ieee488_device , host_eoi_w))
|
||||
MCFG_TMS9914_DAV_WRITE_CB(WRITELINE(IEEE488_TAG , ieee488_device , host_dav_w))
|
||||
MCFG_TMS9914_NRFD_WRITE_CB(WRITELINE(IEEE488_TAG , ieee488_device , host_nrfd_w))
|
||||
MCFG_TMS9914_NDAC_WRITE_CB(WRITELINE(IEEE488_TAG , ieee488_device , host_ndac_w))
|
||||
MCFG_TMS9914_IFC_WRITE_CB(WRITELINE(IEEE488_TAG , ieee488_device , host_ifc_w))
|
||||
MCFG_TMS9914_SRQ_WRITE_CB(WRITELINE(IEEE488_TAG , ieee488_device , host_srq_w))
|
||||
MCFG_TMS9914_ATN_WRITE_CB(WRITELINE(IEEE488_TAG , ieee488_device , host_atn_w))
|
||||
MCFG_TMS9914_REN_WRITE_CB(WRITELINE(IEEE488_TAG , ieee488_device , host_ren_w))
|
||||
tms9914_device &hpib(TMS9914(config, "hpib", 4_MHz_XTAL));
|
||||
hpib.int_write_cb().set(FUNC(hp_ipc_state::irq_3));
|
||||
hpib.dio_read_cb().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
|
||||
hpib.dio_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dio_w));
|
||||
hpib.eoi_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_eoi_w));
|
||||
hpib.dav_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dav_w));
|
||||
hpib.nrfd_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_nrfd_w));
|
||||
hpib.ndac_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ndac_w));
|
||||
hpib.ifc_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ifc_w));
|
||||
hpib.srq_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_srq_w));
|
||||
hpib.atn_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_atn_w));
|
||||
hpib.ren_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ren_w));
|
||||
MCFG_IEEE488_BUS_ADD()
|
||||
MCFG_IEEE488_EOI_CALLBACK(WRITELINE("hpib" , tms9914_device , eoi_w))
|
||||
MCFG_IEEE488_DAV_CALLBACK(WRITELINE("hpib" , tms9914_device , dav_w))
|
||||
|
@ -938,10 +938,10 @@ MACHINE_CONFIG_START(ibm6580_state::ibm6580)
|
||||
upd8251a.rxrdy_handler().set("pic8259", FUNC(pic8259_device::ir2_w));
|
||||
upd8251a.txrdy_handler().set("pic8259", FUNC(pic8259_device::ir2_w));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("upd8251a", i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("upd8251a", i8251_device, write_dsr))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("upd8251a", i8251_device, write_cts))
|
||||
rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, nullptr));
|
||||
rs232a.rxd_handler().set("upd8251a", FUNC(i8251_device::write_rxd));
|
||||
rs232a.dsr_handler().set("upd8251a", FUNC(i8251_device::write_dsr));
|
||||
rs232a.cts_handler().set("upd8251a", FUNC(i8251_device::write_cts));
|
||||
|
||||
i8251_device &upd8251b(I8251(config, "upd8251b", 0));
|
||||
upd8251b.txd_handler().set("rs232b", FUNC(rs232_port_device::write_txd));
|
||||
@ -950,10 +950,10 @@ MACHINE_CONFIG_START(ibm6580_state::ibm6580)
|
||||
upd8251b.rxrdy_handler().set("pic8259", FUNC(pic8259_device::ir2_w));
|
||||
upd8251b.txrdy_handler().set("pic8259", FUNC(pic8259_device::ir2_w));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("upd8251b", i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("upd8251b", i8251_device, write_dsr))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("upd8251b", i8251_device, write_cts))
|
||||
rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr));
|
||||
rs232b.rxd_handler().set("upd8251b", FUNC(i8251_device::write_rxd));
|
||||
rs232b.dsr_handler().set("upd8251b", FUNC(i8251_device::write_dsr));
|
||||
rs232b.cts_handler().set("upd8251b", FUNC(i8251_device::write_cts));
|
||||
|
||||
MCFG_SOFTWARE_LIST_ADD("flop_list", "ibm6580")
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -347,11 +347,11 @@ MACHINE_CONFIG_START(isbc_state::isbc86)
|
||||
m_uart8251->rxrdy_handler().set("pic_0", FUNC(pic8259_device::ir6_w));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8251, i8251_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8251, i8251_device, write_cts))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(m_uart8251, i8251_device, write_dsr))
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc86_terminal)
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
|
||||
rs232.rxd_handler().set(m_uart8251, FUNC(i8251_device::write_rxd));
|
||||
rs232.cts_handler().set(m_uart8251, FUNC(i8251_device::write_cts));
|
||||
rs232.dsr_handler().set(m_uart8251, FUNC(i8251_device::write_dsr));
|
||||
rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(isbc86_terminal));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(isbc_state::rpc86)
|
||||
@ -381,11 +381,11 @@ MACHINE_CONFIG_START(isbc_state::rpc86)
|
||||
m_uart8251->txrdy_handler().set("pic_0", FUNC(pic8259_device::ir7_w));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("uart8251", i8251_device, write_rxd))
|
||||
//MCFG_RS232_CTS_HANDLER(WRITELINE("uart8251", i8251_device, write_cts))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("uart8251", i8251_device, write_dsr))
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal)
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
|
||||
rs232.rxd_handler().set(m_uart8251, FUNC(i8251_device::write_rxd));
|
||||
//rs232.cts_handler().set(m_uart8251, FUNC(i8251_device::write_cts));
|
||||
rs232.dsr_handler().set(m_uart8251, FUNC(i8251_device::write_dsr));
|
||||
rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(isbc286_terminal));
|
||||
|
||||
MCFG_ISBX_SLOT_ADD("sbx1", 0, isbx_cards, nullptr)
|
||||
//MCFG_ISBX_SLOT_MINTR0_CALLBACK(WRITELINE("pic_0", pic8259_device, ir3_w))
|
||||
@ -484,28 +484,28 @@ MACHINE_CONFIG_START(isbc_state::isbc286)
|
||||
m_uart8274->out_int_callback().set("pic_0", FUNC(pic8259_device::ir6_w));
|
||||
#endif
|
||||
|
||||
MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, nullptr)
|
||||
rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, nullptr));
|
||||
#if 0
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("uart8274", z80dart_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("uart8274", z80dart_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart8274", z80dart_device, ctsa_w))
|
||||
rs232a.rxd_handler().set(m_uart8274, FUNC(z80dart_device::rxa_w));
|
||||
rs232a.dcd_handler().set(m_uart8274, FUNC(z80dart_device::dcda_w));
|
||||
rs232a.cts_handler().set(m_uart8274, FUNC(z80dart_device::ctsa_w));
|
||||
#else
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8274, i8274_new_device, ctsa_w))
|
||||
rs232a.rxd_handler().set(m_uart8274, FUNC(i8274_new_device::rxa_w));
|
||||
rs232a.dcd_handler().set(m_uart8274, FUNC(i8274_new_device::dcda_w));
|
||||
rs232a.cts_handler().set(m_uart8274, FUNC(i8274_new_device::ctsa_w));
|
||||
#endif
|
||||
|
||||
MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, "terminal")
|
||||
rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, "terminal"));
|
||||
#if 0
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("uart8274", z80dart_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("uart8274", z80dart_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart8274", z80dart_device, ctsb_w))
|
||||
rs232b.rxd_handler().set(m_uart8274, FUNC(z80dart_device::rxb_w));
|
||||
rs232b.dcd_handler().set(m_uart8274, FUNC(z80dart_device::dcdb_w));
|
||||
rs232b.cts_handler().set(m_uart8274, FUNC(z80dart_device::ctsb_w));
|
||||
#else
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8274, i8274_new_device, ctsb_w))
|
||||
rs232b.rxd_handler().set(m_uart8274, FUNC(i8274_new_device::rxb_w));
|
||||
rs232b.dcd_handler().set(m_uart8274, FUNC(i8274_new_device::dcdb_w));
|
||||
rs232b.cts_handler().set(m_uart8274, FUNC(i8274_new_device::ctsb_w));
|
||||
#endif
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal)
|
||||
rs232b.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(isbc286_terminal));
|
||||
|
||||
MCFG_ISBX_SLOT_ADD("sbx1", 0, isbx_cards, nullptr)
|
||||
MCFG_ISBX_SLOT_MINTR0_CALLBACK(WRITELINE("pic_1", pic8259_device, ir3_w))
|
||||
|
@ -182,14 +182,14 @@ MACHINE_CONFIG_START(isbc8010_state::isbc8010)
|
||||
m_usart->dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
m_usart->rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD(I8255A_1_TAG, I8255A, 0)
|
||||
MCFG_DEVICE_ADD(I8255A_2_TAG, I8255A, 0)
|
||||
I8255A(config, m_ppi_0);
|
||||
I8255A(config, m_ppi_1);
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(I8251A_TAG, i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(I8251A_TAG, i8251_device, write_dsr))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(I8251A_TAG, i8251_device, write_cts))
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
|
||||
RS232_PORT(config, m_rs232, default_rs232_devices, "terminal");
|
||||
m_rs232->rxd_handler().set(m_usart, FUNC(i8251_device::write_rxd));
|
||||
m_rs232->dsr_handler().set(m_usart, FUNC(i8251_device::write_dsr));
|
||||
m_rs232->cts_handler().set(m_usart, FUNC(i8251_device::write_cts));
|
||||
m_rs232->set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
|
||||
|
||||
MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(18'432'000)/60)
|
||||
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, isbc8010_state, usart_clock_tick))
|
||||
|
@ -1374,8 +1374,8 @@ MACHINE_CONFIG_START(kc85_state::kc85)
|
||||
IM6402(config, m_uart, 0, 0);
|
||||
m_uart->tro_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, im6402_device, write_rri))
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_uart, FUNC(im6402_device::write_rri));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, kc85_state, write_centronics_busy))
|
||||
@ -1424,8 +1424,8 @@ MACHINE_CONFIG_START(pc8201_state::pc8201)
|
||||
IM6402(config, m_uart, 0, 0);
|
||||
m_uart->tro_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, im6402_device, write_rri))
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_uart, FUNC(im6402_device::write_rri));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, kc85_state, write_centronics_busy))
|
||||
@ -1484,8 +1484,8 @@ MACHINE_CONFIG_START(trsm100_state::trsm100)
|
||||
IM6402(config, m_uart, 0, 0);
|
||||
m_uart->tro_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, im6402_device, write_rri))
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_uart, FUNC(im6402_device::write_rri));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CASSETTE_ADD("cassette")
|
||||
@ -1544,9 +1544,9 @@ MACHINE_CONFIG_START(tandy200_state::tandy200)
|
||||
i8251.dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
i8251.rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_dsr))
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(I8251_TAG, FUNC(i8251_device::write_rxd));
|
||||
rs232.dsr_handler().set(I8251_TAG, FUNC(i8251_device::write_dsr));
|
||||
|
||||
// MCFG_MC14412_ADD(MC14412_TAG, XTAL(1'000'000))
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
|
@ -132,8 +132,8 @@ MACHINE_CONFIG_START(mcb216_state::mcb216)
|
||||
m_tms5501->xmt_callback().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
m_tms5501->int_callback().set_inputline("maincpu", 0);
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("tms5501", tms5501_device, rcv_w))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
|
||||
rs232.rxd_handler().set(m_tms5501, FUNC(tms5501_device::rcv_w));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mcb216_state::cb308)
|
||||
@ -149,8 +149,8 @@ MACHINE_CONFIG_START(mcb216_state::cb308)
|
||||
m_tms5501->xmt_callback().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
m_tms5501->int_callback().set_inputline("maincpu", 0);
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("tms5501", tms5501_device, rcv_w))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
|
||||
rs232.rxd_handler().set(m_tms5501, FUNC(tms5501_device::rcv_w));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* ROM definition */
|
||||
|
@ -2073,11 +2073,12 @@ ROM_START( spangbl )
|
||||
ROM_LOAD( "ic125.14", 0x030000, 0x10000, CRC(bd5c2f4b) SHA1(3c71d63637633a98ab513e4336e2954af3f964f4) )
|
||||
ROM_END
|
||||
|
||||
// There is a bank of 8 dipswitches that needs to be hooked up
|
||||
ROM_START( spangbl2 )
|
||||
ROM_REGION( 0x50000*2, "maincpu", ROMREGION_ERASEFF )
|
||||
ROM_LOAD( "ic2.1", 0x00000, 0x08000, CRC(4403f652) SHA1(62a232985a334ea8af840c2c3e766f316cc9e3da) ) // 1ST AND 2ND HALF IDENTICAL, but found as is on two different boards
|
||||
ROM_CONTINUE(0x50000,0x8000)
|
||||
ROM_LOAD( "ic18.2", 0x60000, 0x04000, CRC(6f377832) SHA1(25755ed77a797f50fdfbb4c42a04f51d3d08f87c) )
|
||||
// IC2 can be found as 27C512 with 1st and 2nd half identical or as 27C256
|
||||
ROM_LOAD( "sp2-19.ic2", 0x00000, 0x08000, CRC(6f52f8df) SHA1(a203e5cee601ea660860c38ac8e377a54f619c12) ) // 27C256
|
||||
ROM_LOAD( "sp-18.ic18", 0x60000, 0x04000, CRC(6f377832) SHA1(25755ed77a797f50fdfbb4c42a04f51d3d08f87c) ) // 27C020
|
||||
ROM_CONTINUE(0x10000,0x4000)
|
||||
ROM_CONTINUE(0x64000,0x4000)
|
||||
ROM_CONTINUE(0x14000,0x4000)
|
||||
@ -2093,38 +2094,44 @@ ROM_START( spangbl2 )
|
||||
ROM_CONTINUE(0x28000,0x4000)
|
||||
ROM_CONTINUE(0x7c000,0x4000)
|
||||
ROM_CONTINUE(0x2c000,0x4000)
|
||||
ROM_LOAD( "ic19.3", 0x40000, 0x04000, CRC(7c776309) SHA1(8861ed11484ca0727dfbc3003888a9de32ed8ecc) )
|
||||
ROM_LOAD( "sp-17.ic19", 0x40000, 0x04000, CRC(7c776309) SHA1(8861ed11484ca0727dfbc3003888a9de32ed8ecc) ) // 27C256
|
||||
ROM_CONTINUE(0x48000,0x4000)
|
||||
ROM_CONTINUE(0x44000,0x4000)
|
||||
ROM_CONTINUE(0x4c000,0x4000)
|
||||
|
||||
ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 + M5205 samples */
|
||||
ROM_LOAD( "ic28.4", 0x00000, 0x10000, CRC(02b07d0a) SHA1(77cb9bf1b0d93ebad1bd8cdbedb7fdbad23697be) )
|
||||
ROM_LOAD( "ic45.5", 0x10000, 0x10000, CRC(95c32824) SHA1(02de90a7bfbe89feb7708fda8dfac4ed32bc0773) )
|
||||
ROM_REGION( 0x20000, "audiocpu", 0 ) // Sound Z80 + M5205 samples
|
||||
ROM_LOAD( "sp-20.ic28", 0x00000, 0x10000, CRC(02b07d0a) SHA1(77cb9bf1b0d93ebad1bd8cdbedb7fdbad23697be) ) // 27C512
|
||||
ROM_LOAD( "sp-21.ic45", 0x10000, 0x10000, CRC(95c32824) SHA1(02de90a7bfbe89feb7708fda8dfac4ed32bc0773) ) // 27C512
|
||||
|
||||
ROM_REGION( 0x100000, "gfx1", ROMREGION_INVERT| ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_BYTE( "ic79.11", 0x000001, 0x10000, CRC(10839ddd) SHA1(bfb56aa5d6ee1d3aa19e346264bee90d64545e51) )
|
||||
ROM_LOAD16_BYTE( "ic78.7", 0x000000, 0x10000, CRC(c1d5df89) SHA1(a86e641af1b41c8f642fe3a14ebcbe6c27f80c79) )
|
||||
ROM_LOAD16_BYTE( "ic49.10", 0x020001, 0x10000, CRC(113c2753) SHA1(37b480b5d9c581d3c807c81924b4bbbc21d0698d) )
|
||||
ROM_LOAD16_BYTE( "ic48.6", 0x020000, 0x10000, CRC(4ffae6c9) SHA1(71df3c374a24d6a90e78d33929cb91d05bd10b78) )
|
||||
ROM_LOAD16_BYTE( "ic81.13", 0x080001, 0x10000, CRC(ebe9c63a) SHA1(1aeeea5051086405ceb803ca7a5bfd82a07ade0f) )
|
||||
ROM_LOAD16_BYTE( "ic80.9", 0x080000, 0x10000, CRC(f680051d) SHA1(b6e09e14baf839961f46e0986d2c17f7edfaf13d) )
|
||||
ROM_LOAD16_BYTE( "ic51.12", 0x0a0001, 0x10000, CRC(beb49dc9) SHA1(c93f65b0f4ce0a0f400202f2998b89abad1f6942) )
|
||||
ROM_LOAD16_BYTE( "ic50.8", 0x0a0000, 0x10000, CRC(3f91014c) SHA1(b3947caa0c667d871c19d7dda6536d043ad296f2) )
|
||||
ROM_LOAD16_BYTE( "sp-31.ic79", 0x000001, 0x10000, CRC(10839ddd) SHA1(bfb56aa5d6ee1d3aa19e346264bee90d64545e51) ) // 27C512
|
||||
ROM_LOAD16_BYTE( "sp-23.ic78", 0x000000, 0x10000, CRC(c1d5df89) SHA1(a86e641af1b41c8f642fe3a14ebcbe6c27f80c79) ) // 27C512
|
||||
ROM_LOAD16_BYTE( "sp-30.ic49", 0x020001, 0x10000, CRC(113c2753) SHA1(37b480b5d9c581d3c807c81924b4bbbc21d0698d) ) // 27C512
|
||||
ROM_LOAD16_BYTE( "sp-22.ic46", 0x020000, 0x10000, CRC(4ffae6c9) SHA1(71df3c374a24d6a90e78d33929cb91d05bd10b78) ) // 27C512
|
||||
ROM_LOAD16_BYTE( "sp-33.ic81", 0x080001, 0x10000, CRC(ebe9c63a) SHA1(1aeeea5051086405ceb803ca7a5bfd82a07ade0f) ) // 27C512
|
||||
ROM_LOAD16_BYTE( "sp-25.ic80", 0x080000, 0x10000, CRC(f680051d) SHA1(b6e09e14baf839961f46e0986d2c17f7edfaf13d) ) // 27C512
|
||||
ROM_LOAD16_BYTE( "sp-32.ic51", 0x0a0001, 0x10000, CRC(beb49dc9) SHA1(c93f65b0f4ce0a0f400202f2998b89abad1f6942) ) // 27C512
|
||||
ROM_LOAD16_BYTE( "sp-24.ic50", 0x0a0000, 0x10000, CRC(3f91014c) SHA1(b3947caa0c667d871c19d7dda6536d043ad296f2) ) // 27C512
|
||||
|
||||
ROM_REGION( 0x040000, "gfx2", ROMREGION_INVERT )
|
||||
ROM_LOAD( "ic94.17", 0x000000, 0x10000, CRC(a56f3c20) SHA1(cb440e0e612da8b8a50fe25a6336869b62ab4cfd) )
|
||||
ROM_LOAD( "ic95.16", 0x020000, 0x10000, CRC(14df4659) SHA1(d73fab0a8c1e56a26cc15333a294e876f1552bc9) )
|
||||
ROM_LOAD( "ic124.15", 0x010000, 0x10000, CRC(4702c768) SHA1(ff996f1355f32451fa57836c2255027a8108eb40) )
|
||||
ROM_LOAD( "ic125.14", 0x030000, 0x10000, CRC(bd5c2f4b) SHA1(3c71d63637633a98ab513e4336e2954af3f964f4) )
|
||||
ROM_LOAD( "sp-29.ic94", 0x000000, 0x10000, CRC(a56f3c20) SHA1(cb440e0e612da8b8a50fe25a6336869b62ab4cfd) ) // 27C512
|
||||
ROM_LOAD( "sp-28.ic95", 0x020000, 0x10000, CRC(14df4659) SHA1(d73fab0a8c1e56a26cc15333a294e876f1552bc9) ) // 27C512
|
||||
ROM_LOAD( "sp-27.ic124", 0x010000, 0x10000, CRC(4702c768) SHA1(ff996f1355f32451fa57836c2255027a8108eb40) ) // 27C512
|
||||
ROM_LOAD( "sp-26.ic125", 0x030000, 0x10000, CRC(bd5c2f4b) SHA1(3c71d63637633a98ab513e4336e2954af3f964f4) ) // 27C512
|
||||
|
||||
/* Unused */
|
||||
ROM_REGION( 0x008000, "key", 0)
|
||||
ROM_LOAD( "extra-27c256.bin", 0x00000, 0x08000, CRC(100dda13) SHA1(9a0b6d4439127abc4995c9df3839bfe1f13d8bc2) )
|
||||
// Unused
|
||||
ROM_REGION( 0x008800, "extra", 0)
|
||||
// "sp2-15" contains the same pattern repeated several times
|
||||
ROM_LOAD( "sp2-15.bin", 0x00000, 0x08000, CRC(100dda13) SHA1(9a0b6d4439127abc4995c9df3839bfe1f13d8bc2) ) // 27C256
|
||||
// "sp2-16" can be found as a 76161 PROM or as a 27C256 with its first 6KB empty
|
||||
ROM_LOAD( "sp2-16.bin", 0x08000, 0x00800, CRC(16dbd461) SHA1(1759ad71df8deb5452b3ee92aa2ece1ee79ff469) ) // M1-76161-5
|
||||
|
||||
/* Unsused */
|
||||
ROM_REGION( 0x000104, "plds", 0)
|
||||
ROM_LOAD( "1-pal16l8.ic32", 0x0000, 0x0104, CRC(b78ee715) SHA1(df9ed2bef394b4e26ac87bd39d81f4df2b5cefe5) )
|
||||
// Unsused
|
||||
ROM_REGION( 0x000505, "plds", 0)
|
||||
ROM_LOAD( "1-hy18cv8s.ic4", 0x0000, 0x0155, CRC(a93edbf5) SHA1(57ac314e6d501be903e313aec4e083d642bebebe) )
|
||||
ROM_LOAD( "2-pal16l8acn.ic32", 0x0155, 0x0104, CRC(b78ee715) SHA1(df9ed2bef394b4e26ac87bd39d81f4df2b5cefe5) )
|
||||
ROM_LOAD( "3-hy18cv8s.ic101", 0x0259, 0x0155, CRC(c5c1b9e2) SHA1(df10e706a212709bec415943a6409dd0eb8f72aa) )
|
||||
ROM_LOAD( "4-gal20v8.bin", 0x03ae, 0x0157, CRC(29a2653d) SHA1(38426af27d9c48e650c74fc3d9a9a612d11e413c) )
|
||||
ROM_END
|
||||
|
||||
/* seems to be the same basic hardware, but the memory map and io map are different at least.. */
|
||||
|
@ -599,6 +599,7 @@ MACHINE_CONFIG_START(namcofl_state::namcofl)
|
||||
m_c123tmap->set_color_base(0x1000);
|
||||
|
||||
NAMCO_C116(config, m_c116, 0);
|
||||
m_c116->enable_shadows();
|
||||
|
||||
MCFG_VIDEO_START_OVERRIDE(namcofl_state,namcofl)
|
||||
|
||||
|
@ -197,13 +197,13 @@ MACHINE_CONFIG_START(pcat_dyn_state::pcat_dyn)
|
||||
uart.out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts));
|
||||
uart.out_int_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w));
|
||||
|
||||
MCFG_DEVICE_ADD( "serport", RS232_PORT, pcat_dyn_com, "msmouse" )
|
||||
MCFG_SLOT_FIXED(true)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("ns16550", ins8250_uart_device, rx_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("ns16550", ins8250_uart_device, dcd_w))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("ns16550", ins8250_uart_device, dsr_w))
|
||||
MCFG_RS232_RI_HANDLER(WRITELINE("ns16550", ins8250_uart_device, ri_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("ns16550", ins8250_uart_device, cts_w))
|
||||
rs232_port_device &serport(RS232_PORT(config, "serport", pcat_dyn_com, "msmouse"));
|
||||
serport.set_fixed(true);
|
||||
serport.rxd_handler().set("ns16550", FUNC(ins8250_uart_device::rx_w));
|
||||
serport.dcd_handler().set("ns16550", FUNC(ins8250_uart_device::dcd_w));
|
||||
serport.dsr_handler().set("ns16550", FUNC(ins8250_uart_device::dsr_w));
|
||||
serport.ri_handler().set("ns16550", FUNC(ins8250_uart_device::ri_w));
|
||||
serport.cts_handler().set("ns16550", FUNC(ins8250_uart_device::cts_w));
|
||||
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU("maincpu")
|
||||
|
@ -238,10 +238,10 @@ MACHINE_CONFIG_START(pk8020_state::pk8020)
|
||||
m_rs232->rxrdy_handler().set("pic8259", FUNC(pic8259_device::ir1_w));
|
||||
m_rs232->txrdy_handler().set("pic8259", FUNC(pic8259_device::ir2_w));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("i8251line", i8251_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("i8251line", i8251_device, write_cts))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("i8251line", i8251_device, write_dsr))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_rs232, FUNC(i8251_device::write_rxd));
|
||||
rs232.cts_handler().set(m_rs232, FUNC(i8251_device::write_cts));
|
||||
rs232.dsr_handler().set(m_rs232, FUNC(i8251_device::write_dsr));
|
||||
|
||||
I8251(config, m_lan, 0);
|
||||
|
||||
|
@ -1535,11 +1535,11 @@ MACHINE_CONFIG_START(px4_state::px4)
|
||||
MCFG_EPSON_SIO_PIN(WRITELINE(*this, px4_state, sio_pin_w))
|
||||
|
||||
// rs232 port
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(*this, px4_state, rs232_rx_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(*this, px4_state, rs232_dcd_w))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(*this, px4_state, rs232_dsr_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(*this, px4_state, rs232_cts_w))
|
||||
RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
|
||||
m_rs232->rxd_handler().set(FUNC(px4_state::rs232_rx_w));
|
||||
m_rs232->dcd_handler().set(FUNC(px4_state::rs232_dcd_w));
|
||||
m_rs232->dsr_handler().set(FUNC(px4_state::rs232_dsr_w));
|
||||
m_rs232->cts_handler().set(FUNC(px4_state::rs232_cts_w));
|
||||
|
||||
// rom capsules
|
||||
MCFG_GENERIC_CARTSLOT_ADD("capsule1", generic_plain_slot, "px4_cart")
|
||||
|
@ -777,7 +777,7 @@ MACHINE_CONFIG_START(qx10_state::qx10)
|
||||
|
||||
UPD7201(config, m_scc, MAIN_CLK/4); // channel b clock set by pit2 channel 2
|
||||
// Channel A: Keyboard
|
||||
m_scc->out_txda_callback().set("kbd", FUNC(rs232_port_device::write_txd));
|
||||
m_scc->out_txda_callback().set(m_kbd, FUNC(rs232_port_device::write_txd));
|
||||
// Channel B: RS232
|
||||
m_scc->out_txdb_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
|
||||
m_scc->out_dtrb_callback().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
@ -814,11 +814,11 @@ MACHINE_CONFIG_START(qx10_state::qx10)
|
||||
FLOPPY_CONNECTOR(config, m_floppy[0], qx10_floppies, "525dd", floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, m_floppy[1], qx10_floppies, "525dd", floppy_image_device::default_floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_scc, upd7201_device, rxb_w))
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_scc, FUNC(upd7201_device::rxb_w));
|
||||
|
||||
MCFG_DEVICE_ADD("kbd", RS232_PORT, keyboard, "qx10")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_scc, z80dart_device, rxa_w))
|
||||
RS232_PORT(config, m_kbd, keyboard, "qx10");
|
||||
m_kbd->rxd_handler().set(m_scc, FUNC(upd7201_device::rxa_w));
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("256K");
|
||||
|
@ -3282,14 +3282,13 @@ MACHINE_CONFIG_START(rainbow_state::rainbow)
|
||||
m_hdc->out_step_callback().set(FUNC(rainbow_state::hdc_step)); // STEP PULSE
|
||||
m_hdc->out_dirin_callback().set(FUNC(rainbow_state::hdc_direction));
|
||||
|
||||
m_hdc->in_wf_callback().set(FUNC(rainbow_state::hdc_write_fault)); // WRITE FAULT (set to GND if not serviced)
|
||||
// WF + DRDY are actually wired to a routine here:
|
||||
m_hdc->in_wf_callback().set(FUNC(rainbow_state::hdc_write_fault)); // WRITE FAULT (fatal until next reset)
|
||||
m_hdc->in_drdy_callback().set(FUNC(rainbow_state::hdc_drive_ready)); // DRIVE_READY (VCC = ready)
|
||||
|
||||
m_hdc->in_drdy_callback().set(FUNC(rainbow_state::hdc_drive_ready)); // DRIVE_READY (set to VCC if not serviced)
|
||||
|
||||
m_hdc->in_sc_callback().set_constant(1); // SEEK COMPLETE (set to VCC if not serviced)
|
||||
|
||||
m_hdc->in_tk000_callback().set_constant(1); // CURRENTLY NOT EVALUATED WITHIN 'WD2010'
|
||||
m_hdc->in_wf_callback().set_constant(1); // "
|
||||
// Always set seek complete and track 00 signal (not super clean, but does not affect operation):
|
||||
m_hdc->in_sc_callback().set_constant(1); // SEEK COMPLETE (VCC = complete)
|
||||
m_hdc->in_tk000_callback().set_constant(1); // TRACK 00 signal (= from drive)
|
||||
|
||||
MCFG_HARDDISK_ADD("decharddisk1")
|
||||
/// ******************************** / HARD DISK CONTROLLER ****************************************
|
||||
@ -3312,27 +3311,25 @@ MACHINE_CONFIG_START(rainbow_state::rainbow)
|
||||
|
||||
UPD7201_NEW(config, m_mpsc, 24.0734_MHz_XTAL / 5 / 2); // 2.4073 MHz (nominally 2.5 MHz)
|
||||
m_mpsc->out_int_callback().set(FUNC(rainbow_state::mpsc_irq));
|
||||
m_mpsc->out_txda_callback().set("comm", FUNC(rs232_port_device::write_txd));
|
||||
m_mpsc->out_txda_callback().set(m_comm_port, FUNC(rs232_port_device::write_txd));
|
||||
m_mpsc->out_txdb_callback().set("printer", FUNC(rs232_port_device::write_txd));
|
||||
// RTS and DTR outputs are not connected
|
||||
|
||||
MCFG_DEVICE_ADD("comm", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, rxa_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, ctsa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, dcda_w))
|
||||
RS232_PORT(config, m_comm_port, default_rs232_devices, nullptr);
|
||||
m_comm_port->rxd_handler().set(m_mpsc, FUNC(upd7201_new_device::rxa_w));
|
||||
m_comm_port->cts_handler().set(m_mpsc, FUNC(upd7201_new_device::ctsa_w));
|
||||
m_comm_port->dcd_handler().set(m_mpsc, FUNC(upd7201_new_device::dcda_w));
|
||||
|
||||
MCFG_DEVICE_ADD("printer", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, ctsb_w)) // actually DTR
|
||||
rs232_port_device &printer(RS232_PORT(config, "printer", default_rs232_devices, nullptr));
|
||||
printer.rxd_handler().set(m_mpsc, FUNC(upd7201_new_device::rxb_w));
|
||||
printer.dcd_handler().set(m_mpsc, FUNC(upd7201_new_device::ctsb_w)); // actually DTR
|
||||
|
||||
MCFG_DEVICE_MODIFY("comm")
|
||||
MCFG_SLOT_OPTION_ADD("microsoft_mouse", MSFT_HLE_SERIAL_MOUSE)
|
||||
MCFG_SLOT_OPTION_ADD("logitech_mouse", LOGITECH_HLE_SERIAL_MOUSE)
|
||||
MCFG_SLOT_OPTION_ADD("msystems_mouse", MSYSTEMS_HLE_SERIAL_MOUSE)
|
||||
MCFG_SLOT_DEFAULT_OPTION("logitech_mouse")
|
||||
m_comm_port->option_add("microsoft_mouse", MSFT_HLE_SERIAL_MOUSE);
|
||||
m_comm_port->option_add("logitech_mouse", LOGITECH_HLE_SERIAL_MOUSE);
|
||||
m_comm_port->option_add("msystems_mouse", MSYSTEMS_HLE_SERIAL_MOUSE);
|
||||
m_comm_port->set_default_option("logitech_mouse");
|
||||
|
||||
MCFG_DEVICE_MODIFY("printer")
|
||||
MCFG_SLOT_DEFAULT_OPTION("printer")
|
||||
printer.set_default_option("printer");
|
||||
|
||||
I8251(config, m_kbd8251, 24.0734_MHz_XTAL / 5 / 2);
|
||||
m_kbd8251->txd_handler().set(FUNC(rainbow_state::kbd_tx));
|
||||
|
@ -927,12 +927,12 @@ MACHINE_CONFIG_START(rex6000_state::rex6000)
|
||||
m_uart->out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts));
|
||||
m_uart->out_int_callback().set(FUNC(rex6000_state::serial_irq));
|
||||
|
||||
MCFG_DEVICE_ADD( "serport", RS232_PORT, default_rs232_devices, nullptr )
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, ins8250_uart_device, rx_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart, ins8250_uart_device, dcd_w))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(m_uart, ins8250_uart_device, dsr_w))
|
||||
MCFG_RS232_RI_HANDLER(WRITELINE(m_uart, ins8250_uart_device, ri_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart, ins8250_uart_device, cts_w))
|
||||
rs232_port_device &serport(RS232_PORT(config, "serport", default_rs232_devices, nullptr));
|
||||
serport.rxd_handler().set(m_uart, FUNC(ins8250_uart_device::rx_w));
|
||||
serport.dcd_handler().set(m_uart, FUNC(ins8250_uart_device::dcd_w));
|
||||
serport.dsr_handler().set(m_uart, FUNC(ins8250_uart_device::dsr_w));
|
||||
serport.ri_handler().set(m_uart, FUNC(ins8250_uart_device::ri_w));
|
||||
serport.cts_handler().set(m_uart, FUNC(ins8250_uart_device::cts_w));
|
||||
|
||||
/* quickload */
|
||||
MCFG_QUICKLOAD_ADD("quickload", rex6000_state, rex6000, "rex,ds2", 0)
|
||||
@ -977,12 +977,12 @@ MACHINE_CONFIG_START(oz750_state::oz750)
|
||||
m_uart->out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts));
|
||||
m_uart->out_int_callback().set(FUNC(rex6000_state::serial_irq));
|
||||
|
||||
MCFG_DEVICE_ADD( "serport", RS232_PORT, default_rs232_devices, nullptr )
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, ins8250_uart_device, rx_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart, ins8250_uart_device, dcd_w))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(m_uart, ins8250_uart_device, dsr_w))
|
||||
MCFG_RS232_RI_HANDLER(WRITELINE(m_uart, ins8250_uart_device, ri_w))
|
||||
//MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart, ins8250_uart_device, cts_w))
|
||||
rs232_port_device &serport(RS232_PORT(config, "serport", default_rs232_devices, nullptr));
|
||||
serport.rxd_handler().set(m_uart, FUNC(ins8250_uart_device::rx_w));
|
||||
serport.dcd_handler().set(m_uart, FUNC(ins8250_uart_device::dcd_w));
|
||||
serport.dsr_handler().set(m_uart, FUNC(ins8250_uart_device::dsr_w));
|
||||
serport.ri_handler().set(m_uart, FUNC(ins8250_uart_device::ri_w));
|
||||
//serport.cts_handler().set(m_uart, FUNC(ins8250_uart_device::cts_w));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", LCD)
|
||||
|
@ -121,29 +121,30 @@ static DEVICE_INPUT_DEFAULTS_START( terminal ) // set up terminal to default to
|
||||
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
||||
MACHINE_CONFIG_START(sdk80_state::sdk80)
|
||||
void sdk80_state::sdk80(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I8080A, XTAL(18'432'000)/9)
|
||||
MCFG_DEVICE_PROGRAM_MAP(sdk80_mem)
|
||||
MCFG_DEVICE_IO_MAP(sdk80_io)
|
||||
I8080A(config, m_maincpu, XTAL(18'432'000)/9);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &sdk80_state::sdk80_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &sdk80_state::sdk80_io);
|
||||
|
||||
I8251(config, m_usart, 0);
|
||||
m_usart->txd_handler().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
|
||||
m_usart->dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
m_usart->rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD(I8255A_0_TAG, I8255A, 0)
|
||||
MCFG_DEVICE_ADD(I8255A_1_TAG, I8255A, 0)
|
||||
I8255A(config, m_ppi_0);
|
||||
I8255A(config, m_ppi_1);
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(I8251A_TAG, i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(I8251A_TAG, i8251_device, write_dsr))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(I8251A_TAG, i8251_device, write_cts))
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
|
||||
RS232_PORT(config, m_rs232, default_rs232_devices, "terminal");
|
||||
m_rs232->rxd_handler().set(m_usart, FUNC(i8251_device::write_rxd));
|
||||
m_rs232->dsr_handler().set(m_usart, FUNC(i8251_device::write_dsr));
|
||||
m_rs232->cts_handler().set(m_usart, FUNC(i8251_device::write_cts));
|
||||
m_rs232->set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
|
||||
|
||||
MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(18'432'000)/60)
|
||||
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, sdk80_state, usart_clock_tick))
|
||||
MACHINE_CONFIG_END
|
||||
clock_device &clock(CLOCK(config, "usart_clock", XTAL(18'432'000)/60));
|
||||
clock.signal_handler().set(FUNC(sdk80_state::usart_clock_tick));
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( sdk80 )
|
||||
|
@ -145,11 +145,12 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
|
||||
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_2 )
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
||||
MACHINE_CONFIG_START(sdk86_state::sdk86)
|
||||
void sdk86_state::sdk86(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I8086, XTAL(14'745'600)/3) /* divided down by i8284 clock generator; jumper selection allows it to be slowed to 2.5MHz, hence changing divider from 3 to 6 */
|
||||
MCFG_DEVICE_PROGRAM_MAP(sdk86_mem)
|
||||
MCFG_DEVICE_IO_MAP(sdk86_io)
|
||||
I8086(config, m_maincpu, XTAL(14'745'600)/3); /* divided down by i8284 clock generator; jumper selection allows it to be slowed to 2.5MHz, hence changing divider from 3 to 6 */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &sdk86_state::sdk86_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &sdk86_state::sdk86_io);
|
||||
|
||||
/* video hardware */
|
||||
config.set_default_layout(layout_sdk86);
|
||||
@ -160,10 +161,10 @@ MACHINE_CONFIG_START(sdk86_state::sdk86)
|
||||
i8251.dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
i8251.rts_handler().set(I8251_TAG, FUNC(i8251_device::write_cts));
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_dsr))
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, "terminal"));
|
||||
rs232.rxd_handler().set(I8251_TAG, FUNC(i8251_device::write_rxd));
|
||||
rs232.dsr_handler().set(I8251_TAG, FUNC(i8251_device::write_dsr));
|
||||
rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
|
||||
|
||||
clock_device &usart_clock(CLOCK(config, "usart_clock", XTAL(14'745'600)/3/16));
|
||||
usart_clock.signal_handler().set(I8251_TAG, FUNC(i8251_device::write_txc));
|
||||
@ -176,9 +177,9 @@ MACHINE_CONFIG_START(sdk86_state::sdk86)
|
||||
kbdc.in_shift_callback().set_constant(0); // Shift key
|
||||
kbdc.in_ctrl_callback().set_constant(0);
|
||||
|
||||
MCFG_DEVICE_ADD("port1", I8255A, 0)
|
||||
MCFG_DEVICE_ADD("port2", I8255A, 0)
|
||||
MACHINE_CONFIG_END
|
||||
I8255A(config, "port1");
|
||||
I8255A(config, "port2");
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( sdk86 )
|
||||
|
@ -372,8 +372,8 @@ MACHINE_CONFIG_START(sitcom_state::sitcom)
|
||||
MCFG_DL1414_UPDATE_HANDLER(WRITE16(*this, sitcom_state, update_ds<1>))
|
||||
|
||||
// host interface
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "null_modem")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(*this, sitcom_state, update_rxd))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "null_modem"));
|
||||
rs232.rxd_handler().set(FUNC(sitcom_state::update_rxd));
|
||||
|
||||
MCFG_SOFTWARE_LIST_ADD("bitb_list", "sitcom")
|
||||
config.set_default_layout(layout_sitcom);
|
||||
|
@ -406,10 +406,10 @@ MACHINE_CONFIG_START(sm7238_state::sm7238)
|
||||
m_i8251line->rts_handler().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
m_i8251line->rxrdy_handler().set("pic8259", FUNC(pic8259_device::ir1_w));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "null_modem")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("i8251line", i8251_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("i8251line", i8251_device, write_cts))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("i8251line", i8251_device, write_dsr))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "null_modem"));
|
||||
rs232.rxd_handler().set(m_i8251line, FUNC(i8251_device::write_rxd));
|
||||
rs232.cts_handler().set(m_i8251line, FUNC(i8251_device::write_cts));
|
||||
rs232.dsr_handler().set(m_i8251line, FUNC(i8251_device::write_dsr));
|
||||
|
||||
// serial connection to KM-035 keyboard
|
||||
I8251(config, m_i8251kbd, 0);
|
||||
@ -424,10 +424,10 @@ MACHINE_CONFIG_START(sm7238_state::sm7238)
|
||||
I8251(config, m_i8251prn, 0);
|
||||
m_i8251prn->rxrdy_handler().set("pic8259", FUNC(pic8259_device::ir3_w));
|
||||
|
||||
MCFG_DEVICE_ADD("prtr", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("i8251prn", i8251_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("i8251prn", i8251_device, write_cts))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("i8251prn", i8251_device, write_dsr))
|
||||
rs232_port_device &prtr(RS232_PORT(config, "prtr", default_rs232_devices, nullptr));
|
||||
prtr.rxd_handler().set(m_i8251prn, FUNC(i8251_device::write_rxd));
|
||||
prtr.cts_handler().set(m_i8251prn, FUNC(i8251_device::write_cts));
|
||||
prtr.dsr_handler().set(m_i8251prn, FUNC(i8251_device::write_dsr));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( sm7238 )
|
||||
|
@ -1109,19 +1109,19 @@ MACHINE_CONFIG_START(twinkle_state::twinkle)
|
||||
m_ata->irq_handler().set(FUNC(twinkle_state::spu_ata_irq));
|
||||
m_ata->dmarq_handler().set(FUNC(twinkle_state::spu_ata_dmarq));
|
||||
|
||||
MCFG_DEVICE_ADD("rtc", RTC65271, 0)
|
||||
RTC65271(config, "rtc", 0);
|
||||
|
||||
MCFG_DEVICE_ADD("fdc37c665gt", FDC37C665GT, XTAL(24'000'000))
|
||||
FDC37C665GT(config, "fdc37c665gt", XTAL(24'000'000));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, 0)
|
||||
MCFG_SLOT_OPTION_ADD("xvd701", JVC_XVD701)
|
||||
// MCFG_SLOT_OPTION_ADD("xvs1100", JVC_XVS1100) // 8th mix only
|
||||
MCFG_SLOT_DEFAULT_OPTION("xvd701")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("fdc37c665gt:uart2", ins8250_uart_device, rx_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("fdc37c665gt:uart2", ins8250_uart_device, dcd_w))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("fdc37c665gt:uart2", ins8250_uart_device, dsr_w))
|
||||
MCFG_RS232_RI_HANDLER(WRITELINE("fdc37c665gt:uart2", ins8250_uart_device, ri_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("fdc37c665gt:uart2", ins8250_uart_device, cts_w))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", 0));
|
||||
rs232.option_add("xvd701", JVC_XVD701);
|
||||
// rs232.option_add("xvs1100", JVC_XVS1100); // 8th mix only
|
||||
rs232.set_default_option("xvd701");
|
||||
rs232.rxd_handler().set("fdc37c665gt:uart2", FUNC(ins8250_uart_device::rx_w));
|
||||
rs232.dcd_handler().set("fdc37c665gt:uart2", FUNC(ins8250_uart_device::dcd_w));
|
||||
rs232.dsr_handler().set("fdc37c665gt:uart2", FUNC(ins8250_uart_device::dsr_w));
|
||||
rs232.ri_handler().set("fdc37c665gt:uart2", FUNC(ins8250_uart_device::ri_w));
|
||||
rs232.cts_handler().set("fdc37c665gt:uart2", FUNC(ins8250_uart_device::cts_w));
|
||||
|
||||
ns16550_device &uart(*subdevice<ns16550_device>("fdc37c665gt:uart2"));
|
||||
uart.out_tx_callback().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
|
@ -398,10 +398,10 @@ MACHINE_CONFIG_START(unixpc_state::unixpc)
|
||||
// TODO: RTC
|
||||
//MCFG_DEVICE_ADD("rtc", TC8250, 32.768_kHz_XTAL)
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("mpsc", upd7201_new_device, rxa_w))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("mpsc", upd7201_new_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("mpsc", upd7201_new_device, ctsa_w))
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set("mpsc", FUNC(upd7201_new_device::rxa_w));
|
||||
rs232.dsr_handler().set("mpsc", FUNC(upd7201_new_device::dcda_w));
|
||||
rs232.cts_handler().set("mpsc", FUNC(upd7201_new_device::ctsa_w));
|
||||
|
||||
MCFG_DEVICE_ADD("printer", CENTRONICS, centronics_devices, nullptr)
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("printlatch", "printer")
|
||||
|
@ -681,9 +681,9 @@ MACHINE_CONFIG_START(vt240_state::vt240)
|
||||
MCFG_UPD7220_BLANK_CALLBACK(INPUTLINE("charcpu", I8085_RST55_LINE))
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
|
||||
MCFG_DEVICE_ADD("duart", SCN2681, XTAL(7'372'800) / 2)
|
||||
MCFG_DEVICE_ADD(m_duart, SCN2681, XTAL(7'372'800) / 2)
|
||||
MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, vt240_state, irq13_w))
|
||||
MCFG_MC68681_A_TX_CALLBACK(WRITELINE("host", rs232_port_device, write_txd))
|
||||
MCFG_MC68681_A_TX_CALLBACK(WRITELINE(m_host, rs232_port_device, write_txd))
|
||||
MCFG_MC68681_B_TX_CALLBACK(WRITELINE("printer", rs232_port_device, write_txd))
|
||||
MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, vt240_state, duartout_w))
|
||||
|
||||
@ -699,14 +699,14 @@ MACHINE_CONFIG_START(vt240_state::vt240)
|
||||
MCFG_DEVICE_ADD("keyboard_clock", CLOCK, 4800 * 64) // 8251 is set to /64 on the clock input
|
||||
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, vt240_state, write_keyboard_clock))
|
||||
|
||||
MCFG_DEVICE_ADD("host", RS232_PORT, default_rs232_devices, "null_modem")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("duart", scn2681_device, rx_a_w))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("duart", scn2681_device, ip5_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("duart", scn2681_device, ip0_w))
|
||||
RS232_PORT(config, m_host, default_rs232_devices, "null_modem");
|
||||
m_host->rxd_handler().set(m_duart, FUNC(scn2681_device::rx_a_w));
|
||||
m_host->dsr_handler().set(m_duart, FUNC(scn2681_device::ip5_w));
|
||||
m_host->cts_handler().set(m_duart, FUNC(scn2681_device::ip0_w));
|
||||
|
||||
MCFG_DEVICE_ADD("printer", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("duart", scn2681_device, rx_b_w))
|
||||
MCFG_RS232_DSR_HANDLER(WRITELINE("duart", scn2681_device, ip1_w))
|
||||
rs232_port_device &printer(RS232_PORT(config, "printer", default_rs232_devices, nullptr));
|
||||
printer.rxd_handler().set(m_duart, FUNC(scn2681_device::rx_b_w));
|
||||
printer.dsr_handler().set(m_duart, FUNC(scn2681_device::ip1_w));
|
||||
|
||||
X2212(config, "x2212");
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -16,14 +16,6 @@
|
||||
#include "diserial.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_CIT101_HLE_KEYBOARD_TXD_CALLBACK(_devcb) \
|
||||
downcast<cit101_hle_keyboard_device &>(*device).set_txd_callback(DEVCB_##_devcb);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
@ -34,10 +26,10 @@ class cit101_hle_keyboard_device : public device_t, public device_matrix_keyboar
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cit101_hle_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
cit101_hle_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
|
||||
|
||||
// configuration
|
||||
template <class Object> devcb_base &set_txd_callback(Object &&cb) { return m_txd_callback.set_callback(std::forward<Object>(cb)); }
|
||||
auto txd_callback() { return m_txd_callback.bind(); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(write_rxd);
|
||||
|
||||
|
@ -99,7 +99,8 @@ WRITE32_MEMBER(namcofl_state::namcofl_spritebank_w)
|
||||
|
||||
int namcofl_state::FLobjcode2tile(int code)
|
||||
{
|
||||
if ((code & 0x2000) && (m_sprbank & 2)) { code += 0x4000; }
|
||||
if (BIT(code, 13))
|
||||
return (m_sprbank << 13) | (code & 0x1fff);
|
||||
|
||||
return code;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user