static WRITE8_HANDLER(exidy_ff_port_w) { logerror("exidy ff w: %04x %02x\n",offset,data); switch ((readinputport(0)>>1) & 0x01) { case 0: { int level; level = 0; if (data) { level = 0x0ff; } speaker_level_w(0, level); } break; case 1: { /* printer */ /* bit 7 = strobe, bit 6..0 = data */ centronics_write_handshake(0, CENTRONICS_SELECT | CENTRONICS_NO_RESET, CENTRONICS_SELECT| CENTRONICS_NO_RESET); centronics_write_handshake(0, (data>>7) & 0x01, CENTRONICS_STROBE); centronics_write_data(0,data & 0x07f); } break; } }
static WRITE8_HANDLER ( oric_via_out_a_func ) { oric_via_port_a_data = data; oric_psg_connection_refresh(); if (oric_psg_control==0) { /* if psg not selected, write to printer */ centronics_write_data(0,data); } }