Hey guys, I'm having some problems with the 14000 chip, and am about to pull my hair out. I'm using Hi-Tech C. [1] I swiped the synchronous serial code from the serial.c sample provided with the compiler. Seems to work fine on the 14000, as long as you change the loop delay variable. After a bunch of fiddling, I got it to work fine (for Tx only - it's my diagnostic tool for debugging, which is hooked to a serial LCD). Then I added a/d code, which I hacked together from AN626 and updated to reflect the capbilities of the Hi-Tech compiler. Surprisingly, this compiled and worked perfectly the first time I tried it. (NOTE on A/D code and JW parts: cover the window with something opaque, as light throws off the calibration). The only problem is that because of some necessary delay loop code, I had to compile with full optimization (-O -Gz9). This completely screwed up the serial port code. I thought it was just that the loop delay variable needs to be reset, but alas, no, nothing I try works (and here comes the weird part) on 8 out of 10 of the 14000's I've got. Works just peachy on the other two. I figured it was probably just minor timing differences of the on-board oscillators, but I can't get any value to consistently work on the other 8. Anybody have any ideas, or know where I can find a simple synchronous Tx serial driver that doesn't depend on counting instruction overhead? [2] I'm having real trouble with the i2c sample code provided with the compiler - I can apparently write to an I2C slave, but read cycles are a total mess. I'm sure this has to do with some of their timing assumptions, but I really don't want to mess with those - there's just too many permutations to deal with. Anybody know where I can find some 14000 sample code for using the on-board I2C module? Thanks, -Will "Life is a meritocracy"