It's pretty simple to prove that there isn't any fixed number of sides you can sum to represent the full range of ASCII values. At the very least, numbers from 0 to 8 absolutely cannot be represented by anything more than a single face because only nine 0 values exist on the cube, and similarly numbers 82 and up absolutely cannot be represented by a single face because no values greater than 9 exist.
Perhaps instead of accepting a full range of ASCII values it could instead be limited to decimal values from 0 to 72, with the input format being algorithms to set the sum of side 0 to the input value, copying to the notepad simply with :0. Alternatively, values 1 to 73 with algorithms to store the values into side 1.
Maybe that would be more of a version 0.2 thing than the final form of input, but I think even an incomplete feature could be beneficial
@MDXF Why not make a command that compares the argument (face or notepad) to the current input character's ASCII value, and commands for moving forwards (and backwards maybe) through the input?
For example, you could do I6 to compare the notepad to the current character, and it returns 1 or 0 depending on if it matched
@MDXF That's a good point, I guess my math was even further off than I thought. I guess the range would be 0 to 40 then.
Or we can look for more complex algorithms using some amount of multiplication and division.
Or, the final possibility is to try and come up with an algorithm that solves an arbitrary cube while doing some operations on the notepad, and then try to find cubes that end up with the right result at the end of it.
@MDXF Do you happen to have an algorithm for solving a cube already? It might be worth going in and just seeing what comes out for various starting configurations if you just throw a +1 somewhere in the middle.
@MDXF I'm not sure, but your = operator already does that so I assumed you had a way in mind. Personally I think a > operator that jumps back to the associated ( if the notepad > 0 would be nice to have for control flow, but I'm not really sure.
Oh, I misread the spec... I thought that ] allowed "jump to the preceding ( unless the cube is solved" when it actually is "jump to the preceding ( ONLY if the cube is solved". There are some pretty simple algorithms that would perform a potentially useful large cycle if it could continue through each iteration, but a loop which only happens if the cube is solved at the end of each iteration seems to me like it can only either be an infinite loop or execute exactly once or exactly twice.