Hack ideas: for those without the skill but with all the ideas.

Started by Piotyr, March 23, 2007, 10:11:50 PM

Previous topic - Next topic

MethidMan

Quote from: dougeff on August 01, 2015, 01:56:18 AM
Re:Nesrocks - how I figured out contra stuff...

In FCEUX, I had the RAM open (hex editor tool), and watched as I moved the guys left and right. I noticed the 1st player X position at $334 and the 2nd player X position at $335, and I see that the furthest right they go is B0. I tried a quick search of the ROM for compares to B0 (such as c9 b0) with no luck. So I opened the debugger tool, and set a breakpoint for reads from $334, and looked at the code around those breaks for compares. Didn't see it. I thought, maybe it's because I'm not currently scrolling right, so I set an auto-hold under "input" for right button presses, and immediately hit the 'step into' on the debugger when it started scrolling, and set the $334 breakpoint again. And, after each break, I hit 'step into' a bunch of times to see why it's reading from the X position, and eventually got to this line...
DA23:BD 34 03  LDA $0334,X @ $0334 = #$B0
DA26:D9 60 DA  CMP $DA60,Y @ $DA62 = #$B0 -- which is basically what I was looking for, a compare that equals B0
-I scrolled down to da62 of that bank and wrote down the #'s [b0 bd 1a ... etc]

so I went back to hex editor tool, and switched view to 'ROM file' and searched for 'b0 bd 1a', which is only found $1da72. I highlighted the 'b0' and changed it to 80, and moved the guys around, and saw that they only go to max X of 80 now. Then I used the Game Genie tool to make the codes for you.

To make this into a hack, just open the ROM with a hex editor, go to $1da72, change the b0 to 80 or 90 or whatever, and save it. Took me about 30-40 minutes.

Any way you can do this for the Japanese ROM? I've been trying to apply your methods in the hopes of looking for the data that controls the X position in the Japanese version.

Unfortunately I'm just not very experienced with hex editors... I tried looking at $334 or $335 while using auto-hold but I'm not sure if that's even the right spot to begin with in this version, but if it is, it looks like it's A8. After a little tinkering around, I found these lines in the debugger:

07:DA13:9D 34 03  STA $0334,X @ $0334 = #$A8
07:DA5F:7D 34 03  ADC $0334,X @ $0334 = #$A8

Again, I could very well just be barking up the wrong tree, which is why I'm asking for help.

BTW, I'm not sure if this matters, but the ROM I'm using is patched with the MMC3 mapper as well as with an English translation.

STARWIN

based on what was posted, search your rom for "BD 34 03 D9 60 DA" in a hex editor.. if there is one hit, then D9 is in address x and what you want to change is in address x+3C (in decimal x+60). if no hits then versions differ too much or i didn't notice something basic.

SCD

Vampire Savior (Sega Saturn): A hack that would add all this to it:

Change the title screen to the Darkstalkers 3 title screen: http://i67.photobucket.com/albums/h320/shadowkitty777/darkstalkers3logo.png
Make the English language setting the default language setting.
Keep the blood red.
Add the Revenger's Roost stage along with it's theme song as well.
Add Marionette and Dee as hidden characters.
Add the Color Edit Mode from the PSX version to this game.
Have the CPU actually use Donovan, Hutzil and Pyron in Arcade Mode.

KingMike

I tested and the maximum distance is $80 in 1-player mode.
So I made a trace log, walked far enough to make the screen scroll (at which point I know $0334 = #$80), and stopped trace.
I opened the FCEX log and looked for "@ $0334 = #$80".
Found the answer in a few minutes.

07:D959:BD 34 03  LDA $0334,X @ $0334 = #$00
07:D95C:D9 96 D9  CMP $D996,Y @ $DA95 = #$85

I'm not sure if the Famicom mapper locks $C000-DFFF, but because it's ROM you can find the right bank by searching for the instruction hex codes (one result at $1D969, notice the last three digits match after subtracting $10 from the ROM address for the ROM header. You can safely rule out any hex matches where they DON'T match up). Since the CPU address of the data ($D996) is close to the address of the code ($D959), you know it's nearby. To find exactly, look at the last 3 digits of the data address ($D996 -> $996), add $10 for the NES header ($DA6) at the look at the nearby address ending in $DA6.
ROM $1D9A6. (I assume the 3 bytes there are 1 byte for 1P mode and 2 for 2P mode)
"My watch says 30 chickens" Google, 2018

dougeff

The Japanese ROM uses A8 as the maximum for 2 player movement.

Yeah, the 3 byte data (80 80 a8) is at 1d9a6 (the 2 player # is at 1d9a8). Change the a8 number for 2 player movements.

The first # (80) is for 1 player. I'm not sure what the middle number is for, maybe some alternate level.

Wow, the Japanese version looks much nicer! Why did we get the crap version?
nesdoug.com -- blog/tutorial on programming for the NES

RomanWarrior

CAPTAIN TSUBASA 1 graphics swap over to Tecmo World Cup Soccer for the NES.

When tecmo brought Ct1 to america they BUTCHERED the face sprites on all the characters and cut scenes in the game to "americanize" the art style.

i wish someone could just swap the graphics to the Japanese version so we can play at least with the awesome original Anime graphics!
Captain Tsubasa 3 , 4th most downloaded Spanish translation.  Possibly the first Jap to Spanish translation instead of English to Spanish. There is no English version yet

SCD

Quote from: RomanWarrior on August 04, 2015, 02:59:38 AM
CAPTAIN TSUBASA 1 graphics swap over to Tecmo World Cup Soccer for the NES.

When tecmo brought Ct1 to america they BUTCHERED the face sprites on all the characters and cut scenes in the game to "americanize" the art style.

i wish someone could just swap the graphics to the Japanese version so we can play at least with the awesome original Anime graphics!

KnighTeen87 made a patch for Captain Tsubasa 1 that changes all the text to English, you can get it here: http://www.romhacking.net/translations/1201/

nesrocks

Quote from: dougeff on August 03, 2015, 11:06:52 PM
The Japanese ROM uses A8 as the maximum for 2 player movement.

Yeah, the 3 byte data (80 80 a8) is at 1d9a6 (the 2 player # is at 1d9a8). Change the a8 number for 2 player movements.

The first # (80) is for 1 player. I'm not sure what the middle number is for, maybe some alternate level.

Wow, the Japanese version looks much nicer! Why did we get the crap version?
The japanese rom is 2x bigger and has uncrompressed graphics, so I guess they butchered some things and compressed other stuff to fit in a smaller chip and make it cheaper.

dougeff

I forgot to give you the Game Genie codes.

Contra Japan - changing the max X movement for 2 player.
EEOSEOEZ - 80 - like 1 player, or...
EOOSEOEZ - 90 - a little more to the right.
nesdoug.com -- blog/tutorial on programming for the NES

KingMike

Quote from: nesrocks on August 04, 2015, 02:14:21 PM
The japanese rom is 2x bigger and has uncrompressed graphics, so I guess they butchered some things and compressed other stuff to fit in a smaller chip and make it cheaper.

It also used a Konami-developed mapper. From what I read, at least in their earlier days, Nintendo was strongly against third-party NES mappers/PCBs.
1988 was also the year of the reported "chip shortage" so I'd imagine Nintendo encouraged publishers to order smaller/fewer chips. (Nintendo stressed a limit release of Adventure of Link late that year. Sounds like it was real and not just Nintendo being its future-self of under-supplying hot products :P )
(I know there were third party NES PCBs eventually made as Konami did make some of their own NES carts but the only games I've seen using it were some prints of UNROM games like Castlevania.)
"My watch says 30 chickens" Google, 2018

MethidMan

Quote from: dougeff on August 04, 2015, 04:59:08 PM
I forgot to give you the Game Genie codes.

Contra Japan - changing the max X movement for 2 player.
EEOSEOEZ - 80 - like 1 player, or...
EOOSEOEZ - 90 - a little more to the right.

It works! Thank you so much!

And yeah, the reason I requested help with the Japanese version is because it's the better version.

SCD

Star Fox 64 (Nintendo 64): A hack that would add the Lylat Language voice option from the PAL rom to the American rom.

Vampire: Darkstalkers Collection (Sony PlayStation 2): A hack that would change all the text in the game to English.

King of Colosseum Red & Green (Sony PlayStation 2): A hack that would do all this to it:

Combine the content of both games into one game.
Change the text in the game to English.
Fix all the bugs.
Add all the improvements they did in King of Colosseum II to this game.

Super Street Fighter II Turbo (Arcade) & Hyper Street Fighter II (Arcade & PS2): A hack that would do all this to them:

Change the CPU so it's no longer cheap and it's actually possible to beat the game without any major problems.
Bring back the bonus stages from Super Street Fighter II.
Give M. Bison, Balrog and Vega their correct names.
Give Cammy and Dee Jay their Japanese voice tracks.
Change it where you fight Shin Akuma right after you defeated Vega (M. Bison). This way you can fight both final bosses instead of one.
Make a code where you can actually play as Shin Akuma.
Restore the missing toucan bird that flies away at round's end in Dee Jay's stage in Hyper Street Fighter II.

RomanWarrior

Quote from: SCD on August 04, 2015, 08:35:49 AM
KnighTeen87 made a patch for Captain Tsubasa 1 that changes all the text to English, you can get it here: http://www.romhacking.net/translations/1201/

Announcer and storymode untranslated
Captain Tsubasa 3 , 4th most downloaded Spanish translation.  Possibly the first Jap to Spanish translation instead of English to Spanish. There is no English version yet

SCD

Quote from: RomanWarrior on August 06, 2015, 03:03:55 AM
Announcer and storymode untranslated

I didn't know his hack wasn't finished, sorry about that.

If you want I can try transferring the sprites from that game to Tecmo Cup Soccer by using a Tile Editor.

Vanya

Has anyone ever thought of hacking Super Mario 64 to ignore the Z axis and make it into a 2.5D Mario engine?

dougeff

I'd like to see a hack of Mario Paint (music part), with all the sound samples changed to either real instruments, or cool synth sounds, or hilarious sound effects.
nesdoug.com -- blog/tutorial on programming for the NES

SCD

I'm surprised no one ever made a hack for Metroid that gives Samus her unused unique Left/Right sprites and restore the fake Ridley enemy as well:

https://tcrf.net/Metroid#Unique_Left.2FRight_Sprites
https://tcrf.net/Metroid#Fake_Ridley

Akumajou Dracula (Super Famicom): A hack that changes all the text to English and changes the title logo to a customized Super Castlevania IV title logo.

SunGodPortal

QuoteI'm surprised no one ever made a hack for Metroid that gives Samus her unused unique Left/Right sprites and restore the fake Ridley enemy as well:

https://tcrf.net/Metroid#Unique_Left.2FRight_Sprites
https://tcrf.net/Metroid#Fake_Ridley

Akumajou Dracula (Super Famicom): A hack that changes all the text to English and changes the title logo to a customized Super Castlevania IV title logo.

How about a hack of Super Metroid that turns it into a Castlevania game?

Castlevania rulz.
Cigarettes, ice-cream, figurines of the Virgin Mary...

Vanya

There is a lot I would love to do with SCV4, but it seems like either there is little interest in hacking it or perhaps the compression is a big stumbling block for most people?

SCD

Quote from: Vanya on August 10, 2015, 03:13:15 AM
There is a lot I would love to do with SCV4, but it seems like either there is little interest in hacking it or perhaps the compression is a big stumbling block for most people?

I know that Proton created decompressor and compressor tools for Konami SNES games, you can get them here but I don't know if they'll work on SCIV:

http://www.romhacking.net/utilities/1101/
http://www.romhacking.net/utilities/1102/