Skip to content

obstruse/life

Repository files navigation

life2.mp4

Life

Conway's Game of Life, for the Raspberry Pi Pico, with Composite Video output using an R2R resistor DAC. Resolution of the 'universe' is 512x384; the speed is approximately 30 generations/second. Wiki for Multum in Parvo

A modified version of pico-composite8.

8-Bit R2R Resistor DAC

Uses the same DAC as pico-composite8, but only the top four bits are required

The input impedance of the Composite Monitor is 75Ω; the output impedance of the R2R ladder is R. In order to get 1V across a 75Ω load with a 3.3V source, R needs to be 2.3 * 75 = 172.5Ω. Closest 'standard' values are 180Ω/360Ω.
Unfortunately using those values doesn't work for 8-bits. The values are low enough that the internal resistance on the Pico GPIO pins becomes important, and causes visible errors on the 7- and 8-bit. Measuring the voltage drop on the pins gives a calculated series resistance of about 40Ω, so you will need to reduce the 2R value by that much to compensate. I used two 160Ω resistors in series:

Wiring

The R2R DAC will draw about 19mA total from the Pico when all the bits are '1', with a maximum of 6.5mA on any single pin. Here's the simulation: R2R DAC Simulation

Seed Patterns

Seed patterns can be downloaded from LifeWiki. Save the plaintext pattern file to disk and run scripts/mkLife.pl name.cells. Include the resulting name.h file in cvideo.c (line 159) and rebuild the executable.

the BUG

On some program starts, the Vertical Interlace is 'out of phase' with the monitor - the interlace lines offset in the wrong directions. Plugging/un-plugging the video cable several times clears it up. Don't know why it does that.

Any ideas, let me know...

About

Conway's Game of Life for the Raspberry Pi Pico, with Composite Video output using an R2R resistor DAC.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published