BlackCoffin.gif

From Esolang
Jump to navigation Jump to search

BlackCoffin.gif is an esoteric programming language created in 2012, following Brainloller, where a BlackCoffin.gif program is a GIF file, the instructions are black-and-white pixels (any other pixels are ignored), and the first instruction is the pixel at position (0, 0).

Color Meaning
Increment the pointer
Decrement the pointer
Increment the memory value under the pointer
Decrement the memory value under the pointer
Input a Unicode character as the memory value under the pointer
Output the memory value under the pointer as a Unicode character
Input a binary number as the memory value under the pointer
Output the memory value under the pointer as binary
Input a decimal number as the memory value under the pointer
Output the memory value under the pointer as decimal
Input a hexadecimal value as the memory value under the pointer
Output the memory value under the pointer as hexadecimal
Jump past the matching pixel if the memory value under the pointer is zero
Jump back to the matching pixel if the memory value under the pointer is not zero
Jump past the matching pixel if the memory value under the pointer is not zero
Jump back to the matching pixel if the memory value under the pointer is zero
Reset the memory value under the pointer to zero no matter whether it is a positive value (such as 12, for which this command in regular brainloller would be ) or a negative value (such as -5, for which this command in regular brainloller would be )
Change the direction of reading the pixels to right/row-by-row (default)
Change the direction of reading the pixels to right/left zigzag
Change the direction of reading the pixels to right/terminate at end
Change the direction of reading the pixels to right/end to up/top to left/end to down/bottom to right/...
Change the direction of reading the pixels to left/row-by-row
Change the direction of reading the pixels to left/right zigzag
Change the direction of reading the pixels to left/terminate at end
Change the direction of reading the pixels to left/end to down/bottom to right/end to up/top to left/...
Change the direction of reading the pixels to up/column-by-column
Change the direction of reading the pixels to up/down zigzag
Change the direction of reading the pixels to up/terminate at top
Change the direction of reading the pixels to up/top to left/end to down/bottom to right/end to up/...
Change the direction of reading the pixels to down/column-by-column
Change the direction of reading the pixels to down/up zigzag
Change the direction of reading the pixels to down/terminate at bottom
Change the direction of reading the pixels to down/bottom to right/end to up/top to left/end to down/...
Copy the memory value under the pointer to the clipboard value
Paste the clipboard value as the memory value under the pointer
Change the console foreground color to the memory value under the pointer as 1-bit (0/1 only)
Set the memory value under the pointer to the console foreground color as 1-bit (0/1 only)
Change the console background color to the memory value under the pointer as 1-bit (0/1 only)
Set the memory value under the pointer to the console background color as 1-bit (0/1 only)
Change the console foreground color to the memory value under the pointer as 2-bit (0-3 only)
Set the memory value under the pointer to the console foreground color as 2-bit (0-3 only)
Change the console background color to the memory value under the pointer as 2-bit (0-3 only)
Set the memory value under the pointer to the console background color as 2-bit (0-3 only)
Change the console foreground color to the memory value under the pointer as 4-bit (0-15)
Set the memory value under the pointer to the console foreground color as 4-bit (0-15)
Change the console background color to the memory value under the pointer as 4-bit (0-15)
Set the memory value under the pointer to the console background color as 4-bit (0-15)
Change the console foreground color to the memory value under the pointer as 8-bit (0-255)
Set the memory value under the pointer to the console foreground color as 8-bit (0-255)
Change the console background color to the memory value under the pointer as 8-bit (0-255)
Set the memory value under the pointer to the console background color as 8-bit (0-255)
Change the console foreground color to the memory value under the pointer as 16-bit (0-65535)
Set the memory value under the pointer to the console foreground color as 16-bit (0-65535)
Change the console background color to the memory value under the pointer as 16-bit (0-65535)
Set the memory value under the pointer to the console background color as 16-bit (0-65535)
Change the console foreground color to the memory value under the pointer as 24-bit (RGB, 0-16777215)
Set the memory value under the pointer to the console foreground color as 24-bit (RGB, 0-16777215)
Change the console background color to the memory value under the pointer as 24-bit (RGB, 0-16777215)
Set the memory value under the pointer to the console background color as 24-bit (RGB, 0-16777215)
Change the console foreground color to the memory value under the pointer as 32-bit (CMYK, 0-4294967295)
Set the memory value under the pointer to the console foreground color as 32-bit (CMYK, 0-4294967295)
Change the console background color to the memory value under the pointer as 32-bit (CMYK, 0-4294967295)
Set the memory value under the pointer to the console background color as 32-bit (CMYK, 0-4294967295)
Reset the memory to all-0
Jump back to the pixel at position (0, 0) and reset the direction of reading the pixels to right/row-by-row
Exit with the error code as the memory value under the pointer (even before regular termination)