N@Textaporter Controller
I@Data1 Data2 Data3 Data4 Command Call Xa Ya Za
O@Xb Yb Zb Go A1 B2 C3 D4 E5 F6 G7 H8 I9 J0 
interval(500)
X1=recv(Data1,1),Y1=recv(Data1,2),Z1=recv(Data1,3),X2=recv(Data1,4),Y2=recv(Data1,5),Z2=recv(Data1,6)
X3=recv(Data1,7),Y3=recv(Data1,8),Z3=recv(Data1,9),X4=recv(Data1,10),Y4=recv(Data1,11),Z4=recv(Data1,12)
X5=recv(Data2,1),Y5=recv(Data2,2),Z5=recv(Data2,3),X6=recv(Data2,4),Y6=recv(Data2,5),Z6=recv(Data2,6)
X7=recv(Data2,7),Y7=recv(Data2,8),Z7=recv(Data2,9),X8=recv(Data2,10),Y8=recv(Data2,11),Z8=recv(Data2,12)
X9=recv(Data3,1),Y9=recv(Data3,2),Z9=recv(Data3,3),X0=recv(Data3,4),Y0=recv(Data3,5),Z0=recv(Data3,6)
A=recv(Data4,1),B=recv(Data4,2),C=recv(Data4,3),D=recv(Data4,4),E=recv(Data4,5)
F=recv(Data4,6),G=recv(Data4,7),H=recv(Data4,8),I=recv(Data4,9),J=recv(Data4,10)
Up=30,Left=-30
Command==1 & Call==1 -> Xb=Xa,Yb=Ya+Left,Zb=Za+Up;
Command==1 & A -> Xb=X1,Yb=Y1+Left,Zb=Z1+Up;
Command==1 & B -> Xb=X2,Yb=Y2+Left,Zb=Z2+Up;
Command==1 & C -> Xb=X3,Yb=Y3+Left,Zb=Z3+Up;
Command==1 & D -> Xb=X4,Yb=Y4+Left,Zb=Z4+Up;
Command==1 & E -> Xb=X5,Yb=Y5+Left,Zb=Z5+Up;
Command==1 & F -> Xb=X6,Yb=Y6+Left,Zb=Z6+Up;
Command==1 & G -> Xb=X7,Yb=Y7+Left,Zb=Z7+Up;
Command==1 & H -> Xb=X8,Yb=Y8+Left,Zb=Z8+Up;
Command==1 & I -> Xb=X9,Yb=Y9+Left,Zb=Z9+Up;
Command==1 & J -> Xb=X0,Yb=Y0+Left,Zb=Z0+Up;
Go=Command & (A|B|C|D|E|F|G|H|I|J|Call)
X1!=0 ? A1=1 : A1=0
X2!=0 ? B2=1 : B2=0
X3!=0 ? C3=1 : C3=0
X4!=0 ? D4=1 : D4=0
X5!=0 ? E5=1 : E5=0
X6!=0 ? F6=1 : F6=0
X7!=0 ? G7=1 : G7=0
X8!=0 ? H8=1 : H8=0
X9!=0 ? I9=1 : I9=0
X0!=0 ? J0=1 : J0=0