What. Zelda II, HARDER?? :o
I guess to each his own...
I try to not even bother with TMNT 1 or Megaman 1 more than necessary. So much potential marred by frustration.Yet I found Mega Man 3 harder than MM1. MM3 is easy at first but then you have to beat MM2's ghost bosses, and welcome to hell. To each their own I guess....
Yet Megaman 3 got broken in the other way. All sorts of tricks to become too easy. Jumping to avoid Rush Jet energy usage. Menu glitch letting you unlock some powers when it shouldn't be possible. One hit kill final boss(!). Overpowered Shadow Blade in places. Controller two codes...
Does anyone know where I can find this information for the games I mentioned in my original post?The only way you're likely to find this info for most games is by hacking them with a debugger, which requires experience. How hard that will be depends on the game. Some will be simple, some will be hard.
If actually adding difficulty settings to the games is too much work, that is okay. Let's just release an ips file for each game that balances the difficulty. That would still work well.
What. Zelda II, HARDER?? :o
Does anyone know where I can find this information for the games I mentioned in my original post?
If actually adding difficulty settings to the games is too much work, that is okay. Let's just release an ips file for each game that balances the difficulty. That would still work well.
The only minor problem you would encounter is that when most NES Game Genie codes are decrypted, they won't directly tell you the correct ROM address.I'd suspect Game Boy and Game Gear have that issue as well, since they only had a 64KB CPU address range. (which is why they put in a "compare" value to try to detect if the right bank was mapped in.
Before I look over things this weekend, I have a couple more questions. If I know what specific values I am searching for, would I be able to search for those specific values in the game? Most of the information I am looking for is not in Data Crystal, so I would have to find all of this myself.
And, lastly, what about formulas? It seems like it would be better to modify those in some cases. How likely is it to be able to do that?
Zelda II wasn't all that hard, actually. It starts off a little overwhelming, but once you get the hang of it, and once you realize that it is an RPG masked as a platformer, you'll realize that level grinding helps you out a lot. I know that doesn't sound too good, and it would be one of my criticisms of the game (but then again, just what RPG didn't rely on level grinding back in those days?), but it's really only hard in the beginning, when you're still trying learn the ropes and grind for a level or two.
I actually can beat Zelda II nowadays, using no guide and without freaking out- A stark contrast from when I first tried my hand at it, where I was just dying all the time, and I had to keep peeking at a map because I kept getting lost.
I don't really know what I'm trying to prove here...
Anyway, project sounds like a good idea! Some games really are quite difficult for the average player (that includes me), but a lot of those are also hailed as classics.
I have a couple of more questions, though. I hope I'm not asking too many of these.Not at all. I'd much rather see somebody thoroughly research a project, plan it out, and make something great.
What do you recommend using to analyze the ROM for the data I am looking for?For me the tool is usually the debugger in FCEUX. A good hex editor might be handy from time to time. (FCEUX's is decent, but I prefer one that can do relative searches with wildcards.) There's a lot to learn as far as FCEUX goes: ASM, the debugger itself, and how NES games tend to work in general. I didn't know much 6502 ASM when I started playing with FCUEX. I found having an opcode chart (http://www.atarimax.com/jindroush.atari.org/aopc.html) to be vital. Other than that it was all learning from experience.
How do I go about creating the ips file to modify these values once I analyze and find them, in addition to any other tweaking I may do?There are a couple ways to do this. I have an assembler that outputs IPS patches, which seems to be the easiest way to keep my projects organized. Others use the inline assembler and hex editor in FCEUX to modify the ROM, then save the modified copy, and use an IPS utility to create a patch from the original to the newly modified ROM.
$AB05:BD 23 AB LDA $AB23,X @ $AB28 = #$00 A:05 X:05 Y:0C S:FB P:nvUbdizC
$AB08:9D EE 05 STA $05EE,X @ $05F3 = #$10 A:00 X:05 Y:0C S:FB P:nvUbdiZC
$AB0B:CA DEX A:00 X:05 Y:0C S:FB P:nvUbdiZC
$AB0C:10 F7 BPL $AB05 A:00 X:04 Y:0C S:FB P:nvUbdizC
$AB05:BD 23 AB LDA $AB23,X @ $AB27 = #$00 A:00 X:04 Y:0C S:FB P:nvUbdizC
$AB08:9D EE 05 STA $05EE,X @ $05F2 = #$0A A:00 X:04 Y:0C S:FB P:nvUbdiZC
$AB0B:CA DEX A:00 X:04 Y:0C S:FB P:nvUbdiZC
$AB0C:10 F7 BPL $AB05 A:00 X:03 Y:0C S:FB P:nvUbdizC
$AB05:BD 23 AB LDA $AB23,X @ $AB26 = #$00 A:00 X:03 Y:0C S:FB P:nvUbdizC
$AB08:9D EE 05 STA $05EE,X @ $05F1 = #$22 A:00 X:03 Y:0C S:FB P:nvUbdiZC
$AB0B:CA DEX A:00 X:03 Y:0C S:FB P:nvUbdiZC
$AB0C:10 F7 BPL $AB05 A:00 X:02 Y:0C S:FB P:nvUbdizC
$AB05:BD 23 AB LDA $AB23,X @ $AB25 = #$0F A:00 X:02 Y:0C S:FB P:nvUbdizC
$AB08:9D EE 05 STA $05EE,X @ $05F0 = #$CB A:0F X:02 Y:0C S:FB P:nvUbdizC
$AB0B:CA DEX A:0F X:02 Y:0C S:FB P:nvUbdizC
$AB0C:10 F7 BPL $AB05 A:0F X:01 Y:0C S:FB P:nvUbdizC
$AB05:BD 23 AB LDA $AB23,X @ $AB24 = #$25 A:0F X:01 Y:0C S:FB P:nvUbdizC
$AB08:9D EE 05 STA $05EE,X @ $05EF = #$24 A:25 X:01 Y:0C S:FB P:nvUbdizC
$AB0B:CA DEX A:25 X:01 Y:0C S:FB P:nvUbdizC
$AB0C:10 F7 BPL $AB05 A:25 X:00 Y:0C S:FB P:nvUbdiZC
$AB05:BD 23 AB LDA $AB23,X @ $AB23 = #$02 A:25 X:00 Y:0C S:FB P:nvUbdiZC
$AB08:9D EE 05 STA $05EE,X @ $05EE = #$09 A:02 X:00 Y:0C S:FB P:nvUbdizC
$AB0B:CA DEX A:02 X:00 Y:0C S:FB P:nvUbdizC
$AB0C:10 F7 BPL $AB05 A:02 X:FF Y:0C S:FB P:NvUbdizC
$AB0E:A5 EE LDA $00EE = #$05 A:02 X:FF Y:0C S:FB P:NvUbdizC
$AB10:8D F2 05 STA $05F2 = #$00 A:05 X:FF Y:0C S:FB P:nvUbdizC
$AB13:A5 EF LDA $00EF = #$00 A:05 X:FF Y:0C S:FB P:nvUbdizC
$AB15:8D F1 05 STA $05F1 = #$00 A:00 X:FF Y:0C S:FB P:nvUbdiZC
It looks like the game is generating a string at RAM address $05EE. First byte is the string length. The next two bytes are the VRAM address to write to (you can alter it if you want to change the position on the screen), the next two are the hex values for the two "0" tiles (which would be overwritten by the tile numbers for the two digits in the number of continues).An interesting project indeed.
I can join it(NES only). I have no problem with making a in-game difficulty menu(if there's enough empty PRG space left).
I can also make more advanced things like changing size of hitboxes and such(If needed).
I don't know if you are still interested in doing this or not.I was interested at start and made two patches for two games. Right now, I lost part of my enthusiasm.
All I've done so far are the Easy modes. It will likely be a while before I start the Medium modes. Should we wait until I have everything done before doing anything? Or, should I just make a separate release for each difficulty setting instead, since that would be easier?Why should I wait for you to finish? Just give me a title, list of things to improve and, if I'll have enough time and experience(I'm not best hacker out there), I'll do it.
I think we might have had a slight miscommunication with this. I thought you would be able to produce the in-game difficulty menu with the changes I made per difficulty setting. Is that something you are still interested in doing?No.
I totally applaud your efforts on this and hope you will keep at it. I love classic gaming, but a lot of the stuff from the nintendo days was just killer-hard and frustrating. A lot of "easy-type" patches are junk because they basically turn on god mode. I want it easier, not to play itself. So please do keep at it! Maybe someone will come along someday and help hack in actual menus into the game for difficulty selection. I think it would not be too hard. Just a standard chunk of code that loads in the game before anything else, kind of like all those trainers people hack into games. If you could find someone who does those, you could get some advice/help on getting a few implemented, then release the documentation for the masses to help on the project.
Regardless of however it progresses, kudos!
01:E5EB:B5 2B LDA $2B,X @ $002B = #$00To this:
01:E5ED:29 10 AND #$10
01:E5EF:F0 31 BEQ $E622
01:E5EB:B5 2B LDA $2B,X @ $002B = #$00So the code will never branch.
01:E5ED:29 10 AND #$10
01:E5EF:EA NOP
01:E5F0:EA NOP
One thing I do not know how to go about is something that I've been running into with almost every game I've modified. I've asked for help on this more than once before, but haven't gotten anything. How do I adjust the life bars in games that display the amount of life/energy you have in a bar form? In games like Ninja Gaiden and Double Dragon, if I increase the amount of life you have, the life bars are completely full if you have any greater than the default in the game. How can I adjust the life bars so they display properly?
How goes the project? With the release of the super awesome Double Dragon Neon, I have had a wicked itch to play the original games, none of which I ever beat.
Edit: Wait a minute. I was looking at the Submit Files page, and it appears I can only insert URLs of files??? I don't have any URLs. I only have the files directly on my computer. Now what am I supposed to do? Is there some other way to submit these? This is my first time doing this, so I probably don't know what I am doing completely.There's a "Contact Staff" link on the left, you have to ask there.
Yeah, I will contact staff before helping others with something I don't need help with. Thank you for deleting me my post, by the way.)Quote from: mz"I keep getting an error message"... What about telling us what the error message says?Please contact staff for matters like this instead of posting. There is a contact staff link on the side bar.
Also, there's lot of help in the same page as the submit form, try reading that first. And you will be linked to this page too: http://www.romhacking.net/?page=help&action=additionalhelp, which may help with your problem.
Thanks,
~ThisAdminName
snarfblam,
If you wouldn't mind, would that be all right? How do I submit these files to you? I tried sending a private message, but don't seem to be able to include attachments there either. What would work best for you?
This is a fantastic idea, so many old games seem like they're being frustrating on purpose, or else intended to play like an arcade game and take in another quarter every time you die. I grew up playing games like this, but if I don't have the benefit of nostalgia for a particular title, the difficulty is the thing to turn me off so many of them, even games which are otherwise excellent. I know I'm essentially restating the entire purpose of this project, I just agree strongly. So thanks for these efforts, I hope for more games to become playable; e.g. Popful Mail for Sega CD is a game defined by its horrible rebalancing for the American market, it's just horribly un-fun. They scaled up enemy damage by almost ten times and stripped back the period of invincibility after the player takes damage. It powerfully demonstrates how a couple of minor changes make the difference between a great game and a waste of time and effort.
; tranfer to A register if needed
LSR
ADC #0
; put it back if needed
07:CC5C:8D 07 20 STA $2007 = #$00
07:CC5F:E8 INX
07:CC60:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC63:8D 07 20 STA $2007 = #$00
07:CC66:E8 INX
07:CC67:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC6A:8D 07 20 STA $2007 = #$00
07:CC6D:E8 INX
07:CC6E:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC71:8D 07 20 STA $2007 = #$00
07:CC74:E8 INX
07:CC75:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC78:8D 07 20 STA $2007 = #$00
07:CC7B:E8 INX
07:CC7C:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC7F:8D 07 20 STA $2007 = #$00
07:CC82:E8 INX
07:CC83:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC86:8D 07 20 STA $2007 = #$00
07:CC89:E8 INX
07:CC8A:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC8D:8D 07 20 STA $2007 = #$00
07:CC90:E8 INX
07:CC91:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC94:8D 07 20 STA $2007 = #$00
07:CC97:E8 INX
07:CC98:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CC9B:8D 07 20 STA $2007 = #$00
07:CC9E:E8 INX
07:CC9F:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CCA2:8D 07 20 STA $2007 = #$00
07:CCA5:E8 INX
07:CCA6:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CCA9:8D 07 20 STA $2007 = #$00
07:CCAC:E8 INX
07:CCAD:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CCB0:8D 07 20 STA $2007 = #$00
07:CCB3:E8 INX
07:CCB4:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CCB7:8D 07 20 STA $2007 = #$00
07:CCBA:E8 INX
07:CCBB:BD 28 05 LDA $0528,X @ $0594 = #$FD
07:CCBE:8D 07 20 STA $2007 = #$00
07:CCC1:E8 INX
I don't see why you shouldn't submit the patch to the site. Submit it and it will probably be approved. It sounds like a good idea for a hack. I never got too far in Zelda 2 so having a easy difficulty could help with that.
I know almost everything about Zelda II. Feel free to ask any question related to data tables or enemy AI...
After almost 2 1/2 years of inactivity since my last post, I thought I would give an update on this project.
Basically, I am overwhelmed at work and no longer have the time to dedicate to this any more. Not to mention, it's been so long since I've worked on these that I've completely forgotten everything I've learned (I still have notes on exactly what I did on each hack, however). Therefore, I need to resign from this project.
I was previously unable to get the lifebars working properly. Therefore, I am going to ask the Community if anyone is interested in getting that piece of these hacks working. If so, we can both take credit on the notes that we submit.
Is anyone interested in this at all?
Here are the games I've worked on:
Castlevania I
Castlevania III
Double Dragon 1
Double Dragon 2
Double Dragon 3
Journey to Silius (I don't believe this one needs any more work, so it should be good to go as is)
Metal Storm
Ninja Gaiden 1
Ninja Gaiden 2
Ninja Gaiden 3
Rad Racer 1
Rad Racer 2
Shadow of the Ninja
Teenage Mutant Ninja Turtles
Teenage Mutant Ninja Turtles 2
Teenage Mutant Ninja Turtles 3
Zelda 2