13 Added animation tag | link edited Sep 9 '17 at 6:01 DLosc 19.5k33 gold badges3939 silver badges9292 bronze badges 12 replaced http://codegolf.stackexchange.com/ with https://codegolf.stackexchange.com/ edited Apr 13 '17 at 12:38 The opcode is a hexadecimal digit which specifies the Universal Binary Function CodeUniversal Binary Function Code which is used as a rasterop. The argument is 0 or 1. The raster operation performed is The opcode is a hexadecimal digit which specifies the Universal Binary Function Code which is used as a rasterop. The argument is 0 or 1. The raster operation performed is The opcode is a hexadecimal digit which specifies the Universal Binary Function Code which is used as a rasterop. The argument is 0 or 1. The raster operation performed is 11 remove boolean and nesting-level fields. edited May 26 '14 at 5:46 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges BNSSSSYYxxXXOA B: boolean connector: blank, A (and), O (or) N: boolean nesting levelSSSSYYxxXXOA SSSS: 4 digit sequence no. may be padded by blanks or all blank YY: the y coordinate affected by this line (descending, top is 0, bottom is m-1) xx: the starting x coordinate XX: the ending x coordinate O: hexadecimal opcode A: argument (0 or 1)  The Boolean connector line allows chaining of multiple statements as a logical unit. Chained statements must all have the same sequence number. The "result" of each line, for the purpose of expression-chaining is true if any pixels were altered by the line. Boolean connectors are governed by the Nesting Level field. Within the same nesting level, OR has higher precedence than AND. So, the chain of statements 0000 0 1 100 A 0000 0 2 200 O 0000 0 3 300 A10000 0 4 400  will set the pixels 0,1 to 0,4 according to the parenthesized expression(0,1) && ((0,2) || ((0,3) && (0,4)) )  since the statements set the pixel to zero unconditionally, the pixel is changed only if it is one initially. 0000 0 010F1  00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561  100 016F0 101 016F0 102 016F0 103 016F0 104 016F0 105 016F0 106 016F0 107 016F0 108 016F0 109 016F0 110 016F0 111 016F0 112 016F0 113 016F0 114 016F0 115 016F0 200020261 2 0 6 661 2 1 3 561 2 2 3 461 2 3 3 661 2 4 4 461 2 5 0 361 2 5 5 861 2 6 3 361 2 6 5 561 2 8 3 561 2 9 3 361 2 9 5 561 210 3 361 210 5 561 00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561 300020261 3 0 6 661 3 1 3 561 3 2 3 461 3 3 3 661 3 4 4 461 3 5 0 361 3 5 5 861 3 6 3 361 3 6 5 561 3 8 3 561 3 9 3 361 3 9 5 561 310 3 361 310 5 561 00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561  BNSSSSYYxxXXOA B: boolean connector: blank, A (and), O (or) N: boolean nesting level SSSS: 4 digit sequence no. may be padded by blanks or all blank YY: the y coordinate affected by this line (descending, top is 0, bottom is m-1) xx: the starting x coordinate XX: the ending x coordinate O: hexadecimal opcode A: argument (0 or 1)  The Boolean connector line allows chaining of multiple statements as a logical unit. Chained statements must all have the same sequence number. The "result" of each line, for the purpose of expression-chaining is true if any pixels were altered by the line. Boolean connectors are governed by the Nesting Level field. Within the same nesting level, OR has higher precedence than AND. So, the chain of statements 0000 0 1 100 A 0000 0 2 200 O 0000 0 3 300 A10000 0 4 400  will set the pixels 0,1 to 0,4 according to the parenthesized expression(0,1) && ((0,2) || ((0,3) && (0,4)) )  since the statements set the pixel to zero unconditionally, the pixel is changed only if it is one initially. 0000 0 010F1  00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561  100 016F0 101 016F0 102 016F0 103 016F0 104 016F0 105 016F0 106 016F0 107 016F0 108 016F0 109 016F0 110 016F0 111 016F0 112 016F0 113 016F0 114 016F0 115 016F0 200020261 2 0 6 661 2 1 3 561 2 2 3 461 2 3 3 661 2 4 4 461 2 5 0 361 2 5 5 861 2 6 3 361 2 6 5 561 2 8 3 561 2 9 3 361 2 9 5 561 210 3 361 210 5 561 00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561 300020261 3 0 6 661 3 1 3 561 3 2 3 461 3 3 3 661 3 4 4 461 3 5 0 361 3 5 5 861 3 6 3 361 3 6 5 561 3 8 3 561 3 9 3 361 3 9 5 561 310 3 361 310 5 561 00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561  SSSSYYxxXXOA SSSS: 4 digit sequence no. may be padded by blanks or all blank YY: the y coordinate affected by this line (descending, top is 0, bottom is m-1) xx: the starting x coordinate XX: the ending x coordinate O: hexadecimal opcode A: argument (0 or 1) 0000 0 010F1  00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561  100 016F0 101 016F0 102 016F0 103 016F0 104 016F0 105 016F0 106 016F0 107 016F0 108 016F0 109 016F0 110 016F0 111 016F0 112 016F0 113 016F0 114 016F0 115 016F0 200020261 2 0 6 661 2 1 3 561 2 2 3 461 2 3 3 661 2 4 4 461 2 5 0 361 2 5 5 861 2 6 3 361 2 6 5 561 2 8 3 561 2 9 3 361 2 9 5 561 210 3 361 210 5 561 00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561 300020261 3 0 6 661 3 1 3 561 3 2 3 461 3 3 3 661 3 4 4 461 3 5 0 361 3 5 5 861 3 6 3 361 3 6 5 561 3 8 3 561 3 9 3 361 3 9 5 561 310 3 361 310 5 561 00020261 0 6 661 1 3 561 2 3 461 3 3 661 4 4 461 5 0 361 5 5 861 6 3 361 6 5 561 8 3 561 9 3 361 9 5 561 10 3 361 10 5 561  10 add example using sequence field edited May 20 '14 at 6:33 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges 9 image of simple example edited May 20 '14 at 5:33 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges 8 remove banners edited May 17 '14 at 4:38 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges 7 add blank nesting level to example edited May 16 '14 at 17:22 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges 6 updated boolean connectors, blank sequence numbers, range of x coords edited May 16 '14 at 17:14 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges Tweeted twitter.com/#!/StackCodeGolf/status/467287731274780672 occurred May 16 '14 at 12:57 5 example encoded figure edited May 16 '14 at 5:45 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges 4 specify y direction edited May 16 '14 at 4:41 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges 3 added 89 characters in body edited May 16 '14 at 4:32 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges 2 deleted 10 characters in body edited May 16 '14 at 4:20 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges 1 asked May 16 '14 at 4:14 luser droog 4,04022 gold badges2828 silver badges5757 bronze badges