o110 sub
     f100
     g61
     g0 x1.0 y0.0
     g1 x1.5 y0.0
     g1 x1.5 y0.5
     g1 x1.0 y0.5
     g1 x1.0 y0.0
o110 endsub

o100 sub
     g0 c90
     o110 call
     g0 c180
     o110 call
     g0 c270
     o110 call
     g0x0y0z0c0
o100 endsub

;#########################################################
m110 ; clear messages
g0x0y0z0c0
o110 call

o200 if [#5210 ne 0]
       (debug, ! Prog loaded with g92 offsets)
       (debug, RELOAD program required)
       g92.1
       (debug, bye)
       m2
o200 endif

o210 if [[#5221 ne 0] or [#5222 ne 0] or [#5223 ne 0] or [#5223 ne 0] or [#5225 ne 0] or [#5226 ne 0] or [#5227 ne 0] or [#5228 ne 0] or [#5229 ne 0] ]
        (debug, ! Prog loaded with g5x offsets)
        (debug, RELOAD program required)
        g92.1
        g10l2p0x0y0z0c0
        (debug, bye)
        m2
o210 endif

g0x0y0z0c0
g10l2p0x0y0z0c0
(debug, First: run with NO offsets, s to continue)
m0
o100 call

o300 if [#<_task> eq 1]
        g10l2p0x1
        (debug, Next: run with g5x xoffset=#5221, s to continue)
        m0
        o100 call

        g10l2p0x0y0z0c0
        g92x2
        (debug, Next: run with g92 xoffset=#5211, s to continue)
        m0
        o100 call
o300 endif

g10l2p0x0y0z0c0
g92.1
g0x0y0z0c0
(debug,fini)
m2
