portman_write_data
portman_write_data(pm, mididata);
portman_write_data(pm, 0); /* Make sure edge is down. */
portman_write_data(pm, 1); /* Cause rising edge, which shifts data. */
portman_write_data(pm, 0); /* Cause falling edge while data settles. */
portman_write_data(pm, 1); /* Cause rising edge, which shifts data. */
portman_write_data(pm, 0); /* Cause falling edge while data settles. */
portman_write_data(pm, 1); /* Cause rising edge, which shifts data. */
portman_write_data(pm, 0); /* Cause falling edge while data settles. */
portman_write_data(pm, 1); /* Cause rising edge, which shifts data. */
portman_write_data(pm, 0); /* Cause falling edge while data settles. */
portman_write_data(pm, 1); /* Cause rising edge, which shifts data. */
portman_write_data(pm, 0); /* Cause falling edge while data settles. */
portman_write_data(pm, 1); /* Cause rising edge, which shifts data. */
portman_write_data(pm, 0); /* Cause falling edge while data settles. */
portman_write_data(pm, 1); /* Cause rising edge, which shifts data. */
portman_write_data(pm, 0); /* Cause falling edge while data settles. */
portman_write_data(pm, 1); /* Cause rising edge, which shifts data. */
portman_write_data(pm, 0); /* Return data clock low. */
portman_write_data(pm, 0);
portman_write_data(pm, 1);
portman_write_data(pm, 0);