I've been working on this for just a few days now and I already have found some weird stuff just searching for a method to skip stages. Apparently, this task is a challenge, which is why I took it on in the first place.
I have played almost every version of Double Dragon from the 1980's and 1990's and there was never a stage select code left behind in games by the programmers. Never was a Game Genie code that allowed stage select....Not for NES, Super NES, Sega Master System, or Sega Genesis. Infact, I have never witnessed the existence of stage select in any console port of Double Dragon. I think that Double Dragon is coded in such a way that all of the first 3 Missions seem to all be one big level. Just an observation. I think it would be easier to find a stage select code in the console versions than the arcade version.
Is it just me, or is the architecture of this game not allowing level select to each mission? I can skip to the final Stage (aka mission 4) easily, no delay..easy as pie. I can't seem to come up with a code that will allow me to begin the game at stage 2 or 3. I have been trying to figure out how the main CPU handles the data for transitioning to the next stage also. This is what i have below so far.
I seem to have the correct address and variables for mission 2 and mission 3. When I use those variables, I start on level 2 or 3. I can hear the music, I can see the statistics (Pow/time/ credits..etc.), but the level is not there...black background. Billy dies automatically, falls off of the screen, disappears off-screen, you see the continue countdown, and then game over.
UPDATE: I made a few edits to the code. I discovered in these 80's games the corresponding memory addresses that store data for each level have linear variables. Upon taking another look playing through the game, the levels are very long, so not a mission 5 in this game, only 4 missions like the original Double Dragon (Double Dragon I). Double Dragon II is basically an upgrade of Double Dragon I, just that simple. I have been taking a look at how The Sega Genesis port of Double Dragon I handles the memory location for stage data, as it handles the data the same way, but the addresses are in different locations is all, same variables except in 16-bit. Obviously, I will be looking at Double Dragon II: The Revenge (J) for Sega Megadrive. I have Game Genie Codes for the Sega Genesis (UE) port of DDI (tested and kicking like Jackie Chan). These are ROM writes.
Double Dragon I (UE) [Sega Genesis]
Constantly writes 1 to the ROM address 0x492.
Code: Select all
AECA-AAEW = 000492:0001 = Start on Mission 2
Code: Select all
AJCA-AAEW = 000492:0002 = Start on Mission 3
Code: Select all
ANCA-AAEW = 000492:0003 = Start on Mission 4
[ddragon2u] Double Dragon II - The Revenge (US)
Code: Select all
<cheat desc="Stage Select"> <comment>Only works for Mission 4 currently.</comment>
<parameter>
<item value="0x00">1</item>
<item value="0x01">2</item>
<item value="0x02">3</item>
<item value="0x03">4</item>
</parameter>
<script state="run">
<action>maincpu.pb@0036=param</action>
</script>
</cheat>
Got any ideas, Pugsy?
Anyway, if anyone finds some addresses and variables that would be helpful in this endeavor, please feel free to post here or PM me. However we get it done is fine by me, peeps.
What ya got for us Pugsy?