Gimmick! is one of my favorite games. I've 1cc'ed it many times and gotten the "good ending". For those that have also done this, have you ever, under some circumstances, had the track "Strange Memories of Death", which is supposedly unused but is included in the sound test, play after "Good Night" which is what usually plays when you beat the game? After the credits, when it says, THE END, I swear that in the past, I've had "Strange Memories of Death" play and loop. However, the last few times I've finished the game, it's just silence over THE END. Anybody know what I'm talking about?

Could someone with more patience than me look in the PROG-ROM to see if that track's starting address is called from any point?

This isn't a matter of "patience", it's more or less impossible to prove that a given piece of software doesn't have a bug.

If you can demonstrate that a bug exists that plays the song, that's the opposite problem. You can make the bug happen, go and debug, trace out where the wrong music starts playing and get to the bottom of it. That's completely doable, rather routine debugging work for a skilled programmer.

On the other hand, if you can't reproduce the bug and aren't really sure the bug exists, your question is now "look at the code and tell me if it has this bug or not". It is not generally possible to prove things like this, the best you can do is understand the code very well, and test it very well, and hope you've considered anything that might cause a problem.

Anyhow, I'm not saying this is necessarily a false memory of yours. A bug that plays another track after the end of the credits could theoretically exists, can I can't really prove a negative.

My first comment was merely that I have beaten the game a number of times and never experienced what you described. If you can reproduce the bug, then it's something that could be looked into. If not, then really there's nothing to go on.

Could someone with more patience than me look in the PROG-ROM to see if that track's starting address is called from any point?

This isn't a matter of "patience", it's more or less impossible to prove that a given piece of software doesn't have a bug.

If you can demonstrate that a bug exists that plays the song, that's the opposite problem. You can make the bug happen, go and debug, trace out where the wrong music starts playing and get to the bottom of it. That's completely doable, rather routine debugging work for a skilled programmer.

On the other hand, if you can't reproduce the bug and aren't really sure the bug exists, your question is now "look at the code and tell me if it has this bug or not". It is not generally possible to prove things like this, the best you can do is understand the code very well, and test it very well, and hope you've considered anything that might cause a problem.

Anyhow, I'm not saying this is necessarily a false memory of yours. A bug that plays another track after the end of the credits could theoretically exists, can I can't really prove a negative.

My first comment was merely that I have beaten the game a number of times and never experienced what you described. If you can reproduce the bug, then it's something that could be looked into. If not, then really there's nothing to go on.

I guess I was hoping that someone here had already decompiled the Gimmick program ROM and could look at it a little easier than I could. Maybe that's pretty far out, I don't know. I do know that there are people here with much more knowledge on NES programming than I.

It could certainly be a false memory. Not ruling that out. It also could've been a bug, something unlikely to be repeatable. Who knows? But I'm going to look into it when I have more time. There must be a tool out there than would allow me to visually trace through the code to see if under some odd set of circumstances, that extra track plays at the end. I wouldn't put it past the Sunsoft devs to do something like that. There's other examples in the NES library of odd things happening like this, like when your score digits match the remaining time, or your number of lives or something. If I find anything, I'll post.

Do you still have the same game cartridge you played before?Maybe the way you killed the last boss could have triggered a bug or even an easter egg?It also may be something else that you have done during the game.

The only way I can think of trace this is to try o repeat the bug, preferably with the same cartridge and console combination you had before, if possible, trying to record the results.Unfortunatelly, looks like time is a big constrain right now

Apart from bugs (or rare secret conditions such as jumping on a certain spot 100+ times that give easter eggs), another possibility is that there are different revisions to a game, in which a person might have played a revision on cart in the past that contained some extra touch, but the dumped illeROMs or re-released versions (such as VC) aren't of that particular revision, making a difference.

Several times, hackers have deemed a track unused only to find such "secret conditions". One example is a track from The Karate Kid in the ending of Erika and Satoru's Dream Adventure, where the player must wait an hour and a half on the final screen and then press a combination of keys on both controllers to activate a music track previously believed to be unused. Another is presence of data for "K.K. Song" in many games by Nintendo. Playback conditions have not been found for some; those for others resemble said "secret conditions".

I guess I was hoping that someone here had already decompiled the Gimmick program ROM and could look at it a little easier than I could. Maybe that's pretty far out, I don't know. I do know that there are people here with much more knowledge on NES programming than I.

It can't simply be "decompiled". Converting the machine code to text is very easy, but then you have to do an intense amount of analysis to find out what that code actually means. It's like if someone gave you a book that was originally written in English but every single word has been substituted with a completely different word. It would eventually be readable but it's going to take a lot of time, and some very good understanding of the language.

Anyhow, that part can be done given enough time and the right skills. There's well made annotated disassemblies of Super Mario Bros. 1 and 3, for example. This isn't enough by itself though.

If it's a bug, that means that the original programmer who wrote it, who already had the original source code, was familiar with it and worked on it every day for a long time, had looked closely at it and still missed something. If a bug "might" exist, no part of the code is off limits, a bug anywhere has the potential to affect the entire system. Gimmick probably has at least a hundred thousand lines of code, and any one of them could be a culprit.

That's if the bug even exists! If it doesn't exist, there's really no practical way to prove it; "I've never seen it, and haven't been able to make it happen" is as good as it gets here.

Quote:

There must be a tool out there than would allow me to visually trace through the code to see if under some odd set of circumstances, that extra track plays at the end. I wouldn't put it past the Sunsoft devs to do something like that.

If it was done deliberately, there's probably a slightly better chance of finding it. You still have the problem that it could be literally anywhere in the code, but at least it should be something you can identify once you see it, and not obscured. Again, the problem is that if you can't find it you still have no way to prove it isn't in there. There's no end to such a search, you just have to give up when you become exhausted by it.

From the perspective of an intentional way to play this hidden track, they did in fact leave a very well known and intentional way to be able to be able to listen to it (i.e. the sound test). You're talking about it playing very rarely after the end of the credits, though. Does that really seem intentional to you? (I admit, it is very hard to speculate about intent. Not too long ago koitsu demonstrated that an exploit in Bomber King / Robowarrior was intentional, which I was wrongly certain must have been a bug.)

There's also a known copy-protection measure in Gimmick! that involves a block of code in the ROM that has been encrypted (to hide it from reverse engineers) being decoded to RAM and run there.https://tcrf.net/Notes:Gimmick!

These things were findable though, because we could make them happen. If you can cause the BLACK HOLE copy protection screen, you can trace it and debug it and find out what caused it. No problem. Even their deliberate attempt to hide it via encryption was not much of a problem for people to figure out.

My point is, searching for something that is known to exist, and especially for something that you can reliably cause to happen is something you can reasonably expect to be able to do. Searching for something you think might have happened once but aren't sure... you're really not likely to find anything, and there's no condition where you can say "I'm sure I've looked everywhere and I know it doesn't exist".

There's also the possibility that something like this could be caused by a rare and unreproducable hardware error. NES/Famicom hardware is hardly the most reliable stuff in the world. People regularly have "glitches" happen that have nothing to do with software errors, and they will never be able to cause again. Vibrations, power fluctiations, environmental interference, dirty cartridge pins, etc. are all real things that can occasional throw an NES out of whack and cause strange things to occur. Making something happen more than once can go a long way to ruling this out.

Anyhow, FWIW, I'd actually love to produce a complete annotated disassembly/analysis of Gimmick! (or any other NES game) for a professional rate. I would never guarantee being able to find your bug as described, though. I guess that's really what I'm saying: you couldn't pay me to do what you asked. ;P (Not unless it can be demonstrated that it exists.)

This reminds me of some glitch I used to see in Ninja Gaiden, where instead of the normal pause behavior (a tone and the music stops), the music keeps playing the entire time it's paused. I was never able to figure out how to reliably reproduce it.

Who is online

Users browsing this forum: Google [Bot] and 6 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum