mirror of
https://github.com/holub/mame
synced 2025-07-04 01:18:59 +03:00
tms1000: add read/write prefix to k/r/o devcb names
This commit is contained in:
parent
1c4c29aff6
commit
6fe19f4032
@ -110,7 +110,7 @@ void tms0270_cpu_device::dynamic_output()
|
|||||||
// standard O-output
|
// standard O-output
|
||||||
if (m_o_latch != m_o_latch_prev)
|
if (m_o_latch != m_o_latch_prev)
|
||||||
{
|
{
|
||||||
write_o_output(m_o_latch);
|
write_o_reg(m_o_latch);
|
||||||
m_o_latch_prev = m_o_latch;
|
m_o_latch_prev = m_o_latch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -118,7 +118,7 @@ void tms0270_cpu_device::dynamic_output()
|
|||||||
// standard R-output
|
// standard R-output
|
||||||
if (m_r != m_r_prev)
|
if (m_r != m_r_prev)
|
||||||
{
|
{
|
||||||
m_write_r(m_r & m_r_mask);
|
write_r_output(m_r);
|
||||||
m_r_prev = m_r;
|
m_r_prev = m_r;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ protected:
|
|||||||
|
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual void write_o_output(u8 index) override { tms1k_base_device::write_o_output(index); }
|
virtual void write_o_reg(u8 index) override { tms1k_base_device::write_o_reg(index); }
|
||||||
virtual u8 read_k_input() override;
|
virtual u8 read_k_input() override;
|
||||||
virtual void dynamic_output() override;
|
virtual void dynamic_output() override;
|
||||||
|
|
||||||
|
@ -113,11 +113,11 @@ void tms0970_cpu_device::device_reset()
|
|||||||
|
|
||||||
|
|
||||||
// i/o handling
|
// i/o handling
|
||||||
void tms0970_cpu_device::write_o_output(u8 index)
|
void tms0970_cpu_device::write_o_reg(u8 index)
|
||||||
{
|
{
|
||||||
m_o_index = index;
|
m_o_index = index;
|
||||||
m_o = m_spla->read(index);
|
m_o = m_spla->read(index);
|
||||||
m_write_o(m_o & m_o_mask);
|
write_o_output(m_o);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -133,6 +133,6 @@ void tms0970_cpu_device::op_setr()
|
|||||||
void tms0970_cpu_device::op_tdo()
|
void tms0970_cpu_device::op_tdo()
|
||||||
{
|
{
|
||||||
// TDO: transfer digits to output
|
// TDO: transfer digits to output
|
||||||
write_o_output(m_a & 0x7);
|
write_o_reg(m_a & 0x7);
|
||||||
m_write_r(m_r & m_r_mask);
|
write_r_output(m_r);
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ protected:
|
|||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual void write_o_output(u8 index) override;
|
virtual void write_o_reg(u8 index) override;
|
||||||
|
|
||||||
virtual void op_setr() override;
|
virtual void op_setr() override;
|
||||||
virtual void op_tdo() override;
|
virtual void op_tdo() override;
|
||||||
|
@ -258,5 +258,5 @@ void tms0980_cpu_device::op_sbl()
|
|||||||
void tms1980_cpu_device::op_tdo()
|
void tms1980_cpu_device::op_tdo()
|
||||||
{
|
{
|
||||||
// TDO: transfer accumulator and status(not status_latch!) to O-output
|
// TDO: transfer accumulator and status(not status_latch!) to O-output
|
||||||
write_o_output(m_status << 4 | m_a);
|
write_o_reg(m_status << 4 | m_a);
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ protected:
|
|||||||
// overrides
|
// overrides
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual void write_o_output(u8 index) override { tms1k_base_device::write_o_output(index); }
|
virtual void write_o_reg(u8 index) override { tms1k_base_device::write_o_reg(index); }
|
||||||
|
|
||||||
virtual void op_setr() override { tms1k_base_device::op_setr(); }
|
virtual void op_setr() override { tms1k_base_device::op_setr(); }
|
||||||
virtual void op_tdo() override;
|
virtual void op_tdo() override;
|
||||||
|
@ -80,7 +80,7 @@ void tms1100_cpu_device::op_setr()
|
|||||||
// TMS1100 manual simply says that X must be less than 4
|
// TMS1100 manual simply says that X must be less than 4
|
||||||
u8 index = BIT(m_x, m_x_bits - 1) << 4 | m_y;
|
u8 index = BIT(m_x, m_x_bits - 1) << 4 | m_y;
|
||||||
m_r = m_r | (1 << index);
|
m_r = m_r | (1 << index);
|
||||||
m_write_r(m_r & m_r_mask);
|
write_r_output(m_r);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tms1100_cpu_device::op_rstr()
|
void tms1100_cpu_device::op_rstr()
|
||||||
@ -88,5 +88,5 @@ void tms1100_cpu_device::op_rstr()
|
|||||||
// RSTR: see SETR
|
// RSTR: see SETR
|
||||||
u8 index = BIT(m_x, m_x_bits - 1) << 4 | m_y;
|
u8 index = BIT(m_x, m_x_bits - 1) << 4 | m_y;
|
||||||
m_r = m_r & ~(1 << index);
|
m_r = m_r & ~(1 << index);
|
||||||
m_write_r(m_r & m_r_mask);
|
write_r_output(m_r);
|
||||||
}
|
}
|
||||||
|
@ -86,14 +86,16 @@ tms1k_base_device::tms1k_base_device(const machine_config &mconfig, device_type
|
|||||||
m_byte_bits(byte_bits),
|
m_byte_bits(byte_bits),
|
||||||
m_x_bits(x_bits),
|
m_x_bits(x_bits),
|
||||||
m_stack_levels(stack_levels),
|
m_stack_levels(stack_levels),
|
||||||
m_output_pla_table(nullptr),
|
|
||||||
m_read_k(*this),
|
m_read_k(*this),
|
||||||
m_write_o(*this),
|
m_write_o(*this),
|
||||||
m_write_r(*this),
|
m_write_r(*this),
|
||||||
|
m_read_j(*this),
|
||||||
|
m_read_r(*this),
|
||||||
m_power_off(*this),
|
m_power_off(*this),
|
||||||
m_read_ctl(*this),
|
m_read_ctl(*this),
|
||||||
m_write_ctl(*this),
|
m_write_ctl(*this),
|
||||||
m_write_pdc(*this),
|
m_write_pdc(*this),
|
||||||
|
m_output_pla_table(nullptr),
|
||||||
m_decode_micro(*this)
|
m_decode_micro(*this)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
@ -140,6 +142,8 @@ void tms1k_base_device::device_start()
|
|||||||
m_read_k.resolve_safe(0);
|
m_read_k.resolve_safe(0);
|
||||||
m_write_o.resolve_safe();
|
m_write_o.resolve_safe();
|
||||||
m_write_r.resolve_safe();
|
m_write_r.resolve_safe();
|
||||||
|
m_read_j.resolve_safe(0);
|
||||||
|
m_read_r.resolve_safe(0);
|
||||||
m_power_off.resolve_safe();
|
m_power_off.resolve_safe();
|
||||||
m_read_ctl.resolve_safe(0);
|
m_read_ctl.resolve_safe(0);
|
||||||
m_write_ctl.resolve_safe();
|
m_write_ctl.resolve_safe();
|
||||||
@ -281,9 +285,9 @@ void tms1k_base_device::device_reset()
|
|||||||
|
|
||||||
// clear outputs
|
// clear outputs
|
||||||
m_r = 0;
|
m_r = 0;
|
||||||
m_write_r(m_r & m_r_mask);
|
write_r_output(0);
|
||||||
write_o_output(0);
|
write_o_reg(0);
|
||||||
m_write_r(m_r & m_r_mask);
|
write_r_output(0);
|
||||||
m_power_off(0);
|
m_power_off(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -362,18 +366,12 @@ void tms1k_base_device::read_opcode()
|
|||||||
// i/o handling
|
// i/o handling
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void tms1k_base_device::write_o_output(u8 index)
|
void tms1k_base_device::write_o_reg(u8 index)
|
||||||
{
|
{
|
||||||
// a hardcoded table is supported if the output pla is unknown
|
// a hardcoded table is supported if the output pla is unknown
|
||||||
m_o_index = index;
|
m_o_index = index;
|
||||||
m_o = (m_output_pla_table == nullptr) ? m_opla->read(index) : m_output_pla_table[index];
|
m_o = (m_output_pla_table == nullptr) ? m_opla->read(index) : m_output_pla_table[index];
|
||||||
m_write_o(m_o & m_o_mask);
|
write_o_output(m_o);
|
||||||
}
|
|
||||||
|
|
||||||
u8 tms1k_base_device::read_k_input()
|
|
||||||
{
|
|
||||||
// K1,2,4,8 (KC test pin is not emulated)
|
|
||||||
return m_read_k() & 0xf;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void tms1k_base_device::set_cki_bus()
|
void tms1k_base_device::set_cki_bus()
|
||||||
@ -544,26 +542,26 @@ void tms1k_base_device::op_setr()
|
|||||||
{
|
{
|
||||||
// SETR: set one R-output line
|
// SETR: set one R-output line
|
||||||
m_r = m_r | (1 << m_y);
|
m_r = m_r | (1 << m_y);
|
||||||
m_write_r(m_r & m_r_mask);
|
write_r_output(m_r);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tms1k_base_device::op_rstr()
|
void tms1k_base_device::op_rstr()
|
||||||
{
|
{
|
||||||
// RSTR: reset one R-output line
|
// RSTR: reset one R-output line
|
||||||
m_r = m_r & ~(1 << m_y);
|
m_r = m_r & ~(1 << m_y);
|
||||||
m_write_r(m_r & m_r_mask);
|
write_r_output(m_r);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tms1k_base_device::op_tdo()
|
void tms1k_base_device::op_tdo()
|
||||||
{
|
{
|
||||||
// TDO: transfer accumulator and status latch to O-output
|
// TDO: transfer accumulator and status latch to O-register
|
||||||
write_o_output(m_status_latch << 4 | m_a);
|
write_o_reg(m_status_latch << 4 | m_a);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tms1k_base_device::op_clo()
|
void tms1k_base_device::op_clo()
|
||||||
{
|
{
|
||||||
// CLO: clear O-output
|
// CLO: clear O-register
|
||||||
write_o_output(0);
|
write_o_reg(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tms1k_base_device::op_ldx()
|
void tms1k_base_device::op_ldx()
|
||||||
|
@ -20,14 +20,14 @@
|
|||||||
class tms1k_base_device : public cpu_device
|
class tms1k_base_device : public cpu_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// K input pins
|
// common handlers
|
||||||
auto k() { return m_read_k.bind(); }
|
auto read_k() { return m_read_k.bind(); } // K input pins
|
||||||
|
auto write_o() { return m_write_o.bind(); } // O/Segment output pins
|
||||||
|
auto write_r() { return m_write_r.bind(); } // R output pins (also called D on some chips)
|
||||||
|
|
||||||
// O/Segment output pins
|
// TMS2100 handlers
|
||||||
auto o() { return m_write_o.bind(); }
|
auto read_j() { return m_read_j.bind(); } // J input pins
|
||||||
|
auto read_r() { return m_read_r.bind(); } // R0-R3 input pins
|
||||||
// R output pins (also called D on some chips)
|
|
||||||
auto r() { return m_write_r.bind(); }
|
|
||||||
|
|
||||||
// OFF request on TMS0980 and up
|
// OFF request on TMS0980 and up
|
||||||
auto power_off() { return m_power_off.bind(); }
|
auto power_off() { return m_power_off.bind(); }
|
||||||
@ -144,8 +144,10 @@ protected:
|
|||||||
|
|
||||||
void next_pc();
|
void next_pc();
|
||||||
|
|
||||||
virtual void write_o_output(u8 index);
|
virtual void write_o_reg(u8 index);
|
||||||
virtual u8 read_k_input();
|
virtual void write_o_output(u16 data) { m_write_o(data & m_o_mask); }
|
||||||
|
virtual void write_r_output(u32 data) { m_write_r(data & m_r_mask); }
|
||||||
|
virtual u8 read_k_input() { return m_read_k() & 0xf; }
|
||||||
virtual void set_cki_bus();
|
virtual void set_cki_bus();
|
||||||
virtual void dynamic_output() { ; } // not used by default
|
virtual void dynamic_output() { ; } // not used by default
|
||||||
virtual void read_opcode();
|
virtual void read_opcode();
|
||||||
@ -240,14 +242,20 @@ protected:
|
|||||||
address_space *m_program;
|
address_space *m_program;
|
||||||
address_space *m_data;
|
address_space *m_data;
|
||||||
|
|
||||||
const u16 *m_output_pla_table;
|
|
||||||
devcb_read8 m_read_k;
|
devcb_read8 m_read_k;
|
||||||
devcb_write16 m_write_o;
|
devcb_write16 m_write_o;
|
||||||
devcb_write32 m_write_r;
|
devcb_write32 m_write_r;
|
||||||
|
|
||||||
|
devcb_read8 m_read_j;
|
||||||
|
devcb_read8 m_read_r;
|
||||||
|
|
||||||
devcb_write_line m_power_off;
|
devcb_write_line m_power_off;
|
||||||
|
|
||||||
devcb_read8 m_read_ctl;
|
devcb_read8 m_read_ctl;
|
||||||
devcb_write8 m_write_ctl;
|
devcb_write8 m_write_ctl;
|
||||||
devcb_write_line m_write_pdc;
|
devcb_write_line m_write_pdc;
|
||||||
|
|
||||||
|
const u16 *m_output_pla_table;
|
||||||
devcb_read32 m_decode_micro;
|
devcb_read32 m_decode_micro;
|
||||||
|
|
||||||
u32 m_o_mask;
|
u32 m_o_mask;
|
||||||
|
@ -22,7 +22,11 @@ Extra functions are controlled with the R register (not mapped to pins):
|
|||||||
- R24: enable interrupts
|
- R24: enable interrupts
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- x
|
- timer interrupt
|
||||||
|
- external interrupt (INT pin)
|
||||||
|
- event counter (EC1 pin)
|
||||||
|
- R0-R3 I/O, TRA opcode
|
||||||
|
- A/D converter, TADM opcode
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -109,6 +113,14 @@ void tms2100_cpu_device::device_reset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// i/o handling
|
||||||
|
u8 tms2100_cpu_device::read_k_input()
|
||||||
|
{
|
||||||
|
// select K/J port with R16
|
||||||
|
return (BIT(m_r, 16) ? m_read_j() : m_read_k()) & 0xf;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// opcode deviations
|
// opcode deviations
|
||||||
void tms2100_cpu_device::op_tax()
|
void tms2100_cpu_device::op_tax()
|
||||||
{
|
{
|
||||||
|
@ -75,6 +75,8 @@ protected:
|
|||||||
|
|
||||||
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
|
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
|
||||||
|
|
||||||
|
virtual u8 read_k_input() override;
|
||||||
|
|
||||||
virtual void op_tax() override;
|
virtual void op_tax() override;
|
||||||
virtual void op_tra() override;
|
virtual void op_tra() override;
|
||||||
virtual void op_tac() override;
|
virtual void op_tac() override;
|
||||||
|
@ -4,10 +4,7 @@
|
|||||||
|
|
||||||
TMS1000 family - TMS2400, TMS2470, TMS2600, TMS2670
|
TMS1000 family - TMS2400, TMS2470, TMS2600, TMS2670
|
||||||
|
|
||||||
TMS2400 is a TMS2100 with twice more memory (kind of like TMS1400 is to TMS1100)
|
TMS2400 is a TMS2100 with twice more memory (kind of how TMS1400 is to TMS1100)
|
||||||
|
|
||||||
TODO:
|
|
||||||
- x
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -70,7 +67,7 @@ void tms2400_cpu_device::device_reset()
|
|||||||
// opcode deviations
|
// opcode deviations
|
||||||
void tms2400_cpu_device::op_ldx()
|
void tms2400_cpu_device::op_ldx()
|
||||||
{
|
{
|
||||||
// LDX: value is still 3 bit even though X is 4 bit
|
// LDX: value is still 3-bit even though X is 4-bit
|
||||||
tms2100_cpu_device::op_ldx();
|
tms2100_cpu_device::op_ldx();
|
||||||
m_x >>= 1;
|
m_x >>= 1;
|
||||||
}
|
}
|
||||||
|
@ -313,9 +313,9 @@ void sag_state::sag(machine_config &config)
|
|||||||
m_hmcs40_cpu->read_d().set(FUNC(sag_state::hmcs40_read_d));
|
m_hmcs40_cpu->read_d().set(FUNC(sag_state::hmcs40_read_d));
|
||||||
|
|
||||||
TMS1670(config, m_tms1k_cpu, 0);
|
TMS1670(config, m_tms1k_cpu, 0);
|
||||||
m_tms1k_cpu->k().set(FUNC(sag_state::tms1k_read_k));
|
m_tms1k_cpu->read_k().set(FUNC(sag_state::tms1k_read_k));
|
||||||
m_tms1k_cpu->r().set(FUNC(sag_state::tms1k_write_r));
|
m_tms1k_cpu->write_r().set(FUNC(sag_state::tms1k_write_r));
|
||||||
m_tms1k_cpu->o().set(FUNC(sag_state::tms1k_write_o));
|
m_tms1k_cpu->write_o().set(FUNC(sag_state::tms1k_write_o));
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
PWM_DISPLAY(config, m_display).set_size(8+6, 14);
|
PWM_DISPLAY(config, m_display).set_size(8+6, 14);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1329,9 +1329,9 @@ void tispeak_state::snmath(machine_config &config)
|
|||||||
{
|
{
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
TMS0270(config, m_maincpu, MASTER_CLOCK/2);
|
TMS0270(config, m_maincpu, MASTER_CLOCK/2);
|
||||||
m_maincpu->k().set(FUNC(tispeak_state::snspell_read_k));
|
m_maincpu->read_k().set(FUNC(tispeak_state::snspell_read_k));
|
||||||
m_maincpu->o().set(FUNC(tispeak_state::snmath_write_o));
|
m_maincpu->write_o().set(FUNC(tispeak_state::snmath_write_o));
|
||||||
m_maincpu->r().set(FUNC(tispeak_state::snspell_write_r));
|
m_maincpu->write_r().set(FUNC(tispeak_state::snspell_write_r));
|
||||||
|
|
||||||
m_maincpu->read_ctl().set("tms5100", FUNC(tms5110_device::ctl_r));
|
m_maincpu->read_ctl().set("tms5100", FUNC(tms5110_device::ctl_r));
|
||||||
m_maincpu->write_ctl().set("tms5100", FUNC(tms5110_device::ctl_w));
|
m_maincpu->write_ctl().set("tms5100", FUNC(tms5110_device::ctl_w));
|
||||||
@ -1356,7 +1356,7 @@ void tispeak_state::sns_cd2801(machine_config &config)
|
|||||||
snmath(config);
|
snmath(config);
|
||||||
|
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
m_maincpu->o().set(FUNC(tispeak_state::snspell_write_o));
|
m_maincpu->write_o().set(FUNC(tispeak_state::snspell_write_o));
|
||||||
|
|
||||||
config.set_default_layout(layout_snspell);
|
config.set_default_layout(layout_snspell);
|
||||||
|
|
||||||
@ -1407,7 +1407,7 @@ void tispeak_state::snread(machine_config &config)
|
|||||||
snmath(config);
|
snmath(config);
|
||||||
|
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
m_maincpu->o().set(FUNC(tispeak_state::snspell_write_o));
|
m_maincpu->write_o().set(FUNC(tispeak_state::snspell_write_o));
|
||||||
|
|
||||||
config.set_default_layout(layout_snread);
|
config.set_default_layout(layout_snread);
|
||||||
|
|
||||||
@ -1424,8 +1424,8 @@ void tispeak_state::lantrans(machine_config &config)
|
|||||||
snmath(config);
|
snmath(config);
|
||||||
|
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
m_maincpu->o().set(FUNC(tispeak_state::snspell_write_o));
|
m_maincpu->write_o().set(FUNC(tispeak_state::snspell_write_o));
|
||||||
m_maincpu->r().set(FUNC(tispeak_state::lantrans_write_r));
|
m_maincpu->write_r().set(FUNC(tispeak_state::lantrans_write_r));
|
||||||
|
|
||||||
config.set_default_layout(layout_snread);
|
config.set_default_layout(layout_snread);
|
||||||
|
|
||||||
@ -1458,9 +1458,9 @@ void tispeak_state::snspellc(machine_config &config)
|
|||||||
{
|
{
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
TMS1100(config, m_maincpu, MASTER_CLOCK/2);
|
TMS1100(config, m_maincpu, MASTER_CLOCK/2);
|
||||||
m_maincpu->k().set(FUNC(tispeak_state::snspellc_read_k));
|
m_maincpu->read_k().set(FUNC(tispeak_state::snspellc_read_k));
|
||||||
m_maincpu->o().set(FUNC(tispeak_state::snspellc_write_o));
|
m_maincpu->write_o().set(FUNC(tispeak_state::snspellc_write_o));
|
||||||
m_maincpu->r().set(FUNC(tispeak_state::snspellc_write_r));
|
m_maincpu->write_r().set(FUNC(tispeak_state::snspellc_write_r));
|
||||||
|
|
||||||
// no visual feedback!
|
// no visual feedback!
|
||||||
|
|
||||||
@ -1492,9 +1492,9 @@ void tispeak_state::vocaid(machine_config &config)
|
|||||||
{
|
{
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
TMS1100(config, m_maincpu, MASTER_CLOCK/2);
|
TMS1100(config, m_maincpu, MASTER_CLOCK/2);
|
||||||
m_maincpu->k().set(FUNC(tispeak_state::tntell_read_k));
|
m_maincpu->read_k().set(FUNC(tispeak_state::tntell_read_k));
|
||||||
m_maincpu->o().set(FUNC(tispeak_state::snspellc_write_o));
|
m_maincpu->write_o().set(FUNC(tispeak_state::snspellc_write_o));
|
||||||
m_maincpu->r().set(FUNC(tispeak_state::snspellc_write_r));
|
m_maincpu->write_r().set(FUNC(tispeak_state::snspellc_write_r));
|
||||||
|
|
||||||
TIMER(config, "ol_timer").configure_periodic(FUNC(tispeak_state::tntell_get_overlay), attotime::from_msec(50));
|
TIMER(config, "ol_timer").configure_periodic(FUNC(tispeak_state::tntell_get_overlay), attotime::from_msec(50));
|
||||||
config.set_default_layout(layout_tntell);
|
config.set_default_layout(layout_tntell);
|
||||||
@ -1523,9 +1523,9 @@ void tispeak_state::k28m2(machine_config &config)
|
|||||||
{
|
{
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
TMS1400(config, m_maincpu, MASTER_CLOCK/2);
|
TMS1400(config, m_maincpu, MASTER_CLOCK/2);
|
||||||
m_maincpu->k().set(FUNC(tispeak_state::k28_read_k));
|
m_maincpu->read_k().set(FUNC(tispeak_state::k28_read_k));
|
||||||
m_maincpu->o().set(FUNC(tispeak_state::k28_write_o));
|
m_maincpu->write_o().set(FUNC(tispeak_state::k28_write_o));
|
||||||
m_maincpu->r().set(FUNC(tispeak_state::k28_write_r));
|
m_maincpu->write_r().set(FUNC(tispeak_state::k28_write_r));
|
||||||
|
|
||||||
config.set_default_layout(layout_k28m2);
|
config.set_default_layout(layout_k28m2);
|
||||||
|
|
||||||
|
@ -328,16 +328,16 @@ void tispellb_state::rev1(machine_config &config)
|
|||||||
{
|
{
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
TMS0270(config, m_maincpu, 350000); // approximation
|
TMS0270(config, m_maincpu, 350000); // approximation
|
||||||
m_maincpu->k().set(FUNC(tispellb_state::main_read_k));
|
m_maincpu->read_k().set(FUNC(tispellb_state::main_read_k));
|
||||||
m_maincpu->o().set(FUNC(tispellb_state::main_write_o));
|
m_maincpu->write_o().set(FUNC(tispellb_state::main_write_o));
|
||||||
m_maincpu->r().set(FUNC(tispellb_state::main_write_r));
|
m_maincpu->write_r().set(FUNC(tispellb_state::main_write_r));
|
||||||
m_maincpu->read_ctl().set(FUNC(tispellb_state::rev1_ctl_r));
|
m_maincpu->read_ctl().set(FUNC(tispellb_state::rev1_ctl_r));
|
||||||
m_maincpu->write_ctl().set(FUNC(tispellb_state::rev1_ctl_w));
|
m_maincpu->write_ctl().set(FUNC(tispellb_state::rev1_ctl_w));
|
||||||
|
|
||||||
TMS1980(config, m_subcpu, 350000); // approximation
|
TMS1980(config, m_subcpu, 350000); // approximation
|
||||||
m_subcpu->k().set(FUNC(tispellb_state::sub_read_k));
|
m_subcpu->read_k().set(FUNC(tispellb_state::sub_read_k));
|
||||||
m_subcpu->o().set(FUNC(tispellb_state::sub_write_o));
|
m_subcpu->write_o().set(FUNC(tispellb_state::sub_write_o));
|
||||||
m_subcpu->r().set(FUNC(tispellb_state::sub_write_r));
|
m_subcpu->write_r().set(FUNC(tispellb_state::sub_write_r));
|
||||||
|
|
||||||
config.set_perfect_quantum(m_maincpu);
|
config.set_perfect_quantum(m_maincpu);
|
||||||
|
|
||||||
@ -354,9 +354,9 @@ void tispellb_state::rev2(machine_config &config)
|
|||||||
{
|
{
|
||||||
// basic machine hardware
|
// basic machine hardware
|
||||||
TMS0270(config, m_maincpu, 350000); // approximation
|
TMS0270(config, m_maincpu, 350000); // approximation
|
||||||
m_maincpu->k().set(FUNC(tispellb_state::main_read_k));
|
m_maincpu->read_k().set(FUNC(tispellb_state::main_read_k));
|
||||||
m_maincpu->o().set(FUNC(tispellb_state::rev2_write_o));
|
m_maincpu->write_o().set(FUNC(tispellb_state::rev2_write_o));
|
||||||
m_maincpu->r().set(FUNC(tispellb_state::rev2_write_r));
|
m_maincpu->write_r().set(FUNC(tispellb_state::rev2_write_r));
|
||||||
m_maincpu->read_ctl().set(m_tms6100, FUNC(tms6100_device::data_r));
|
m_maincpu->read_ctl().set(m_tms6100, FUNC(tms6100_device::data_r));
|
||||||
m_maincpu->write_ctl().set(m_tms6100, FUNC(tms6100_device::add_w));
|
m_maincpu->write_ctl().set(m_tms6100, FUNC(tms6100_device::add_w));
|
||||||
|
|
||||||
|
@ -448,9 +448,9 @@ void microvision_state::microvision(machine_config &config)
|
|||||||
TMS1100(config, m_tms1100, 0);
|
TMS1100(config, m_tms1100, 0);
|
||||||
m_tms1100->set_output_pla(microvision_output_pla[0]);
|
m_tms1100->set_output_pla(microvision_output_pla[0]);
|
||||||
m_tms1100->set_decode_micro().set(FUNC(microvision_state::tms1100_decode_micro));
|
m_tms1100->set_decode_micro().set(FUNC(microvision_state::tms1100_decode_micro));
|
||||||
m_tms1100->k().set(FUNC(microvision_state::tms1100_k_r));
|
m_tms1100->read_k().set(FUNC(microvision_state::tms1100_k_r));
|
||||||
m_tms1100->o().set(FUNC(microvision_state::tms1100_o_w));
|
m_tms1100->write_o().set(FUNC(microvision_state::tms1100_o_w));
|
||||||
m_tms1100->r().set(FUNC(microvision_state::tms1100_r_w));
|
m_tms1100->write_r().set(FUNC(microvision_state::tms1100_r_w));
|
||||||
|
|
||||||
I8021(config, m_i8021, 0);
|
I8021(config, m_i8021, 0);
|
||||||
m_i8021->bus_in_cb().set(FUNC(microvision_state::i8021_p0_r));
|
m_i8021->bus_in_cb().set(FUNC(microvision_state::i8021_p0_r));
|
||||||
|
@ -197,9 +197,9 @@ void eva11_state::eva(machine_config &config)
|
|||||||
{
|
{
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
TMS1000(config, m_maincpu, 640_kHz_XTAL/2); // from TMS5110A CPU CK
|
TMS1000(config, m_maincpu, 640_kHz_XTAL/2); // from TMS5110A CPU CK
|
||||||
m_maincpu->k().set(FUNC(eva11_state::read_k));
|
m_maincpu->read_k().set(FUNC(eva11_state::read_k));
|
||||||
m_maincpu->o().set(FUNC(eva11_state::write_o));
|
m_maincpu->write_o().set(FUNC(eva11_state::write_o));
|
||||||
m_maincpu->r().set(FUNC(eva11_state::write_r));
|
m_maincpu->write_r().set(FUNC(eva11_state::write_r));
|
||||||
|
|
||||||
eva_sound(config);
|
eva_sound(config);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user