Always make sure you have a return on the last line, that is the most common cause of non running subs.
Putting a % at the start and end of the programs helps.
Graham.
%
G90 G01 X0.0 Y0.0 F1000
M98 P1
M98 P2
M30
O1
X0.0 Y0.0
X1.0 Y0.0
X1.0 Y1.0
X0.0 Y1.0
X0.0 Y0.0
M99
O2
X2.0 Y0.0
X3.0 Y0.0
X3.0 Y1.0
X2.0 Y1.0
X2.0 Y0.0
M99
%