Elara S. Novikova
Iskra-226

LIFE

Жизнь Конвея

Conway and Gardner, 1970

Five cells on a grid twelve wide, the standard glider, and four rules that decide who lives. The Iskra prints one generation per block of ones and zeros, and the shape walks diagonally across it. Conway invented the rules, Martin Gardner printed them in October 1970, and they went everywhere a machine had a BASIC in it.

sectors
20-22
source lines
63
board
10 x 8 cells
generations
6
Generation six of Conway's rules on a ten by eight board, a one for every living cell. The glider is one square down and one over from where it was set, halfway through the four step cycle that carries it.
Generation six of Conway's rules on a ten by eight board, a one for every living cell. The glider is one square down and one over from where it was set, halfway through the four step cycle that carries it.

Run this disk · The image, 256,256 bytes

Why this one matters

Conway was answering a question about automata, not designing entertainment. The whole of it is four rules: a live cell with two or three live neighbors stays alive, a dead cell with exactly three comes alive, everything else dies. Martin Gardner printed them in Scientific American in October 1970, and within a year people were running them on whatever machine they could get near. Nothing in those four lines mentions movement, growth or intention, and all three come out of them anyway. That is the demonstration, and it does not survive being written down as a paragraph. You have to watch it.

The glider is the punchline. Five cells arranged one particular way come back to their own shape after four steps, one square down and one square over, and then do it again, and again, until they run into something. Watch it cross a screen and you will catch yourself saying it is going somewhere. It is not going anywhere. It is a rule about counting neighbors, applied cell by cell in no order that matters, and the traveling is something you are doing. A computer is the only way to hand that lesson to somebody.

Six generations on a ten by eight board

The board is ten cells across and eight down, held in an array twelve wide so the outer ring can stay dead and serve as a wall. The glider starts in its five canonical cells near the top left. Each generation prints as a block of ones and zeros with ПОКОЛЕНИЕ and the number above it. The next state is computed into a second array and copied back only when the whole sweep is finished, because in place a cell would see its own new value and half the board would be running a generation ahead of the other half.

What it cost the interpreter

The dialect on this disk was decoded from payroll software, and payroll software never asks what the neighbors are doing. LIFE fits inside it anyway, in Russian, on a machine built in Kursk as a work-alike of an American desktop that could no longer be bought. The board holds 120 cells, and 120 is a number this BASIC cannot say. Literals above 99 are read as references to a program line, so the number gets built instead: twelve, times ten, on the two lines right after the banner. Every large constant on these disks is assembled that way.

That is not a workaround I am proud of, it is the honest edge of what the recovered disks attest, and I would rather leave the seam visible than invent an encoding nobody can check. The same goes for the neighbor arithmetic. Half the program is of the form V03 minus 13, and reading that shape correctly is what forced the rule for minus to be rewritten: after an operand it is a subtraction, otherwise it opens a negative number. Accounting code is full of subtraction too, but never in the position that broke the old rule.

What this disk is not

This disk was written in 2026. Conway's rules are common property and anyone may implement them, but the code in the image is mine, written this year against a dialect I reconstructed from the six recovered sides. Nothing here was excavated. No Soviet games disk has ever surfaced, not from this machine and not from its relatives, and if one ever does it will look nothing like this. What the image does prove is narrower and worth more: reading a disk format wrong can go unnoticed for months, and writing one that an independent parser then executes cannot.

The title is a different matter, and it was here before me. Among the few games that people who worked on an Iskra-226 still name, one is «Жизнь»: Conway's rules, in Russian, on this machine, in somebody's account of the eighties. Nothing of it survives and nothing of it is on my disk. What it means is only that when I picked four rules about neighbors for a machine bought to move money, I was not the first person at one of these keyboards to have the idea.

What I checked

The glider runs its correct four-phase sequence and travels diagonally; checked against a hand calculation.

What this does not show

What is tested is the emulator, not the hardware. The images follow the attested format rules; whether a surviving Iskra-226 accepts them can only be shown on a real machine. Six generations is where the run stops, and that is a decision about screen space rather than anything in the rules. The border ring is never evaluated and never comes alive, so a pattern that reaches the edge dies there instead of wrapping around.

Where to read more

The source

LIFE.bas, 63 lines, assembled onto the image with iskra_asm.py

63 lines of BASIC
10 REM LIFE
20 PRINT "*** ЖИЗНЬ - ИГРА КОНВЕЯ ***"
28 V60 = 12
29 V60 = V60 * 10
30 FOR V01 = 1 TO V60
40 A20(V01) = 0
50 NEXT V01
60 A20(15) = 1
61 A20(28) = 1
62 A20(38) = 1
63 A20(39) = 1
64 A20(40) = 1
70 V50 = 0
100 PRINT "ПОКОЛЕНИЕ";V50
120 FOR V01 = 2 TO 9
130 FOR V02 = 2 TO 11
140 V03 = V01 - 1
150 V03 = V03 * 12
160 V03 = V03 + V02
170 PRINT A20(V03);
180 NEXT V02
190 PRINT
200 NEXT V01
210 IF V50 > 5 GOTO 600
230 FOR V01 = 2 TO 9
240 FOR V02 = 2 TO 11
250 V03 = V01 - 1
260 V03 = V03 * 12
270 V03 = V03 + V02
280 V04 = 0
290 V05 = V03 - 13
300 V04 = V04 + A20(V05)
310 V05 = V03 - 12
320 V04 = V04 + A20(V05)
330 V05 = V03 - 11
340 V04 = V04 + A20(V05)
350 V05 = V03 - 1
360 V04 = V04 + A20(V05)
370 V05 = V03 + 1
380 V04 = V04 + A20(V05)
390 V05 = V03 + 11
400 V04 = V04 + A20(V05)
410 V05 = V03 + 12
420 V04 = V04 + A20(V05)
430 V05 = V03 + 13
440 V04 = V04 + A20(V05)
450 A21(V03) = 0
460 IF A20(V03) = 0 GOTO 500
470 IF V04 = 2 GOTO 490
475 IF V04 = 3 GOTO 490
480 GOTO 520
490 A21(V03) = 1
495 GOTO 520
500 IF V04 = 3 GOTO 490
520 NEXT V02
530 NEXT V01
540 FOR V01 = 1 TO V60
550 A20(V01) = A21(V01)
560 NEXT V01
570 V50 = V50 + 1
580 GOTO 100
600 PRINT "*** КОНЕЦ ***"
610 END

Back to Iskra-226