ROTHELL
Jump to navigation
Jump to search
ROTHELL
ROTHELL is an esoteric programming language designed to surpass Malbolge in difficulty. It employs a cryptographic instruction encoding scheme based on rotational character differences ROTx with case-sensitive transformations, creating an intentionally hostile programming environment.
Language Overview
ROTHELL's core mechanic involves:
- Instruction Extraction: Deriving operations from ROTx differences between consecutive characters
- Case-Sensitive Mutation: Applying bitwise transformations based on character casing
- Context-Dependent Execution: Meaning changes based on absolute character positions
It also have a memory with 4-bit cells. (commonly 30K values)
Instruction Decoding Pipeline
The compiler processes source code through this rigorous pipeline:
- Start at 2nd character (1st is seed value)
- For each character pair (prev, current):
- Calculate ROTx distance (mod 256)
- Apply case transformation (see table)
- Push mutated opcode to instruction stream
Case Transformation Matrix
First Character Case | First Character Case | New Instruction ID |
---|---|---|
UPPERCASE | UPPERCASE | ID (No Change) |
UPPERCASE | lowercase | (ID x 2) mod 25 |
lowercase | UPPERCASE | (ID XOR ((ID x 7) mod 255)) mod 25 |
lowercase | lowercase | (ID NOR (ID XOR 404)) mod 25 |
Instruction Set
ID of instruction mod 9 | Operation | The D variable change |
---|---|---|
0 | No-operation | Increment by 1 |
1 | Jump to address of D if PC is prime number | Increment by 1 |
2 | Indexed input of a single character from input and set ASCII value to current and next quadnary memory cells NOR 123 | Increment by 1 |
3 | Moves to D-th cell of memory (old value) | Reset (D = 0) |
4 | Current selected memory cell = 125 NXOR (((PC x D) x itself) mod 255) | Increment by 1 |
5 | Current selected memory cell = (125 AND ((Itself x D) mod 255)) XOR (Itself mod D) | Increment by 1 |
6 | Haltes the program. When the interpreter reaches end of code, it starts over from starting. | No change |
7 | Makes the compiler go angry. All memory cells & output will corrupted. It jumps to a random location of code. | Get corrupted (Random byte) |
8 | Current selected memory cell = (((Ceil(Arcsinh(D x itself))) mod Itself) mod 255) NOR PC x D x 1234 | XOR-ed by PC |
9 | Prints a character to output with ASCII of Current memory cell x Next memory cell value XOR-ed with PC | XOR-ed by PC |
Example Programs
Probably like Malbolge, the first programs come after years from creation of this esolang! If you have a standard example program, never forgot to edit page & add it!