News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Poll

What should the new name for the "Spell" spell be?

Reveal
5 (21.7%)
Unveil
4 (17.4%)
Enigma
9 (39.1%)
Expose
5 (21.7%)

Total Members Voted: 23

Author Topic: Zelda II Redux  (Read 96349 times)

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1141
    • View Profile
Re: Zelda II Redux
« Reply #440 on: February 13, 2019, 12:16:06 pm »
You do bring up some good points.

I say we do it, but as an optional patch, do you agree?
That way, those that still want that Experience treat from the original can still have it, and those that want the new one can have it if they so desire.

Although I gotta say 500 Exp seems too little to me, perhaps 1000?
Or maybe I'm not taking into consideration how it would affect the earlier stages of the game, I'm mainly thinking on later on.

IcePenguin

  • RHDN Patreon Supporter!
  • Sr. Member
  • *****
  • Posts: 265
    • View Profile
Re: Zelda II Redux
« Reply #441 on: February 13, 2019, 12:31:07 pm »
Well it's your call, ha ha.  More options is always a good thing!   8)  I'll just post the hack here for future reference.  It was actually a really simple hack.

At 0x11B77, replace 8D 56 07 with this:

20 F0 9E

Same thing again, at 0x11B80, replace 8D 55 07 with this:

20 00 9F

Next go to 0x11F00 and paste the following code:

A9 F4 8D 56 07 60

And at 0x11F10 paste:

A9 01 8D 55 07 60


All this does is load a value we choose (1F4, or 500 in this example) into the earned exp counter, when placing a crystal.  By default, the game just increments this value with no limit, then stops when you level up.  With a fixed value in there, the full amount will be given, regardless if you level or not.  It's basically like receiving EXP from every other source.


With that done, I'll get to work on making that IPS patch for you.

Shadic

  • Jr. Member
  • **
  • Posts: 36
    • View Profile
Re: Zelda II Redux
« Reply #442 on: February 13, 2019, 12:35:55 pm »
I don't see anything wrong with a major power boost at the end of a Temple. Other games give you a Heart Container, anyways.

I think 1000 EXP sounds just fine at lower levels.

I'd definitely mix that in with the "1-Up Doll increases max lives," though. I've always waited to finish the Temples until I'm almost at The Great Palace to round up all those extra lives you get when you're at max levels. You can "fix" two ways of cheesing the game at once that way.

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1141
    • View Profile
Re: Zelda II Redux
« Reply #443 on: February 13, 2019, 12:41:50 pm »
Done :)
https://www.dropbox.com/s/0x5wl162zhhtz7z/StaticExpAtPalaceCrystal.ips?dl=0

That patch alone should make it so a Palace Crystal gives you a set/static amount of Exp, instead of rolling all the way up until you level up.
I am keeping all the optional patches in a folder, so once Redux is done, I simply download them and put them all together in the ZIP for download, alongside Redux :)

Thanks yet again, IcePenguin!

------------------------------------------------------------------------------------------

EDIT:
If someone wants to change the amount of Exp you gain at a Palace, simply go to address 0x11F00, you will find [A9 F4 8D 56 07 60], and at 0x11F10 you will find [A9 01 8D 55 07 60]

The important bits are the parts in bold.
If you want to make it so that putting a crystal gives you 1000 EXP instead of 500 (like it is right now), change the 01 for a 03, and the F4 for an E8. That should do it.

We are basically changing the Exp from 01F4 (500 in decimal) to 03E8 (1000 in decimal).
For those interested.
« Last Edit: February 13, 2019, 02:12:53 pm by ShadowOne333 »

8.bit.fan

  • Full Member
  • ***
  • Posts: 204
    • View Profile
    • 8-bit fan's Hacking Projects
Re: Zelda II Redux
« Reply #444 on: February 13, 2019, 01:44:48 pm »
Just popping in to say GREAT WORK!! :D
Zelda II is actually my favorite Zelda game so this is a great treat! :)

Keep up the great work and look forward to a release!

Btw, any chances of making a separate patch for the Japan FDS version?

Cheers!!  :thumbsup: :beer:

8-bit fan
In the year of 200X, a super robot named Mega Man...
http://www.8bitfan.info/

IcePenguin

  • RHDN Patreon Supporter!
  • Sr. Member
  • *****
  • Posts: 265
    • View Profile
Re: Zelda II Redux
« Reply #445 on: February 13, 2019, 04:07:36 pm »
I think 1000 exp could be a good default.  500 does seem quite low.  It was just the first number that popped into my head when making it, ha ha.  1000 seems like it'd be a good base, as it will help a lot at low levels, while still feeling significant at high levels.  :)

Anyway, let me know if there is anything else that can be done.  If things can still be added or improved, let's give it a shot!

DarkSamus993

  • Full Member
  • ***
  • Posts: 216
    • View Profile
Re: Zelda II Redux
« Reply #446 on: February 13, 2019, 04:10:39 pm »
Argh... Well, I have good news and worse news.  Good news, I managed to get the cursor on the file select to move up and down.  The worse news is it would take a ton of time and code to get it working, and worst of all, it hurts my brain.
I got the file select fully working (UP and DOWN/SELECT), and actually ended up using less code than the original routine ($BB bytes vs the orignal $CC bytes), however the data table I used takes up $30 bytes so I had to put that in some freespace. Here is a video of it in action (you can see the input display): https://www.youtube.com/watch?v=bF4UJlQ0_1s

[DOWNLOAD] <-- source code

I'll try and take a peek at the other locations too:
File Select Screen (0x17313), Register Your Name (0x176BC) and in Game Over Screen (0x1CA95).

IcePenguin

  • RHDN Patreon Supporter!
  • Sr. Member
  • *****
  • Posts: 265
    • View Profile
Re: Zelda II Redux
« Reply #447 on: February 13, 2019, 04:20:30 pm »
I got the file select fully working (UP and DOWN/SELECT), and actually ended up using less code than the original routine ($BB bytes vs the orignal $CC bytes), however the data table I used takes up $30 bytes so I had to put that in some freespace. Here is a video of it in action (you can see the input display): https://www.youtube.com/watch?v=bF4UJlQ0_1s

[DOWNLOAD] <-- source code

I'll try and take a peek at the other locations too:

Awesome!  :D  That is so cool.  Thanks for sharing your code, I can't wait to see how you did it.  I just couldn't wrap my brain around it, ha ha.  I'm still learning ASM, so lots of things just hurt my brain...   Anyway, most excellent work, DarkSamus!   :thumbsup: :woot!:

mdtauk

  • Jr. Member
  • **
  • Posts: 13
    • View Profile
Re: Zelda II Redux
« Reply #448 on: February 13, 2019, 04:45:11 pm »
It is definitely an improvement, but it is a shame you can't simplify it further, remove the register option, and just allow selecting the empty file and pressing start to enter the name entry screen.

I would replace the fairy with an arrow cursor, just to make it clearer what is currently focused - oh and change Elimination mode to "Delete Save File", perhaps with a palette change to show something destructive is about to happen.

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1141
    • View Profile
Re: Zelda II Redux
« Reply #449 on: February 13, 2019, 05:39:36 pm »
Oh wow!
I wasn't expecting DarkSamus993 to drop by here!
And what an awesome thing you brought!
I never expected the actual code for the menu to be able to be written in less bytes than the original had.
I guess it goes to show just how poorly optimized the code of Zelda II really is.

Thanks for the help, DarkSamus!
If you happen to find a way to do so for the Elimination mode, and for the Game Over screen (Continue - Save), please let us know!

Also, I tried compiling it in my Linux PC, but for some reason I keep getting something like "xas.exe" (yes, xas) doesn't recognize the .asm and .nes file, and also it fails with the nes.cpu command (and everything after).

Can someone post the Hex values for the code here and/or the IPS so I can implement it?
Or maybe I should wait to see if the other modes can be implemented as with the File Selection menu DarkSamus posted.

Trax

  • Sr. Member
  • ****
  • Posts: 489
    • View Profile
    • Trax ROM Hacking
Re: Zelda II Redux
« Reply #450 on: February 13, 2019, 05:49:36 pm »
About the EXP bonus at the end of palaces, I think the original way is fine, it's relatively proportional to the progression of the player. If we decided to have a fixed amount given to the player, I think it would be a good idea to make the amount higher as you progress. Say, 300 multiplied by the palace number. First palace would reward you with 300 points, and the sixth palace would give a bonus of 1800 points. Or any other table with arbitrary values.

However, when I think about it, the bosses are already doing that, in a way, with the points you get when you defeat them. So, I don't know...

IcePenguin

  • RHDN Patreon Supporter!
  • Sr. Member
  • *****
  • Posts: 265
    • View Profile
Re: Zelda II Redux
« Reply #451 on: February 14, 2019, 05:00:01 am »
Tried out that cursor movement hack, by DarkSamus.  This blows my mind!  It's so simple, yet so amazing.  After spending all that time trying to figure it out, and then to have it working is quite surreal.   :laugh:  I am very impressed with how you did it, and to do it in LESS code than the original game.  Nicely done, DarkSamus!

About the EXP bonus at the end of palaces, I think the original way is fine, it's relatively proportional to the progression of the player. If we decided to have a fixed amount given to the player, I think it would be a good idea to make the amount higher as you progress. Say, 300 multiplied by the palace number. First palace would reward you with 300 points, and the sixth palace would give a bonus of 1800 points. Or any other table with arbitrary values.

However, when I think about it, the bosses are already doing that, in a way, with the points you get when you defeat them. So, I don't know...

I feel that the free level up always made boss EXP redundant, and not very exciting.  Sure you get 700 exp from Barba, but doesn't matter because you'll level up regardless of how much exp you have.  It's definitely a system that needs improvement.  Your idea about scaling the EXP is very interesting!  If balanced right, something like that would complement Redux very well.


February 14, 2019, 08:24:14 am - (Auto Merged - Double Posts are not allowed before 7 days.)

Trax's scaling idea was quite interesting, so I made a version that gives exp depending on the palace you're in.  I increased the exp bonus by 500 for each palace.

Palace 1 = 500 exp
Palace 2 = 1000 exp
Palace 3 = 1500 exp
Palace 4 = 2000 exp
Palace 5 = 2500 exp
Palace 6 = 3000 exp
Total    = 10500 exp

This could be balanced further, but seems ok.  It doesn't have to be increments of 500 either, Trax suggested 300 which could work, as well.  Or it could be an increase in return per palace.  (500, 1200, 2000, 2900, etc.)  Overall, I feel like a system similar to this would be an improvement over the original.

Here is the code.

At 0x11B77, replace the 8D 56 07 with:

20 F0 9E

At 0x11B80, replace the 8D 55 07 with:

20 40 9F

Finally, at 0x11F00, paste the following code:

Spoiler:
A9 0D CD 61 05 F0 42 A9 22 CD 61 05 F0 35 A9 0E CD 61 05 F0 28 A9 1C CD 61 05 F0 1B A9 29 CD 61 05 F0 0E A9 3A CD 61 05 F0 01 60 A9 B8 8D 56 07 60 A9 C4 8D 56 07 60 A9 D0 8D 56 07 60 A9 DC 8D 56 07 60 A9 E8 8D 56 07 60 A9 F4 8D 56 07 60 FF A9 0D CD 61 05 F0 42 A9 22 CD 61 05 F0 35 A9 0E CD 61 05 F0 28 A9 1C CD 61 05 F0 1B A9 29 CD 61 05 F0 0E A9 3A CD 61 05 F0 01 60 A9 0B 8D 55 07 60 A9 09 8D 55 07 60 A9 07 8D 55 07 60 A9 05 8D 55 07 60 A9 03 8D 55 07 60 A9 01 8D 55 07 60

Instead of checking the dungeon, it checks the room # for the boss room.  0D = Horsehead boss.  22 = Helmethead boss.  0E = Rebonack boss.  1C = Carock boss.  29 = Gooma boss.  3A = Barba boss.  I couldn't find a reliable way to check the dungeon currently loaded, so decided to base this on the room instead.  With this, the EXP gained from placing a crystal scales accordingly.

Anyway, just trying to address the concerns of those who bought it up in early posts from this topic.  ;)

« Last Edit: February 14, 2019, 08:31:32 am by IcePenguin »

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1141
    • View Profile
Re: Zelda II Redux
« Reply #452 on: February 14, 2019, 10:57:27 am »
Oh nice!
I wasn't expecting it to be actually implemented into the game, that's great!

So would it be okay if I replace the Static Exp at Palace Crystal hack with this new one, IcePenguin?
So I can get to it asap and put the IPS ready for download.

IcePenguin

  • RHDN Patreon Supporter!
  • Sr. Member
  • *****
  • Posts: 265
    • View Profile
Re: Zelda II Redux
« Reply #453 on: February 14, 2019, 11:04:36 am »
Oh nice!
I wasn't expecting it to be actually implemented into the game, that's great!

So would it be okay if I replace the Static Exp at Palace Crystal hack with this new one, IcePenguin?
So I can get to it asap and put the IPS ready for download.

Sure!  The first iteration of that hack has no point anymore, really.  Scaling exp is much better, so thanks to Trax for that idea, ha ha.  Can you think of anything else that might possibly need improvement?

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1141
    • View Profile
Re: Zelda II Redux
« Reply #454 on: February 14, 2019, 11:14:44 am »
Done :)
https://www.dropbox.com/s/0x5wl162zhhtz7z/StaticExpAtPalaceCrystal.ips?dl=0

That should have the latest hack made by IcePenguin about each palace giving a different amount of Exp once you put the Crystal in it.

As for other improvements, I'm not sure to be honest.
I think most of my concerns with Zelda II have been addressed, so I can't think of anything else right now.

IcePenguin

  • RHDN Patreon Supporter!
  • Sr. Member
  • *****
  • Posts: 265
    • View Profile
Re: Zelda II Redux
« Reply #455 on: February 14, 2019, 11:22:03 am »
Actually, one thing I think would be good is to reduce the limit of re-spawnable enemies on screen at a time, to reduce lag in areas where these enemies are.  For example the orange moblins in forests.  I'm sure it would be a simple byte change unless the original game doesn't have a limit?

If lag could be reduced, that would be huge!

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1141
    • View Profile
Re: Zelda II Redux
« Reply #456 on: February 14, 2019, 11:56:41 am »
Actually, one thing I think would be good is to reduce the limit of re-spawnable enemies on screen at a time, to reduce lag in areas where these enemies are.  For example the orange moblins in forests.  I'm sure it would be a simple byte change unless the original game doesn't have a limit?

If lag could be reduced, that would be huge!
I believe that's easily done.
I removed the re-spawn for the Bubble enemies so people didn't abuse the easy 50 Exp on respawn, since I made them weaker (you can kill them in like 10 sword stabs).
It's a simple bit change, it's one of the attributes from the enemy tables.

For the Moblin you mention, I believe that can be found here:
https://lemmy.neocities.org/zelda2/bank1_and_7.txt

Label "bank1_Enemy_Routines1_Dumb_Moblin_Generator"

As for the actual one-bit change, I can't recall, but I believe its the "Regenerate" attribute in some of the Enemy_Attributes labels. Maybe you can find it there.

----------------------------------------------------------------------

EDIT:
I forgot to mention, that the "Register Your Name" (0x176BC) screen doesn't need the remapping for the Select button at all, since if you modify this one, you will end up changing which File you have selected when registering the name alongside the D-Pad, so this one can be left alone

The one that requires it is the Elimination mode, which I believe the button inputs for this one starts at 0x174B6.
That one is the one that needs something similar to the File selection one (where Up/Down move the Fairy cursor up or down).

For the Game Over screen (0x1CA95), I only need it to register Up/Down as inputs alongside Select, this one doesn't matter if they can't move the cursor up, since there's only two options, and pressing either Up or Down will get you to the next one anyways.
« Last Edit: February 14, 2019, 03:22:05 pm by ShadowOne333 »

IcePenguin

  • RHDN Patreon Supporter!
  • Sr. Member
  • *****
  • Posts: 265
    • View Profile
Re: Zelda II Redux
« Reply #457 on: February 14, 2019, 02:48:04 pm »
Ah, thanks for the link!  I was looking for this line here:

Quote
ldx      #$05                          ; 0x5b4b $9B3B A2 05                    ; X = 05

This appears to be the limit to how many regenerating enemies can appear on the screen at one time.  The default is 05.  The most I've seen at one time is 4 orange moblins, and there usually is some serious lag to go with it.  Even 2 o 3 can generate lag.  If you change this value to 00, regenerating enemies will only appear 1 at a time.  Could be a good change, to cut back on lag for some screens!  :)

I only tested this with orange moblins, so I don't know if this is a global value for all regenerating enemies or just orange moblins.

I recommend setting it to 00 or 01.
« Last Edit: February 14, 2019, 02:53:14 pm by IcePenguin »

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1141
    • View Profile
Re: Zelda II Redux
« Reply #458 on: February 15, 2019, 12:31:20 pm »
Ah, thanks for the link!  I was looking for this line here:

This appears to be the limit to how many regenerating enemies can appear on the screen at one time.  The default is 05.  The most I've seen at one time is 4 orange moblins, and there usually is some serious lag to go with it.  Even 2 o 3 can generate lag.  If you change this value to 00, regenerating enemies will only appear 1 at a time.  Could be a good change, to cut back on lag for some screens!  :)

I only tested this with orange moblins, so I don't know if this is a global value for all regenerating enemies or just orange moblins.

I recommend setting it to 00 or 01.
That is quite interesting!
Indeed, reducing it to at least 01 does avoid the lag, and I think this is a good countermeasure to balance the fact that the Moblins now also give you 2 Exp, instead of like before, where they didn't give you anything.

I made the change, and it seems to work so far, although I am not sure if this change does also affect other things.

IcePenguin

  • RHDN Patreon Supporter!
  • Sr. Member
  • *****
  • Posts: 265
    • View Profile
Re: Zelda II Redux
« Reply #459 on: February 15, 2019, 12:32:13 pm »
Here is another hack that would make a great optional feature.  So, you know how a popular thing to do among Zelda II enthusiasts is playing a low level challenge?  Why not make it easier for them to do this?  With this hack, any time they select "cancel" in the level up menu, it will delete their EXP.  You can still level up if you wish, but now you can avoid leveling up completely!  :P

Here is the code:

At 0x1ECA, replace 20 CE A0 with:

20 D0 A8

Next, go to 0x28E0 and paste this code:  (or any available free space)

A2 02 A9 00 95 02 8A EA EA EA 7D 77 07 A8 AD 71 07 38 F9 70 96 AD 70 07 F9 58 96 B0 02 F6 02 CA 10 E0 A9 03 CD 4E 07 F0 01 60 A9 00 8D 75 07 8D 76 07 8D 55 07 8D 56 07 60

If you select the "Cancel" option in the level up menu, it will wipe your exp and keep the focus on your current stat without shifting to the next stat in the rotation.

Anyway, this could interest those who like doing low level challenges.  :)

Edit:
Actually, after giving it some thought, this is a pretty terrible idea, ha ha.  It would get rather annoying having to cancel a level up every time you gained 50 exp.  Oh well...


That is quite interesting!
Indeed, reducing it to at least 01 does avoid the lag, and I think this is a good countermeasure to balance the fact that the Moblins now also give you 2 Exp, instead of like before, where they didn't give you anything.

I made the change, and it seems to work so far, although I am not sure if this change does also affect other things.

After looking through that document, I'm pretty sure it's for all generating enemies.  At least that's what the information given suggests.
« Last Edit: February 15, 2019, 01:24:41 pm by IcePenguin »