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 149733 times)

ultimaweapon

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: Zelda II Redux
« Reply #120 on: May 03, 2018, 10:22:19 am »
It's true. You can't please everyone which is why most people when creating heir hacks have a targeted group in mind whether it's fans of the original game who thought it was easy or trying to wheel in people who like the original but thought it was too hard or those in between.

I think ShadowOne's hack does make the game easier and a bit more fair, so those who thought the original was too hard should be able to complete this game. If you think this game is too hard, you should try The Battle Of Olympus. That's a game that would make you rage quit!  :laugh:

@RetroProf - What about the game comes across as hard for you? If it's certain enemies, it could be simply the way you're fighting them, and we can inform you of tactics you can use to win.
Trust in the Heart of the Cards

Midna

  • Hero Member
  • *****
  • Posts: 704
  • Resident Panel de Pon Nut
    • View Profile
Re: Zelda II Redux
« Reply #121 on: May 03, 2018, 10:27:00 am »
My only request is to please fix the room in the Maze Palace with the statue heads that fly in a wave motion and continually knock you into the lava pits until you die

itemdrop

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
Re: Zelda II Redux
« Reply #122 on: May 03, 2018, 10:38:57 am »
My only request is to please fix the room in the Maze Palace with the statue heads that fly in a wave motion and continually knock you into the lava pits until you die

hehe just cast jump the room becomes significantly easier

Sinis

  • Sr. Member
  • ****
  • Posts: 427
    • View Profile
Re: Zelda II Redux
« Reply #123 on: May 03, 2018, 12:17:14 pm »
My only request is to please fix the room in the Maze Palace with the statue heads that fly in a wave motion and continually knock you into the lava pits until you die


This statement I can fully relate with  :P

RetroProf

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Re: Zelda II Redux
« Reply #124 on: May 03, 2018, 02:51:27 pm »
What do you mean by this?

Oh, don't worry about it. I wasn't focusing on the OP. My statement was based on reading various suggestions to add or subtract things, and I started getting this feeling that this Redux patch will end up being a chimera or random and possibly conflicting suggestions. A few suggestions by different posters made it seem to me as if some parts of the game would get harder. Based solely on what's been done in the OP, it actually so far sounds like precisely what I want (Palace Patch + easier). I'll be updating my flash cart after this post.

And thank you for doing this. :)

If you think this game is too hard, you should try The Battle Of Olympus. That's a game that would make you rage quit!  :laugh:

@RetroProf - What about the game comes across as hard for you?

I actually completed Battle of Olympus a couple years back on original hardware with passwords. Apart from the very last area and boss, I found it quite manageable. Even easy? Though I did use an older version of this patch which rebalanced the olives (the one I used rebalanced the olives, but did not have SRAM support):
http://www.romhacking.net/hacks/3600/

If I recall correctly, you had infinite continues, which allowed you to respawn at the start of a tough area, allowing you learn the patterns quickly.

The two things I found difficult about the original Zelda II:
1) Returning to the starting area after losing a life. Now that is rage quit inducing.

2) Getting stun locked from so many enemies and projectiles. I have recollections of hitting one projectile, getting knocked back, and then hitting another one before I'd even had time to readjust myself or move out of the way. Notable examples being along the wooden walls with enemies at the top, and platforming outside over bridges/rock formations with bubbles floating up, and lava areas in dungeons. Link would rebound around like a pong brick.

I completed Zelda II, but on a Dreamcast with continuous use of quick saves. At times every second or two.

I liked the surreal dichotomy between overworld and side-dungeons, but the difficulty was brutal. I would never have bothered to play it as a kid with the original cartridge.

ultimaweapon

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: Zelda II Redux
« Reply #125 on: May 04, 2018, 10:55:13 am »
I actually completed Battle of Olympus a couple years back on original hardware with passwords. Apart from the very last area and boss, I found it quite manageable. Even easy? Though I did use an older version of this patch which rebalanced the olives (the one I used rebalanced the olives, but did not have SRAM support):
http://www.romhacking.net/hacks/3600/

If I recall correctly, you had infinite continues, which allowed you to respawn at the start of a tough area, allowing you learn the patterns quickly.

The two things I found difficult about the original Zelda II:
1) Returning to the starting area after losing a life. Now that is rage quit inducing.

2) Getting stun locked from so many enemies and projectiles. I have recollections of hitting one projectile, getting knocked back, and then hitting another one before I'd even had time to readjust myself or move out of the way. Notable examples being along the wooden walls with enemies at the top, and platforming outside over bridges/rock formations with bubbles floating up, and lava areas in dungeons. Link would rebound around like a pong brick.

I completed Zelda II, but on a Dreamcast with continuous use of quick saves. At times every second or two.

I liked the surreal dichotomy between overworld and side-dungeons, but the difficulty was brutal. I would never have bothered to play it as a kid with the original cartridge.

Battle Of Olympus did have unlimited continues, but losing half of your olives was brutal especially when you were trying to buy the Divine Sword or Ares Bracelet or the Salamander Shield. To me Battle Of Olympus was much more difficult, but I still enjoyed it. I want to hack it, but there isn't enough tools out there for a newcomer like me, so I'm going to wait a while before trying it. As far as boss characters, Hades was more fun to fight than Dark Link.

Zelda 2 was more about figure out enemy patterns and once you did, the game was rather easy in my opinion. I tried to keep things balanced in my hack of Zelda 2 but at the same time give more purpose to some items like the boots. https://www.romhacking.net/hacks/3931/
Trust in the Heart of the Cards

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1250
    • View Profile
Re: Zelda II Redux
« Reply #126 on: May 04, 2018, 05:44:47 pm »
@ultimaweapon:

I now understand what you meant with the Spell palette thing.
I just hit the same problem with it.

So, when you try to use any Spell, Link seems to revert back to the original palette [18 36 2A], or in the case of the Shield Spell [18 36 16], (changing the green tunic $2A for $16).

It seems like the game is grabbing the 18, 36 and 2A colours from somewhere else, so I gave the ROM an extensive search, but guess what?
I already changed ALL of the instances where the palette could be found [18 36] and there are no more instances of those two in the ROM, so I am not sure yet where does the game grab the original palette to begin with.

I'm inclined to say that it might be related to the Spell Casting routine which begins at 0x000DD3 and ends at 0x000E4A (with a branch to $1245-$1254), but I haven't found anything yet.

I'll let you know if I find anything, as I am still trying to debug the Dialog box thing as well :P

Trax

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
    • Trax ROM Hacking
Re: Zelda II Redux
« Reply #127 on: May 05, 2018, 12:07:04 am »
For Link's palette after a spell, look for RAM $70F. If I remember correctly, it contains 0x16 if Shield is in effect. It may be relevant.

RetroProf

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Re: Zelda II Redux
« Reply #128 on: May 05, 2018, 04:25:39 am »
OK, I've been playing this patch and am up to the 3-eye hidden dungeon. I've been using a FlashCart with custom mappers, on an NTSC-U machine at 60Hz, running through yellow & white A/V cables on a PAL CRT television which can accept NTSC signals.

Here are my impressions:

I love it. The changes feel natural. It's actually kind of amazing how right all of the small quality of life changes feel. I had to check the original game to remind me.

* The text speed up is perfect - I can't believe we've all been playing the slow version all these years. On actual hardware the sound is great. It reminds me of the fire sound effect for the fire wand, a bit. Like the words are being burned onto the screen.

* Magic - the rebalanced magic feels just right. Again, I wonder how the dev team came to the decision to make it so expensive in the first place, because this feels so much more natural. It allows me to use SHIELD and FIRE spells more regularly, but the LIFE spell is still just expensive enough to prevent over-use. Also, the magic drops now add a real tactical advantage. When I see a red one, I immediately got to my menu and use all the spells I can, powering myself, before refilling the meter.

Importantly, this has allowed me to reach the 3-eye dungeon comfortably. I game overed 8 times so far, and my level ups are Attack 7, Magic 7, Life 8.

* I didn't notice much rebalancing, apart from the skull bubbles. But I haven't played in years. The skull bubble rebalancing is great because it actually allowed me to farm them a little bit in a couple of dungeons when I was 500 EXP away from a level up, but on my last life before the boss. So I'd level up, then either fight the boss, or game over and restart outside.

* The blue around the hearts looks really, really nice on actual hardware and a CRT. :) (See my palette comments below)

As this stands, it's perfectly sufficient for me if you don't make any more changes. I'd feel satisfied completing the game like this. Though obviously you want this to be the ultimate redux, so well done on doing all this.

Fight on good sir!


SUGGESTIONS
These are just things which bugged me. Ignore or consider as you wish.

* Magic deselecting itself after use. This is annoying, especially early in the game with SHIELD, where you basically want to use it in each room you enter.

* Beeping - I am cool with the health beeping! It's not so annoying and it keeps me alert. However, I tremendously dislike the beep for getting EXP. It sounds similar to the health beeping, especially when you get two EXP gains in quick succession. This causes a Pavlovian response in me whereupon I think my health is at critical levels. Usually it's in the thick of action where I'm felling lots of enemies (maybe easy blobs) while also fending off and taking damage from the bigger armoured knights or skeletons, when there's multiple enemies in a room. On more than one occasion I've incorrectly thought "Crap! Health is low!" and hit the Select button to use my LIFE spell, only to discover I nearly had full health.

Any chance of changing the tone of the EXP beep, or removing it altogether? Considering how much EXP grinding one does, the EXP beep gets very annoying.

* It would be nice if all enemies gave EXP. Even the kobolds (white headed rat/wolf enemies), and Moblins. Sure they're one-hit kills, and their original function was to induce fear by stealing EXP, but considering that level ups soon cost 2000 or 5000 a pop, I doubt anyone is going to farm kobolds if they gave 2 EXP. However, psychologically that little floating "2" will feel nicer than getting literally zero reward for swinging a sword. (I blame modern game design which has conditioned me to want prizes for every action. I want those prizes!)

* Would it be possible to keep one's EXP when saving using the controller trick, as opposed to a game over? I forgot how annoying it is to have 3500 EXP, away from a 5000 level up, and needing to turn the game off. Obviously one should be penalised when getting game over, by losing EXP, but saving normally? Obviously those emulating won't have this problem, it's exclusive to real hardware. Is the SRAM even capable of recording this, or would it require heavy recoding?

* Someone else mentioned it, but I also find it annoying that you might have 5800 EXP after beating the boss, and you basically waste all your EXP when placing the crystal. You should really get a free level up and then keep all the EXP you previously had. The game is hard enough as it is - cutting out some of the pointless grinding for EXP would not be a bad thing. Is this possible? So far I've been going back to farm skull bubbles before actually placing the crystal if I was a few hundred away.

* Regarding fixing the localisation, I have not read the page you link to, however, I think the following would be good:
- A clue revealing that Bagu is hiding in an invisible square in the swamp. I had to check online for this, and discovered other players have the same problem, wondering how anyone back in the day would find him without a guide. Someone in the river town really should tell you to find the hermit hiding in the swamp. One poster online joked that he thought Bagu was the town mayor, in hiding due to Ganon's "eyes" in the town, and that's why his note has the clout to persuade the bridge guard.
- Is there a clue for finding the water of life? I only found it by accident because someone said there's magic in a cave in some swamp. So I went back to that cave blocked by a rock in the firs swamp, and found the water of life in there. Not sure if this clue was referring to an actual cave with actual magic upgrade, or they meant water of life. But either way, it'd be nice if there was an obvious clue to "curative water" or "healing water" so people know how to cure the sick child.
- The kidnapped child clue is a bit rubbish. They say the child has been taken and is on an island. At first I thought they meant the maze island (which they do), but I could not find him. So I play the dungeon, I get the boots, and then I leave and walk to the Ocean Palace, which is also on an island, and I conclude: "Aha! This must be where the child is!" When in fact, no, the child is on maze island hidden to the south east. I had to use a guide for this after many hours of fruitless searching. Would be nice is the clue was a bit more on the nose - "The child is hidden in the maze on the island" or whatever fits.

Remember, anyone coming to this game for the first time in the current era, won't have copies of Nintendo Power, or necessarily friends playing it at the same time to help. They will only have in-game clues, or FAQs online which kind of spoil the experience.

* Any chance of assembly coding a map system into the game? The original Metroid on NES, and also Simon's Quest, both had map systems inserted into them, and they both work pretty damn well! I was astounded at how good the Metroid map is.

* Any chance of making the cave system easier to navigate? I managed to get through on trial and error, but it is kinda annoying. Not removing the maze, just... I dunno. Maybe having a letter or bit of text at the entrance/exit so you can keep track better?


REGARDING THE PALETTE

Please consider providing two patches, one with and one without the graphical changes. As any NES fan will know, the system does not natively output RGB, and there are various emulators which provide different types of palette. Basically what I'm seeing is not what everyone else is seeing, and vice versa.

To be honest, at first I thought the patch included the palette changes already - and then I checked a clean ROM and discovered everything looked the same.

Also, there is artefacting and natural blending of vertical lines on actual hardware. The easiest way to see this is load the original Zelda. See the two item boxes? The vertical columns look like they are twirling, like blue pieces of fusilli.

In Zelda 2, this inherent artefact causes an interesting "colour shimmer" on the roofs of houses when walking - as the screen scrolls the colours blend and artefact, and it seems to create artificial pseudo "extra colours", which resemble "dirty patches" on the roofs. Basically I still stick with the original NES, because I've yet to find an emulator filter which replicates these quirks which you find on CRT TVs.

Random evidence I googled:
http://forums.nesdev.com/viewtopic.php?t=7261

http://emulation.gametechwiki.com/index.php/Famicom_Color_Palette

http://www.firebrandx.com/nespalette.html

https://me.me/i/what-indie-developers-think-what-retro-games-actually-retro-games-5973719

https://www.youtube.com/watch?v=dQw4w9WgXcQ

I can also try to put a photo of my TV screen up. But looking at all the posted screenshots in this thread, they do not match what I see.

For me Link does not look like this on my TV:


He actually already looks more like this, but with grungy pixelation around the edges:


The browns are all darker, and the sky outside is much, much lighter than in emulated screens. This might also be related to my CRT TV settings.


CLOSING THOUGHTS
I've nearly finished the game anyway, so any further changes probably won't affect me.

So I'd like to say thank you for doing this and allowing me to go through the game again, properly, without quick saves, and enjoy the experience at the same time. It's been a lot of fun so far.  :thumbsup:

Shadic

  • Jr. Member
  • **
  • Posts: 36
    • View Profile
Re: Zelda II Redux
« Reply #129 on: May 06, 2018, 06:23:49 pm »
Okay guys, I think I know what I'll be doing next.
I already gave the text a try, and I can repoint the text to some free space near the $F000 address for text boxes which are somewhat short.

So what I can do right now is expand any text box that has between 1-3 lines up to 4 lines of text in the textbox.

Now what I'd like you guys to help me out with, is to determine which lines of dialogue sound odd, cryptic or out of place, so that I know which ones to focus on and rework them properly.

Here's the comparison list with a retranslation from the Japanese text to English and also comparing it to the default English translation:
http://www.glitterberri.com/adventure-of-link/retranslation/

With that said, if you guys have any specific suggestion for a line or something, let me know.
Just take into consideration that the text boxes have the following limitations:
  • Only 10 characters per row/line
  • Only 4 lines/rows per text box

So to accommodate any retranslated text, we have to remember that we can only write up to 40 characters (10 per row) in any given text box.
That is the only limitation at the moment, unless I find a way to expand the text box to some other width (hopefully at least 15 chars).

Please, let me know any text changes suggestions you may have!

I'm working on some translation stuff now..

Any idea how this line has 11 characters? It would really make things easier to have an additional character per row.


Here's what I've done so far with 10x7:
Code: [Select]
OLD:
EACH TOWN
HAS A WISE
MAN. LEARN
FROM HIM.

NEW:
EACH TOWN
HAS A WISE
MAN WHO
WILL TEACH
YOU MAGIC.

OLD:
FIND THE
HEART IN
SOUTHERN
PARAPA.

NEW:
THE SHORE
SOUTH OF
PARAPA
TEMPLE HAS
A HEART
CONTAINER.

ONLY THE
HAMMER CAN
DESTROY A
ROADBLOCK.

NEW:
IF YOU
HAVE A
HAMMER YOU
CAN BREAK
THE ROCKS
THAT BLOCK
THE WAY..

OLD:
GET CANDLE
IN PARAPA
PALACE.
GO WEST.

NEW:
THE CANDLE
IN PARAPA
TEMPLE CAN
LIGHT THE
WESTERN
TUNNEL.

OLD:
GORIYA OF
TANTARI
STOLE OUR
TORPHY.

NEW:
THE GORIYA
IN TANTARI
DESERT HAS
STOLEN OUR
GODDESS
STATUE.

OLD:
YOU SAVED
THE TROPHY
COME SEE
MY UNCLE.

NEW:
OH! YOU'VE
GOT OUR
STATUE!
COME TALK
TO MY
GRANDPA!

OLD:
IN PARAPA
DESERT USE
THIS MAGIC
TO SURVIVE

NEW:
THE TEMPLE
IS IN THE
PARAPA
DESERT.
PROTECT
YOURSELF
WITH THIS.

OLD:
I CANNOT
HELP YOU
ANYMORE.
GO NOW.

NEW:
I DON'T
HAVE ANY
MORE TO
TELL YOU.
GO NOW,
AND BE SAFE.

OLD:
HAMMER...
SPECTACLE
ROCK...
DEATH MTN.

NEW:
THERE IS A
SACRED
HAMMER
SOUTH OF
DEATH
MOUNTAIN.

OLD:
DO NOT GO
SOUTH
WITHOUT A
CANDLE.

NEW:
IT IS TOO
DANGEROUS
SOUTH OF
TOWN IF
YOU LACK
A CANDLE.
« Last Edit: May 06, 2018, 06:36:14 pm by Shadic »

Trax

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
    • Trax ROM Hacking
Re: Zelda II Redux
« Reply #130 on: May 06, 2018, 11:59:59 pm »
Ultima. Yes, my editor is progressing. I think most of the Side View edition works correctly. I just discovered a stupid flaw in my Overworld editor, a variable that was not correctly known at the time, but for some reason, it took me a long time before realizing the UI controls are not a correct representation of the bits in one of the Key Area tables. Even though it was sitting just before my eyes. There is a distinct value for the Region and the World (those names may be confusing, but they are just a convention) where a Key Area leads to. For years, my editor considered the two bit fields as one value.

Next I'll be working on a robust save function, where hopefully the new data will use the free space in an optimal fashion.

Midna

  • Hero Member
  • *****
  • Posts: 704
  • Resident Panel de Pon Nut
    • View Profile
Re: Zelda II Redux
« Reply #131 on: May 07, 2018, 12:24:14 pm »
- A clue revealing that Bagu is hiding in an invisible square in the swamp. I had to check online for this, and discovered other players have the same problem, wondering how anyone back in the day would find him without a guide. Someone in the river town really should tell you to find the hermit hiding in the swamp. One poster online joked that he thought Bagu was the town mayor, in hiding due to Ganon's "eyes" in the town, and that's why his note has the clout to persuade the bridge guard.

Bagu's location is hinted at in-game. There's a Bot in one of the houses in Saria that will tell you its "master is N of river" if you pester it enough.

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1250
    • View Profile
Re: Zelda II Redux
« Reply #132 on: May 07, 2018, 01:11:33 pm »
For Link's palette after a spell, look for RAM $70F. If I remember correctly, it contains 0x16 if Shield is in effect. It may be relevant.
Wasn't exactly at $070F, but it did helped out to find the related addresses. Thanks!
Also, I think I managed to pin down something in your disassembly which wasn't exactly labelled, I'll explain in a bit.

@ultimaweapon:

Here we go, dude.
The related bit of code which manages what colours are set after the Spell flash are found here:

Code: [Select]
L927C                                                                          ;
lda      $69CE,y                       ; 0x128c $927C B9 CE 69                 ;
sta      $0306,x                       ; 0x128f $927F 9D 06 03                 ;
lda      $69D4,y                       ; 0x1292 $9282 B9 D4 69                 ;
sta      $0307,x                       ; 0x1295 $9285 9D 07 03                 ;
lda      $69DA,y                       ; 0x1298 $9288 B9 DA 69                 ;
sta      $0308,x                       ; 0x129b $928B 9D 08 03                 ;
lda      $074B                         ; 0x129e $928E AD 4B 07                 ;; Spell Flash Counter (bit 7 set = decor flash)
asl                                    ; 0x12a1 $9291 0A                       ;
bcs      L9296                         ; 0x12a2 $9292 B0 02                    ;
ldy      #$04                          ; 0x12a4 $9294 A0 04                    ; Y = 04

What we need to focus on, is the series of LDA/STAs which load from RAM addresses in $69CE, $69D4 and $69DA, and then store the values in RAM $0306, $0307 and $0308.
I took a look at the RAM addresses starting at $69CE, and found out that it is loading a set of palettes which were currently labelled only as "Some_Palette" in the disassembly:

Code: [Select]
Table_for_Some_Palettes                                                        ;
.byt    $12,$16,$2A,$16,$0F,$0F,$30,$01; 0x2a00 $A9F0 12 16 2A 16 0F 0F 30 01  ;
.byt    $31,$01,$18,$01,$12,$21,$30,$21; 0x2a08 $A9F8 31 01 18 01 12 21 30 21  ;
.byt    $36,$21,$30,$01,$31,$01,$2A,$11; 0x2a10 $AA00 36 21 30 01 31 01 2A 11  ;

See the $18 and $36 at locations 0x002A0A and 0x002A10 respectively?
That's the $18 for the brown colour of Link at 0x002A0A, and the $36 for the skin colour of Link at 0x002A10.
Change these two to your liking, and reload the game completely to test out the changes. DO NOT LOAD a save state, as this will load the previous values before the change, you have to get to gameplay directly from a fresh restart to see the changes take effect.
You can also modify the $2A found at 0x002A16, as this is the $2A that Link uses for his green tunic in game.

That's one less thing to worry about :P

ultimaweapon

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: Zelda II Redux
« Reply #133 on: May 09, 2018, 08:23:20 am »
@ShadowOne - I'm going to try that on my lunch. Good thing I have a copy of my work on a flash drive.  :laugh:
I figured between you and Trax, one of you would figure it out!  Any more luck with the dialog box?

@Trax - I'm eager to see your new work. I have a mac emulator all ready to go once you launch it. LOL

@Shadic - I like the text changes you're looking to implement. Will all those changes fit in the limited space allotted?
Trust in the Heart of the Cards

Shadic

  • Jr. Member
  • **
  • Posts: 36
    • View Profile
Re: Zelda II Redux
« Reply #134 on: May 09, 2018, 09:10:57 am »
@Shadic - I like the text changes you're looking to implement. Will all those changes fit in the limited space allotted?
Thanks!

I'm not sure of a maximum size limit, but they'll all fix in the 10 wide, 7 rows of text limitation that ShadowOne33 provided.

Though I am still curious about if the line width is ten, or actually eleven...

ultimaweapon

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: Zelda II Redux
« Reply #135 on: May 09, 2018, 09:53:16 am »
Thanks!

I'm not sure of a maximum size limit, but they'll all fix in the 10 wide, 7 rows of text limitation that ShadowOne33 provided.

Though I am still curious about if the line width is ten, or actually eleven...

I think it's really 10 but in some areas can count for an 11th if it's just a punctuation. Don't quote me on that yet. LOL
Trust in the Heart of the Cards

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1250
    • View Profile
Re: Zelda II Redux
« Reply #136 on: May 10, 2018, 03:54:29 pm »
@ShadowOne - I'm going to try that on my lunch. Good thing I have a copy of my work on a flash drive.  :laugh:
I figured between you and Trax, one of you would figure it out!  Any more luck with the dialog box?

No luck yet :(
I've been around and around what I think it's bits of code that might be related to the empty row of tiles form the Dialog boxes, but no luck so far.
I am feeling inclined to ask Trax for some help again, since I can't figure it out yet.

May 14, 2018, 05:32:29 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Well seems like I successfully modified the palettes the way I wanted them.
Link now has the new palette and he seems to be keeping it after a spell is used.
I also took the liberty to modify the townsfolk skin tone to a more lighter shade, instead of the pinkish one.
Looks way nicer imo.

Though I don't have a functional IPS patch yet, since the text boxes are broken still.
Well, not broken, but I still have the empty tile row overwriting the above one.

@Trax, I really don't want to be a bother, but I am really hitting the wall hard here xP
I can't seem to find a way to effectively make the text box print 7 lines without overwriting the above one.
Could you please lend a helping hand to this poor soul?
« Last Edit: May 14, 2018, 05:33:13 pm by ShadowOne333 »

Trax

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
    • Trax ROM Hacking
Re: Zelda II Redux
« Reply #137 on: May 14, 2018, 10:20:16 pm »
I think you suffered long enough :P . At least, you put an honest effort, and I think it's what matters.

Here's the recipe, with 4 changes:

Code: [Select]
F66A: 69 40 ADC #$40 -> F66A: 69 20 ADC #$20
F6F6: 8D 0603 STA $0306 -> F6F6: 8D 0503 STA $0305
F739: 8E 0503 STX $0305 -> F739: 8E 0603 STX $0306

And to have the text start one line lower:

F619: A9 00 LDA #$00 -> F619: A9 20 LDA #$20

In brief, what this does is: add 0x20 to the Name Table address offset (RAM 48A for Y offset) instead of 0x40 when a line break happens, swap the values set to 305 and 306, and start the first line at offset 0x20 instead of 0 (RAM 489 for X offset).

Now, for the complete explanations. When you deal with background tiles, like in this case, you have understand the concept of Name Tables. Those are memory spaces in PPU RAM that determine every tile code that is drawn on screen. They are layered out on a 0x20 x 0x1C matrix, which is enough to cover the entire sreen. Name Table 0 starts at 0x2000 in PPU RAM (not CPU RAM, it would be an invalid address anyway). Name Table 1 at 0x2400. The NES allows up to 4 Name Tables, but Zelda II uses 2, for horizontal scrolling in Side View mode. I'm not sure what setup is used for Overworld, though.

When a text box is being drawn, some weird arthmetic is done to determine where in the Name Table(s) the initial offset of the box, and then the first text letter, will be. Most of the time, you are somewhere between the boundaries of the 2 Name Tables, because you are not either on the extreme left or right of the current area. This part is done somewhere else and is not modified for this hack. However, little aparté, it's what makes it so hard to actually modify the text box size.

Because a Name Table is 0x20 (32 decimal) tiles wide (the number of tiles you can have in a horizontal row that covers the entire width of the screen), adding 0x20 to the Name Table offset address is the equivalent of going exactly one tile down on the screen. Adding 0x40 will go down 2 tiles. Hence, the change from 0x40 to 0x20 at F66A in the code. Of course, if you only do that (and that's probably what ShadowOne tried), the first line will draw okay, but the second line will erase the previous one. That's because each letter that is drawn is actually two tiles high, to account for the eventual accent tile, which is not needed in English, but is in Japanese.

If you swap the two tiles (letter and accent tiles), you effectively write the letter in the UPPER part of the two-tile group, and the lower part is always en empty tile, which only deletes what's below the current line being drawn. And that, we don't care, because there's nothing there to begin with. The only caveat is that if we draw up to the last line, we will delete the lower border of the text box. That's why we can't have 8 lines, only 7.

The tile codes in 305 and 306 represent, respectively, the accent character (the upper tile), and the letter character (the lower tile), in the PPU Macro we discussed earlier in this thread. If we put the letter in 305 and the accent in 306, we get the result we want, without having lines of text deleted in the process.

So that's it. I can show you a screenshot of what it's supposed to look like using one of Shadic's new translations. Or I can let ShadowOne do the honors. By the way, if you really don't want to touch any border of the text box, then you are actually limited to 6 lines of text. But you can use the last line if you think it's esthetically acceptable. The original game uses the bottom line.
« Last Edit: May 14, 2018, 10:35:32 pm by Trax »

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1250
    • View Profile
Re: Zelda II Redux
« Reply #138 on: May 16, 2018, 01:05:56 pm »
Oh wow @Trax, thank you SO much for the very detailed information, it certainly helped out a lot to understand how each bit of change worked and what it did for the end result.

I was SO close with the changes in the $0305 and $0306 addresses, but I was changing 303 and 304 haha, I never thought about changing those two :(
Oh and btw, the addresses you wrote are not PC addresses, but rather the NES addresses.
The PC addresses for those are:
Code: [Select]
0x00F629: A9 00 LDA #$00 -> 0x00F629: A9 20 LDA #$20
0x00F67A: 69 40 ADC #$40 -> 0x00F67A: 69 20 ADC #$20
0x00F706: 8D 06 03 STA $0306 -> 0x00F706: 8D 05 03 STA $0305
0x00F749: 8E 05 03 STX $0305 -> 0x00F749: 8E 06 03 STX $0306
Just for those that would like to find the code through a Hex editor :)


So, here is the latest patch with the palettes and new dialog box changes :)
https://www.dropbox.com/s/9nvida92kyh5svj/Zelda2Redux.ips?dl=0



And here's a little example I made out of the sign in Rauru :P



Thank you SO much, Trax, seriously.
That was of great help to be able to expand the text and be able to have a little more liberty with the text instead of being limited to what he had previously.

I will start redoing some bits of text once I am done with the balancing of some more enemies :)
Thanks again!

TheFireRed

  • Restricted Access
  • Jr. Member
  • *
  • Posts: 43
  • Fall of Fall
    • View Profile
Re: Zelda II Redux
« Reply #139 on: May 16, 2018, 02:39:28 pm »
So, here is the latest patch with the palettes and new dialog box changes :)
https://www.dropbox.com/s/9nvida92kyh5svj/Zelda2Redux.ips?dl=0

Congrats on your project and your effort so far! I wanted to test this patch it seems to do nothing. I used both FLIPS and LIPS and the checksum of the patched file matches with the original.