>It is very deterministic to do it this way. It receives IR, tracks time >(to 2 seconds per month subject to xtal), processes IR requests, washes the >carpet, etc. all in a '57. And it takes no CALLs (now _that's_ determinism). Interesting. I started out in this biz with a Z8 project, all int driven, and really gained a lot of respect for the int mechanism. That particular project was a barcode reader, taking data from a wand (black/white) measuring the widths, and decoding the whole thing char by char on the fly. Everything ran from ints, and the main program loop was Main: jmp Main :) The original system was written by another fellow, who I thought was really good, but as it turned out was a total bozo. I rebuilt everything, and brought the minimum xtal down from 12.288 to 3.57MHz. 12.288 was actually "overclocking" it by a bit! My current AVR project has to deal with one peripheral that demands IRQs in bursts at 300kIIRQs/sec (I'm not real happy with that part, but it works!) I've not done a lot on stack-limited machines, the Z8 has 192 ram, and stack can be any or almost all of that. The Atmel AVR is great that way, 512 ram makes for loads of elbow room. My big "limited stack" project so far is a programmable transmitter on the '84. User program is loaded through a soft uart, and resides in EEPROM in a tokenized language. It has an onboard interpreter, executing the user program byte at a time. I ended up not using the entire second half of the ram, but ran out of rom :( The ascii to morse translator ate up a lot. It's at www.agrelo.com/upll.html That one was fun indeed! I looked on the FMA page, that's quite a nice charger! How does the IR part fit in?