Lets make it even easier:
Imagine you have this rectangle drawn on page 1 (the outline color 15, the interior color 0):
(1,1)
==============
|.............................|
|.............................|
|.............................|
|.............................|
==============
...............................(25,15)
And you want it to appear on page 0 at 100,100 and transparent (not drawing everything with palette color 0), the command should be:
CopyL(1,1,25,15,1,100,100,0,TPSET);
(remember: CopyL(X1,Y1,X2,Y2,SrcPage,DestX,DestY,DestPage:integer; LogOp:byte)
The same command in basic would be:
Copy(1,1)-(25,15),1 to (100,100),0,TPSET
Understand now?
Now change TPSET with 0, and color 0 will be copied as well - it will work like a normal copy command, no logical operation will be performed.
Now you can replace it with:
0 - Overwrite
1 - AND operation
2 - OR
3 - XOR
4 - NOT
8 - TPSET (already defined in MSX.INC, that's why you can write TPSET in the command without any problem)
9 - TAND
10 - TOR
11 - TXOR
12 - TNOT
Try these values and see for yourself the different copy options... some are very usefull, like using NOT to draw menu bars =)