Thanks for the clarification, Thorsten. Thanks for the welcome. 2) I plan to utilize an Alps touchpad 808-874649-002-A as an X/Y controller. It outputs trackpad data in accordance with the PS/2 protocol. Rather than burden MIOS with interpreting the PS/2 data, I was going to write a handler into another dedicated microcontroller. Specifically, an Atmel AVR microcontroller (chosen because I have experience writing assembly for it). This microcontroller will buffer the incoming PS/2 data, decode the absolute X and Y coordinates, and make available on its outputs two 7-bit numbers corresponding to the X and Y coordinates last touched. I think that the inbound data should map to a pair of virtual pots. The data on those 7x2 lines is not going to change at a faster rate than someone can swing their fingers over the X/Y pad, and missed information (aka, PIC reads value d[0] on first pass, data available is updated to d[1] between passes, and PIC reads value d[3] on second pass) is of no concern, as there wouldn't be enough time to push that data over midi anyway. It would be a concern were the pad to be put in relative mode, and expected to link to a relatively-positioned vpot. As it is, I think it makes more sense to just override any associated value already assigned to the vpot. The only issue I'm struggling with is how to avoid the (rare, but bad) situation where one device is updating the state and the other reading, resulting in mismatched chunks of data, and thus wildly swinging data errors. Updating the output registers in a synchronous fashion would solve this. To that end, I propose flipping the data over to the AVR's output registers when RC on J1 on the DIN goes active, using an hardware interrupt in the AVR. At present, I am not sure how much latency this would add. I suppose I could instead replace the last two 74HC165's with a direct connection to the AVR chip, and shift out the last 2 bytes of DIN-age myself, but this would require the other microcontroller to keep pace. However, as I don't really care about the cost of extra 74HC165 shift registers (cheap as dirt), and the smallest AVR chips I have on-hand are going to have at least 16 free output pins, there's no significant advantage to providing a direct serial shift interface to the data other than pretty-ness. I think that using another processor to pre-cook the input ps/2 data makes sense, and providing the data in a form that the PIC18F can sample whenever it feels like doing so significantly simplifies implementation. edit: The midi implementation detail in that older manual is simply perfect. Gracias.