(nw) removed some trampolines

This commit is contained in:
Robbbert 2017-09-30 00:58:03 +10:00
parent 0a1d77707a
commit 0a2e23e0b0
21 changed files with 114 additions and 264 deletions

View File

@ -36,18 +36,13 @@
class c68ksbc_state : public driver_device
{
public:
c68ksbc_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_acia(*this, "acia")
{
}
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
c68ksbc_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
{ }
private:
required_device<cpu_device> m_maincpu;
required_device<acia6850_device> m_acia;
};
static ADDRESS_MAP_START(c68ksbc_mem, AS_PROGRAM, 16, c68ksbc_state)
@ -64,12 +59,6 @@ static INPUT_PORTS_START( c68ksbc )
INPUT_PORTS_END
WRITE_LINE_MEMBER(c68ksbc_state::write_acia_clock)
{
m_acia->write_txc(state);
m_acia->write_rxc(state);
}
static MACHINE_CONFIG_START( c68ksbc )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 8000000) // text says 8MHz, schematic says 10MHz
@ -84,7 +73,8 @@ static MACHINE_CONFIG_START( c68ksbc )
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(c68ksbc_state, write_acia_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MACHINE_CONFIG_END
/* ROM definition */

View File

@ -34,23 +34,17 @@
class altair_state : public driver_device
{
public:
altair_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_mc6850(*this, "mc6850"),
m_ram(*this, "ram")
{
}
altair_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_ram(*this, "ram")
{ }
DECLARE_QUICKLOAD_LOAD_MEMBER(altair);
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
protected:
virtual void machine_reset() override;
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
required_device<acia6850_device> m_mc6850;
required_shared_ptr<uint8_t> m_ram;
};
@ -67,8 +61,8 @@ static ADDRESS_MAP_START(altair_io, AS_IO, 8, altair_state)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// TODO: Remove AM_MIRROR() and use SIO address S0-S7
AM_RANGE( 0x00, 0x00 ) AM_MIRROR(0x10) AM_DEVREADWRITE("mc6850", acia6850_device, status_r, control_w)
AM_RANGE( 0x01, 0x01 ) AM_MIRROR(0x10) AM_DEVREADWRITE("mc6850", acia6850_device, data_r, data_w)
AM_RANGE( 0x00, 0x00 ) AM_MIRROR(0x10) AM_DEVREADWRITE("acia", acia6850_device, status_r, control_w)
AM_RANGE( 0x01, 0x01 ) AM_MIRROR(0x10) AM_DEVREADWRITE("acia", acia6850_device, data_r, data_w)
ADDRESS_MAP_END
/* Input ports */
@ -90,12 +84,6 @@ QUICKLOAD_LOAD_MEMBER( altair_state,altair)
return image_init_result::PASS;
}
WRITE_LINE_MEMBER(altair_state::write_acia_clock)
{
m_mc6850->write_txc(state);
m_mc6850->write_rxc(state);
}
void altair_state::machine_reset()
{
// Set startup address done by turn-key
@ -109,17 +97,18 @@ static MACHINE_CONFIG_START( altair )
MCFG_CPU_IO_MAP(altair_io)
/* video hardware */
MCFG_DEVICE_ADD("mc6850", ACIA6850, 0)
MCFG_DEVICE_ADD("acia", ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_rxd))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_dcd))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_cts))
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rxd))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("acia", acia6850_device, write_dcd))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600) // TODO: this is set using jumpers S3/S2/S1/S0
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(altair_state, write_acia_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
/* quickload */
MCFG_QUICKLOAD_ADD("quickload", altair_state, altair, "bin", 0)

View File

@ -81,7 +81,7 @@ public:
, m_cass(*this, "cassette")
, m_speaker(*this, "speaker")
, m_ym2203(*this, "ym2203")
, m_acia6850(*this, "acia6850")
, m_acia(*this, "acia")
, m_palette(*this, "palette")
{
}
@ -111,7 +111,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(bml3_acia_tx_w);
DECLARE_WRITE_LINE_MEMBER(bml3_acia_rts_w);
DECLARE_WRITE_LINE_MEMBER(bml3_acia_irq_w);
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
DECLARE_READ8_MEMBER(bml3_a000_r); DECLARE_WRITE8_MEMBER(bml3_a000_w);
DECLARE_READ8_MEMBER(bml3_c000_r); DECLARE_WRITE8_MEMBER(bml3_c000_w);
@ -161,7 +160,7 @@ private:
required_device<cassette_image_device> m_cass;
required_device<speaker_sound_device> m_speaker;
optional_device<ym2203_device> m_ym2203;
required_device<acia6850_device> m_acia6850;
required_device<acia6850_device> m_acia;
required_device<palette_device> m_palette;
};
@ -400,9 +399,9 @@ static ADDRESS_MAP_START(bml3_mem, AS_PROGRAM, 8, bml3_state)
AM_RANGE(0x0400, 0x43ff) AM_READWRITE(bml3_vram_r,bml3_vram_w)
AM_RANGE(0x4400, 0x9fff) AM_RAM
AM_RANGE(0xff40, 0xff46) AM_NOP // lots of unknown reads and writes
AM_RANGE(0xffc0, 0xffc3) AM_DEVREADWRITE("pia6821", pia6821_device, read, write)
AM_RANGE(0xffc4, 0xffc4) AM_DEVREADWRITE("acia6850", acia6850_device, status_r, control_w)
AM_RANGE(0xffc5, 0xffc5) AM_DEVREADWRITE("acia6850", acia6850_device, data_r, data_w)
AM_RANGE(0xffc0, 0xffc3) AM_DEVREADWRITE("pia", pia6821_device, read, write)
AM_RANGE(0xffc4, 0xffc4) AM_DEVREADWRITE("acia", acia6850_device, status_r, control_w)
AM_RANGE(0xffc5, 0xffc5) AM_DEVREADWRITE("acia", acia6850_device, data_r, data_w)
AM_RANGE(0xffc6, 0xffc7) AM_READWRITE(bml3_6845_r,bml3_6845_w)
// KBNMI - Keyboard "Break" key non-maskable interrupt
AM_RANGE(0xffc8, 0xffc8) AM_READ(bml3_keyb_nmi_r) // keyboard nmi
@ -745,7 +744,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( bml3_state::bml3_p )
if (cass_ws != m_cass_data[0])
{
m_cass_data[0] = cass_ws;
m_acia6850->write_rxd((m_cass_data[1] < 12) ? 1 : 0);
m_acia->write_rxd((m_cass_data[1] < 12) ? 1 : 0);
m_cass_data[1] = 0;
}
}
@ -923,12 +922,6 @@ WRITE_LINE_MEMBER( bml3_state::bml3_acia_irq_w )
logerror("%02x TAPE IRQ\n",state);
}
WRITE_LINE_MEMBER( bml3_state::write_acia_clock )
{
m_acia6850->write_txc(state);
m_acia6850->write_rxc(state);
}
TIMER_DEVICE_CALLBACK_MEMBER( bml3_state::bml3_c )
{
m_cass_data[3]++;
@ -994,16 +987,17 @@ static MACHINE_CONFIG_START( bml3_common )
MCFG_TIMER_DRIVER_ADD_PERIODIC("bml3_c", bml3_state, bml3_c, attotime::from_hz(4800))
MCFG_TIMER_DRIVER_ADD_PERIODIC("bml3_p", bml3_state, bml3_p, attotime::from_hz(40000))
MCFG_DEVICE_ADD("pia6821", PIA6821, 0)
MCFG_DEVICE_ADD("pia", PIA6821, 0)
MCFG_PIA_WRITEPA_HANDLER(WRITE8(bml3_state, bml3_piaA_w))
MCFG_DEVICE_ADD("acia6850", ACIA6850, 0)
MCFG_DEVICE_ADD("acia", ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(WRITELINE(bml3_state, bml3_acia_tx_w))
MCFG_ACIA6850_RTS_HANDLER(WRITELINE(bml3_state, bml3_acia_rts_w))
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(bml3_state, bml3_acia_irq_w))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 9600) // 600 baud x 16(divider) = 9600
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(bml3_state, write_acia_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_CASSETTE_ADD( "cassette" )

View File

@ -496,12 +496,6 @@ READ8_MEMBER( bw2_state::ppi_pc_r )
// pit8253_config pit_intf
//-------------------------------------------------
WRITE_LINE_MEMBER( bw2_state::pit_out0_w )
{
m_uart->write_txc(state);
m_uart->write_rxc(state);
}
WRITE_LINE_MEMBER( bw2_state::mtron_w )
{
m_mtron = state;
@ -595,7 +589,8 @@ static MACHINE_CONFIG_START( bw2 )
// devices
MCFG_DEVICE_ADD(I8253_TAG, PIT8253, 0)
MCFG_PIT8253_CLK0(XTAL_16MHz/4) // 8251 USART TXC, RXC
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(bw2_state, pit_out0_w))
MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(I8251_TAG, i8251_device, write_rxc))
MCFG_PIT8253_CLK1(11000) // LCD controller
MCFG_PIT8253_OUT1_HANDLER(DEVWRITELINE(I8253_TAG, pit8253_device, write_clk2))
MCFG_PIT8253_CLK2(0) // Floppy /MTRON

View File

@ -74,7 +74,6 @@ public:
DECLARE_WRITE8_MEMBER(port60_w);
DECLARE_WRITE8_MEMBER(port70_w);
DECLARE_WRITE_LINE_MEMBER(txdata_callback);
DECLARE_WRITE_LINE_MEMBER(uart_clock_w);
DECLARE_DRIVER_INIT(fc100);
TIMER_DEVICE_CALLBACK_MEMBER(timer_c);
TIMER_DEVICE_CALLBACK_MEMBER(timer_p);
@ -419,12 +418,6 @@ WRITE_LINE_MEMBER( fc100_state::txdata_callback )
m_cass_state = state;
}
WRITE_LINE_MEMBER( fc100_state::uart_clock_w )
{
m_uart->write_txc(state);
m_uart->write_rxc(state);
}
TIMER_DEVICE_CALLBACK_MEMBER( fc100_state::timer_c )
{
m_cass_data[3]++;
@ -548,7 +541,9 @@ static MACHINE_CONFIG_START( fc100 )
MCFG_DEVICE_ADD("uart", I8251, 0)
MCFG_I8251_TXD_HANDLER(WRITELINE(fc100_state, txdata_callback))
MCFG_DEVICE_ADD("uart_clock", CLOCK, XTAL_4_9152MHz/16/16) // gives 19200
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(fc100_state, uart_clock_w))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc))
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_c", fc100_state, timer_c, attotime::from_hz(4800)) // cass write
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_p", fc100_state, timer_p, attotime::from_hz(40000)) // cass read
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_k", fc100_state, timer_k, attotime::from_hz(300)) // keyb scan

View File

@ -63,11 +63,11 @@ class h8_state : public driver_device
{
public:
h8_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_uart(*this, "uart"),
m_cass(*this, "cassette"),
m_beep(*this, "beeper")
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_uart(*this, "uart")
, m_cass(*this, "cassette")
, m_beep(*this, "beeper")
{ }
DECLARE_READ8_MEMBER(portf0_r);
@ -76,10 +76,10 @@ public:
DECLARE_WRITE8_MEMBER(h8_status_callback);
DECLARE_WRITE_LINE_MEMBER(h8_inte_callback);
DECLARE_WRITE_LINE_MEMBER(txdata_callback);
DECLARE_WRITE_LINE_MEMBER(write_cassette_clock);
TIMER_DEVICE_CALLBACK_MEMBER(h8_irq_pulse);
TIMER_DEVICE_CALLBACK_MEMBER(h8_c);
TIMER_DEVICE_CALLBACK_MEMBER(h8_p);
private:
uint8_t m_digit;
uint8_t m_segment;
@ -271,12 +271,6 @@ WRITE_LINE_MEMBER( h8_state::txdata_callback )
m_cass_state = state;
}
WRITE_LINE_MEMBER( h8_state::write_cassette_clock )
{
m_uart->write_txc(state);
m_uart->write_rxc(state);
}
TIMER_DEVICE_CALLBACK_MEMBER(h8_state::h8_c)
{
m_cass_data[3]++;
@ -330,7 +324,8 @@ static MACHINE_CONFIG_START( h8 )
MCFG_I8251_TXD_HANDLER(WRITELINE(h8_state, txdata_callback))
MCFG_DEVICE_ADD("cassette_clock", CLOCK, 4800)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(h8_state, write_cassette_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc))
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)

View File

@ -22,32 +22,27 @@
#include "machine/pit8253.h"
#include "machine/terminal.h"
#define TERMINAL_TAG "terminal"
class imsai_state : public driver_device
{
public:
imsai_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_terminal(*this, TERMINAL_TAG),
m_uart(*this, "uart"),
m_pit(*this, "pit")
{
}
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_terminal(*this, "terminal")
, m_pit(*this, "pit")
{ }
void kbd_put(u8 data);
DECLARE_READ8_MEMBER(keyin_r);
DECLARE_READ8_MEMBER(status_r);
DECLARE_WRITE8_MEMBER(control_w);
DECLARE_WRITE_LINE_MEMBER(write_uart_clock);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
required_device<i8251_device> m_uart;
required_device<pit8253_device> m_pit;
};
@ -63,13 +58,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(imsai_io, AS_IO, 8, imsai_state)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_READ(keyin_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
AM_RANGE(0x02, 0x02) AM_READ(keyin_r) AM_DEVWRITE("terminal", generic_terminal_device, write)
AM_RANGE(0x03, 0x03) AM_READ(status_r)
AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0x05, 0x05) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
AM_RANGE(0x12, 0x12) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0x13, 0x13) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
AM_RANGE(0x14, 0x14) AM_READ(keyin_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
AM_RANGE(0x14, 0x14) AM_READ(keyin_r) AM_DEVWRITE("terminal", generic_terminal_device, write)
AM_RANGE(0x15, 0x15) AM_READ(status_r)
AM_RANGE(0xf3, 0xf3) AM_WRITE(control_w)
ADDRESS_MAP_END
@ -95,12 +90,6 @@ void imsai_state::kbd_put(u8 data)
m_term_data = data;
}
WRITE_LINE_MEMBER(imsai_state::write_uart_clock)
{
m_uart->write_txc(state);
m_uart->write_rxc(state);
}
WRITE8_MEMBER( imsai_state::control_w )
{
}
@ -117,7 +106,7 @@ static MACHINE_CONFIG_START( imsai )
MCFG_CPU_IO_MAP(imsai_io)
/* video hardware */
MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0)
MCFG_DEVICE_ADD("terminal", GENERIC_TERMINAL, 0)
MCFG_GENERIC_TERMINAL_KEYBOARD_CB(PUT(imsai_state, kbd_put))
/* Devices */
@ -125,7 +114,8 @@ static MACHINE_CONFIG_START( imsai )
MCFG_DEVICE_ADD("pit", PIT8253, 0)
MCFG_PIT8253_CLK0(XTAL_6MHz / 3) /* Timer 0: baud rate gen for 8251 */
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(imsai_state, write_uart_clock))
MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc))
MCFG_PIT8253_CLK1(XTAL_6MHz / 3) /* Timer 1: user */
MCFG_PIT8253_CLK2(XTAL_6MHz / 3) /* Timer 2: user */
MACHINE_CONFIG_END

View File

@ -95,12 +95,12 @@ public:
};
mekd2_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_pia_s(*this, "pia_s"),
m_pia_u(*this, "pia_u"),
m_acia(*this, "acia"),
m_cass(*this, "cassette")
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_pia_s(*this, "pia_s")
, m_pia_u(*this, "pia_u")
, m_acia(*this, "acia")
, m_cass(*this, "cassette")
{ }
DECLARE_READ_LINE_MEMBER(mekd2_key40_r);
@ -113,10 +113,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(mekd2_c);
TIMER_DEVICE_CALLBACK_MEMBER(mekd2_p);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
uint8_t m_cass_data[4];
uint8_t m_segment;
uint8_t m_digit;

View File

@ -27,10 +27,10 @@ class mephisto_pinball_state : public driver_device
{
public:
mephisto_pinball_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_aysnd(*this, "aysnd"),
m_soundbank(*this, "soundbank")
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_aysnd(*this, "aysnd")
, m_soundbank(*this, "soundbank")
{ }
DECLARE_WRITE8_MEMBER(shift_load_w);
@ -41,24 +41,16 @@ public:
DECLARE_READ8_MEMBER(ay8910_inputs_r);
DECLARE_WRITE8_MEMBER(sound_rombank_w);
protected:
// devices
required_device<cpu_device> m_maincpu;
required_device<ay8910_device> m_aysnd;
required_memory_bank m_soundbank;
// driver_device overrides
virtual void machine_start() override;
virtual void machine_reset() override;
// internal data
private:
u8 m_ay8910_data;
bool m_ay8910_bdir;
bool m_ay8910_bc1;
private:
void ay8910_update();
virtual void machine_start() override;
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
required_device<ay8910_device> m_aysnd;
required_memory_bank m_soundbank;
};

View File

@ -147,29 +147,6 @@ INPUT_PORTS_END
//**************************************************************************
// DEVICE CONFIGURATION
//**************************************************************************
//-------------------------------------------------
// COM8116_INTERFACE( dbrg_intf )
//-------------------------------------------------
WRITE_LINE_MEMBER( ob68k1a_state::rx_tx_0_w )
{
m_acia0->write_txc(state);
m_acia0->write_rxc(state);
}
WRITE_LINE_MEMBER( ob68k1a_state::rx_tx_1_w )
{
m_acia1->write_txc(state);
m_acia1->write_rxc(state);
}
//**************************************************************************
// MACHINE INITIALIZATION
//**************************************************************************
@ -247,8 +224,10 @@ static MACHINE_CONFIG_START( ob68k1a )
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_cts))
MCFG_DEVICE_ADD(COM8116_TAG, COM8116, XTAL_5_0688MHz)
MCFG_COM8116_FR_HANDLER(WRITELINE(ob68k1a_state, rx_tx_0_w))
MCFG_COM8116_FT_HANDLER(WRITELINE(ob68k1a_state, rx_tx_1_w))
MCFG_COM8116_FR_HANDLER(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_rxc))
MCFG_COM8116_FT_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_rxc))
// internal ram
MCFG_RAM_ADD(RAM_TAG)

View File

@ -48,21 +48,18 @@ class poly_state : public driver_device
{
public:
poly_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_pia0(*this, "pia0"),
m_pia1(*this, "pia1"),
m_acia(*this, "acia"),
m_ptm(*this, "ptm"),
m_speaker(*this, "speaker"),
m_videoram(*this, "videoram")
{
}
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_pia0(*this, "pia0")
, m_pia1(*this, "pia1")
, m_ptm(*this, "ptm")
, m_speaker(*this, "speaker")
, m_videoram(*this, "videoram")
{ }
void kbd_put(u8 data);
DECLARE_READ8_MEMBER(pia1_b_in);
DECLARE_READ8_MEMBER(videoram_r);
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
DECLARE_WRITE_LINE_MEMBER( ptm_o2_callback );
DECLARE_WRITE_LINE_MEMBER( ptm_o3_callback );
@ -73,7 +70,6 @@ private:
required_device<cpu_device> m_maincpu;
required_device<pia6821_device> m_pia0;
required_device<pia6821_device> m_pia1;
required_device<acia6850_device> m_acia;
required_device<ptm6840_device> m_ptm;
required_device<speaker_sound_device> m_speaker;
required_shared_ptr<uint8_t> m_videoram;
@ -135,12 +131,6 @@ void poly_state::kbd_put(u8 data)
m_pia1->cb1_w(0);
}
WRITE_LINE_MEMBER( poly_state::write_acia_clock )
{
m_acia->write_txc(state);
m_acia->write_rxc(state);
}
WRITE_LINE_MEMBER( poly_state::ptm_o2_callback )
{
m_ptm->set_c1(state);
@ -194,8 +184,9 @@ static MACHINE_CONFIG_START( poly )
//MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
//MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
//MCFG_DEVICE_ADD("acia_clock", CLOCK, 1)
//MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(poly_state, write_acia_clock))
//MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
//MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
//MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_DEVICE_ADD("adlc", MC6854, 0)

View File

@ -41,23 +41,18 @@ ToDo:
class sdk86_state : public driver_device
{
public:
sdk86_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag) ,
m_maincpu(*this, "maincpu"),
m_usart(*this, I8251_TAG)
{
}
required_device<cpu_device> m_maincpu;
required_device<i8251_device> m_usart;
sdk86_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
{ }
DECLARE_WRITE8_MEMBER(scanlines_w);
DECLARE_WRITE8_MEMBER(digit_w);
DECLARE_READ8_MEMBER(kbd_r);
DECLARE_WRITE_LINE_MEMBER( write_usart_clock );
private:
uint8_t m_digit;
required_device<cpu_device> m_maincpu;
};
static ADDRESS_MAP_START(sdk86_mem, AS_PROGRAM, 16, sdk86_state)
@ -131,12 +126,6 @@ READ8_MEMBER( sdk86_state::kbd_r )
return data;
}
WRITE_LINE_MEMBER( sdk86_state::write_usart_clock )
{
m_usart->write_txc(state);
m_usart->write_rxc(state);
}
static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_4800 )
DEVICE_INPUT_DEFAULTS( "RS232_RXBAUD", 0xff, RS232_BAUD_4800 )
@ -167,7 +156,8 @@ static MACHINE_CONFIG_START( sdk86 )
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD("usart_clock", CLOCK, 307200)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(sdk86_state, write_usart_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(I8251_TAG, i8251_device, write_rxc))
MCFG_DEVICE_ADD("i8279", I8279, 2500000) // based on divider
MCFG_I8279_OUT_SL_CB(WRITE8(sdk86_state, scanlines_w)) // scan SL lines

View File

@ -85,11 +85,6 @@ static SLOT_INTERFACE_START( swtpc09_floppies )
SLOT_INTERFACE("35hd", FLOPPY_35_HD) // flex 1.44mb disk from swtpc emu (emulator only?)
SLOT_INTERFACE_END
WRITE_LINE_MEMBER(swtpc09_state::write_acia_clock)
{
m_acia->write_txc(state);
m_acia->write_rxc(state);
}
/***************************************************************************
Machine definitions
@ -124,7 +119,8 @@ static MACHINE_CONFIG_START( swtpc09 )
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(swtpc09_state, acia_interrupt))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(swtpc09_state, write_acia_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_FD1793_ADD("fdc", XTAL_1MHz)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(swtpc09_state, fdc_intrq_w))
@ -164,7 +160,8 @@ static MACHINE_CONFIG_START( swtpc09i )
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(swtpc09_state, acia_interrupt))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(swtpc09_state, write_acia_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_FD1793_ADD("fdc", XTAL_1MHz)
@ -213,7 +210,8 @@ static MACHINE_CONFIG_START( swtpc09d3 )
MCFG_ACIA6850_IRQ_HANDLER(INPUTLINE("maincpu", M6809_IRQ_LINE))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(swtpc09_state, write_acia_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_FD1793_ADD("fdc", XTAL_1MHz)

View File

@ -80,7 +80,6 @@ public:
, m_floppy0(*this, "fdc:0")
, m_beep(*this, "beeper")
, m_maincpu(*this, "maincpu")
, m_acia(*this, "acia")
, m_palette(*this, "palette")
, m_p_chargen(*this, "chargen")
{
@ -96,7 +95,6 @@ public:
DECLARE_WRITE8_MEMBER(ds_w);
DECLARE_MACHINE_RESET(cpu09);
DECLARE_MACHINE_RESET(ivg09);
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
MC6845_UPDATE_ROW(crtc_update_row);
private:
@ -109,7 +107,6 @@ private:
optional_device<floppy_connector> m_floppy0;
optional_device<beep_device> m_beep;
required_device<cpu_device> m_maincpu;
required_device<acia6850_device> m_acia;
optional_device<palette_device> m_palette;
optional_region_ptr<u8> m_p_chargen;
};
@ -291,12 +288,6 @@ void tavernie_state::kbd_put(u8 data)
m_pia_ivg->cb1_w(1);
}
WRITE_LINE_MEMBER( tavernie_state::write_acia_clock )
{
m_acia->write_txc(state);
m_acia->write_rxc(state);
}
static MACHINE_CONFIG_START( cpu09 )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz)
@ -334,7 +325,8 @@ static MACHINE_CONFIG_START( cpu09 )
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(tavernie_state, write_acia_clock))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ivg09, cpu09 )

View File

@ -33,13 +33,10 @@ public:
, m_maincpu(*this, "maincpu")
, m_palette(*this, "palette")
, m_crtc(*this, "crtc")
, m_uart17(*this, "uart_u17")
, m_uart18(*this, "uart_u18")
{ }
DECLARE_WRITE_LINE_MEMBER(drq_w);
DECLARE_WRITE_LINE_MEMBER(irq_w);
DECLARE_WRITE_LINE_MEMBER(clock_w);
I8275_DRAW_CHARACTER_MEMBER( crtc_display_pixels );
private:
@ -50,8 +47,6 @@ private:
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette;
required_device<i8275_device> m_crtc;
required_device<i8251_device> m_uart17;
required_device<i8251_device> m_uart18;
};
static ADDRESS_MAP_START(tim100_mem, AS_PROGRAM, 8, tim100_state)
@ -159,14 +154,6 @@ WRITE_LINE_MEMBER( tim100_state::irq_w )
m_maincpu->set_input_line(I8085_RST65_LINE, CLEAR_LINE);
}
WRITE_LINE_MEMBER( tim100_state::clock_w )
{
m_uart17->write_txc(state);
m_uart17->write_rxc(state);
m_uart18->write_txc(state);
m_uart18->write_rxc(state);
}
static MACHINE_CONFIG_START( tim100 )
/* basic machine hardware */
@ -216,7 +203,10 @@ static MACHINE_CONFIG_START( tim100 )
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", tim100 )
MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(tim100_state, clock_w))
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart_u17", i8251_device, write_rxc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart_u18", i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart_u18", i8251_device, write_rxc))
MACHINE_CONFIG_END
/* ROM definition */

View File

@ -75,8 +75,6 @@ public:
, m_fdc(*this, "fdc")
, m_floppy0(*this, "fdc:0")
, m_speaker(*this, "speaker")
, m_acia0(*this, "acia0")
, m_acia1(*this, "acia1")
, m_palette(*this, "palette")
, m_p_videoram(*this, "videoram")
, m_p_chargen(*this, "chargen")
@ -91,7 +89,6 @@ public:
DECLARE_WRITE8_MEMBER(v6809_address_w);
DECLARE_WRITE8_MEMBER(v6809_register_w);
void kbd_put(u8 data);
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
DECLARE_MACHINE_RESET(v6809);
MC6845_UPDATE_ROW(crtc_update_row);
MC6845_ON_UPDATE_ADDR_CHANGED(crtc_update_addr);
@ -108,8 +105,6 @@ private:
required_device<mb8876_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<speaker_sound_device> m_speaker;
required_device<acia6850_device> m_acia0;
required_device<acia6850_device> m_acia1;
required_device<palette_device> m_palette;
required_region_ptr<u8> m_p_videoram;
required_region_ptr<u8> m_p_chargen;
@ -238,14 +233,6 @@ void v6809_state::kbd_put(u8 data)
m_pia0->cb1_w(1);
}
WRITE_LINE_MEMBER( v6809_state::write_acia_clock )
{
m_acia0->write_txc(state);
m_acia0->write_rxc(state);
m_acia1->write_txc(state);
m_acia1->write_rxc(state);
}
READ8_MEMBER( v6809_state::pb_r )
{
uint8_t ret = m_term_data;
@ -348,8 +335,11 @@ static MACHINE_CONFIG_START( v6809 )
MCFG_DEVICE_ADD("acia1", ACIA6850, 0)
MCFG_DEVICE_ADD("acia_clock", CLOCK, 10)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(v6809_state, write_acia_clock))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia0", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia0", acia6850_device, write_rxc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia1", acia6850_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia1", acia6850_device, write_rxc))
MCFG_DEVICE_ADD("rtc", MM58274C, 0)
// this is all guess

View File

@ -361,20 +361,6 @@ static INPUT_PORTS_START( xor100 )
PORT_CONFSETTING( 0x01, "Disabled" )
INPUT_PORTS_END
/* COM5016 Interface */
WRITE_LINE_MEMBER( xor100_state::com5016_fr_w )
{
m_uart_a->write_txc(state);
m_uart_a->write_rxc(state);
}
WRITE_LINE_MEMBER( xor100_state::com5016_ft_w )
{
m_uart_b->write_txc(state);
m_uart_b->write_rxc(state);
}
/* Printer 8255A Interface */
WRITE_LINE_MEMBER( xor100_state::write_centronics_busy )
@ -540,8 +526,10 @@ static MACHINE_CONFIG_START( xor100 )
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD(COM5016_TAG, COM8116, XTAL_5_0688MHz)
MCFG_COM8116_FR_HANDLER(WRITELINE(xor100_state, com5016_fr_w))
MCFG_COM8116_FT_HANDLER(WRITELINE(xor100_state, com5016_ft_w))
MCFG_COM8116_FR_HANDLER(DEVWRITELINE(I8251_A_TAG, i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(I8251_A_TAG, i8251_device, write_rxc))
MCFG_COM8116_FT_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_txc))
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(I8251_B_TAG, i8251_device, write_rxc))
MCFG_DEVICE_ADD(I8255A_TAG, I8255A, 0)
MCFG_I8255_OUT_PORTA_CB(DEVWRITE8("cent_data_out", output_latch_device, write))

View File

@ -72,7 +72,6 @@ public:
DECLARE_WRITE8_MEMBER( ppi_pc_w );
DECLARE_READ8_MEMBER( ppi_pc_r );
DECLARE_WRITE_LINE_MEMBER( pit_out0_w );
DECLARE_WRITE_LINE_MEMBER( mtron_w );
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );

View File

@ -55,8 +55,6 @@ public:
DECLARE_WRITE8_MEMBER( com8116_w );
DECLARE_READ8_MEMBER( pia_r );
DECLARE_WRITE8_MEMBER( pia_w );
DECLARE_WRITE_LINE_MEMBER( rx_tx_0_w );
DECLARE_WRITE_LINE_MEMBER( rx_tx_1_w );
};
#endif

View File

@ -58,7 +58,6 @@ public:
DECLARE_WRITE_LINE_MEMBER( ptm_irq );
DECLARE_WRITE_LINE_MEMBER( acia_interrupt );
DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w );
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );

View File

@ -60,8 +60,6 @@ public:
void fdc_intrq_w(bool state);
void fdc_drq_w(bool state);
DECLARE_WRITE_LINE_MEMBER(com5016_fr_w);
DECLARE_WRITE_LINE_MEMBER(com5016_ft_w);
DECLARE_READ8_MEMBER(i8255_pc_r);
DECLARE_WRITE_LINE_MEMBER(ctc_z0_w);
DECLARE_WRITE_LINE_MEMBER(ctc_z1_w);