Thanks for the answers TK, OK, since you're interested, I'll explain further... I've been working on a custom MIDI controller for a few months, using a PIC16F84... until I realised I really needed more I/O pins, A/D conv, more RAM, etc... Came across uCApps/MIOS and now I'm keen to use MIOS and PIC18F452 to do the job. (Also really like the SID project so I'm building one of them too). The controller is a fretboard design, like a bass guitar. Instead of strings there are touch switches (copper wire) between where the frets would go. There are also plucking/strumming sensors which are an infrared LED/photodiode pair - you break the beam with a finger. One "mode" just maps presses on the touch sensors to note on events directly - ie. just a keyboard-like interaction. The other mode is guitar-like - ie. you need to strum/pluck to get the note, and while a strum/pluck sensor is down, fret changes trigger notes played legato (with optional portamento) or even retrigger currently held down frets higher up the string, etc. So the reason why I wouldn't want to do it in a USER_DIN_NotifyToggle handler is because I need to take into account the entire state of all the registers (ie. calculating the "highest" touched fret, comparing to "highest" touched fret last time, calculating velocity from time of partial to full blocking of IR beam, etc.) It's a bit more complex than "button A AND B" - I was just trying to simplify it to give an example... Thanks again for your help... I should be able to utilize the SR_DIN_CHANGED array to do all I want. Regards, Wilba