state_and_input
switch (state_and_input(*state, retrace)) {
case state_and_input(ISV_S_CAPTURE0, false):
case state_and_input(ISV_S_RETRACE, true):
case state_and_input(ISV_S_CAPTURE2, true):
case state_and_input(ISV_S_CAPTURE1, true):
case state_and_input(ISV_S_CAPTURE0, true):
case state_and_input(ISV_S_RETRACE, false):
case state_and_input(ISV_S_CAPTURE2, false):
case state_and_input(ISV_S_CAPTURE1, false):