190 HOME : PRINT : INVERSE : PRINT "ENDING MAGIC SQUARES": NORMAL : FOR I = 1 TO 500: NEXT : END
200 REM GENERATE SQUARE SIZE L **** SUBR ****
210 REM R=ROW C=COLUMN
220 HOME : INVERSE : PRINT "MAGIC SQUARE: SIZE ";L: NORMAL : PRINT
230 I = INT(L/2) -1:S = 0
240 FOR R = 1 TO L: FOR C = 1 TO L:N = L * FN MOD(R +C +I) + FN MOD(R +2 *C -2) +1: PRINT LEFT$(" ",4 - LEN( STR$(N))) + STR$(N);:S = S +(R = C) *N: NEXT C: PRINT : NEXT R: REM 4 SPACES
250 PRINT : PRINT "SUM = ";S
260 POKE -16368,0
270 PRINT : INVERSE : PRINT "PRESS ANY KEY TO CONTINUE"
280 K = PEEK( -16384): IF K <127 GOTO 280
290 POKE -16368,0: NORMAL : RETURN
300 REM INPUT SIZE (<CR> TO SIGNAL END) **** SUBR ****