trunk/src/mess/machine/c1581.c
| r17753 | r17754 | |
| 260 | 260 | m_atn_ack = BIT(data, 4); |
| 261 | 261 | |
| 262 | 262 | // fast serial direction |
| 263 | | m_fast_ser_dir = BIT(data, 5); |
| 263 | int fast_ser_dir = BIT(data, 5); |
| 264 | 264 | |
| 265 | | set_iec_data(); |
| 266 | | set_iec_srq(); |
| 265 | if (m_fast_ser_dir != fast_ser_dir) |
| 266 | { |
| 267 | m_fast_ser_dir = fast_ser_dir; |
| 268 | |
| 269 | set_iec_data(); |
| 270 | set_iec_srq(); |
| 271 | |
| 272 | m_cia->cnt_w(m_fast_ser_dir || m_bus->srq_r()); |
| 273 | m_cia->sp_w(m_fast_ser_dir || m_bus->data_r()); |
| 274 | } |
| 267 | 275 | } |
| 268 | 276 | |
| 269 | 277 | static MOS8520_INTERFACE( cia_intf ) |
| r17753 | r17754 | |
| 458 | 466 | |
| 459 | 467 | void base_c1581_device::cbm_iec_srq(int state) |
| 460 | 468 | { |
| 461 | | if (!m_fast_ser_dir) |
| 462 | | { |
| 463 | | m_cia->cnt_w(state); |
| 464 | | } |
| 469 | m_cia->cnt_w(m_fast_ser_dir || state); |
| 465 | 470 | } |
| 466 | 471 | |
| 467 | 472 | |
| r17753 | r17754 | |
| 483 | 488 | |
| 484 | 489 | void base_c1581_device::cbm_iec_data(int state) |
| 485 | 490 | { |
| 486 | | if (!m_fast_ser_dir) |
| 487 | | { |
| 488 | | m_cia->sp_w(state); |
| 489 | | } |
| 491 | m_cia->sp_w(m_fast_ser_dir || state); |
| 490 | 492 | } |
| 491 | 493 | |
| 492 | 494 | |
trunk/src/mess/machine/c128.c
| r17753 | r17754 | |
| 251 | 251 | |
| 252 | 252 | WRITE_LINE_MEMBER( c128_state::iec_srq_w ) |
| 253 | 253 | { |
| 254 | | if (!MMU_FSDIR) |
| 255 | | { |
| 256 | | mos6526_flag_w(m_cia1, state); |
| 257 | | mos6526_cnt_w(m_cia1, state); |
| 258 | | } |
| 254 | mos6526_cnt_w(m_cia1, MMU_FSDIR || state); |
| 259 | 255 | } |
| 260 | 256 | |
| 261 | 257 | WRITE_LINE_MEMBER( c128_state::iec_data_w ) |
| 262 | 258 | { |
| 263 | | if (!MMU_FSDIR) |
| 264 | | { |
| 265 | | mos6526_sp_w(m_cia1, state); |
| 266 | | } |
| 259 | mos6526_sp_w(m_cia1, MMU_FSDIR || state); |
| 267 | 260 | } |
| 268 | 261 | |
| 269 | 262 | /* |
| r17753 | r17754 | |
| 830 | 823 | bankswitch(0); |
| 831 | 824 | iec_srq_out_w(); |
| 832 | 825 | iec_data_out_w(); |
| 826 | mos6526_cnt_w(m_cia1, MMU_FSDIR || m_iec->srq_r()); |
| 827 | mos6526_sp_w(m_cia1, MMU_FSDIR || m_iec->data_r()); |
| 833 | 828 | break; |
| 834 | 829 | case 0: |
| 835 | 830 | case 6: |
trunk/src/mess/includes/c128.h
| r17753 | r17754 | |
| 179 | 179 | |
| 180 | 180 | /*----------- defined in machine/c128.c -----------*/ |
| 181 | 181 | |
| 182 | | WRITE8_HANDLER(c128_mmu8722_port_w); |
| 183 | | READ8_HANDLER(c128_mmu8722_port_r); |
| 184 | | WRITE8_HANDLER(c128_mmu8722_ff00_w); |
| 185 | | READ8_HANDLER(c128_mmu8722_ff00_r); |
| 186 | | WRITE8_HANDLER(c128_write_0000); |
| 187 | | WRITE8_HANDLER(c128_write_1000); |
| 188 | | WRITE8_HANDLER(c128_write_4000); |
| 189 | | WRITE8_HANDLER(c128_write_8000); |
| 190 | | WRITE8_HANDLER(c128_write_a000); |
| 191 | | WRITE8_HANDLER(c128_write_c000); |
| 192 | | WRITE8_HANDLER(c128_write_d000); |
| 193 | | WRITE8_HANDLER(c128_write_e000); |
| 194 | | WRITE8_HANDLER(c128_write_ff00); |
| 195 | | WRITE8_HANDLER(c128_write_ff05); |
| 196 | | |
| 197 | | |
| 198 | | extern MACHINE_START( c128 ); |
| 199 | | extern MACHINE_RESET( c128 ); |
| 200 | 182 | extern INTERRUPT_GEN( c128_frame_interrupt ); |
| 201 | 183 | |
| 202 | | void c128_bankswitch_64(running_machine &machine, int reset); |
| 203 | | |
| 204 | | extern READ8_DEVICE_HANDLER(c128_m6510_port_read); |
| 205 | | extern WRITE8_DEVICE_HANDLER(c128_m6510_port_write); |
| 206 | | |
| 207 | 184 | extern const mos6526_interface c128_ntsc_cia0, c128_pal_cia0; |
| 208 | 185 | extern const mos6526_interface c128_ntsc_cia1, c128_pal_cia1; |
| 209 | 186 | |
| 210 | | WRITE_LINE_DEVICE_HANDLER( c128_iec_srq_w ); |
| 211 | | WRITE_LINE_DEVICE_HANDLER( c128_iec_data_w ); |
| 212 | | |
| 213 | 187 | #endif /* __C128_H__ */ |