Could modem_poll, or whatever calls it, be made a C function pointer to a routine dedicated to CW generation with no lookup or decision logic for any other modes? ?Then the decision logic could be put in the UI handler, which can switch in the dedicated code for CW. ?Or has anyone profiled this code to see what's actually taking up the time? ?It may not be the decision logic, but something else. ?73, Ron, N6YWU