Thank you so much for the thorough explanation, I have but one question though, how do you know which device code to use?
Edit: Oh, I found something else I'm curious about, how did you know which function number resembles which function?
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value." - Carl Sagan