Thanks for your reply, this is roughly what i had in mind.
so far i have come up with this bit of untryed code,
from the grid below if cell (x) 31 is alive, and you wish to check its neighbours: x-9, x-8, x-7, x-1, x+1, X+7, x+8 and x+9
you will end up checking 22, 23, 24,30,32,38,39,40
which almost works for wrapping around except 40 is too far away.
'0 8 16 24 32 40 48 56
'1 9 17 25 33 41 49 57
'2 10 18 26 34 42 50 58
'3 11 19 27 35 43 51 59
'4 12 20 28 36 44 52 60
'5 13 21 29 37 45 53 61
'6 14 22 30 38 46 54 62
'7 15 23 31 39 47 55 63
led var bit [64]
counter var byte
population var byte ' <<number of neighbours
FOR counter = 0 TO 63
population = 0
IF led [counter-1] = 1 AND counter > 0 THEN
population = population + 1
ENDIF
IF led [counter+1] = 1 AND counter < 63 THEN
population = population + 1
ENDIF
IF counter > 7 THEN
IF led [counter-8] = 1 THEN
population = population + 1
ENDIF
IF led [counter-9] = 1 THEN
population = population + 1
ENDIF
IF led [counter-7] = 1 THEN
population = population + 1
ENDIF
ENDIF
IF counter < 56 THEN
IF led [counter+8] = 1 THEN
population = population + 1
ENDIF
IF led [counter+9] = 1 THEN
population = population + 1
ENDIF
IF led [counter+7] = 1 THEN
population = population + 1
ENDIF
ENDIF
IF led [counter] = 1 THEN
IF population > 3 OR population < 2 THEN
led [counter] = 0
ENDIF
ENDIF
IF led [counter] = 0 THEN
IF population = 3 THEN
led [counter] = 1
ENDIF
ENDIF
NEXT




Bookmarks