Turing Complete

Turing Complete

View Stats:
I can't complete the maze
I'm currently at the maze level and I am unable to complete it. Neither using the OVERTURE architecture or connecting the ram to the output work. When I connect the ram to the output, the input when facing a wall is always 1.
Do i have to make a new set of instructions? the mission log mentions that I can't jump to locations in ram beyond the 64th bit, but I don't know how that is relevant.
< >
Showing 1-9 of 9 comments
fedos Jan 8, 2024 @ 5:14pm 
The limitation preventing you from jumping to a point in RAM beyond the 64th byte is on how long your program can be. As long as your program doesn't require you to jump past the 64th byte, you're fine.

Have you looked at the hint? I was overthinking this level until I did that and it helped me focus on what to do. The basic strategy for solving a maze is to hug either the left or right wall; the hint gives pseudocode for the left wall strategy.

I wrote the pseudocode down on a notepad and deconstructed it into the assembly steps required to accomplish it.

The OVERTURE architecture is fully able of completing the task. What assembly codes do you currently have?
tonym1972 Jan 8, 2024 @ 11:16pm 
My first question is which maze (possible spoilers). Assuming the first maze, the hint for the level gives an okay solution: Move forwards, turn left, check if wall, turn right, use iitem, check if still wall, loop to top, or turn right depending.

The warning about jumps only being in the first 63 bytes of program space, refers to the manner in which a value can be signalled to be loaded into REG0, and how the value in REG0 is used as the jump address for a conditional.

If your write a solution based on the hint, I would be very surprised if you ran into the immediate mode limitation.
shinydelphoxpulse Jan 14, 2024 @ 7:00pm 
Originally posted by fedos:
The limitation preventing you from jumping to a point in RAM beyond the 64th byte is on how long your program can be. As long as your program doesn't require you to jump past the 64th byte, you're fine.

Have you looked at the hint? I was overthinking this level until I did that and it helped me focus on what to do. The basic strategy for solving a maze is to hug either the left or right wall; the hint gives pseudocode for the left wall strategy.

I wrote the pseudocode down on a notepad and deconstructed it into the assembly steps required to accomplish it.

The OVERTURE architecture is fully able of completing the task. What assembly codes do you currently have?

I have one for adding, one for moving the value from reg 0 to reg 1, one for moving the value from reg 0 to reg 2, and one that outputs the value from register 3. Do i need any more?
kenpeter Jan 14, 2024 @ 9:29pm 
I finally figured how to grab all the coins, but wasn't even a hidden achievement for doing so. What was the point of the coins?
Bashka_IF Jan 14, 2024 @ 11:48pm 
Originally posted by fedos:
The limitation preventing you from jumping to a point in RAM beyond the 64th byte is on how long your program can be. As long as your program doesn't require you to jump past the 64th byte, you're fine.

Have you looked at the hint? I was overthinking this level until I did that and it helped me focus on what to do. The basic strategy for solving a maze is to hug either the left or right wall; the hint gives pseudocode for the left wall strategy.

I wrote the pseudocode down on a notepad and deconstructed it into the assembly steps required to accomplish it.

The OVERTURE architecture is fully able of completing the task. What assembly codes do you currently have?

I put adder before counter and now can jump twice farther.
in program I need to align labels to even numbers and divide it ti 2 when jumping, ex:

(dont confuse line and address numbers, here in the example is is addresses)

...
3: SOMELABEL/2
4: JMP
...
label SOMELABEL # at address 82, if address is 83 - add nop before label for addr become 84
82: ADD # some op beyond addr 63

Last edited by Bashka_IF; Jan 14, 2024 @ 11:51pm
kenpeter Jan 15, 2024 @ 7:53am 
Only used 34 bytes, overture, not even trying to be compact. Maybe rethink your strategy.

If no reward for getting all coins (slowly), probably no reward for getting though fast using an oversized solution. No hidden reward for shooting invaders fast either. Hard to know when to put in the extra effort.

Could extend overture. Unused register 7 might reveal r0+64. Then r7_to_r0. Or upgrade conditional jump's undefined bits. Modify immediate to pull data from a separate program window. I didn't need any such extensions to get through slow and feely.
Last edited by kenpeter; Jan 15, 2024 @ 8:34am
Goblin Jan 17, 2024 @ 1:07pm 
Coins have a use later on, they're not useless. Optimizing for speed is just for personal satisfaction, look at the achievements list if you need external rewards instead.
shinydelphoxpulse Jan 18, 2024 @ 7:10pm 
Do i have to output the instructions for the robot while using the Overture Architecture?
trxhu Mar 14, 2024 @ 12:43pm 
Wall outputs 1, It is the key.
do a function that always minus the input for 1, check if it is 0. It should determinate what is your next step, either turn, walk, or a 180 turn around.
reg0,1,2,3 usually are busy, Since reg2 always is 1, so output reg1 as walk forwards, use r4 for turn (left or right, only needs one. you turn another side by triple-turn)and r5 for use action.
Remember knock knock for every walk.
If you knock a -1 three times every round it can check doors, you can tricky immediate reg0 as 4 for knocking then preserves r5 for on/off door check, so that after the first time reaching the door you ignore it and wander the maze once more time for all coins, entering next maze next time(remember set door check again).
< >
Showing 1-9 of 9 comments
Per page: 1530 50