SDA
write_bit_to_ddc(ddc_handle, SDA, (byte >> shift) & 1);
write_bit_to_ddc(ddc_handle, SDA, true);
ack = !read_bit_from_ddc(ddc_handle, SDA);
if (read_bit_from_ddc(ddc_handle, SDA))
write_bit_to_ddc(ddc_handle, SDA, !more);
write_bit_to_ddc(ddc_handle, SDA, true);
write_bit_to_ddc(ddc_handle, SDA, false);
write_bit_to_ddc(ddc_handle, SDA, true);
if (read_bit_from_ddc(ddc_handle, SDA))
write_bit_to_ddc(ddc_handle, SDA, true);
if (!read_bit_from_ddc(ddc_handle, SDA)) {
write_bit_to_ddc(ddc_handle, SDA, false);
DDC_I2C_REG_LIST(SDA)\
write_bit_to_ddc(ddc_handle, SDA, true);
if (!read_bit_from_ddc(ddc_handle, SDA)) {
write_bit_to_ddc(ddc_handle, SDA, false);
write_bit_to_ddc(ddc_handle, SDA, false);
write_bit_to_ddc(ddc_handle, SDA, true);
if (read_bit_from_ddc(ddc_handle, SDA))
write_bit_to_ddc(ddc_handle, SDA, (byte >> shift) & 1);
write_bit_to_ddc(ddc_handle, SDA, true);
ack = !read_bit_from_ddc(ddc_handle, SDA);
if (read_bit_from_ddc(ddc_handle, SDA))
write_bit_to_ddc(ddc_handle, SDA, !more);
write_bit_to_ddc(ddc_handle, SDA, true);