[A83] Re: linkport


[Prev][Next][Index][Thread]

[A83] Re: linkport




> How do I have to use the linkport in asm (or in basic)?
> MB

In BASIC youi can use getcalc() to get a var, see the TI-83 manual for more
stuff. In ASM, it's more difficult, i haven't found ONE site on the web
which explained well how it works. Well, the link port is port 0. On the
link port there are 2 data lines, d0 and d1, they can either be high(1) or
low(o). With in a,(0) you can read the status of the linkport. The 2 LSB's
are the data lines. So if you wanna read the status do this:

in    a,(o)
and   %00000011

then u have a value in A telling you which data line is hi/lo.
A line is HIGH(1) when BOTH calculators have the line set to hi. When one of
the calc says the line is lo, it's low(0). If you want to set some data
lines to high/low do this:
ld    a,d0Xd1Y
out   (0),a

X and Y can either be H (high) or L (low). Normally, the lines are high. So,
when 2 calcs are conected and they both sa the line is high, it's high. When
one say it's low, it's low. When that one says it's hi again, it's high.
It's like a logical AND.

One last thing: before returning to TI-OS you have to send a $D0 to the
port. Don't ask me why. And another thing: when u send a d0Xd1Y byte to the
port in VTI emulator, it jumps to weird adresses and do wrong things. Don't
ask me why. Maybe there are some other values that work fine (maybe those
values listed in some help files work with VTI).

Bye,
Cheiz




References: