We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
BlackCoffin.gif
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) | |