(Link to video)
due to the recent submission of Donkey Kong Jr on A7800, I figured I would look to see if any other version of this game could be TASed. the one I could probably do easily is the Coleco vision one. I could not find the Adams computer version which apparently contains an extra level, and I'm not sure if bizhawk emulates it. so for now I did the original version.
Now for whatever reason, this version of the game has out of order levels. on a first playthrough, you play levels 1 and 4 from the NES versions, but once you beat level 4, you then play level 1, 2, then 4. It's unclear why this is the case, so I just decided to play two loops just to play the 2nd level.
I was able to determine that jumping is faster than normal walking, and I was also able to determine that RNG can be manipulated by pressing the jump button while climbing on vines. Some RNG behavior however I was unable to change, I don't mind if someone else wants to look into it.

CasualPokePlayer: Claiming for judging.
CasualPokePlayer: Replaced file with improved file, and trimmed input to the last unique level.
CasualPokePlayer: Execution seems sound, nothing obviously improvable.
Now this game is an has an interesting question on where its end is. The game's "loop" doesn't follow the NES versions as the submission text notes. Originally this submission did "two loops," however these "loops" were not actually using proper loop point. The actual loop the game goes through is level 1 -> 2 -> 1 -> 3 -> 2 -> 1 -> 3 -> 2. This order can be found at offset 0x4FB of the ROM (and changing the data there will cause the loop to change).
It gets even more interesting! After a loop completion, the difficulty will increase by 1. This difficulty is capped to 5. Note the game gives the option of 1 to 4 for the starting difficulty here. This submission picks 4, so it would only need to complete the loop once before the hardest difficulty is unlocked (and obviously, it would need to complete the loop again for "completing" the game with the hardest difficulty).
Of course, as one can see, there's only 3 unique levels within this loop, all of which are completed after the 4th round (with the first level getting a repeat). Per our rules, an endless game such as this may end once all unique content is completed, which this submission satifies. Also per our rules, a future submission may be able obsolete this by simply completing the loop twice, as to reach a point where the game's difficulty cap is hit.
With that said, accepting.

despoa: Processing...

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14772
Location: 127.0.0.1
This topic is for the purpose of discussing #7562: EZGames69's Coleco Donkey Kong Jr. in 01:37.02
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
On the second level, you seem to wait for the enemy to pass before trying to put the final key in its lock. At a glance this makes sense, although raises some questions of RNG manip / overall planning. However, those questions are a bit moot here, as I tried to rush the key in the hole instead of waiting for the enemey, and that seems to work? This itself saves nearly a second, so I'm not sure why this wait is done? Is this some sort of RNG manipulation (saving enough time to justify the initial nearly 1 second timeloss)? Or was this just a mistake? The former seems a bit unlikely here, as the TAS seems to remain "synced" until the final level anyway?
EZGames69
He/They
Expert player, Publisher, Reviewer (3941)
Joined: 5/29/2017
Posts: 2701
Location: Michigan
What does the time save look like?
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
EZGames69 wrote:
What does the time save look like?
As I stated, nearly 1 second (it's 57 frames). Although how much would be lost/gained due to different rng in the last level I can't tell without tasing that myself.
Expert player, Reviewer (2388)
Joined: 5/21/2013
Posts: 414
I talked with EZGames a bit about this but I'll also put it here: The order of the levels is just bizarre in this game. In the longplay, the level order goes 1 - 2 - 1 - 3 - 2 - 1 - 3 - 2 - 1 - 2 - 1, which has no pattern at all. I'm not sure what would be considered a "loop".
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
Looking at the code, seems that it uses a 8 round loop, going 1 -> 2 -> 1 -> 3 -> 2 -> 1 -> 3 -> 2. The lookup table used for this loop can be found in the ROM file at offset 0x4FB (and changing it will subsequently change level order).
Fortranm
He/Him
Editor, Experienced player (772)
Joined: 10/19/2013
Posts: 1108
The situation is similar in Donkey Kong on Coleco and [3886] Coleco Donkey Kong by Fortranm in 00:44.19 just completes each unique level once. I think it might make more sense for this movie to just end after 1 -> 2 -> 1 -> 3 since completing the level with cage and keys doesn't seem to give much of a cutscene in this version.
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
Doing some more research into this game, there seems to be some extra code ran in case a loop occurs, here's the subroutine responsible for that
Language: asm

8503: DD 7E 06 LD A, (IX+06h) AF:0054 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485784 cnP-H-Zse 8506: DD BE 02 CP (IX+02h) AF:0154 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485803 cnP-H-Zse 8509: C8 RET Z AF:019B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485822 CNp3H-zSe 850A: 3A 8E 72 LD A, (728Eh) AF:019B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485827 CNp3H-zSe 850D: FE 02 CP 02h AF:019B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485840 CNp3H-zSe 850F: 28 26 JR Z, +26h AF:0193 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485847 CNp-H-zSe 8511: DD 7E 02 LD A, (IX+02h) AF:0193 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485854 CNp-H-zSe 8514: DD 77 06 LD (IX+06h), A AF:0993 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485873 CNp-H-zSe 8517: 3D DEC A AF:0993 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485892 CNp-H-zSe 8518: 28 1D JR Z, +1Dh AF:080B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485896 CNp3h-zse 851A: 3A 84 72 LD A, (7284h) AF:080B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485903 CNp3h-zse 851D: 06 03 LD B, 03h AF:040B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485916 CNp3h-zse 851F: FE 01 CP 01h AF:040B BC:0300 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485923 CNp3h-zse 8521: 28 08 JR Z, +08h AF:0402 BC:0300 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485930 cNp-h-zse 8523: 06 04 LD B, 04h AF:0402 BC:0300 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485937 cNp-h-zse 8525: FE 04 CP 04h AF:0402 BC:0400 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485944 cNp-h-zse 8527: 38 02 JR C, +02h AF:0442 BC:0400 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485951 cNp-h-Zse 8529: 06 05 LD B, 05h AF:0442 BC:0400 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485958 cNp-h-Zse 852B: DD 7E 03 LD A, (IX+03h) AF:0442 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485965 cNp-h-Zse 852E: B8 CP B AF:0442 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485984 cNp-h-Zse 852F: 30 06 JR NC, +06h AF:0493 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485988 CNp-H-zSe 8531: DD 34 03 INC (IX+03h) AF:0493 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485995 CNp-H-zSe 8534: DD 34 04 INC (IX+04h) AF:0401 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124486018 Cnp-h-zse 8537: AF XOR A AF:0401 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124486041 Cnp-h-zse 8538: C9 RET AF:0044 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124486045 cnP-h-Zse
Most of this is fluff, the main prize is at the end where some counters are maybe incremented. 0x7293 contains the difficulty counter (this can be seen easily as you are given the choice of starting at 1 to 4 for difficulty before the game begins). Another prize is the final check for aborting doing these increments: the difficulty increase is aborted if the difficulty counter is >= 5, thereby capping the difficulty to 5. I suppose this means that a single "loop" in terms of game logic is 8 rounds. Assuming the TAS starts on difficulty 4, it would need to do a second loop for the "hardest" difficulty, after which the game will forever loop with the same difficulty. I suppose given this, there are three options a TAS could go for: 1. Do all unique levels (so 4 rounds). 2. Do 1 full loop (so 8 rounds). 3. Play until difficulty stops increasing (so 16 rounds). 1 is enough for publication here, 3 would obsolete, not sure about 2 (this is an odd case not clearly defined by the rules). This current submission doesn't fit these however as it opts to do a "second loop" and doing a 5th round as a result (in reality, this is a partial loop of course). So it could be trimmed to the 4th round, or opt to do the 2nd/3rd options here.
EZGames69
He/They
Expert player, Publisher, Reviewer (3941)
Joined: 5/29/2017
Posts: 2701
Location: Michigan
I think for this submission I would be more willing to do the 1st option since that’s the closest option my submission was going for. And since the improvements that were mentioned above desync in the final level that would be trimmed off, that would make things easier for us. I will be fixing the movie file when I have the chance but I’m currently on the road, so it might be a few days, unless I find time today to use my computer.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
EZGames69
He/They
Expert player, Publisher, Reviewer (3941)
Joined: 5/29/2017
Posts: 2701
Location: Michigan
I have improved the movie by doing the time save pointed out by CasualPokePlayer, and even though it's likely the final level will be removed, I did manage to get more favorable rng out of this new attempt. https://tasvideos.org/UserFiles/Info/637930932401236014
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14772
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4788] Coleco Donkey Kong Jr. by EZGames69 in 01:37.02