mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
tiki100: Added DART speed select jumper. [Curt Coder]
This commit is contained in:
parent
0624097b4c
commit
dada051a35
@ -15,7 +15,6 @@
|
||||
TODO:
|
||||
|
||||
- palette RAM should be written during HBLANK
|
||||
- DART clocks
|
||||
- winchester hard disk
|
||||
- analog/digital I/O
|
||||
- light pen
|
||||
@ -448,6 +447,11 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ST")
|
||||
PORT_CONFNAME( 0x01, 0x01, "DART TxCA")
|
||||
PORT_CONFSETTING( 0x00, "BAR0" )
|
||||
PORT_CONFSETTING( 0x01, "BAR2" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Video */
|
||||
@ -605,16 +609,19 @@ TIMER_DEVICE_CALLBACK_MEMBER(tiki100_state::ctc_tick)
|
||||
m_ctc->trg1(0);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( tiki100_state::ctc_z0_w )
|
||||
WRITE_LINE_MEMBER( tiki100_state::bar0_w )
|
||||
{
|
||||
m_ctc->trg2(state);
|
||||
|
||||
m_dart->rxca_w(state);
|
||||
m_dart->txca_w(state);
|
||||
|
||||
if (!m_st) m_dart->txca_w(state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( tiki100_state::ctc_z2_w )
|
||||
WRITE_LINE_MEMBER( tiki100_state::bar2_w )
|
||||
{
|
||||
if (m_st) m_dart->txca_w(state);
|
||||
|
||||
m_ctc->trg3(state);
|
||||
}
|
||||
|
||||
@ -668,6 +675,10 @@ void tiki100_state::machine_start()
|
||||
save_item(NAME(m_mode));
|
||||
save_item(NAME(m_palette_val));
|
||||
save_item(NAME(m_keylatch));
|
||||
save_item(NAME(m_centronics_ack));
|
||||
save_item(NAME(m_centronics_busy));
|
||||
save_item(NAME(m_centronics_perror));
|
||||
save_item(NAME(m_st));
|
||||
}
|
||||
|
||||
void tiki100_state::machine_reset()
|
||||
@ -675,6 +686,8 @@ void tiki100_state::machine_reset()
|
||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
system_w(space, 0, 0);
|
||||
|
||||
m_st = m_st_io->read();
|
||||
}
|
||||
|
||||
/* Machine Driver */
|
||||
@ -718,9 +731,9 @@ static MACHINE_CONFIG_START( tiki100, tiki100_state )
|
||||
|
||||
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_8MHz/4)
|
||||
MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
|
||||
MCFG_Z80CTC_ZC0_CB(WRITELINE(tiki100_state, ctc_z0_w))
|
||||
MCFG_Z80CTC_ZC0_CB(WRITELINE(tiki100_state, bar0_w))
|
||||
MCFG_Z80CTC_ZC1_CB(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w))
|
||||
MCFG_Z80CTC_ZC2_CB(WRITELINE(tiki100_state, ctc_z2_w))
|
||||
MCFG_Z80CTC_ZC2_CB(WRITELINE(tiki100_state, bar2_w))
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", tiki100_state, ctc_tick, attotime::from_hz(XTAL_8MHz/4))
|
||||
|
||||
|
@ -71,6 +71,7 @@ public:
|
||||
m_y10(*this, "Y10"),
|
||||
m_y11(*this, "Y11"),
|
||||
m_y12(*this, "Y12"),
|
||||
m_st_io(*this, "ST"),
|
||||
m_palette(*this, "palette"),
|
||||
m_rome(1),
|
||||
m_vire(1)
|
||||
@ -103,6 +104,7 @@ public:
|
||||
required_ioport m_y10;
|
||||
required_ioport m_y11;
|
||||
required_ioport m_y12;
|
||||
required_ioport m_st_io;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
virtual void machine_start();
|
||||
@ -120,8 +122,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( video_mode_w );
|
||||
DECLARE_WRITE8_MEMBER( palette_w );
|
||||
DECLARE_WRITE8_MEMBER( system_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ctc_z0_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ctc_z2_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( bar0_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( bar2_w );
|
||||
DECLARE_WRITE8_MEMBER( video_scroll_w );
|
||||
|
||||
DECLARE_READ8_MEMBER( pio_pb_r );
|
||||
@ -129,6 +131,13 @@ public:
|
||||
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( ctc_tick );
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( tape_tick );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(write_centronics_ack);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_centronics_busy);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_centronics_perror);
|
||||
|
||||
enum
|
||||
{
|
||||
ROM0 = 0x01,
|
||||
@ -137,28 +146,25 @@ public:
|
||||
RAM = 0x08
|
||||
};
|
||||
|
||||
/* memory state */
|
||||
int m_rome;
|
||||
int m_vire;
|
||||
// memory state
|
||||
bool m_rome;
|
||||
bool m_vire;
|
||||
|
||||
/* video state */
|
||||
// video state
|
||||
UINT8 m_scroll;
|
||||
UINT8 m_mode;
|
||||
UINT8 m_palette_val;
|
||||
|
||||
/* keyboard state */
|
||||
// keyboard state
|
||||
int m_keylatch;
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( ctc_tick );
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( tape_tick );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(write_centronics_ack);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_centronics_busy);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_centronics_perror);
|
||||
|
||||
// printer state
|
||||
int m_centronics_ack;
|
||||
int m_centronics_busy;
|
||||
int m_centronics_perror;
|
||||
|
||||
// serial state
|
||||
bool m_st;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user