To use those vectors, there is an assembly example in https://github.com/j...rtist/tipim.a99
The TCP protocol that uses those same vectors is documented here: https://github.com/j...i/Extension-TCP
(This is from memory... I'm not an experienced assembly language programmer, so there will be errors)
For general extension use:
1st: You MUST find the CRUBASE of the TIPI board. There are example routines in the (assembly) TIArtist mouse driver, and the (gcc) Telnet program.
I will assume you stashed the discovered CRUBASE in a memory address referenced by @TIPICRU
The DSR ROM has the address of the message routines in these fixed locations... so you lookup address stuff it in a register, and then call it.
SENDMSG EQU >4012
RECVMSG EQU >4010
A message is sent by stuffing the length of your message in GPLWS R0, and the address of your message's bytes in GPLWS R1
Then transition to the GPLWS, and call the routine:
There is no 'result' of the message send... it just worked, or it hung/crashed.. whatever... hobby code. Customarily, there is a message waiting to be received containing your result depending on the extension used.
Similiarly to receive a message, you have to load up the GPLWS with some parameters, use that workspace, then call it.
Here I'm assuming you have a chunk of memory who's address is in @RECVBUFF
R0 in GPLWS will end up with the size of the received message, it is important to clear it first. I cannot remember if I fixed the ROM to do this for you or not.
Now the length of what was received, if anything is @GPLWS. And the received data is in your specified buffer.
Now, to use this messaging to do TCP work...
First you need to send a message that requests an open socket. 0x22 is the TCP subsystem. 0x01 is the open command. That message would look like:
[ 0x22, 0x00, 0x01 ] + "localhost:23"
The wiki page is wrong, but you don't need to worry about the error. It is trying to say you don't have to worry about the length of the hostname:port string.
So, if your hostname and port is as above, your message data would be:
2200 016c 6f63 616c 686f 7374 3a32 33
Send that message, then receive a message to see what TIPI thinks of you.
If it succeeds you'll get a message of length 1 with the value 255... I often receive these response messages directly into a register as the buffer.
Now with this information does the Extension-TCP page make sense?