This is a 85 frame improvement over the rejected movie by Fortranm
Improvement breakdown: Level 1: 22 frames Level 2: 11 frames Level 3: 22 frames Level 4: 18 frames
Note - as you can tell from the numbers, there is an 11 frame rule in this game.
This is actually potentially a very interesting version of this game, that brings up a lot of issues to sort out, but I will break down the issues and what I think the results are:
  • Wii VC
    • This version of the game was only released on the Wii Virtual Console, the Rom used here was extracted from the .wad file
    • The game is actually a completely legitimate NES game, identical to the NES release. And officially released by Nintendo, even though that release date is about 20 years after the lifespan of the console
    • Given that this is a real nintendo game, I think it makes more sense to TAS it as a NES rom, not a dolphin VC TAS which would result in a double layer of emulation (dolphin emulating the VC emulating a nintendo
  • Treat it as an official game or a hack?
    • The major difference is the introduction of an extra level (which was in the original arcade version)
    • The board type used for this game is MMC1 while the original was NROM
    • I think this is evidence that this version actually predates the original!
      • The game doesn't quite fit on the (cheaper) NROM that is limited to 32kb, so rather than use a more expensive board such as MMC1, a level was gutted. It makes more sense that the pre-gutted version was released 25 years later as opposed to someone going back and writing in assembly an extra level into the game
    • Given that this is an official release, and likely intended to be released originally, I think it makes sense to treat as such, and thus it would be vaultable
  • 50 or 60hz?
    • It was released on the VC as a PAL (50hz) game
    • However, the original NES rom is not region specific (the PAL release of Donkey Kong was just the NTSC version)
    • The PAL behavior in the Wii is the result of the VC, not the game, therefore I think it makes more sense for it to be the preferred NTSC speed
One final thing to sort out on this submission is the category.
This is the "full completion" type category for this game and is thus vaultable. It is arguably rather trivially different from the any% movie, but that shouldn't be a factor with vaultability. The items collected are clearly intended to be collected as part of a full completion (it is even mentioned in the instruction book as such).

adelikat: Replaced submission file with a 12 frames faster movie. I made a mistake in the original submission and forgot a ladder boost near the end of the movie.
GoddessMaria: Judging this one as well.
GoddessMaria: It appears that the responses for this game and goal choice are divided. Some are okay with it and others are not. Considering that a consensus was made in the IRC in regards to the game and goal's legitimacy, I have come to the decision of accepting it for the Vault. The optimization is solid and the goal is considered "100%" by the game's manual.
The Consensus:
The ROM has been confirmed to run as a proper NTSC game at 60 FPS by BizHawk. As for the region coding, the game is identical for both NTSC and PAL regions and as such works for both regions as evidenced by the Wii and 3DS releases of this game. The extra stage was excluded from the NES DK game due to size and time constraints, but looks as if it were probably planned to be included. As such, we can consider this game extract of the Virtual Console WAD to be the "true" version of the game. The goal is also considered valid, as the game's instruction manual refers to the collecting the accessories as an extra goal, mentioning it as "what a true hero would do", and fitting the basic criteria for 100% completion.
Guga: Processing...


Joined: 3/9/2009
Posts: 530
If we assume that console verification is possible (some time far off in the future), would this be verified on an NES or on a Wii? (edit, or 3ds. Whichever) It seems odd to me that the choice would be the platform it wasn't released for, under conditions (eg emulator differences) that nobody was able to legally/commercially play it. At that point, it's possible that even someone WITH super human frame perfect abilities wouldn't be able to get the same results on the original game as it was released.
Spikestuff
They/Them
Editor, Publisher, Expert player (2642)
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
It would be verified on 3DS
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
adelikat wrote:
IF you exploit Nintendo's VC bugs (which btw are not relevant here, this is an easy to emulate NES game that both emulators emulate flawlessly), then I see that as exploiting an emulator bug. Just because it is an official emulator doesn't mean it isn't an emulator bug. And those aren't (and shouldn't) be allowed here.
Ha, good point! Dolphin's internal (?) emulator that makes VC stuff going is NOT the accepted rerecording emulator, as of now, eat that Warepire! Anyway, TASing an emulator that runs the game is not the same thing as TASing a game directly, and we haven't had a discussion about what is actually correct of these 2. But I still think that... both? Finally, this is not a 100% true NES game probably, maybe we should label the platform for it differently, since it indeed was never sold as an NES title.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 11/15/2004
Posts: 804
Location: Canada
It's the same question as how you would treat an Ocarina of Time Master Quest TAS. Master Quest was only released for the GameCube, but it was an N64 ROM running in an emulator. The key words here are "N64 ROM". If it's an N64 ROM, it's an N64 game. NES ROM, NES game. Not complicated, is it?
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
hopper wrote:
It's the same question as how you would treat an Ocarina of Time Master Quest TAS. Master Quest was only released for the GameCube, but it was an N64 ROM running in an emulator. The key words here are "N64 ROM". If it's an N64 ROM, it's an N64 game. NES ROM, NES game. Not complicated, is it?
So....does that mean no deku stick on B and this glitch using VC? I hope this remains true rather than a policy change because of popular game/slower than RTA/whatever. :P
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15577
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. ---- [2802] NES Donkey Kong: Original Edition "all items" by adelikat in 01:33.83
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Kill screen in this game is the same of on the NES original. Same reason, slightly different memory addresses. Legend: you only have 4 seconds to beat level 132 (count starts from 0). It's not possible, you die.
Language: asm

; Set up level timer, called before every level ; level counter - how many loops you've completed (shown under L) ; level timer - remaining time (shown under BONUS) $CB8A: A4 54 LDY $54 ; load level counter into Y register $CB8C: C8 INY ; increment Y register ... $CB94: A9 80 LDA #$80 ; load 0x80 into A register $CB96: 88 DEY ; decrement Y register $CB97: C0 04 CPY #$04 ; perform Y - 4 $CB99: 10 03 BPL $CB9E ; if result is positive, skip to $CB9E $CB9B: B9 07 C2 LDA $C207,Y ; otherwise load value from memory into A register $CB9E: 85 2E STA $2E ; set from A register into level timer
If level counter is from 0 to 3, the game will read remaining time from memory. If level counter is from 4 to 127+4, the game will force remaining time 8000. If level counter is from 127+4+1 to 255, the game will read remaining time from memory it wasn't supposed to read it from. This is because NES CPU 6502 uses signed numbers when preforming comparison. So starting at level 123 the game reads level timer from memory again, and it offsets the source address farther from what it's supposed to base on - $C207. Here's the dump of that memory area, it is inside ROM:
 ------ ------------------------- ------------------------- 
|      | 00 01 02 03 04 05 06 07 | 08 09 0A 0B 0C 0D 0E 0F |
 ------ ------------------------- ------------------------- 
| C200 |                      50 | 60 70 80 90 0E D8 18 0E |
| C210 | C8 04 86 C8 04 A6 C0 00 | BE B8 00 D6 B0 04 4E B0 |
| C220 | 04 0E A0 04 DE A0 00 C6 | 98 00 AE 90 00 96 88 14 |
| C230 | C6 78 0C 0E 70 04 46 70 | 08 8E 68 04 AE 60 00 C6 |
| C240 | 58 00 DE 50 00 66 40 10 | 86 28 00 FE B0 78 60 40 |
| C250 | 28 FF 00 00 14 00 00 00 | 1C 00 00 00 24 00 00 00 |
| C260 | 2C 00 00 00 54 00 00 00 | 12 00 00 00 E4 00 18 A0 |
| C270 | 0C 20 70 10 50 70 14 60 | 70 14 98 68 08 C8 78 08 |
| C280 | E0 A0 00 E0 50 0C B0 40 | 08 90 28 04 FE 00 00 08 |
| C290 | 10 00 00 08 18 00 00 08 | 20 00 00 08 28 00 00 08 |
| C2A0 | 30 00 00 08 40 18 A0 00 | 20 70 00 50 70 00 60 70 |
| C2B0 | 00 98 68 00 C8 78 00 E0 | A0 00 E0 50 00 B0 40 00 |
| C2C0 | 90 28 00 FE 04 01 1B 0E | 00 01 12 01 30 38 40 48 |
| C2D0 | 50 58 00 00 09 15 18 00 | 4C 5F 03 5C 5F 03 C4 67 |
| C2E0 | 03 4C 9F 13 5C 9F 13 C4 | 87 13 DC 3F 03 DC 67 13 |
| C2F0 | 06 D8 00 06 B8 00 16 90 | 04 1E 68 08 26 40 0C FE |
| C300 | B8 90 68 40 28 FF 00    |                         |
 ------ ------------------------- ------------------------- 
Level counter 132 makes it read remaining time from $C28B which is 4. Greatest possible level counter value is 255, it makes it read from $C306, which is 0. You can see a few more 0 values in-between, so even if you cheat your speed or something, you just instantly die in some levels.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.