First off, are you aware that Axe has it's own Byte transfer routines? They have very good features and are very reliable. Or are you just perusing this topic for the fun of it? In any case, it may be worthy to note some of the subtleties of how Port command works (or at least what I believe, I am no expert). If one calculator writes a 3 into the Port (setting both bits), no matter what the other calculator sets the Port to, the Port will still remain at 3. This is because when a single bit is 'pulled high' (set to 1) on either calculator, it is perceived by both to be high, even if the second calc has it set to be low. In this sense, if both calculators set the Port to be a certain number, the actual reading of this Port will be the OR of these two numbers.