Just in case anyone on here isn't on the Ubicom portal or Yahoo Group. Sorry if you're sick of seeing this post! Hi all. Appologies to those who will be seeing this twice, I will be posting it on theUbicom portal as well. I am trying to get the SX Ethernet TCP/IP stack running, and I am having no luck. I have the following sequence: ; strobe IOWB pin jmp $+1 clrb IOWB_PIN jmp $+1 jnb IOCH_PIN, $ setb IOWB_PIN The pins are defined elsewhere. My problem is that I never see IOCH_PIN drop (using my scope) which it should to aknowledge the data write. I don't know why this is happening. My initial thought is that the SX isn't giving the 8019AS enough time to read before bringing the line back up again. The idea is that the SX puts data on the bus, then drops the IOWB pin. It should then wait for the 8019AS to drop the IOCHRDY line, then raise it again to acknowledge the read. The SX is running at 50MHz. However, this line puzzles me: jnb IOCH_PIN, $ IOCH_PIN has a pullup resistor on it. The way I read this is that if IOCH_PIN is low, jump to the same line. Therefore it's a loop to wait for IOCH_PIN to go high. but since it's already high, the code always seems to cruise right through this. Is the code counting on the "jmp $+1" line to give the 8019AS enough time to drop the IOCHRDY line? Then the SX would want to wait for it to go high again, as in the jnb line above? Does this even make sense? Any help would be appreciated. Thanks, Josh Koffman -- A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. -Douglas Adams -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.