/* Slow send and receive a byte to/from the SPI bus. */
uint8 spi_slow_sr_byte(register uint8 b)
/* Slow send and receive a byte to/from the SPI bus. */
uint8 spi_slow_sr_byte(register uint8 b)
{
		pwork = b & MSB ? (pwork | SCSPTR2_SPB2DT) : (pwork & ~SCSPTR2_SPB2DT);
		reg_write_16(SCSPTR2, pwork);
		spi_low_speed_delay();
		pwork |= SCSPTR2_CTSDT;
		reg_write_16(SCSPTR2, pwork);
		b = (b << 1) | RX_BIT();
		spi_low_speed_delay();
		pwork &= ~SCSPTR2_CTSDT;
		reg_write_16(SCSPTR2, pwork);
	}
	irq_restore(old);
	return b;
}