I was attempting multiplayer functions earlier, and I couldn't get MPSET and MPGET to function as I thought they would. The manual labels them as a sort of "register," which I had assumed were registers which could be read from and written to universally from all connected users. This is the general code I was using:
HOST SYSTEM
MPSTART 2,"1" WHILE 1 LINPUT"";T$ IF LEN(T$)>0 THEN MPSEND T$ MPSET 0,1 WHILE !MPGET(1,0) WAIT WEND WAIT WENDGUEST SYSTEM
MPSTART 2,"1" WHILE 1 WHILE !MPGET(0,0) WAIT WEND MPRECV OUT ,T$ PRINT T$ MPSET 0,0 WAIT WENDJust in case the code is wrong, the purpose of the program was to take input from the host system, send it over to the guest system and wait for its confirmation, then start over again. The output of the program was constantly printing out T$ to the guest system regardless, while when I had stopped the program to check the state of the registers using MPGET, I found MPGET(0,0) was 0. I'm not quite asking for a solution to my problem, I just want to know if there are any special things about MPGET and MPSET I should know. Do they take up more than one frame to read and send, while still maintaining program execution? Could it be the MPSEND which creates some kind of delay? MPGET requires for its first parameter a value denoted as the 'Terminal to read from' or something like that. Why would MPGET need to know from which terminal to "read" from if the registers are universal among all connected systems? It must mean that the registers are not universal, and that each register pertains to its own system, right?