mirror of
https://github.com/holub/mame
synced 2025-10-05 16:50:57 +03:00
-6840ptm: Changed WRITE8 to WRITE_LINE for single-bit outputs. [Ryan Holtz]
This commit is contained in:
parent
dad928b11f
commit
042f15a578
@ -391,13 +391,13 @@ void ptm6840_device::reload_count(int idx)
|
||||
switch (idx)
|
||||
{
|
||||
case 0:
|
||||
m_out0_cb((offs_t)0, m_output[0]);
|
||||
m_out0_cb(m_output[0]);
|
||||
break;
|
||||
case 1:
|
||||
m_out1_cb((offs_t)0, m_output[1]);
|
||||
m_out1_cb(m_output[1]);
|
||||
break;
|
||||
case 2:
|
||||
m_out2_cb((offs_t)0, m_output[2]);
|
||||
m_out2_cb(m_output[2]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -528,13 +528,13 @@ WRITE8_MEMBER( ptm6840_device::write )
|
||||
switch (idx)
|
||||
{
|
||||
case 0:
|
||||
m_out0_cb((offs_t)0, 0);
|
||||
m_out0_cb(0);
|
||||
break;
|
||||
case 1:
|
||||
m_out1_cb((offs_t)0, 0);
|
||||
m_out1_cb(0);
|
||||
break;
|
||||
case 2:
|
||||
m_out2_cb((offs_t)0, 0);
|
||||
m_out2_cb(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -629,13 +629,13 @@ void ptm6840_device::timeout(int idx)
|
||||
switch (idx)
|
||||
{
|
||||
case 0:
|
||||
m_out0_cb((offs_t)0, m_output[0]);
|
||||
m_out0_cb(m_output[0]);
|
||||
break;
|
||||
case 1:
|
||||
m_out1_cb((offs_t)0, m_output[1]);
|
||||
m_out1_cb(m_output[1]);
|
||||
break;
|
||||
case 2:
|
||||
m_out2_cb((offs_t)0, m_output[2]);
|
||||
m_out2_cb(m_output[2]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -649,13 +649,13 @@ void ptm6840_device::timeout(int idx)
|
||||
switch (idx)
|
||||
{
|
||||
case 0:
|
||||
m_out0_cb((offs_t)0, m_output[0]);
|
||||
m_out0_cb(m_output[0]);
|
||||
break;
|
||||
case 1:
|
||||
m_out1_cb((offs_t)0, m_output[1]);
|
||||
m_out1_cb(m_output[1]);
|
||||
break;
|
||||
case 2:
|
||||
m_out2_cb((offs_t)0, m_output[2]);
|
||||
m_out2_cb(m_output[2]);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -130,9 +130,9 @@ private:
|
||||
double m_internal_clock;
|
||||
double m_external_clock[3];
|
||||
|
||||
devcb_write8 m_out0_cb;
|
||||
devcb_write8 m_out1_cb;
|
||||
devcb_write8 m_out2_cb;
|
||||
devcb_write_line m_out0_cb;
|
||||
devcb_write_line m_out1_cb;
|
||||
devcb_write_line m_out2_cb;
|
||||
devcb_write_line m_irq_cb; // function called if IRQ line changes
|
||||
|
||||
UINT8 m_control_reg[3];
|
||||
|
@ -105,7 +105,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( pia_u17_pb_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( pia_u17_pcb_w );
|
||||
|
||||
DECLARE_WRITE8_MEMBER(ptm_o1_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(ptm_o1_callback);
|
||||
|
||||
UINT8 read_keyboard(int pa);
|
||||
};
|
||||
@ -248,9 +248,9 @@ INPUT_PORTS_END
|
||||
ptm6840_interface ptm_intf
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER(arachnid_state::ptm_o1_callback)
|
||||
WRITE_LINE_MEMBER(arachnid_state::ptm_o1_callback)
|
||||
{
|
||||
m_speaker->level_w(data);
|
||||
m_speaker->level_w(state);
|
||||
}
|
||||
|
||||
UINT8 arachnid_state::read_keyboard(int pa)
|
||||
@ -453,7 +453,7 @@ static MACHINE_CONFIG_START( arachnid, arachnid_state )
|
||||
MCFG_DEVICE_ADD(PTM6840_TAG, PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(XTAL_8MHz / 4)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(arachnid_state, ptm_o1_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(arachnid_state, ptm_o1_callback))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -216,7 +216,7 @@ public:
|
||||
|
||||
static void set_channel_number(device_t &device, int channel) { dynamic_cast<cmi01a_device&>(device).m_channel = channel; }
|
||||
|
||||
DECLARE_WRITE8_MEMBER( ptm_out0 );
|
||||
DECLARE_WRITE_LINE_MEMBER( ptm_out0 );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
@ -326,7 +326,7 @@ MACHINE_CONFIG_FRAGMENT( cmi01a_device )
|
||||
MCFG_DEVICE_ADD("cmi01a_ptm", PTM6840, 0) // ptm_cmi01a_config
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(2000000)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(250000, 500000, 500000)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(cmi01a_device, ptm_out0))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(cmi01a_device, ptm_out0))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(cmi01a_device, ptm_irq))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1929,9 +1929,9 @@ void cmi01a_device::update_wave_addr(int inc)
|
||||
/* Zero crossing interrupt is a pulse */
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( cmi01a_device::ptm_out0 )
|
||||
WRITE_LINE_MEMBER( cmi01a_device::ptm_out0 )
|
||||
{
|
||||
m_ptm_out0 = data;
|
||||
m_ptm_out0 = state;
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( cmi01a_device::eosi_r )
|
||||
@ -1947,6 +1947,7 @@ READ_LINE_MEMBER( cmi01a_device::zx_r )
|
||||
WRITE8_MEMBER( cmi01a_device::write )
|
||||
{
|
||||
//printf("C%d W: %02x = %02x\n", m_channel, offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
case 0x0:
|
||||
|
@ -233,9 +233,9 @@ void ginganin_state::machine_reset()
|
||||
m_flipscreen = 0;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(ginganin_state::ptm_irq)
|
||||
WRITE_LINE_MEMBER(ginganin_state::ptm_irq)
|
||||
{
|
||||
m_audiocpu->set_input_line(0, (data & 1) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -253,7 +253,7 @@ static MACHINE_CONFIG_START( ginganin, ginganin_state )
|
||||
MCFG_DEVICE_ADD("6840ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(SOUND_CLOCK/2)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(ginganin_state, ptm_irq))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(ginganin_state, ptm_irq))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -531,11 +531,11 @@ WRITE_LINE_MEMBER(jpmsys5_state::ptm_irq)
|
||||
m_maincpu->set_input_line(INT_6840PTM, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(jpmsys5_state::u26_o1_callback)
|
||||
WRITE_LINE_MEMBER(jpmsys5_state::u26_o1_callback)
|
||||
{
|
||||
if (m_mpxclk !=data)
|
||||
if (m_mpxclk != state)
|
||||
{
|
||||
if (!data) //falling edge
|
||||
if (!state) //falling edge
|
||||
{
|
||||
m_lamp_strobe++;
|
||||
if (m_lamp_strobe >15)
|
||||
@ -545,7 +545,7 @@ WRITE8_MEMBER(jpmsys5_state::u26_o1_callback)
|
||||
}
|
||||
sys5_draw_lamps();
|
||||
}
|
||||
m_mpxclk = data;
|
||||
m_mpxclk = state;
|
||||
}
|
||||
|
||||
|
||||
@ -672,7 +672,7 @@ static MACHINE_CONFIG_START( jpmsys5v, jpmsys5_state )
|
||||
MCFG_DEVICE_ADD("6840ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(1000000)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(jpmsys5_state, u26_o1_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(jpmsys5_state, u26_o1_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(jpmsys5_state, ptm_irq))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -877,7 +877,7 @@ MACHINE_CONFIG_START( jpmsys5_ym, jpmsys5_state )
|
||||
MCFG_DEVICE_ADD("6840ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(1000000)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(jpmsys5_state, u26_o1_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(jpmsys5_state, u26_o1_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(jpmsys5_state, ptm_irq))
|
||||
MCFG_DEFAULT_LAYOUT(layout_jpmsys5)
|
||||
|
||||
@ -930,7 +930,7 @@ MACHINE_CONFIG_START( jpmsys5, jpmsys5_state )
|
||||
MCFG_DEVICE_ADD("6840ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(1000000)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(jpmsys5_state, u26_o1_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(jpmsys5_state, u26_o1_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(jpmsys5_state, ptm_irq))
|
||||
MCFG_DEFAULT_LAYOUT(layout_jpmsys5)
|
||||
|
||||
|
@ -228,9 +228,9 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(mpu3ptm_w);
|
||||
DECLARE_READ8_MEMBER(mpu3ptm_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(cpu0_irq);
|
||||
DECLARE_WRITE8_MEMBER(ic2_o1_callback);
|
||||
DECLARE_WRITE8_MEMBER(ic2_o2_callback);
|
||||
DECLARE_WRITE8_MEMBER(ic2_o3_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(ic2_o1_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(ic2_o2_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(ic2_o3_callback);
|
||||
DECLARE_READ8_MEMBER(pia_ic3_porta_r);
|
||||
DECLARE_WRITE8_MEMBER(pia_ic3_portb_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia_ic3_ca2_w);
|
||||
@ -323,17 +323,17 @@ WRITE_LINE_MEMBER(mpu3_state::cpu0_irq)
|
||||
|
||||
|
||||
/* IC2 6840 PTM handler probably clocked from elsewhere*/
|
||||
WRITE8_MEMBER(mpu3_state::ic2_o1_callback)
|
||||
WRITE_LINE_MEMBER(mpu3_state::ic2_o1_callback)
|
||||
{
|
||||
}
|
||||
|
||||
//FIXME FROM HERE
|
||||
WRITE8_MEMBER(mpu3_state::ic2_o2_callback)
|
||||
WRITE_LINE_MEMBER(mpu3_state::ic2_o2_callback)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(mpu3_state::ic2_o3_callback)
|
||||
WRITE_LINE_MEMBER(mpu3_state::ic2_o3_callback)
|
||||
{
|
||||
}
|
||||
|
||||
@ -860,9 +860,9 @@ static MACHINE_CONFIG_START( mpu3base, mpu3_state )
|
||||
MCFG_DEVICE_ADD("ptm_ic2", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(MPU3_MASTER_CLOCK)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(mpu3_state, ic2_o1_callback))
|
||||
MCFG_PTM6840_OUT1_CB(WRITE8(mpu3_state, ic2_o2_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITE8(mpu3_state, ic2_o3_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(mpu3_state, ic2_o1_callback))
|
||||
MCFG_PTM6840_OUT1_CB(WRITELINE(mpu3_state, ic2_o2_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITELINE(mpu3_state, ic2_o3_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(mpu3_state, cpu0_irq))
|
||||
|
||||
MCFG_DEVICE_ADD("pia_ic3", PIA6821, 0)
|
||||
|
@ -534,29 +534,29 @@ WRITE8_MEMBER(mpu4_state::bankset_w)
|
||||
|
||||
|
||||
/* IC2 6840 PTM handler */
|
||||
WRITE8_MEMBER(mpu4_state::ic2_o1_callback)
|
||||
WRITE_LINE_MEMBER(mpu4_state::ic2_o1_callback)
|
||||
{
|
||||
m_6840ptm->set_c2(data); /* copy output value to IC2 c2
|
||||
m_6840ptm->set_c2(state); /* copy output value to IC2 c2
|
||||
this output is the clock for timer2 */
|
||||
/* 1200Hz System interrupt timer */
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(mpu4_state::ic2_o2_callback)
|
||||
WRITE_LINE_MEMBER(mpu4_state::ic2_o2_callback)
|
||||
{
|
||||
m_pia3->ca1_w(data); /* copy output value to IC3 ca1 */
|
||||
m_pia3->ca1_w(state); /* copy output value to IC3 ca1 */
|
||||
/* the output from timer2 is the input clock for timer3 */
|
||||
/* miscellaneous interrupts generated here */
|
||||
m_6840ptm->set_c3(data);
|
||||
m_6840ptm->set_c3(state);
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(mpu4_state::ic2_o3_callback)
|
||||
WRITE_LINE_MEMBER(mpu4_state::ic2_o3_callback)
|
||||
{
|
||||
/* the output from timer3 is used as a square wave for the alarm output
|
||||
and as an external clock source for timer 1! */
|
||||
/* also runs lamp fade */
|
||||
m_6840ptm->set_c1(data);
|
||||
m_6840ptm->set_c1(state);
|
||||
}
|
||||
|
||||
/* 6821 PIA handlers */
|
||||
@ -3005,9 +3005,9 @@ MACHINE_CONFIG_FRAGMENT( mpu4_common )
|
||||
MCFG_DEVICE_ADD("ptm_ic2", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(MPU4_MASTER_CLOCK / 4)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(mpu4_state, ic2_o1_callback))
|
||||
MCFG_PTM6840_OUT1_CB(WRITE8(mpu4_state, ic2_o2_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITE8(mpu4_state, ic2_o3_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(mpu4_state, ic2_o1_callback))
|
||||
MCFG_PTM6840_OUT1_CB(WRITELINE(mpu4_state, ic2_o2_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITELINE(mpu4_state, ic2_o3_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(mpu4_state, cpu0_irq))
|
||||
|
||||
MCFG_DEVICE_ADD("pia_ic3", PIA6821, 0)
|
||||
|
@ -283,9 +283,9 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(m6809_acia_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(m68k_acia_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(cpu1_ptm_irq);
|
||||
DECLARE_WRITE8_MEMBER(vid_o1_callback);
|
||||
DECLARE_WRITE8_MEMBER(vid_o2_callback);
|
||||
DECLARE_WRITE8_MEMBER(vid_o3_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(vid_o1_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(vid_o2_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(vid_o3_callback);
|
||||
DECLARE_READ8_MEMBER(pia_ic5_porta_track_r);
|
||||
void mpu4vid_char_cheat( int address);
|
||||
DECLARE_WRITE_LINE_MEMBER(update_mpu68_interrupts);
|
||||
@ -352,26 +352,26 @@ WRITE_LINE_MEMBER(mpu4vid_state::cpu1_ptm_irq)
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(mpu4vid_state::vid_o1_callback)
|
||||
WRITE_LINE_MEMBER(mpu4vid_state::vid_o1_callback)
|
||||
{
|
||||
m_ptm->set_c2(data); /* this output is the clock for timer2 */
|
||||
m_ptm->set_c2(state); /* this output is the clock for timer2 */
|
||||
|
||||
m_acia_0->write_txc(data);
|
||||
m_acia_0->write_rxc(data);
|
||||
m_acia_1->write_txc(data);
|
||||
m_acia_1->write_rxc(data);
|
||||
m_acia_0->write_txc(state);
|
||||
m_acia_0->write_rxc(state);
|
||||
m_acia_1->write_txc(state);
|
||||
m_acia_1->write_rxc(state);
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(mpu4vid_state::vid_o2_callback)
|
||||
WRITE_LINE_MEMBER(mpu4vid_state::vid_o2_callback)
|
||||
{
|
||||
m_ptm->set_c3(data); /* this output is the clock for timer3 */
|
||||
m_ptm->set_c3(state); /* this output is the clock for timer3 */
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(mpu4vid_state::vid_o3_callback)
|
||||
WRITE_LINE_MEMBER(mpu4vid_state::vid_o3_callback)
|
||||
{
|
||||
m_ptm->set_c1(data); /* this output is the clock for timer1 */
|
||||
m_ptm->set_c1(state); /* this output is the clock for timer1 */
|
||||
}
|
||||
|
||||
|
||||
@ -1383,9 +1383,9 @@ static MACHINE_CONFIG_START( mpu4_vid, mpu4vid_state )
|
||||
MCFG_DEVICE_ADD("6840ptm_68k", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(VIDEO_MASTER_CLOCK / 10) /* 68k E clock */
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(mpu4vid_state, vid_o1_callback))
|
||||
MCFG_PTM6840_OUT1_CB(WRITE8(mpu4vid_state, vid_o2_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITE8(mpu4vid_state, vid_o3_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(mpu4vid_state, vid_o1_callback))
|
||||
MCFG_PTM6840_OUT1_CB(WRITELINE(mpu4vid_state, vid_o2_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITELINE(mpu4vid_state, vid_o3_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(mpu4vid_state, cpu1_ptm_irq))
|
||||
/* Present on all video cards */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
@ -62,8 +62,8 @@ public:
|
||||
DECLARE_READ8_MEMBER(pia1_b_in);
|
||||
DECLARE_READ8_MEMBER(videoram_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
|
||||
DECLARE_WRITE8_MEMBER( ptm_o2_callback );
|
||||
DECLARE_WRITE8_MEMBER( ptm_o3_callback );
|
||||
DECLARE_WRITE_LINE_MEMBER( ptm_o2_callback );
|
||||
DECLARE_WRITE_LINE_MEMBER( ptm_o3_callback );
|
||||
|
||||
protected:
|
||||
virtual void machine_reset() override;
|
||||
@ -140,14 +140,14 @@ WRITE_LINE_MEMBER( poly_state::write_acia_clock )
|
||||
m_acia->write_rxc(state);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( poly_state::ptm_o2_callback )
|
||||
WRITE_LINE_MEMBER( poly_state::ptm_o2_callback )
|
||||
{
|
||||
m_ptm->set_c1(data);
|
||||
m_ptm->set_c1(state);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( poly_state::ptm_o3_callback )
|
||||
WRITE_LINE_MEMBER( poly_state::ptm_o3_callback )
|
||||
{
|
||||
m_speaker->level_w(data);
|
||||
m_speaker->level_w(state);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( poly, poly_state )
|
||||
@ -186,8 +186,8 @@ static MACHINE_CONFIG_START( poly, poly_state )
|
||||
MCFG_DEVICE_ADD("ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(XTAL_12MHz / 3)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(0, 0, 0)
|
||||
MCFG_PTM6840_OUT1_CB(WRITE8(poly_state, ptm_o2_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITE8(poly_state, ptm_o3_callback))
|
||||
MCFG_PTM6840_OUT1_CB(WRITELINE(poly_state, ptm_o2_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITELINE(poly_state, ptm_o3_callback))
|
||||
MCFG_PTM6840_IRQ_CB(INPUTLINE("maincpu", M6809_IRQ_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD("acia", ACIA6850, 0)
|
||||
|
@ -110,8 +110,8 @@ static MACHINE_CONFIG_START( swtpc09, swtpc09_state )
|
||||
MCFG_DEVICE_ADD("ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(2000000)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(50, 0, 50)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(swtpc09_state, ptm_o1_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITE8(swtpc09_state, ptm_o3_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(swtpc09_state, ptm_o1_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITELINE(swtpc09_state, ptm_o3_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(swtpc09_state, ptm_irq))
|
||||
|
||||
MCFG_DEVICE_ADD("pia", PIA6821, 0)
|
||||
@ -151,8 +151,8 @@ static MACHINE_CONFIG_START( swtpc09i, swtpc09_state )
|
||||
MCFG_DEVICE_ADD("ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(2000000)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(50, 0, 50)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(swtpc09_state, ptm_o1_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITE8(swtpc09_state, ptm_o3_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(swtpc09_state, ptm_o1_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITELINE(swtpc09_state, ptm_o3_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(swtpc09_state, ptm_irq))
|
||||
|
||||
MCFG_DEVICE_ADD("pia", PIA6821, 0)
|
||||
@ -200,8 +200,8 @@ static MACHINE_CONFIG_START( swtpc09d3, swtpc09_state )
|
||||
MCFG_DEVICE_ADD("ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(2000000)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(50, 0, 50)
|
||||
MCFG_PTM6840_OUT0_CB(WRITE8(swtpc09_state, ptm_o1_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITE8(swtpc09_state, ptm_o3_callback))
|
||||
MCFG_PTM6840_OUT0_CB(WRITELINE(swtpc09_state, ptm_o1_callback))
|
||||
MCFG_PTM6840_OUT2_CB(WRITELINE(swtpc09_state, ptm_o3_callback))
|
||||
MCFG_PTM6840_IRQ_CB(WRITELINE(swtpc09_state, ptm_irq))
|
||||
|
||||
MCFG_DEVICE_ADD("pia", PIA6821, 0)
|
||||
|
@ -80,8 +80,8 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
DECLARE_WRITE8_MEMBER(speaker_en_w);
|
||||
DECLARE_WRITE8_MEMBER(speaker_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(speaker_en_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(speaker_w);
|
||||
DECLARE_READ8_MEMBER(pb_r);
|
||||
DECLARE_WRITE8_MEMBER(pa_w);
|
||||
DECLARE_WRITE8_MEMBER(videoram_w);
|
||||
@ -276,12 +276,12 @@ WRITE8_MEMBER( v6809_state::pa_w )
|
||||
|
||||
// this should output 1 to enable sound, then output 0 after a short time
|
||||
// however it continuously outputs 1
|
||||
WRITE8_MEMBER( v6809_state::speaker_en_w )
|
||||
WRITE_LINE_MEMBER( v6809_state::speaker_en_w )
|
||||
{
|
||||
m_speaker_en = data;
|
||||
m_speaker_en = state;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( v6809_state::speaker_w )
|
||||
WRITE_LINE_MEMBER( v6809_state::speaker_w )
|
||||
{
|
||||
// if (m_speaker_en)
|
||||
// m_speaker->level_w(data);
|
||||
@ -342,8 +342,8 @@ static MACHINE_CONFIG_START( v6809, v6809_state )
|
||||
MCFG_DEVICE_ADD("ptm", PTM6840, 0)
|
||||
MCFG_PTM6840_INTERNAL_CLOCK(XTAL_16MHz / 4)
|
||||
MCFG_PTM6840_EXTERNAL_CLOCKS(4000000/14, 4000000/14, 4000000/14/8)
|
||||
MCFG_PTM6840_OUT1_CB(WRITE8(v6809_state, speaker_w))
|
||||
MCFG_PTM6840_OUT2_CB(WRITE8(v6809_state, speaker_en_w))
|
||||
MCFG_PTM6840_OUT1_CB(WRITELINE(v6809_state, speaker_w))
|
||||
MCFG_PTM6840_OUT2_CB(WRITELINE(v6809_state, speaker_en_w))
|
||||
MCFG_PTM6840_IRQ_CB(INPUTLINE("maincpu", M6809_IRQ_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD("acia0", ACIA6850, 0)
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(ginganin_fgram16_w);
|
||||
DECLARE_WRITE16_MEMBER(ginganin_txtram16_w);
|
||||
DECLARE_WRITE16_MEMBER(ginganin_vregs16_w);
|
||||
DECLARE_WRITE8_MEMBER(ptm_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(ptm_irq);
|
||||
DECLARE_DRIVER_INIT(ginganin);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
|
@ -71,7 +71,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(jpm_upd7759_w);
|
||||
DECLARE_READ16_MEMBER(jpm_upd7759_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(ptm_irq);
|
||||
DECLARE_WRITE8_MEMBER(u26_o1_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(u26_o1_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia_irq);
|
||||
DECLARE_READ8_MEMBER(u29_porta_r);
|
||||
DECLARE_WRITE8_MEMBER(u29_portb_w);
|
||||
|
@ -144,9 +144,9 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(crystal_sound_w);
|
||||
DECLARE_WRITE8_MEMBER(ic3ss_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(cpu0_irq);
|
||||
DECLARE_WRITE8_MEMBER(ic2_o1_callback);
|
||||
DECLARE_WRITE8_MEMBER(ic2_o2_callback);
|
||||
DECLARE_WRITE8_MEMBER(ic2_o3_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(ic2_o1_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(ic2_o2_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(ic2_o3_callback);
|
||||
DECLARE_WRITE8_MEMBER(pia_ic3_porta_w);
|
||||
DECLARE_WRITE8_MEMBER(pia_ic3_portb_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia_ic3_ca2_w);
|
||||
|
@ -66,8 +66,8 @@ public:
|
||||
DECLARE_READ8_MEMBER(pia0_ca1_r);
|
||||
DECLARE_WRITE_LINE_MEMBER( pia0_irq_a );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( ptm_o1_callback );
|
||||
DECLARE_WRITE8_MEMBER( ptm_o3_callback );
|
||||
DECLARE_WRITE_LINE_MEMBER( ptm_o1_callback );
|
||||
DECLARE_WRITE_LINE_MEMBER( ptm_o3_callback );
|
||||
DECLARE_WRITE_LINE_MEMBER( ptm_irq );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( acia_interrupt );
|
||||
|
@ -29,8 +29,11 @@
|
||||
/******* MC6840 PTM on MPID Board *******/
|
||||
|
||||
/* 6840 PTM handlers */
|
||||
WRITE8_MEMBER( swtpc09_state::ptm_o1_callback )
|
||||
WRITE_LINE_MEMBER( swtpc09_state::ptm_o1_callback )
|
||||
{
|
||||
// RH 3 Oct. 2016 FIXME: Does the hardware actually work this way, incrementing a counter any time
|
||||
// the O1 line on the PTM changes? This seems unlikely, as the current implementation will increment
|
||||
// m_pia_counter on both 0->1 and 1->0 transitions. Is that really correct?
|
||||
pia6821_device *pia = machine().device<pia6821_device>("pia");
|
||||
|
||||
m_pia_counter++;
|
||||
@ -38,11 +41,11 @@ WRITE8_MEMBER( swtpc09_state::ptm_o1_callback )
|
||||
if (m_pia_counter & 0x80) pia->ca1_w(1);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( swtpc09_state::ptm_o3_callback )
|
||||
WRITE_LINE_MEMBER( swtpc09_state::ptm_o3_callback )
|
||||
{
|
||||
//ptm6840_device *ptm = machine().device<ptm6840_device>("ptm");
|
||||
/* the output from timer3 is the input clock for timer2 */
|
||||
//m_ptm->set_c2(data);
|
||||
//m_ptm->set_c2(state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( swtpc09_state::ptm_irq )
|
||||
|
Loading…
Reference in New Issue
Block a user