Hey Josh, I have looked at his include file, and the descriptions are good, he's > just pulling stuff like: > > goto _repeat#v(_rptstack#v(_rptstackptr)) Well I know the #v means concatenation to the MPASM preprocess (actually... I am not so sure anymore...). So I think all that does is jump to a label you generated before. The _rptstack and _rptstackptr I am not so sure about. But I can guess that one number is to differentiate it from other loops. And the other maybe implement a sort of fake label stack (if that makes any sense at all) so that you can nest these macro loops? This is actually a very interesting way to implement this, however it makes debugging very difficult indeed. which I don't really get. Also they're annoying when debugging as > invariably the infinite loop I'm getting caught in is in one of the > macros. I haven't figured out yet what to set a watch on so I can > figure out where the macro was called from. I am not sure I understand what do you mean by where the macro is calling from. Isn't it in the main loop the repeat-until macro. If you want, you may want to insert a random nop into the loop and set a breakpoint on it using ICD 2. However, this basically renders the USB connection useless b/c it would time out. I'm also seriously considering expanding all of his macros in the main > code. It will make debugging easier, and having to go through the code > in that detail should force me to learn more about it. Why not just look at the list files? It is probably going to be the same, and will save you a ton of work. Although doing it your way may save you a lot of headache trying to understand all those weird labels. After an afternoon of trying to figure out why the heck my > breadboarded circuit wasn't working, I discovered something about his > code. For whatever reason, it doesn't seem to work with Win2K at all. > It does work with WindowsXP though, which I found out after trying > another computer in desperation. Something to note though if you're > planning on playing with it. Really? Before I stopped playing with it, I managed to get his lab1 and lab2 working for both XP and 2000. But I am not using the same usb chip though (I am using the 18F2550) and I did screw around with the oscillator settings and what not. Well, back to study it some more! Well best of luck... hmm this is so interesting now, I probably will start working on it after finals which would be around wednesday. Maybe someone with more experience with the PIC USB chips will be willing to help you out. - Terry -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist