void z80sio_init(int which, z80sio_interface *intf) { z80sio *sio = sios + which; assert(which < MAX_SIO); memset(sio, 0, sizeof(*sio)); sio->irq_cb = intf->irq_cb; sio->dtr_changed_cb = intf->dtr_changed_cb; sio->rts_changed_cb = intf->rts_changed_cb; sio->break_changed_cb = intf->break_changed_cb; sio->transmit_cb = intf->transmit_cb; z80sio_reset(which); }
void z80sio_init(int which, z80sio_interface *intf) { z80sio *sio = sios + which; assert(which < MAX_SIO); memset(sio, 0, sizeof(*sio)); sio->chan[0].receive_timer = timer_alloc(serial_callback, NULL); sio->chan[1].receive_timer = timer_alloc(serial_callback, NULL); sio->irq_cb = intf->irq_cb; sio->dtr_changed_cb = intf->dtr_changed_cb; sio->rts_changed_cb = intf->rts_changed_cb; sio->break_changed_cb = intf->break_changed_cb; sio->transmit_cb = intf->transmit_cb; sio->receive_poll_cb = intf->receive_poll_cb; z80sio_reset(which); }