summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/alphatro.c
diff options
context:
space:
mode:
author Robbbert <robbbert@users.noreply.github.com>2014-04-21 11:23:25 +0000
committer Robbbert <robbbert@users.noreply.github.com>2014-04-21 11:23:25 +0000
commit4ff2daf1bff9b6dba0e438c3d266888b0333951f (patch)
tree93dcef022a9a057c3eccfa0660fb40a987fc0b3f /src/mess/drivers/alphatro.c
parent2f33e6c41326337438f0dbcb1a6a5a91f161108e (diff)
(MESS) ensure cassette-save timer is synchronised to cpu.
Diffstat (limited to 'src/mess/drivers/alphatro.c')
-rw-r--r--src/mess/drivers/alphatro.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mess/drivers/alphatro.c b/src/mess/drivers/alphatro.c
index f585d235a51..785a4b3d09d 100644
--- a/src/mess/drivers/alphatro.c
+++ b/src/mess/drivers/alphatro.c
@@ -86,6 +86,7 @@ private:
UINT8 m_timer_bit;
UINT8 m_cass_data[4];
bool m_cass_state;
+ bool m_cassold;
emu_timer* m_sys_timer;
virtual void video_start();
virtual void machine_start();
@@ -434,6 +435,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(alphatro_state::alphatro_c)
{
m_cass_data[3]++;
+ if (m_cass_state != m_cassold)
+ {
+ m_cass_data[3] = 0;
+ m_cassold = m_cass_state;
+ }
+
if (m_cass_state)
m_cass->output(BIT(m_cass_data[3], 0) ? -1.0 : +1.0); // 2400Hz
else
@@ -494,7 +501,7 @@ static MACHINE_CONFIG_START( alphatro, alphatro_state )
MCFG_DEVICE_ADD("usart", I8251, 0)
MCFG_I8251_TXD_HANDLER(WRITELINE(alphatro_state, txdata_callback))
- MCFG_DEVICE_ADD("usart_clock", CLOCK, 19225)
+ MCFG_DEVICE_ADD("usart_clock", CLOCK, 19200)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(alphatro_state, write_usart_clock))
MCFG_CASSETTE_ADD("cassette", alphatro_cassette_interface)