Comet 64 – Solution to Dopplegänger Under 70 and 60 Cycles

Cycle optimized solution for Disk 1 Puzzle 7: The Dopplegänger for leaderboard (50~69 cycles).

Dopplegänger Puzzle Solution

Solution for 60~69 Cycles

The idea is to use more lines of code to reduce the processing time.

Hints

  1. We need to store two input values in order to compare them. Solutions in other guides show how to pass a value between registers before storing the next input. That’s not the only way.
  2. There are more than one register.
  3. We still need some sort of loop, but a longer one that alternates between two registers.

Solution

loop:
reg = input;
check reg = int;
jump if true: print;
int = input;
check reg = int;
jump if false: loop;
print:
output = int;
jump to: loop;

Note that formatting may have inserted extra spaces. This should yield very close to 70 cycles. With a little bit of luck with different input data, or some other tricks (hint:the first input), you can get under 70 cycles more often.

Hint for 50~59 Cycles

You would still be trading smaller code size for faster execution speed, just taking that concept to the extreme, at least that’s what I have come up with for now.

  • I used many lines of code.
  • It can be considered a hack job.
  • It’s accurate only probabilistically, but at a very high rate that passes the game checks.
  • The more lines of code, the less likely it is to make a mistake.
Jan Bonkoski
About Jan Bonkoski 823 Articles
A lifelong gamer Jan Bakowski, also known as Lazy Dice, was always interested in gaming and writing. He lives in Poland (Wrocław). His passion for games began with The Legend of Zelda: Ocarina of Time on the Nintendo 64 back in 1998. Proud owner of Steam Deck, which has become his primary gaming platform. He’s been making guides since 2012. Sharing his gaming experience with other players has become not only his hobby but also his job.

Be the first to comment

Leave a Reply

Your email address will not be published.


*