DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦c3abf9e44⟧ TextFile

    Length: 5056 (0x13c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »LIFE1.K«

Derivation

└─⟦0ca3cf8fa⟧ Bits:30004600 DEMO1 - COMAL demoprogram
    └─⟦this⟧ »LIFE1.K« 

Mikados K File

0100 REM 
0110 REM FORMÅL......:  DEMOSTRATIONS PROGRAM.
0120 REM 
0130 REM PROGRAM NAVN:  GAME OF LIVE (PÅ DISK: LIFE)
0140 REM PROGRAMMØR..:  (UKENDT) , DDE 17/05/1979
0150 REM SPROG.......:  DDE COMAL FORTOLKER
0160 REM VERSION NO..:  E5A  (LIFE1)
0170 REM 
0180 REM VARIABELLISTE, SE I LIFE.
0190 REM 
0200 REM DIMENSIONERING AF VARIABLERNE.
0210 REM 
0220 ON1=9;MAXROW=24;MAXCOL=41;MAXROW1=MAXROW+1;MAXCOL1=MAXCOL+1;ROW,COL=0
0230 DIM ACTBOARD(MAXROW1,MAXCOL1),LINE$(MAXCOL)
0240 DIM SAVBOARD(MAXROW1,MAXCOL1),SPACE$(MAXCOL)
0250 I,J,GENERATION,ALIVECOUNT=0;SPACE$=" "
0260 FOR ROW=1 TO MAXROW1
0270 FOR COL=1 TO MAXCOL1
0280 ACTBOARD(ROW,COL),SAVBOARD(ROW,COL)=0
0290 NEXT COL
0300 NEXT ROW
0310 FOR I=2 TO MAXCOL
0320 SPACE$=SPACE$+" "
0330 NEXT I
0340 REM 
0350 REM HOVEDPROGRAM.
0360 REM 
0370 EXEC READGENERATION
0380 CLEAR 
0390 CURSOR 20,1
0400 PRINT "GENERATION NO.   0"
0410 EXEC PRINTGENERATION
0420 REPEAT 
0430 EXEC NEXTGENERATION
0440 CURSOR 1,1
0450 UNTIL ALIVECOUNT=0
0460 CURSOR 41,1
0470 PRINT "DEAD";CHR(27);"T"
0480 CURSOR 15,24
0490 PRINT "PROGRAM FÆRDIGT!";CHR(11)
0500 GO TO 0500
0510 END ;HOVEDPROGRAM.
0520 REM 
0530 PROC CLEARBOARD(B)
0540 FOR ROW=1 TO MAXROW1
0550 FOR COL=1 TO MAXCOL1
0560 B(ROW,COL)=0
0570 NEXT COL
0580 NEXT ROW
0590 ENDPROC ;CLEARBOARD
0600 REM 
0610 PROC SETCELL(B,ROWW,COLL)
0620 B(ROWW-1,COLL-1)=B(ROWW-1,COLL-1)+1
0630 B(ROWW-1,COLL)=B(ROWW-1,COLL)+1
0640 B(ROWW-1,COLL+1)=B(ROWW-1,COLL+1)+1
0650 B(ROWW,COLL-1)=B(ROWW,COLL-1)+1
0660 B(ROWW,COLL)=B(ROWW,COLL)+ON1
0670 B(ROWW,COLL+1)=B(ROWW,COLL+1)+1
0680 B(ROWW+1,COLL-1)=B(ROWW+1,COLL-1)+1
0690 B(ROWW+1,COLL)=B(ROWW+1,COLL)+1
0700 B(ROWW+1,COLL+1)=B(ROWW+1,COLL+1)+1
0710 ALIVECOUNT=ALIVECOUNT+1
0720 ENDPROC ;SETCELL
0730 REM 
0740 PROC REMOVECELL(B,ROWW,COLL)
0750 B(ROWW-1,COLL-1)=B(ROWW-1,COLL-1)-1
0760 B(ROWW-1,COLL)=B(ROWW-1,COLL)-1
0770 B(ROWW-1,COLL+1)=B(ROWW-1,COLL+1)-1
0780 B(ROWW,COLL-1)=B(ROWW,COLL-1)-1
0790 B(ROWW,COLL)=B(ROWW,COLL)-ON1
0800 B(ROWW,COLL+1)=B(ROWW,COLL+1)-1
0810 B(ROWW+1,COLL-1)=B(ROWW+1,COLL-1)-1
0820 B(ROWW+1,COLL)=B(ROWW+1,COLL)-1
0830 B(ROWW+1,COLL+1)=B(ROWW+1,COLL+1)-1
0840 ALIVECOUNT=ALIVECOUNT-1
0850 ENDPROC ;REMOVECELL
0860 REM 
0870 PROC READGENERATION
0880 ROW,ROWMIN,ROWMAX,ROW0=MAXROW1
0890 COL,COLMIN,COLMAX,COL0=MAXCOL1
0900 GENERATION=0
0910 ALIVECOUNT=0
0920 EXEC CLEARBOARD(SAVBOARD)
0930 ROWMIN=MAXROW;ROWMAX=0
0940 COLMIN=MAXCOL;COLMAX=0
0950 ROW=1
0960 PRINT "PLEASE ENTER COLONY"
0970 FOR I=1 TO MAXCOL-1
0980 LINE$(I:1)=CHR(I+48-INT(I/10)*10)
0990 NEXT I
1000 PRINT "  ";LINE$
1010 WHILE ROW<MAXROW DO 
1020 LINE$=CHR(INT(ROW/10)+48)+CHR((ROW-INT(ROW/10)*10)+48)
1030 PRINT LINE$;
1040 LINE$=SPACE$
1050 INPUT LINE$
1060 IF LINE$=" " THEN EXIT ;WHILE
1070 J=MAXCOL1-LEN(LINE$)
1080 FOR I=1 TO J
1090 LINE$=LINE$+" "
1100 NEXT I
1110 ROW=ROW+1
1120 COL=1
1130 WHILE COL<MAXCOL DO 
1140 COL=COL+1
1150 IF LINE$(COL-1)<>" " THEN 
1160 EXEC SETCELL(SAVBOARD,ROW,COL)
1170 IF ROW<ROWMIN THEN ROWMIN=ROW
1180 IF COL<COLMIN THEN COLMIN=COL
1190 IF ROW>ROWMAX THEN ROWMAX=ROW
1200 IF COL>COLMAX THEN COLMAX=COL
1210 ENDIF 
1220 ENDWHILE 
1230 ENDWHILE 
1240 REM 
1250 REM PUT THE FIGURE IN THE MIDDLE
1260 REM 
1270 ROW0=((MAXROW1-ROWMIN-ROWMAX) DIV 2)+1
1280 COL0=((MAXCOL1-COLMIN-COLMAX) DIV 2)+1
1290 FOR ROW=ROWMIN-1 TO ROWMAX+1
1300 FOR COL=COLMIN-1 TO COLMAX+1
1310 ACTBOARD(ROW+ROW0,COL+COL0)=SAVBOARD(ROW,COL)
1320 NEXT COL
1330 NEXT ROW
1340 EXEC CLEARBOARD(SAVBOARD)
1350 ENDPROC ;READGENERATION
1360 REM 
1370 PROC CELLON(Y,X)
1380 REM 
1390 REM WRITE TWO STARS IN POSITION (X-1,Y) AS A LIVING CELL.
1400 REM 
1410 CURSOR X-1,Y
1420 PRINT "<S>**"
1430 ENDPROC ;CELLON
1440 REM 
1450 PROC CELLOFF(Y,X)
1460 REM 
1470 REM WRITE TWO SPACES IN POSITION (X-1,Y) AS A DEAD CELL
1480 REM 
1490 CURSOR X-1,Y
1500 PRINT "<S>  "
1510 ENDPROC ;CELLOFF
1520 REM 
1530 PROC NEXTGENERATION
1540 ROW=MAXROW1
1550 COL=MAXCOL1
1560 GENERATION=GENERATION+1
1570 FOR I=2 TO MAXROW
1580 FOR J=2 TO MAXCOL
1590 SAVBOARD(I,J)=ACTBOARD(I,J)
1600 NEXT J
1610 NEXT I
1620 CURSOR 33,1
1630 PRINT USING "<S> ####":GENERATION
1640 FOR ROW=2 TO MAXROW
1650 FOR COL=2 TO MAXCOL
1660 CASE SAVBOARD(ROW,COL) OF 
1670 WHEN 3
1680 REM 
1690 REM A NEW CELL IS BORN!
1700 REM 
1710 EXEC SETCELL(ACTBOARD,ROW,COL)
1720 EXEC CELLON(ROW,(COL-1)*2)
1730 WHEN 9,10,13,14,15,16,17
1740 REM 
1750 REM A CELL DIES. IF 9 OR 10 FOR LONELINESS
1760 REM _            IF 13 TO 17 BECAUSE TOO CROWDED
1770 REM 
1780 EXEC REMOVECELL(ACTBOARD,ROW,COL)
1790 EXEC CELLOFF(ROW,(COL-1)*2)
1800 ENDCASE 
1810 NEXT COL
1820 NEXT ROW
1830 ENDPROC ;NEXTGENERATION
1840 REM 
1850 PROC PRINTGENERATION
1860 FOR ROW=2 TO MAXROW
1870 FOR COL=2 TO MAXCOL
1880 IF ACTBOARD(ROW,COL)>8 THEN EXEC CELLON(ROW,(COL-1)*2)
1890 NEXT COL
1900 NEXT ROW
1910 ENDPROC ;PRINTGENERATION

Mikados K File

0x0000…000b Line {l1=0x09, l2=»0100 REM «, l3=0x09}
0x000b…003b Line {l1=0x2e, l2=»0110 REM FORMÅL......:  DEMOSTRATIONS PROGRAM.«, l3=0x2e}
0x003b…0046 Line {l1=0x09, l2=»0120 REM «, l3=0x09}
0x0046…007c Line {l1=0x34, l2=»0130 REM PROGRAM NAVN:  GAME OF LIVE (PÅ DISK: LIFE)«, l3=0x34}
0x007c…00af Line {l1=0x31, l2=»0140 REM PROGRAMMØR..:  (UKENDT) , DDE 17/05/1979«, l3=0x31}
0x00af…00dc Line {l1=0x2b, l2=»0150 REM SPROG.......:  DDE COMAL FORTOLKER«, l3=0x2b}
0x00dc…0102 Line {l1=0x24, l2=»0160 REM VERSION NO..:  E5A  (LIFE1)«, l3=0x24}
0x0102…010d Line {l1=0x09, l2=»0170 REM «, l3=0x09}
0x010d…0131 Line {l1=0x22, l2=»0180 REM VARIABELLISTE, SE I LIFE.«, l3=0x22}
0x0131…013c Line {l1=0x09, l2=»0190 REM «, l3=0x09}
0x013c…0165 Line {l1=0x27, l2=»0200 REM DIMENSIONERING AF VARIABLERNE.«, l3=0x27}
0x0165…0170 Line {l1=0x09, l2=»0210 REM «, l3=0x09}
0x0170…01bc Line {l1=0x4a, l2=»0220 ON1=9;MAXROW=24;MAXCOL=41;MAXROW1=MAXROW+1;MAXCOL1=MAXCOL+1;ROW,COL=0«, l3=0x4a}
0x01bc…01ee Line {l1=0x30, l2=»0230 DIM ACTBOARD(MAXROW1,MAXCOL1),LINE$(MAXCOL)«, l3=0x30}
0x01ee…0221 Line {l1=0x31, l2=»0240 DIM SAVBOARD(MAXROW1,MAXCOL1),SPACE$(MAXCOL)«, l3=0x31}
0x0221…024e Line {l1=0x2b, l2=»0250 I,J,GENERATION,ALIVECOUNT=0;SPACE$=" "«, l3=0x2b}
0x024e…0269 Line {l1=0x19, l2=»0260 FOR ROW=1 TO MAXROW1«, l3=0x19}
0x0269…0284 Line {l1=0x19, l2=»0270 FOR COL=1 TO MAXCOL1«, l3=0x19}
0x0284…02b0 Line {l1=0x2a, l2=»0280 ACTBOARD(ROW,COL),SAVBOARD(ROW,COL)=0«, l3=0x2a}
0x02b0…02bf Line {l1=0x0d, l2=»0290 NEXT COL«, l3=0x0d}
0x02bf…02ce Line {l1=0x0d, l2=»0300 NEXT ROW«, l3=0x0d}
0x02ce…02e6 Line {l1=0x16, l2=»0310 FOR I=2 TO MAXCOL«, l3=0x16}
0x02e6…02fe Line {l1=0x16, l2=»0320 SPACE$=SPACE$+" "«, l3=0x16}
0x02fe…030b Line {l1=0x0b, l2=»0330 NEXT I«, l3=0x0b}
0x030b…0316 Line {l1=0x09, l2=»0340 REM «, l3=0x09}
0x0316…032e Line {l1=0x16, l2=»0350 REM HOVEDPROGRAM.«, l3=0x16}
0x032e…0339 Line {l1=0x09, l2=»0360 REM «, l3=0x09}
0x0339…0353 Line {l1=0x18, l2=»0370 EXEC READGENERATION«, l3=0x18}
0x0353…0360 Line {l1=0x0b, l2=»0380 CLEAR «, l3=0x0b}
0x0360…0372 Line {l1=0x10, l2=»0390 CURSOR 20,1«, l3=0x10}
0x0372…0393 Line {l1=0x1f, l2=»0400 PRINT "GENERATION NO.   0"«, l3=0x1f}
0x0393…03ae Line {l1=0x19, l2=»0410 EXEC PRINTGENERATION«, l3=0x19}
0x03ae…03bc Line {l1=0x0c, l2=»0420 REPEAT «, l3=0x0c}
0x03bc…03d6 Line {l1=0x18, l2=»0430 EXEC NEXTGENERATION«, l3=0x18}
0x03d6…03e7 Line {l1=0x0f, l2=»0440 CURSOR 1,1«, l3=0x0f}
0x03e7…0400 Line {l1=0x17, l2=»0450 UNTIL ALIVECOUNT=0«, l3=0x17}
0x0400…0412 Line {l1=0x10, l2=»0460 CURSOR 41,1«, l3=0x10}
0x0412…0431 Line {l1=0x1d, l2=»0470 PRINT "DEAD";CHR(27);"T"«, l3=0x1d}
0x0431…0444 Line {l1=0x11, l2=»0480 CURSOR 15,24«, l3=0x11}
0x0444…046b Line {l1=0x25, l2=»0490 PRINT "PROGRAM FÆRDIGT!";CHR(11)«, l3=0x25}
0x046b…047c Line {l1=0x0f, l2=»0500 GO TO 0500«, l3=0x0f}
0x047c…0495 Line {l1=0x17, l2=»0510 END ;HOVEDPROGRAM.«, l3=0x17}
0x0495…04a0 Line {l1=0x09, l2=»0520 REM «, l3=0x09}
0x04a0…04b9 Line {l1=0x17, l2=»0530 PROC CLEARBOARD(B)«, l3=0x17}
0x04b9…04d4 Line {l1=0x19, l2=»0540 FOR ROW=1 TO MAXROW1«, l3=0x19}
0x04d4…04ef Line {l1=0x19, l2=»0550 FOR COL=1 TO MAXCOL1«, l3=0x19}
0x04ef…0502 Line {l1=0x11, l2=»0560 B(ROW,COL)=0«, l3=0x11}
0x0502…0511 Line {l1=0x0d, l2=»0570 NEXT COL«, l3=0x0d}
0x0511…0520 Line {l1=0x0d, l2=»0580 NEXT ROW«, l3=0x0d}
0x0520…053a Line {l1=0x18, l2=»0590 ENDPROC ;CLEARBOARD«, l3=0x18}
0x053a…0545 Line {l1=0x09, l2=»0600 REM «, l3=0x09}
0x0545…0565 Line {l1=0x1e, l2=»0610 PROC SETCELL(B,ROWW,COLL)«, l3=0x1e}
0x0565…058f Line {l1=0x28, l2=»0620 B(ROWW-1,COLL-1)=B(ROWW-1,COLL-1)+1«, l3=0x28}
0x058f…05b5 Line {l1=0x24, l2=»0630 B(ROWW-1,COLL)=B(ROWW-1,COLL)+1«, l3=0x24}
0x05b5…05df Line {l1=0x28, l2=»0640 B(ROWW-1,COLL+1)=B(ROWW-1,COLL+1)+1«, l3=0x28}
0x05df…0605 Line {l1=0x24, l2=»0650 B(ROWW,COLL-1)=B(ROWW,COLL-1)+1«, l3=0x24}
0x0605…0629 Line {l1=0x22, l2=»0660 B(ROWW,COLL)=B(ROWW,COLL)+ON1«, l3=0x22}
0x0629…064f Line {l1=0x24, l2=»0670 B(ROWW,COLL+1)=B(ROWW,COLL+1)+1«, l3=0x24}
0x064f…0679 Line {l1=0x28, l2=»0680 B(ROWW+1,COLL-1)=B(ROWW+1,COLL-1)+1«, l3=0x28}
0x0679…069f Line {l1=0x24, l2=»0690 B(ROWW+1,COLL)=B(ROWW+1,COLL)+1«, l3=0x24}
0x069f…06c9 Line {l1=0x28, l2=»0700 B(ROWW+1,COLL+1)=B(ROWW+1,COLL+1)+1«, l3=0x28}
0x06c9…06e7 Line {l1=0x1c, l2=»0710 ALIVECOUNT=ALIVECOUNT+1«, l3=0x1c}
0x06e7…06fe Line {l1=0x15, l2=»0720 ENDPROC ;SETCELL«, l3=0x15}
0x06fe…0709 Line {l1=0x09, l2=»0730 REM «, l3=0x09}
0x0709…072c Line {l1=0x21, l2=»0740 PROC REMOVECELL(B,ROWW,COLL)«, l3=0x21}
0x072c…0756 Line {l1=0x28, l2=»0750 B(ROWW-1,COLL-1)=B(ROWW-1,COLL-1)-1«, l3=0x28}
0x0756…077c Line {l1=0x24, l2=»0760 B(ROWW-1,COLL)=B(ROWW-1,COLL)-1«, l3=0x24}
0x077c…07a6 Line {l1=0x28, l2=»0770 B(ROWW-1,COLL+1)=B(ROWW-1,COLL+1)-1«, l3=0x28}
0x07a6…07cc Line {l1=0x24, l2=»0780 B(ROWW,COLL-1)=B(ROWW,COLL-1)-1«, l3=0x24}
0x07cc…07f0 Line {l1=0x22, l2=»0790 B(ROWW,COLL)=B(ROWW,COLL)-ON1«, l3=0x22}
0x07f0…0816 Line {l1=0x24, l2=»0800 B(ROWW,COLL+1)=B(ROWW,COLL+1)-1«, l3=0x24}
0x0816…0840 Line {l1=0x28, l2=»0810 B(ROWW+1,COLL-1)=B(ROWW+1,COLL-1)-1«, l3=0x28}
0x0840…0866 Line {l1=0x24, l2=»0820 B(ROWW+1,COLL)=B(ROWW+1,COLL)-1«, l3=0x24}
0x0866…0890 Line {l1=0x28, l2=»0830 B(ROWW+1,COLL+1)=B(ROWW+1,COLL+1)-1«, l3=0x28}
0x0890…08ae Line {l1=0x1c, l2=»0840 ALIVECOUNT=ALIVECOUNT-1«, l3=0x1c}
0x08ae…08c8 Line {l1=0x18, l2=»0850 ENDPROC ;REMOVECELL«, l3=0x18}
0x08c8…08d3 Line {l1=0x09, l2=»0860 REM «, l3=0x09}
0x08d3…08ed Line {l1=0x18, l2=»0870 PROC READGENERATION«, l3=0x18}
0x08ed…0912 Line {l1=0x23, l2=»0880 ROW,ROWMIN,ROWMAX,ROW0=MAXROW1«, l3=0x23}
0x0912…0937 Line {l1=0x23, l2=»0890 COL,COLMIN,COLMAX,COL0=MAXCOL1«, l3=0x23}
0x0937…094a Line {l1=0x11, l2=»0900 GENERATION=0«, l3=0x11}
0x094a…095d Line {l1=0x11, l2=»0910 ALIVECOUNT=0«, l3=0x11}
0x095d…097d Line {l1=0x1e, l2=»0920 EXEC CLEARBOARD(SAVBOARD)«, l3=0x1e}
0x097d…099a Line {l1=0x1b, l2=»0930 ROWMIN=MAXROW;ROWMAX=0«, l3=0x1b}
0x099a…09b7 Line {l1=0x1b, l2=»0940 COLMIN=MAXCOL;COLMAX=0«, l3=0x1b}
0x09b7…09c3 Line {l1=0x0a, l2=»0950 ROW=1«, l3=0x0a}
0x09c3…09e5 Line {l1=0x20, l2=»0960 PRINT "PLEASE ENTER COLONY"«, l3=0x20}
0x09e5…09ff Line {l1=0x18, l2=»0970 FOR I=1 TO MAXCOL-1«, l3=0x18}
0x09ff…0a27 Line {l1=0x26, l2=»0980 LINE$(I:1)=CHR(I+48-INT(I/10)*10)«, l3=0x26}
0x0a27…0a34 Line {l1=0x0b, l2=»0990 NEXT I«, l3=0x0b}
0x0a34…0a4b Line {l1=0x15, l2=»1000 PRINT "  ";LINE$«, l3=0x15}
0x0a4b…0a66 Line {l1=0x19, l2=»1010 WHILE ROW<MAXROW DO «, l3=0x19}
0x0a66…0aa3 Line {l1=0x3b, l2=»1020 LINE$=CHR(INT(ROW/10)+48)+CHR((ROW-INT(ROW/10)*10)+48)«, l3=0x3b}
0x0aa3…0ab6 Line {l1=0x11, l2=»1030 PRINT LINE$;«, l3=0x11}
0x0ab6…0ac9 Line {l1=0x11, l2=»1040 LINE$=SPACE$«, l3=0x11}
0x0ac9…0adb Line {l1=0x10, l2=»1050 INPUT LINE$«, l3=0x10}
0x0adb…0aff Line {l1=0x22, l2=»1060 IF LINE$=" " THEN EXIT ;WHILE«, l3=0x22}
0x0aff…0b1a Line {l1=0x19, l2=»1070 J=MAXCOL1-LEN(LINE$)«, l3=0x19}
0x0b1a…0b2d Line {l1=0x11, l2=»1080 FOR I=1 TO J«, l3=0x11}
0x0b2d…0b43 Line {l1=0x14, l2=»1090 LINE$=LINE$+" "«, l3=0x14}
0x0b43…0b50 Line {l1=0x0b, l2=»1100 NEXT I«, l3=0x0b}
0x0b50…0b60 Line {l1=0x0e, l2=»1110 ROW=ROW+1«, l3=0x0e}
0x0b60…0b6c Line {l1=0x0a, l2=»1120 COL=1«, l3=0x0a}
0x0b6c…0b87 Line {l1=0x19, l2=»1130 WHILE COL<MAXCOL DO «, l3=0x19}
0x0b87…0b97 Line {l1=0x0e, l2=»1140 COL=COL+1«, l3=0x0e}
0x0b97…0bb8 Line {l1=0x1f, l2=»1150 IF LINE$(COL-1)<>" " THEN «, l3=0x1f}
0x0bb8…0bdd Line {l1=0x23, l2=»1160 EXEC SETCELL(SAVBOARD,ROW,COL)«, l3=0x23}
0x0bdd…0c01 Line {l1=0x22, l2=»1170 IF ROW<ROWMIN THEN ROWMIN=ROW«, l3=0x22}
0x0c01…0c25 Line {l1=0x22, l2=»1180 IF COL<COLMIN THEN COLMIN=COL«, l3=0x22}
0x0c25…0c49 Line {l1=0x22, l2=»1190 IF ROW>ROWMAX THEN ROWMAX=ROW«, l3=0x22}
0x0c49…0c6d Line {l1=0x22, l2=»1200 IF COL>COLMAX THEN COLMAX=COL«, l3=0x22}
0x0c6d…0c7a Line {l1=0x0b, l2=»1210 ENDIF «, l3=0x0b}
0x0c7a…0c8a Line {l1=0x0e, l2=»1220 ENDWHILE «, l3=0x0e}
0x0c8a…0c9a Line {l1=0x0e, l2=»1230 ENDWHILE «, l3=0x0e}
0x0c9a…0ca5 Line {l1=0x09, l2=»1240 REM «, l3=0x09}
0x0ca5…0ccc Line {l1=0x25, l2=»1250 REM PUT THE FIGURE IN THE MIDDLE«, l3=0x25}
0x0ccc…0cd7 Line {l1=0x09, l2=»1260 REM «, l3=0x09}
0x0cd7…0d04 Line {l1=0x2b, l2=»1270 ROW0=((MAXROW1-ROWMIN-ROWMAX) DIV 2)+1«, l3=0x2b}
0x0d04…0d31 Line {l1=0x2b, l2=»1280 COL0=((MAXCOL1-COLMIN-COLMAX) DIV 2)+1«, l3=0x2b}
0x0d31…0d54 Line {l1=0x21, l2=»1290 FOR ROW=ROWMIN-1 TO ROWMAX+1«, l3=0x21}
0x0d54…0d77 Line {l1=0x21, l2=»1300 FOR COL=COLMIN-1 TO COLMAX+1«, l3=0x21}
0x0d77…0dab Line {l1=0x32, l2=»1310 ACTBOARD(ROW+ROW0,COL+COL0)=SAVBOARD(ROW,COL)«, l3=0x32}
0x0dab…0dba Line {l1=0x0d, l2=»1320 NEXT COL«, l3=0x0d}
0x0dba…0dc9 Line {l1=0x0d, l2=»1330 NEXT ROW«, l3=0x0d}
0x0dc9…0de9 Line {l1=0x1e, l2=»1340 EXEC CLEARBOARD(SAVBOARD)«, l3=0x1e}
0x0de9…0e07 Line {l1=0x1c, l2=»1350 ENDPROC ;READGENERATION«, l3=0x1c}
0x0e07…0e12 Line {l1=0x09, l2=»1360 REM «, l3=0x09}
0x0e12…0e29 Line {l1=0x15, l2=»1370 PROC CELLON(Y,X)«, l3=0x15}
0x0e29…0e34 Line {l1=0x09, l2=»1380 REM «, l3=0x09}
0x0e34…0e74 Line {l1=0x3e, l2=»1390 REM WRITE TWO STARS IN POSITION (X-1,Y) AS A LIVING CELL.«, l3=0x3e}
0x0e74…0e7f Line {l1=0x09, l2=»1400 REM «, l3=0x09}
0x0e7f…0e92 Line {l1=0x11, l2=»1410 CURSOR X-1,Y«, l3=0x11}
0x0e92…0ea6 Line {l1=0x12, l2=»1420 PRINT "<S>**"«, l3=0x12}
0x0ea6…0ebc Line {l1=0x14, l2=»1430 ENDPROC ;CELLON«, l3=0x14}
0x0ebc…0ec7 Line {l1=0x09, l2=»1440 REM «, l3=0x09}
0x0ec7…0edf Line {l1=0x16, l2=»1450 PROC CELLOFF(Y,X)«, l3=0x16}
0x0edf…0eea Line {l1=0x09, l2=»1460 REM «, l3=0x09}
0x0eea…0f28 Line {l1=0x3c, l2=»1470 REM WRITE TWO SPACES IN POSITION (X-1,Y) AS A DEAD CELL«, l3=0x3c}
0x0f28…0f33 Line {l1=0x09, l2=»1480 REM «, l3=0x09}
0x0f33…0f46 Line {l1=0x11, l2=»1490 CURSOR X-1,Y«, l3=0x11}
0x0f46…0f5a Line {l1=0x12, l2=»1500 PRINT "<S>  "«, l3=0x12}
0x0f5a…0f71 Line {l1=0x15, l2=»1510 ENDPROC ;CELLOFF«, l3=0x15}
0x0f71…0f7c Line {l1=0x09, l2=»1520 REM «, l3=0x09}
0x0f7c…0f96 Line {l1=0x18, l2=»1530 PROC NEXTGENERATION«, l3=0x18}
0x0f96…0fa8 Line {l1=0x10, l2=»1540 ROW=MAXROW1«, l3=0x10}
0x0fa8…0fba Line {l1=0x10, l2=»1550 COL=MAXCOL1«, l3=0x10}
0x0fba…0fd8 Line {l1=0x1c, l2=»1560 GENERATION=GENERATION+1«, l3=0x1c}
0x0fd8…0ff0 Line {l1=0x16, l2=»1570 FOR I=2 TO MAXROW«, l3=0x16}
0x0ff0…1008 Line {l1=0x16, l2=»1580 FOR J=2 TO MAXCOL«, l3=0x16}
0x1008…102a Line {l1=0x20, l2=»1590 SAVBOARD(I,J)=ACTBOARD(I,J)«, l3=0x20}
0x102a…1037 Line {l1=0x0b, l2=»1600 NEXT J«, l3=0x0b}
0x1037…1044 Line {l1=0x0b, l2=»1610 NEXT I«, l3=0x0b}
0x1044…1056 Line {l1=0x10, l2=»1620 CURSOR 33,1«, l3=0x10}
0x1056…107e Line {l1=0x26, l2=»1630 PRINT USING "<S> ####":GENERATION«, l3=0x26}
0x107e…1098 Line {l1=0x18, l2=»1640 FOR ROW=2 TO MAXROW«, l3=0x18}
0x1098…10b2 Line {l1=0x18, l2=»1650 FOR COL=2 TO MAXCOL«, l3=0x18}
0x10b2…10d3 Line {l1=0x1f, l2=»1660 CASE SAVBOARD(ROW,COL) OF «, l3=0x1f}
0x10d3…10e0 Line {l1=0x0b, l2=»1670 WHEN 3«, l3=0x0b}
0x10e0…10eb Line {l1=0x09, l2=»1680 REM «, l3=0x09}
0x10eb…1109 Line {l1=0x1c, l2=»1690 REM A NEW CELL IS BORN!«, l3=0x1c}
0x1109…1114 Line {l1=0x09, l2=»1700 REM «, l3=0x09}
0x1114…1139 Line {l1=0x23, l2=»1710 EXEC SETCELL(ACTBOARD,ROW,COL)«, l3=0x23}
0x1139…115a Line {l1=0x1f, l2=»1720 EXEC CELLON(ROW,(COL-1)*2)«, l3=0x1f}
0x115a…1179 Line {l1=0x1d, l2=»1730 WHEN 9,10,13,14,15,16,17«, l3=0x1d}
0x1179…1184 Line {l1=0x09, l2=»1740 REM «, l3=0x09}
0x1184…11b5 Line {l1=0x2f, l2=»1750 REM A CELL DIES. IF 9 OR 10 FOR LONELINESS«, l3=0x2f}
0x11b5…11ec Line {l1=0x35, l2=»1760 REM _            IF 13 TO 17 BECAUSE TOO CROWDED«, l3=0x35}
0x11ec…11f7 Line {l1=0x09, l2=»1770 REM «, l3=0x09}
0x11f7…121f Line {l1=0x26, l2=»1780 EXEC REMOVECELL(ACTBOARD,ROW,COL)«, l3=0x26}
0x121f…1241 Line {l1=0x20, l2=»1790 EXEC CELLOFF(ROW,(COL-1)*2)«, l3=0x20}
0x1241…1250 Line {l1=0x0d, l2=»1800 ENDCASE «, l3=0x0d}
0x1250…125f Line {l1=0x0d, l2=»1810 NEXT COL«, l3=0x0d}
0x125f…126e Line {l1=0x0d, l2=»1820 NEXT ROW«, l3=0x0d}
0x126e…128c Line {l1=0x1c, l2=»1830 ENDPROC ;NEXTGENERATION«, l3=0x1c}
0x128c…1297 Line {l1=0x09, l2=»1840 REM «, l3=0x09}
0x1297…12b2 Line {l1=0x19, l2=»1850 PROC PRINTGENERATION«, l3=0x19}
0x12b2…12cc Line {l1=0x18, l2=»1860 FOR ROW=2 TO MAXROW«, l3=0x18}
0x12cc…12e6 Line {l1=0x18, l2=»1870 FOR COL=2 TO MAXCOL«, l3=0x18}
0x12e6…1323 Line {l1=0x3b, l2=»1880 IF ACTBOARD(ROW,COL)>8 THEN EXEC CELLON(ROW,(COL-1)*2)«, l3=0x3b}
0x1323…1332 Line {l1=0x0d, l2=»1890 NEXT COL«, l3=0x0d}
0x1332…1341 Line {l1=0x0d, l2=»1900 NEXT ROW«, l3=0x0d}
0x1341…1360 Line {l1=0x1d, l2=»1910 ENDPROC ;PRINTGENERATION«, l3=0x1d}
0x1360…1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
            […0x2…]

Reduced view