Braincopter

From Esolang
Jump to navigation Jump to search

Braincopter is an esoteric programming language that is an almost identical clone of Brainloller designed by Lode Vandevenne in 2005. The commands and the specification are exactly the same as those of Brainloller. The Brainloller interpreter can be converted into a Braincopter interpreter by changing only a few lines of code. Like in Brainloller, the Braincopter source code has to be a PNG image.

While in Brainloller, every command has a fixed color value and all other 16 million colors are a NOP, in Braincopter, the command is obtained by using the formula (65536 * R + 256 * G + B) % 11 (equivalently, (- 2 * R + 3 * G + B) % 11). This means that you can use almost any color to represent the command you want, so it's easy to convert a photo into Braincopter code by, for every pixel, taking the closest color value that gives the right command. The difference between the original photo and the modified photo containing Braincopter code is nearly impossible to spot; thus Braincopter has excellent steganography support and may be used to encode information in images.

Basically, Braincopter is Brainloller, but modified to encode its source code in images.

The translation of the 11 commands into Brainfuck/Brainloller follows.

Command Function
0 >
1 <
2 +
3 -
4 .
5 ,
6 [
7 ]
8 rotate IP to the right
9 rotate IP to the left
10 nop

Just like Brainloller, the program halts when the instruction pointer leaves the bounds of the image.

Since the original interpreter source has been lost, User:Peping has made a new interpreter and a converter from brainfuck to braincopter. This one has since disappeared as well; however, upon being asked, Lode Vandevenne quite courteously re-uploaded the original files.

See also

External resources