Mazes, Patterns, and Textiles Notes

From Maze

Revision as of 15:31, 10 May 2010 by NoahVawter (Talk | contribs) (New page: Here's a 103 byte C64 demo (done in assembly, of course): http://www.pouet.net/prod.php?which=52548 And two that are 64 bytes each: http://www.pouet.net/prod.php?which=30887 http://w...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Here's a 103 byte C64 demo (done in assembly, of course):

http://www.pouet.net/prod.php?which=52548

And two that are 64 bytes each:

http://www.pouet.net/prod.php?which=30887 http://www.pouet.net/prod.php?which=30008

None of this is as elite as Ian's 46-character implementation of "10 PRINT CHR$(109+RND(1)*2);:GOTO 10" of course.



I moved the algorithm behind 10 PRINT CHR$(109+RND(1)*2); : GOTO 10 from its platform to explore the visual design space with more flexibility.

The quick result is posted here, with source (requires java in browser): http://reas.com/rnd/


10 print chr$(109+rnd(1)*2); : goto 10

little endian


init xor mask CF in mem loc 9 to 16 init seed to A1 (arbitrary) in mem loc 0 to 7

$ \ / / \ + } } } } } + } } + } } + } + } + } + } } } + } + \ / /

init mem loc 17 to 47 (ascii)

\ } +++++++++++++++++++++++++++++++++++++++++++++++ \ / /

int mem loc 18 to 92 (ascii)

\ } ++++++++++++++++++++++++++++++ \

/ ++++++++++++++++++++++++++++++ /
\ ++++++++++++++++++++++++++++++++ \

/ {{{{{{{{{{{{{{{{{{ /

8 bit maximmum cycle (hence the CF xor mask) LFSR pseudo random number generator (same one Ian used in assembly)

left shift 0 to 7 (little endian, so shift right) carry bit = mem loc 8 ! / \

                /  - {  \          /  - {  \          /  - {  \          /  - {  \

\} } } } } } } v }^ { !/ !\ !/ { v }^ { !/ !\ !/ { v }^ { !/ !\ !/ { v }^ { !/ !\ !/ \

                     {                  {                  {                  {
             \ }     ^ + { /    \ }     ^ + { /    \ }     ^ + { /    \ }     ^ + { /   
         /                                                                              /
                /  - {  \          /  - {  \          /  - {  \          /  - {  \
         \ { v }^ { !/ !\ !/  { v }^ { !/ !\ !/  { v }^ { !/ !\ !/  { v }^ { !/ !\ !/  v  !/  \
                     {                  {                  {                  {        \ - /
             \ }     ^ + { /    \ }     ^ + { /    \ }     ^ + { /    \ }     ^ + { /   

xor current rand with CF if carry = 0 / {{{{{{{{ v }}}}}}}} /

            \  {{{{{{{{                                                                                       \

xor bank: xor bits 0 to 7 with bits 9 to 16 modify 0 to 7

bits 0 9 bits 1 10

 /+                         \             /+ {                        \
 \{{{{{{{{{ \                             \{{{{{{{{{ \

\ v }}}}}}}}} ^ !/ {{{{{{{{{ !\ !/ } v }}}}}}}}} ^ !/ {{{{{{{{{{ !\ !/ \

 /-                            /           /- {                          /
 \{{{{{{{{{ \                              \{{{{{{{{{ \
\ }}}}}}}}} ^  /                         \  }}}}}}}}} ^ /

/ / bits 2 11 bits 3 12

    /+ {{                         \               /+ {{{                        \
    \{{{{{{{{{ \                                  \{{{{{{{{{ \

\ }} v }}}}}}}}} ^ !/ {{{{{{{{{{{ !\ !/ }}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{ !\ !/ \

     /- {{                           /             /- {{{                          /
     \{{{{{{{{{ \                                  \{{{{{{{{{ \
   \  }}}}}}}}} ^  /                             \  }}}}}}}}} ^ /

/ / bits 4 13 bits 5 14

      /+ {{{{                           \                 /+ {{{{{                        \
      \{{{{{{{{{ \                                        \{{{{{{{{{ \

\ }}}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{{ !\ !/ }}}}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{{{ !\ !/ \

       /- {{{{                             /               /- {{{{{                          /
       \{{{{{{{{{ \                                        \{{{{{{{{{ \
     \  }}}}}}}}} ^    /                                 \  }}}}}}}}} ^ /

/ / bits 6 15 bits 7 16

        /+ {{{{{{                           \                   /+ {{{{{{{                        \
        \{{{{{{{{{ \                                            \{{{{{{{{{ \                                  !

\ }}}}}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{{{{ !\ !/ }}}}}}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{{{{{ !\ !/ \

         /- {{{{{{                             /                 /- {{{{{{{                          /
         \{{{{{{{{{ \                                            \{{{{{{{{{ \
       \  }}}}}}}}} ^    /                                     \  }}}}}}}}} ^ /

End of 8 bit LFSR RNG

print ascii 47 if bit 8 is 0 else print ascii 92 / / \ }}}}}}}} v }}}}}}}}} . !/ {{{{{{{{{{{{{{{{{ /

         \ }}}}}}}}}} . { /10 print chr$(109+rnd(1)*2); : goto 10

$ \ / / \ + } } } } } + } } + } } + } + } + } + } } } + } + \ / / \ } +++++++++++++++++++++++++++++++++++++++++++++++ \ / / \ } ++++++++++++++++++++++++++++++ \

/ ++++++++++++++++++++++++++++++ /
\ ++++++++++++++++++++++++++++++++ \

/ {{{{{{{{{{{{{{{{{{ / ! / \

                /  - {  \          /  - {  \          /  - {  \          /  - {  \

\} } } } } } } v }^ { !/ !\ !/ { v }^ { !/ !\ !/ { v }^ { !/ !\ !/ { v }^ { !/ !\ !/ \

                     {                  {                  {                  {
             \ }     ^ + { /    \ }     ^ + { /    \ }     ^ + { /    \ }     ^ + { /   
         /                                                                              /
                /  - {  \          /  - {  \          /  - {  \          /  - {  \
         \ { v }^ { !/ !\ !/  { v }^ { !/ !\ !/  { v }^ { !/ !\ !/  { v }^ { !/ !\ !/  v  !/  \
                     {                  {                  {                  {        \ - /
             \ }     ^ + { /    \ }     ^ + { /    \ }     ^ + { /    \ }     ^ + { /   


/ {{{{{{{{ v }}}}}}}} /

            \  {{{{{{{{                                                                                       \
 /+                         \             /+ {                        \
 \{{{{{{{{{ \                             \{{{{{{{{{ \

\ v }}}}}}}}} ^ !/ {{{{{{{{{ !\ !/ } v }}}}}}}}} ^ !/ {{{{{{{{{{ !\ !/ \

 /-                            /           /- {                          /
 \{{{{{{{{{ \                              \{{{{{{{{{ \
\ }}}}}}}}} ^  /                         \  }}}}}}}}} ^ /

/ /

    /+ {{                         \               /+ {{{                        \
    \{{{{{{{{{ \                                  \{{{{{{{{{ \

\ }} v }}}}}}}}} ^ !/ {{{{{{{{{{{ !\ !/ }}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{ !\ !/ \

     /- {{                           /             /- {{{                          /
     \{{{{{{{{{ \                                  \{{{{{{{{{ \
   \  }}}}}}}}} ^  /                             \  }}}}}}}}} ^ /

/ /

      /+ {{{{                           \                 /+ {{{{{                        \
      \{{{{{{{{{ \                                        \{{{{{{{{{ \

\ }}}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{{ !\ !/ }}}}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{{{ !\ !/ \

       /- {{{{                             /               /- {{{{{                          /
       \{{{{{{{{{ \                                        \{{{{{{{{{ \
     \  }}}}}}}}} ^    /                                 \  }}}}}}}}} ^ /

/ /

        /+ {{{{{{                           \                   /+ {{{{{{{                        \
        \{{{{{{{{{ \                                            \{{{{{{{{{ \                                  !

\ }}}}}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{{{{ !\ !/ }}}}}}} v }}}}}}}}} ^ !/ {{{{{{{{{{{{{{{{ !\ !/ \

         /- {{{{{{                             /                 /- {{{{{{{                          /
         \{{{{{{{{{ \                                            \{{{{{{{{{ \
       \  }}}}}}}}} ^    /                                     \  }}}}}}}}} ^ /

/ / \ }}}}}}}} v }}}}}}}}} . !/ {{{{{{{{{{{{{{{{{ /

         \ }}}}}}}}}} . { /\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\//\\///////\\/\\\/\//\///\\\\\\/////\\\/\/\//\\/\/\\////\\///\\/\////\\\\///\\\//\\\\/\\\//\//\\//\\/\\/\\\\//\/\/\\\/\\\\\\\\/\\/\//\\\////\/\/\//////\/\\//\\\/\\//\/////\////\//\\\\\/\/\\\\/\///\/\//\/\\\///\///\//\//\/\///\\//\/\\/\/\/\/\\/\\///\/\\\\\/_______________________________________________


The output of 10 print is a path program, just one that only moves the program counter around, doing no other work.


Right, but as I noted earlier, it's a Path' program where Path' is a modified version of Path that prepends $ to a program automatically before processing it and uses PETSCII 109 and 110 instead of / and \.

Except not really, because the output of 10 print is NOT / and \ but PETSCII characters that look similar to those but which are different.


Ian, Path-prime is a nice term. A succinct recap: 10 print outputs executable Path-prime programs, whose operations are a kind of performance of the maze-like wandering that we see implicit in 10 print. This is one response to the argument that 10 print does not informatically specify a maze-like texture, with a demonstration being that replacing the PETSCII characters with Ps and Qs, causing our perception of it to suddenly change. Path retorts that it threads the labyrinth of Ps and Qs all the same.

What I love about Michael's Path version of 10 print is that it closes the loop -- it isn't a quine, or elegant in the way that a one-liner is elegant, but instead it uses a program with characters that are visual metaphors texture as visual

Personal tools