The idea is to add no-ops between them without changing the functionality. I started by creating a generator to get all 05AB1E character-pairs that differ by a single bit. Before the ^
, only \
and V
seemed reasonable candidates (\
discards the top of the stack; and V
pops the top of the stack and saves it in variable Y
). From there it was kinda trial-and-error to see what characters I could use. Because the ;
and ^
differ by 4 bits, at least that many no-op bytes in between are necessary. Although I have the feeling the byte-count can still be improved a bit perhaps, 9 no-op bytes to changetoggle 4 specific bits without changing the functionality of the core program isn't too bad I guess.
Removed "a bit" from a sentence in the explanation, since it could be confusing when we're talking about bits/bytes
Kevin Cruijssen
- 131.5k
- 13
- 144
- 384