diff options
Diffstat (limited to 'src/mess/drivers/cd2650.c')
-rw-r--r-- | src/mess/drivers/cd2650.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mess/drivers/cd2650.c b/src/mess/drivers/cd2650.c index ef6e3045960..ef580c11da4 100644 --- a/src/mess/drivers/cd2650.c +++ b/src/mess/drivers/cd2650.c @@ -52,7 +52,7 @@ public: DECLARE_WRITE8_MEMBER(beep_w); DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ8_MEMBER(cass_r); - DECLARE_WRITE8_MEMBER(cass_w); + DECLARE_WRITE_LINE_MEMBER(cass_w); DECLARE_QUICKLOAD_LOAD_MEMBER(cd2650); const UINT8 *m_p_chargen; UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -73,9 +73,9 @@ WRITE8_MEMBER( cd2650_state::beep_w ) m_beep->set_state(BIT(data, 3)); } -WRITE8_MEMBER( cd2650_state::cass_w ) +WRITE_LINE_MEMBER( cd2650_state::cass_w ) { - m_cass->output(BIT(data, 0) ? -1.0 : +1.0); + m_cass->output(state ? -1.0 : +1.0); } READ8_MEMBER( cd2650_state::cass_r ) @@ -100,7 +100,7 @@ static ADDRESS_MAP_START( cd2650_io, AS_IO, 8, cd2650_state) ADDRESS_MAP_UNMAP_HIGH //AM_RANGE(0x80, 0x84) disk i/o AM_RANGE(S2650_DATA_PORT,S2650_DATA_PORT) AM_READWRITE(keyin_r, beep_w) - AM_RANGE(S2650_SENSE_PORT, S2650_FO_PORT) AM_READWRITE(cass_r, cass_w) + AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(cass_r) ADDRESS_MAP_END /* Input ports */ @@ -279,6 +279,7 @@ static MACHINE_CONFIG_START( cd2650, cd2650_state ) MCFG_CPU_ADD("maincpu",S2650, XTAL_1MHz) MCFG_CPU_PROGRAM_MAP(cd2650_mem) MCFG_CPU_IO_MAP(cd2650_io) + MCFG_S2650_FLAG_HANDLER(WRITELINE(cd2650_state, cass_w)) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) |