Just found in line 540.
It reads : IF my2_count>1 THEN RETURN 1
It should read : IF my2_count>1 THEN RETURN i
This improves the behaviour of the program somewhat. Playing it, there still seems to be an as yet undiscovered bug in the code that decides what constitutes a winning line. Back to reading the code again. Ah, the joys of typing in a listing again. One problem is that QL Heaven is typing in from a faded 25 year old magazine that reproduced dot matrix printouts and QL Heaven's eyes are fading. It was not easy to get all those squiggly lines correctly deciphered even 25 years ago.