CHAR ARRAY text(1000) CARD length PROC AppendText(CHAR ARRAY part) BYTE i FOR i=1 TO part(0) DO text(length)=part(i) length==+1 OD RETURN INT FUNC GetPosForWrap(BYTE lineLen INT start) INT pos pos=start+lineLen IF pos>=length THEN RETURN (length-1) FI WHILE pos>start AND text(pos)#32 DO pos==-1 OD IF pos=start THEN pos=start+lineLen ELSE pos==-1 FI RETURN (pos) PROC PrintTextWrapped(BYTE lineLen) INT i,pos BYTE wrap,screenWidth=[40] i=0 WHILE i