@16_3FA0 %byte screenrows,screencols
%begin
%include "inc:util.imp"
%string (255) param, srows, scols
%integer rows, cols

%integerfn stoi(%string (255) s)
   %integer i, no
   no=0
   %result=-1 %if s=""
   %for i=1,1,length(s) %cycle
      %if charno(s,i)#' ' %start
         %result = -2 %unless '0'<=charno(s,i)<='9'
         no = no*10 + charno(s,i)-'0'
      %finish
   %repeat
   %result=no
%end

param = cli param
srows = param %and scols = "" %unless param -> srows.("/").scols %or %c
param -> srows.(",").scols
rows = stoi(srows)
cols = stoi(scols)

%if 4 <= rows <= 127 %start
   screenrows = rows
%else
   printline("invalid row value"); newline; %stop
%finish
%if 40 <= cols <= 255 %start
   screencols = cols
%else
   printstring("invalid columns value"); newline; %stop
%finish

printstring("rows = ".itos(rows, -1)."  ")
printstring("cols = ".itos(cols, -1))
newline

%endofprogram
