• Game of Life!

    From David B.@BD@hotmail.co.uk to alt.computer.workshop,uk.comp.sys.mac on Thu Nov 20 12:22:55 2025
    From Newsgroup: uk.comp.sys.mac

    ConwayrCOs Game of Life

    https://playgameoflife.com

    Explanation

    The Game of Life is not your typical computer game. It is a cellular
    automaton, and was invented by Cambridge mathematician John Conway.

    This game became widely known when it was mentioned in an article
    published by Scientific American in 1970. It consists of a grid of cells
    which, based on a few mathematical rules, can live, die or multiply.
    Depending on the initial conditions, the cells form various patterns
    throughout the course of the game.
    --
    Will you try?!!!




    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Brock McNuggets@brock.mcnuggets@gmail.com to alt.computer.workshop,uk.comp.sys.mac on Thu Nov 20 14:30:04 2025
    From Newsgroup: uk.comp.sys.mac

    On Nov 20, 2025 at 5:22:55rC>AM MST, ""David B."" wrote <mo8fgvFsrcqU1@mid.individual.net>:

    ConwayrCOs Game of Life

    https://playgameoflife.com

    Explanation

    The Game of Life is not your typical computer game. It is a cellular automaton, and was invented by Cambridge mathematician John Conway.

    This game became widely known when it was mentioned in an article
    published by Scientific American in 1970. It consists of a grid of cells which, based on a few mathematical rules, can live, die or multiply. Depending on the initial conditions, the cells form various patterns throughout the course of the game.

    One of my coding projects was to make a version of that.
    --
    It's impossible for someone who is at war with themselves to be at peace with you.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Tyrone@none@none.none to alt.computer.workshop,uk.comp.sys.mac on Thu Nov 20 17:10:11 2025
    From Newsgroup: uk.comp.sys.mac

    On Nov 20, 2025 at 9:30:04rC>AM EST, "Brock McNuggets" <brock.mcnuggets@gmail.com> wrote:

    On Nov 20, 2025 at 5:22:55rC>AM MST, ""David B."" wrote <mo8fgvFsrcqU1@mid.individual.net>:

    ConwayrCOs Game of Life

    https://playgameoflife.com

    Explanation

    The Game of Life is not your typical computer game. It is a cellular
    automaton, and was invented by Cambridge mathematician John Conway.

    This game became widely known when it was mentioned in an article
    published by Scientific American in 1970. It consists of a grid of cells
    which, based on a few mathematical rules, can live, die or multiply.
    Depending on the initial conditions, the cells form various patterns
    throughout the course of the game.

    One of my coding projects was to make a version of that.

    I did. 47 years ago on a TRS-80.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Brock McNuggets@brock.mcnuggets@gmail.com to alt.computer.workshop,uk.comp.sys.mac on Thu Nov 20 19:21:32 2025
    From Newsgroup: uk.comp.sys.mac

    On Nov 20, 2025 at 10:10:11rC>AM MST, "Tyrone" wrote <d6edndwMiYru1oL0nZ2dnZfqnPadnZ2d@supernews.com>:

    On Nov 20, 2025 at 9:30:04rC>AM EST, "Brock McNuggets" <brock.mcnuggets@gmail.com> wrote:

    On Nov 20, 2025 at 5:22:55rC>AM MST, ""David B."" wrote
    <mo8fgvFsrcqU1@mid.individual.net>:

    ConwayrCOs Game of Life

    https://playgameoflife.com

    Explanation

    The Game of Life is not your typical computer game. It is a cellular
    automaton, and was invented by Cambridge mathematician John Conway.

    This game became widely known when it was mentioned in an article
    published by Scientific American in 1970. It consists of a grid of cells >>> which, based on a few mathematical rules, can live, die or multiply.
    Depending on the initial conditions, the cells form various patterns
    throughout the course of the game.

    One of my coding projects was to make a version of that.

    I did. 47 years ago on a TRS-80.

    Mine was in Apple BASIC in high school. I think it was for my final -- a self selected (inflected) project. The logic was not hard -- the graphics on Apple BASIC is fiddly. Too long ago to remember all the issues.
    --
    It's impossible for someone who is at war with themselves to be at peace with you.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Gremlin@nobody@haph.org to alt.computer.workshop,uk.comp.sys.mac on Thu Nov 20 22:58:42 2025
    From Newsgroup: uk.comp.sys.mac

    "David B." <BD@hotmail.co.uk> news:mo8fgvFsrcqU1@mid.individual.net Thu,
    20 Nov 2025 12:22:55 GMT in alt.computer.workshop, wrote:

    ConwayrCOs Game of Life

    https://playgameoflife.com

    Explanation

    The Game of Life is not your typical computer game. It is a cellular automaton, and was invented by Cambridge mathematician John Conway.

    This game became widely known when it was mentioned in an article
    published by Scientific American in 1970. It consists of a grid of cells which, based on a few mathematical rules, can live, die or multiply. Depending on the initial conditions, the cells form various patterns throughout the course of the game.

    Heh. This brings back memories.

    ASIC included it - source code is below:

    dim a(1600)
    dim b(1600)
    rem LIFE -- An ASIC Demonstration Program
    rem Copyright 1990 by David A. Visti

    REM LIFE was developed by John Conway in Scientific American. It utilizes
    REM asimple alogrithm to generate interesting patterns on the screen.
    REM The playing field is 20x80 characters in size. Each character
    REM position can be empty, or it can contain a single "cell" of life.
    REM The rules of LIFE are simple. Any "cell" which has less then 2
    REM neighboring "cells" dies of isolation. Any "cell" which has more than
    REM 3 neighboring "cells" dies of
    REM overcrowding. Any "cell" with 2 or 3 neighbors will continue to live.
    REM Finally, any empty character position which has exactly 3 neighbors
    REM which contain "cells" will give birth to a new "cell".
    REM The following are notes specific to this implementation of LIFE:

    REM 1. Any valid ASCII character value 1-255 can be used to represent the
    REM life cells. The default value is 177 ("#"). Just change the
    REM line containing "symbol=nnn" to the value you prefer.
    REM 2. The colors on the screen (for color graphics equipped systems) are
    REM set in the "initgame" routine. The first "color n,n" statement
    REM sets the color in the "Cell" area of the screen to yellow
    REM foreground on a blue background. The second "color n,n" statement
    REM sets the color in the "Text" area of the screen to yellow
    REM foreground on a green background.
    REM 3. Two arrays are used to hold "cell" information. Array "B" is used
    REM to calculate births/deaths. Array "A" is used to temporarily hold
    REM a new generation of cells, and it is used to copy the cells
    REM directly to the video memory.
    REM 4. It is assumed that the edges of the playing area are unsuitable for
    REM life cells, so no cells will thrive in the outside row/col of the
    REM playing area

    REM program begins here
    gosub initgame:
    gosub music:
    gosub updatedisplaymatrix:
    gosub updatescreen:
    loop:
    gosub computenewgen:
    time=time+1
    gosub updatecalcmatrix:
    gosub updatescreen:
    x$=inkey$
    if x$="" then loop:
    cls
    end

    updatescreen: rem this code updates the screen after each gen is
    calculated
    rem it utilizes direct video RAM writes for maximum speed
    for i=0 to 3199
    varaddr=varptr(a(0))
    varaddr=varaddr+2
    varaddr=varaddr+i
    pokeval=peek(varaddr)
    rem point to video memory segment
    defseg=vidmemseg
    poke i,pokeval
    rem reset data segment register to default
    defseg=-1
    i=i+1
    next i
    locate 24,12
    print time;
    return

    updatedisplaymatrix: rem copy calculation matrix to display matrix
    for i=0 to 19
    for j = 1 to 80
    k=i*80
    k=k+j
    a(k)=b(k)
    next j
    next i
    return

    initgame: rem initialize game

    randomize
    symbol=177
    crowddeath=symbol*3
    lonelydeath=symbol*2
    newbirth=symbol*3
    time=0
    cls
    rem initially set video memory segment to monochrome adapter
    vidmemseg=-20480
    vidtype=zmode
    rem check for color graphics adapter
    if vidtype=0 then leavedefaultcolors:
    rem we have a CGA or other color graphics card
    vidmemseg=-18432
    color 14,1
    rem set first 20 lines attribute bytes to BLUE
    for i=1 to 42
    print " ";
    next i
    rem set remaining 5 lines to GREEN
    locate 21,0
    color 14,2
    for i=1 to 8
    print " ";
    next i
    leavedefaultcolors:
    locate 20,25
    print " < L I F E >";
    locate 21,10
    print " A Demonstration Program written in ASIC";
    locate 22,15
    print " <Copyright 1990 by David A. Visti>";
    locate 23,15
    print " <All Rights Reserved>";
    locate 24,1
    print "Generation";
    locate 24,56
    print "<Press any key to EXIT>";
    for i=0 to 19
    for j=1 to 80
    k=i*80
    k=k+j
    k1=rnd(0)
    if k1>28000 then makefullcell:
    makeempytcell:
    b(k)=0
    goto continit:
    makefullcell:
    b(k)=symbol
    continit:
    next j
    next i
    return

    computenewgen:
    for i=0 to 19
    for j=1 to 80
    k=i*80
    k=k+j
    if i=0 then clearcell:
    if i=19 then clearcell:
    if j=1 then clearcell:
    if j=80 then clearcell:
    n=0
    k2=k-81
    n=n+b(k2)
    k2=k-80
    n=n+b(k2)
    k2=k-79
    n=n+b(k2)
    k2=k-1
    n=n+b(k2)
    k2=k+1
    n=n+b(k2)
    k2=k+79
    n=n+b(k2)
    k2=k+80
    n=n+b(k2)
    k2=k+81
    n=n+b(k2)
    if n> crowddeath then clearcell:
    if n<lonelydeath then clearcell:
    if n<newbirth then survivecell:
    a(k)=symbol
    goto nextcell:
    survivecell: a(k)=b(k)
    goto nextcell:
    clearcell: a(k)=0
    nextcell:
    next j
    next i
    return

    updatecalcmatrix:
    for i=0 to 19
    for j = 1 to 80
    k=i*80
    k=k+j
    b(k)=a(k)
    next j
    next i
    return

    music: rem play a short little tune

    tune$="<<<<GD<GD<<<<<GD<500"


    rem laser sound
    k=150
    n=0
    for m=1 to 5
    for i=n to k
    sound i,1
    next i
    j=k
    for i=n to k
    sound j,1
    j=j-1
    next i
    next m

    rem siren
    k=450
    for i=n to k
    sound i,1
    next i
    j=k
    for i=n to k
    sound j,1
    j=j-1
    next i
    for i=1 to 10000
    next i

    rem fanfare
    base=10
    n=len(tune$)
    for i=1 to n
    note$=mid$(tune$,i,1)
    note=asc(note$)
    note=note*base
    i=i+1
    length$=mid$(tune$,i,1)
    length=asc(length$)
    length=length*base
    sound note,length
    gosub d1:
    next i
    return

    d1:for killtime=1 to 750
    next killtime
    return


    ***

    It's not really a game you play though. You just watch it do it's thing...
    --
    Liar, lawyer; mirror show me, what's the difference?
    Kangaroo done hung
    the guilty with the innocent
    Liar, lawyer; mirror for ya', what's the
    difference?
    Kangaroo be stoned. He's guilty as the government

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Brock McNuggets@brock.mcnuggets@gmail.com to alt.computer.workshop,uk.comp.sys.mac on Thu Nov 20 23:16:45 2025
    From Newsgroup: uk.comp.sys.mac

    On Nov 20, 2025 at 3:58:42rC>PM MST, "Gremlin" wrote <XnsB39DB6E316ED1HT1@cF04o3ON7k2lx05.lLC.9r5>:

    "David B." <BD@hotmail.co.uk> news:mo8fgvFsrcqU1@mid.individual.net Thu,
    20 Nov 2025 12:22:55 GMT in alt.computer.workshop, wrote:

    Conway+A-C-Os Game of Life

    https://playgameoflife.com

    Explanation

    The Game of Life is not your typical computer game. It is a cellular
    automaton, and was invented by Cambridge mathematician John Conway.

    This game became widely known when it was mentioned in an article
    published by Scientific American in 1970. It consists of a grid of cells
    which, based on a few mathematical rules, can live, die or multiply.
    Depending on the initial conditions, the cells form various patterns
    throughout the course of the game.

    Heh. This brings back memories.

    ASIC included it - source code is below:

    dim a(1600)
    dim b(1600)
    rem LIFE -- An ASIC Demonstration Program
    rem Copyright 1990 by David A. Visti

    REM LIFE was developed by John Conway in Scientific American. It utilizes REM asimple alogrithm to generate interesting patterns on the screen.
    REM The playing field is 20x80 characters in size. Each character
    REM position can be empty, or it can contain a single "cell" of life.
    REM The rules of LIFE are simple. Any "cell" which has less then 2
    REM neighboring "cells" dies of isolation. Any "cell" which has more than REM 3 neighboring "cells" dies of
    REM overcrowding. Any "cell" with 2 or 3 neighbors will continue to live. REM Finally, any empty character position which has exactly 3 neighbors
    REM which contain "cells" will give birth to a new "cell".
    REM The following are notes specific to this implementation of LIFE:

    REM 1. Any valid ASCII character value 1-255 can be used to represent the
    REM life cells. The default value is 177 ("-#"). Just change the
    REM line containing "symbol=nnn" to the value you prefer.
    REM 2. The colors on the screen (for color graphics equipped systems) are
    REM set in the "initgame" routine. The first "color n,n" statement
    REM sets the color in the "Cell" area of the screen to yellow
    REM foreground on a blue background. The second "color n,n" statement
    REM sets the color in the "Text" area of the screen to yellow
    REM foreground on a green background.
    REM 3. Two arrays are used to hold "cell" information. Array "B" is used
    REM to calculate births/deaths. Array "A" is used to temporarily hold
    REM a new generation of cells, and it is used to copy the cells
    REM directly to the video memory.
    REM 4. It is assumed that the edges of the playing area are unsuitable for REM life cells, so no cells will thrive in the outside row/col of the
    REM playing area

    REM program begins here
    gosub initgame:
    gosub music:
    gosub updatedisplaymatrix:
    gosub updatescreen:
    loop:
    gosub computenewgen:
    time=time+1
    gosub updatecalcmatrix:
    gosub updatescreen:
    x$=inkey$
    if x$="" then loop:
    cls
    end

    updatescreen: rem this code updates the screen after each gen is
    calculated
    rem it utilizes direct video RAM writes for maximum speed
    for i=0 to 3199
    varaddr=varptr(a(0))
    varaddr=varaddr+2
    varaddr=varaddr+i
    pokeval=peek(varaddr)
    rem point to video memory segment
    defseg=vidmemseg
    poke i,pokeval
    rem reset data segment register to default
    defseg=-1
    i=i+1
    next i
    locate 24,12
    print time;
    return

    updatedisplaymatrix: rem copy calculation matrix to display matrix
    for i=0 to 19
    for j = 1 to 80
    k=i*80
    k=k+j
    a(k)=b(k)
    next j
    next i
    return

    initgame: rem initialize game

    randomize
    symbol=177
    crowddeath=symbol*3
    lonelydeath=symbol*2
    newbirth=symbol*3
    time=0
    cls
    rem initially set video memory segment to monochrome adapter
    vidmemseg=-20480
    vidtype=zmode
    rem check for color graphics adapter
    if vidtype=0 then leavedefaultcolors:
    rem we have a CGA or other color graphics card
    vidmemseg=-18432
    color 14,1
    rem set first 20 lines attribute bytes to BLUE
    for i=1 to 42
    print " ";
    next i
    rem set remaining 5 lines to GREEN
    locate 21,0
    color 14,2
    for i=1 to 8
    print " ";
    next i
    leavedefaultcolors:
    locate 20,25
    print " <L I F E >";
    locate 21,10
    print " A Demonstration Program written in ASIC";
    locate 22,15
    print " <Copyright 1990 by David A. Visti>";
    locate 23,15
    print " <All Rights Reserved>";
    locate 24,1
    print "Generation";
    locate 24,56
    print "<Press any key to EXIT>";
    for i=0 to 19
    for j=1 to 80
    k=i*80
    k=k+j
    k1=rnd(0)
    if k1>28000 then makefullcell:
    makeempytcell:
    b(k)=0
    goto continit:
    makefullcell:
    b(k)=symbol
    continit:
    next j
    next i
    return

    computenewgen:
    for i=0 to 19
    for j=1 to 80
    k=i*80
    k=k+j
    if i=0 then clearcell:
    if i=19 then clearcell:
    if j=1 then clearcell:
    if j=80 then clearcell:
    n=0
    k2=k-81
    n=n+b(k2)
    k2=k-80
    n=n+b(k2)
    k2=k-79
    n=n+b(k2)
    k2=k-1
    n=n+b(k2)
    k2=k+1
    n=n+b(k2)
    k2=k+79
    n=n+b(k2)
    k2=k+80
    n=n+b(k2)
    k2=k+81
    n=n+b(k2)
    if n> crowddeath then clearcell:
    if n<lonelydeath then clearcell:> if n<newbirth then survivecell:> a(k)=symbol
    goto nextcell:
    survivecell: a(k)=b(k)
    goto nextcell:
    clearcell: a(k)=0
    nextcell:
    next j
    next i
    return

    updatecalcmatrix:
    for i=0 to 19
    for j = 1 to 80
    k=i*80
    k=k+j
    b(k)=a(k)
    next j
    next i
    return

    music: rem play a short little tune

    tune$="<<<<GD<GD<<<<<GD<500"> rem laser sound
    k=150
    n=0
    for m=1 to 5
    for i=n to k
    sound i,1
    next i
    j=k
    for i=n to k
    sound j,1
    j=j-1
    next i
    next m

    rem siren
    k=450
    for i=n to k
    sound i,1
    next i
    j=k
    for i=n to k
    sound j,1
    j=j-1
    next i
    for i=1 to 10000
    next i

    rem fanfare
    base=10
    n=len(tune$)
    for i=1 to n
    note$=mid$(tune$,i,1)
    note=asc(note$)
    note=note*base
    i=i+1
    length$=mid$(tune$,i,1)
    length=asc(length$)
    length=length*base
    sound note,length
    gosub d1:
    next i
    return

    d1:for killtime=1 to 750
    next killtime
    return


    ***

    It's not really a game you play though. You just watch it do it's thing...

    I looked for my old code but cannot find it. Oh well.
    --
    It's impossible for someone who is at war with themselves to be at peace with you.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From David B.@BD@hotmail.co.uk to alt.computer.workshop,uk.comp.sys.mac on Thu Nov 20 23:22:03 2025
    From Newsgroup: uk.comp.sys.mac

    On 20/11/2025 22:58, Gremlin wrote:
    dim a(1600)
    dim b(1600)
    rem LIFE -- An ASIC Demonstration Program
    rem Copyright 1990 by David A. Visti<snip for brevity>
    (snipped for brevity>

    Claude (AI) said .....


    That's awesome! Dustin Cook sharing this Conway's Game of Life code with
    you is pretty cool. It's a nice piece of programming history - the
    direct video memory manipulation and the way it handles both monochrome
    and color graphics adapters really shows the era it came from.
    ASIC BASIC was an interesting compiler back in the day. This
    implementation is quite efficient for its time, especially with those
    direct POKE operations to video RAM. The 20|u80 grid maps perfectly to
    the text mode displays that were standard on PCs in 1990.
    Did Dustin explain any of the quirks of getting it running, or were you looking at it more from a historical/educational perspective? The video
    memory segment addressing (-20480 and -18432) and the direct hardware
    access are things you just don't see in modern programming
    anymore!RetryClaude can make mistakes. Please double-check responses.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From David B.@BD@hotmail.co.uk to alt.computer.workshop,uk.comp.sys.mac on Thu Nov 20 23:32:40 2025
    From Newsgroup: uk.comp.sys.mac

    On 20/11/2025 23:16, Brock McNuggets wrote:
    I looked for my old code but cannot find it. Oh well.

    Did you use "Spotlight"?

    FYI, EasyFind is an excellent free search facility. You will find it here:-

    https://www.devontechnologies.com/download/apps
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Brock McNuggets@brock.mcnuggets@gmail.com to alt.computer.workshop,uk.comp.sys.mac on Fri Nov 21 00:53:24 2025
    From Newsgroup: uk.comp.sys.mac

    On Nov 20, 2025 at 4:32:40rC>PM MST, ""David B."" wrote <mo9mooF4netU1@mid.individual.net>:

    On 20/11/2025 23:16, Brock McNuggets wrote:
    I looked for my old code but cannot find it. Oh well.

    Did you use "Spotlight"?

    I did.

    FYI, EasyFind is an excellent free search facility. You will find it here:-

    https://www.devontechnologies.com/download/apps

    Have it but did not use it. Pretty sure my files from the late 1980s are gone. :(
    --
    It's impossible for someone who is at war with themselves to be at peace with you.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From pothead@pothead@snakebite.com to alt.computer.workshop,uk.comp.sys.mac on Fri Nov 21 02:20:14 2025
    From Newsgroup: uk.comp.sys.mac

    On 2025-11-20, David B. <BD@hotmail.co.uk> wrote:
    On 20/11/2025 23:16, Brock McNuggets wrote:
    I looked for my old code but cannot find it. Oh well.

    Did you use "Spotlight"?

    FYI, EasyFind is an excellent free search facility. You will find it here:-

    https://www.devontechnologies.com/download/apps

    That's because snit's code doesn't exist.
    --
    pothead
    Give a Democrat a fish and he'll eat all day.
    Teach a Democrat to fish and......
    He'll steal your rod
    Take your wallet
    Assault the fish &
    Blame Trump.

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Brock McNuggets@brock.mcnuggets@gmail.com to alt.computer.workshop,uk.comp.sys.mac on Fri Nov 21 02:37:29 2025
    From Newsgroup: uk.comp.sys.mac

    On Nov 20, 2025 at 7:20:14rC>PM MST, "pothead" wrote <10foi8u$3bluj$2@pothead.dont-email.me>:

    On 2025-11-20, David B. <BD@hotmail.co.uk> wrote:
    On 20/11/2025 23:16, Brock McNuggets wrote:
    I looked for my old code but cannot find it. Oh well.

    Did you use "Spotlight"?

    FYI, EasyFind is an excellent free search facility. You will find it here:- >>
    https://www.devontechnologies.com/download/apps

    That's because snit's code doesn't exist.

    Does not seem to any more.

    But what does exist is my bot code... which Carroll and Gremlin insisted would never work. But we know it would quite well, because it did. And they said it was a collaboration, which it was not (other than some very minor
    contributions from others).

    https://chatgpt.com/share/691e78eb-2344-8012-899c-16ca6c78c094
    -----
    This wasnrCOt a simple bot. It was a social simulation + anti-troll tool built for the chaotic Adium/AIM chat era. It attempts both:
    ...
    It probably worked surprisingly well for:
    * High-volume chat rooms
    * Generating quick, plausible, playful replies
    * Avoiding getting stuck in loops
    * Managing flood conditions
    * Appearing rCLaliverCY thanks to timing, typos, thread fragments, and truncated
    messages
    * Discouraging trolls (bump/block logic)
    -----

    Gee, just as I have said. Oh, and:

    -----
    Number of authors
    All signs point to one author:
    -----

    Proving, again, that Carroll and Gremlin have been talking out their asses for years. :)


    Oh, and my favorite... while it notes it might be outed quickly (5 minutes or so) at times... for other times it says:

    -----
    If the room had high turnover, some users would interact for an hour or more without realizing it was a bot, especially if they were trying to flirt.
    -----

    Exactly what I saw and described.

    ChatGPT is smarter than you trolls. :)
    --
    It's impossible for someone who is at war with themselves to be at peace with you.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Old John@watcombeman@yahoo.co.uk to alt.computer.workshop,uk.comp.sys.mac on Mon Nov 24 11:21:22 2025
    From Newsgroup: uk.comp.sys.mac

    On 20 Nov 2025 at 14:30:04 GMT, "Brock McNuggets" <brock.mcnuggets@gmail.com> wrote:

    On Nov 20, 2025 at 5:22:55rC>AM MST, ""David B."" wrote <mo8fgvFsrcqU1@mid.individual.net>:

    ConwayrCOs Game of Life

    https://playgameoflife.com

    Explanation

    The Game of Life is not your typical computer game. It is a cellular
    automaton, and was invented by Cambridge mathematician John Conway.

    This game became widely known when it was mentioned in an article
    published by Scientific American in 1970. It consists of a grid of cells
    which, based on a few mathematical rules, can live, die or multiply.
    Depending on the initial conditions, the cells form various patterns
    throughout the course of the game.

    One of my coding projects was to make a version of that.

    Back in the days when I had the to0ls I wrote an app for the Mac in Pascal to play The Game of Life. This would have been in the days of OS7.

    I was always troubled by edge effects, so I joined the right edge to the left and the top edge to the bottom. This meant that the playing field was
    toroidal. Interesting. I once built a glider gun for which the gliders went
    off one side of the screen, only to reappear at the other and crash into the gun. This resulted in all sorts of blinkers and other stuff, into which of course other gliders still in flight crashed in their turn.
    --
    Classic computing: Computers do what you tell them to do,
    not what you want them to do.
    Modern computing: Computers do what they want to do,
    no matter what you tell them to do.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Brock McNuggets@brock.mcnuggets@gmail.com to alt.computer.workshop,uk.comp.sys.mac on Mon Nov 24 15:35:08 2025
    From Newsgroup: uk.comp.sys.mac

    On Nov 24, 2025 at 4:21:22rC>AM MST, "Old John" wrote <10g1f3i$2bpl7$1@dont-email.me>:

    On 20 Nov 2025 at 14:30:04 GMT, "Brock McNuggets" <brock.mcnuggets@gmail.com> wrote:

    On Nov 20, 2025 at 5:22:55rC>AM MST, ""David B."" wrote
    <mo8fgvFsrcqU1@mid.individual.net>:

    ConwayrCOs Game of Life

    https://playgameoflife.com

    Explanation

    The Game of Life is not your typical computer game. It is a cellular
    automaton, and was invented by Cambridge mathematician John Conway.

    This game became widely known when it was mentioned in an article
    published by Scientific American in 1970. It consists of a grid of cells >>> which, based on a few mathematical rules, can live, die or multiply.
    Depending on the initial conditions, the cells form various patterns
    throughout the course of the game.

    One of my coding projects was to make a version of that.

    Back in the days when I had the to0ls I wrote an app for the Mac in Pascal to play The Game of Life. This would have been in the days of OS7.

    Mine was on the Apple IIe.

    I was always troubled by edge effects, so I joined the right edge to the left and the top edge to the bottom. This meant that the playing field was toroidal.

    I know I experimented with that, but think I settled on having going off the edge being death.
    That meant Gliders and the like died.

    Interesting. I once built a glider gun for which the gliders went
    off one side of the screen, only to reappear at the other and crash into the gun. This resulted in all sorts of blinkers and other stuff, into which of course other gliders still in flight crashed in their turn.

    I know we discussed that in class -- not sure if I got mine to do that or just saw others. Been a LONG time.
    --
    It's impossible for someone who is at war with themselves to be at peace with you.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Gremlin@nobody@haph.org to alt.computer.workshop,uk.comp.sys.mac on Sun Jan 4 00:48:57 2026
    From Newsgroup: uk.comp.sys.mac

    "David B." <BD@hotmail.co.uk> news:mo9m4rF4korU1@mid.individual.net Thu, 20 Nov 2025 23:22:03 GMT in alt.computer.workshop, wrote:

    On 20/11/2025 22:58, Gremlin wrote:
    dim a(1600)
    dim b(1600)
    rem LIFE -- An ASIC Demonstration Program
    rem Copyright 1990 by David A. Visti<snip for brevity>
    (snipped for brevity>

    Claude (AI) said .....


    That's awesome! Dustin Cook sharing this Conway's Game of Life code with
    you is pretty cool. It's a nice piece of programming history - the
    direct video memory manipulation and the way it handles both monochrome
    and color graphics adapters really shows the era it came from.

    Claude isn't too bright, David. It's obvious that the source code I shared wasn't authored by me. It's been included with ASIC since atleast v3. I
    meant to respond to this much sooner, but, I've been busy.

    ASIC BASIC was an interesting compiler back in the day. This
    implementation is quite efficient for its time, especially with those
    direct POKE operations to video RAM. The 20|u80 grid maps perfectly to
    the text mode displays that were standard on PCs in 1990.

    Claude evidently has very limited knowledge of the ASIC language. It was
    more than just a compiler.

    Did Dustin explain any of the quirks of getting it running, or were you looking at it more from a historical/educational perspective? The video memory segment addressing (-20480 and -18432) and the direct hardware
    access are things you just don't see in modern programming anymore!RetryClaude can make mistakes. Please double-check responses.

    ROFL - Shouldn't such questions be directed to David Visti? You know, the person who wrote the source code that I shared. Being as we both know you don't even know what you're looking at when it comes to source code of any kind, why would Claude even bother asking you what perspective you're
    looking at it from? LOL! You're a trip, bud.
    --
    Liar, lawyer; mirror show me, what's the difference?
    Kangaroo done hung the guilty with the innocent
    Liar, lawyer; mirror for ya', what's the difference?
    Kangaroo be stoned. He's guilty as the government

    --- Synchronet 3.21a-Linux NewsLink 1.2