I set a home offset on my Ender 3 running Marlin firmware so that it starts printing from the corner of a custom build surface which doesn't cover the entire bed:
M206 X-10 Y-10
Now, when I run this:
G1 X0 Y0 Z1
the head moved to 1 mm above the bottom left most edge of the sticker (good!)
However, I notice when I do relative moves like this:
G91 G1 X-1 Y-1
The head actually moves in the opposite direction than you would expect, because it's subtracting the offset from the relative coordinates, which I didn't expect.
Put another way, the following G-code:
M206 X-10 Y-10 G91 G1 X0 Y0
Moves the head to x=20 y=20 measured against the original coordinate system.
Is this expected? It seems rather undesirable behaviour to me. Bug?