Romhacking.net

Romhacking => Personal Projects => Topic started by: ShadowOne333 on October 10, 2019, 12:04:03 pm

Title: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 10, 2019, 12:04:03 pm
Continuing over with improvement hacks I've done, I decided to tackle Zelda 1 as a possible project for a Redux project.
"But Shadow, what about Zelda 2?! That one's not done yet and you are already making another?"
Yeah, don't worry :P Zelda 2 Redux is still going on, and it will get released eventually :)

But to focus on Zelda 1 Redux, here's a download of the current beta I have at the moment:
https://www.dropbox.com/sh/1gjt2kdhwgrc3yf/AAB64qBLvnw0FRcJOT5qTygEa?dl=0

The base ROM for this hack is the PRG0 version of Zelda 1.
Now, let's go over the features that I want a possible version of Zelda 1 Redux to have:


Help needed for these points:

Possible additions (these might NOT be implemented in the final hack):

Optional patches (so far):

This is what I have currently planned for a possible Zelda 1 Redux.
Many of the points I have already done myself already, as you could possibly tell from the beta patch posted.
However many of these still remain.

Also, if there's anything that you have always found obnoxious from Zelda 1, please do tell me, anything that can be done to make Zelda 1 a much better experience is welcome as a suggestion for the hack!
Please let me know of any ideas, suggestions, or if you know of a way to cover one point in the list as well!
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: CoolCatBomberMan on October 10, 2019, 03:15:37 pm
This is really good so far! I especially liked the cracked walls within the dungeons. I ended up learning something new about the first dungeon, of all things!
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: triforce141 on October 10, 2019, 03:54:07 pm
The only suggestions I have are to carry over some mechanics of the Game Boy Zeldas.
Here's a mockup animation of what the sword attack would look like:
(https://cdn.discordapp.com/attachments/491454402440462368/631928393713319966/Swing2.gif)
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: wolpak on October 10, 2019, 04:20:58 pm
A few cool things from another Zelda mod that may or may not be in scope was having a different arrow counter and dropping arrows instead of them using money.  Also, the B button item on the main screen was as sexy as it could get.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: IAmCaptPlanet on October 10, 2019, 05:16:42 pm
i would LOVE to have the Legend of Link item rotation (using select to swap out 3 different items)

the sword "swipe" instead of "poke"

the charged spin attack

and a map similar to Legend of Link, maybe show the map when using the warp flute, and make the destinations selectable.

redux on dude!

Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 10, 2019, 05:31:28 pm
Thanks, guys!
I already added some points marked as done, and I have also successfully implemented the bombs to 10 as default and the upgrades to 20/30 thanks to DarkSamus' help.

A few cool things from another Zelda mod that may or may not be in scope was having a different arrow counter and dropping arrows instead of them using money.  Also, the B button item on the main screen was as sexy as it could get.

What Zelda mod does the arrow thing? If I may ask.
Also, what do you refer with the B button thing? :P

i would LOVE to have the Legend of Link item rotation (using select to swap out 3 different items)

the sword "swipe" instead of "poke"
the charged spin attack
and a map similar to Legend of Link, maybe show the map when using the warp flute, and make the destinations selectable.
redux on dude!

I'm a little torn on the "swipe" thing to be honest.
For one, I'd love to have such a thing in the original Zelda, but that makes me thing just how much would it break the game since all of the enemies and the dungeons are design for the "stab" behaviour of Link.
I'm wondering if it would make the game too easy, and/or if it would deviate a lot from what makes Zelda 1... Zelda 1.
The warp flute sounds interesting, but fairly difficult to implement in a technical point. Is a nice concept, but sadly one I don't think I may do on my own.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: mdtauk on October 10, 2019, 05:50:55 pm
There was a mod where the sword stab was replaced by a sword swing.

I think all the QoL improvements that were implemented into A Link to the Past and Link's Awakening should be implemented.

On a personal point, I think a Zelda 1 redux would basically look like Link's Awakening but with Zelda 1's maps and dungeons.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lastdual on October 10, 2019, 07:37:31 pm
Some great ideas here, though I have to ask: Have you ever considered a similar project for Ys?

Zelda 1 has a ton of great hacks, but the NES version of Ys 1 has seen little love since the translation and could really use a few QoL improvements (the screen not scrolling until you're right by the edge is rather problematic in a game with bump combat, for example).
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: pleasejust on October 11, 2019, 01:04:48 am
Making bomb upgrades increase by 10 is a bad idea. This will severely reduce the value of bomb drops in-game. It wasn't even really much of an issue. The game drops a satisfying amount of bombs for the player. Maybe you can increase it by 1 to 5 but not 10. That's ridiculous. Especially since you plan to add cracks to the walls. This means you don't have to bomb everything anymore to find secrets (I assume)... If anything this game needs to have it's rom size increased and a new, larger overworld and dungeons made. Nobody seems to really be able to do this right, though, and in a way that has a level of difficulty similar to the original.

Make sure this is compatible with Modern Classic Edition or add improved graphics into the hack. They're so much better.

Everything else is good.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Jeville on October 11, 2019, 01:29:49 am
Making bomb upgrades increase by 10 is a bad idea. This will severely reduce the value of bomb drops in-game. It wasn't even really much of an issue. The game drops a satisfying amount of bombs for the player. Maybe you can increase it by 1 to 5 but not 10. That's ridiculous. Especially since you plan to add cracks to the walls. This means you don't have to bomb everything anymore to find secrets (I assume)... If anything this game needs to have it's rom size increased and a new, larger overworld and dungeons made. Nobody seems to really be able to do this right, though, and in a way that has a level of difficulty similar to the original.

Make sure this is compatible with Modern Classic Edition or add improved graphics into the hack. They're so much better.

Everything else is good.
I agree that a 10 increase is excessive; bombs have the same power as the Magical Sword. I also feel it should be a 5 increase in upgrades at most.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: wolpak on October 11, 2019, 03:10:08 pm
Thanks, guys!
I already added some points marked as done, and I have also successfully implemented the bombs to 10 as default and the upgrades to 20/30 thanks to DarkSamus' help.

What Zelda mod does the arrow thing? If I may ask.
Also, what do you refer with the B button thing? :P

I'm a little torn on the "swipe" thing to be honest.
For one, I'd love to have such a thing in the original Zelda, but that makes me thing just how much would it break the game since all of the enemies and the dungeons are design for the "stab" behaviour of Link.
I'm wondering if it would make the game too easy, and/or if it would deviate a lot from what makes Zelda 1... Zelda 1.
The warp flute sounds interesting, but fairly difficult to implement in a technical point. Is a nice concept, but sadly one I don't think I may do on my own.

Legend of Link when ended up going off it's rails redoing all graphics and maps and whatnot.  Great ideas in there though.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 11, 2019, 04:12:49 pm
Making bomb upgrades increase by 10 is a bad idea. This will severely reduce the value of bomb drops in-game. It wasn't even really much of an issue. The game drops a satisfying amount of bombs for the player. Maybe you can increase it by 1 to 5 but not 10. That's ridiculous. Especially since you plan to add cracks to the walls. This means you don't have to bomb everything anymore to find secrets (I assume)... If anything this game needs to have it's rom size increased and a new, larger overworld and dungeons made. Nobody seems to really be able to do this right, though, and in a way that has a level of difficulty similar to the original.

Make sure this is compatible with Modern Classic Edition or add improved graphics into the hack. They're so much better.

Everything else is good.

I ALWAYS had issues with finding bombs from drops in the original game.
Maybe it's just my shitty luck, but that's why I bumped the amount of bombs you can get.
Iirc you get the first bomb upgrade by the time you already have the White Sword, so it's not that much of an OP item.
Besides, if people want to change the value of upgrades, they can easily do so with a one byte change, or wait until I release the source of the project (as I intend to do once it's done).

Also, the improved graphics ala Link's Awakening will be an optional patch, it won't be in the main hack.

Legend of Link when ended up going off it's rails redoing all graphics and maps and whatnot.  Great ideas in there though.

Ah you're right.
I just gave it a look again, and it does have a separate counter for arrows.

It would really be nice if Legend of Link's source was shared, it would make for implementing the arrows as drops and its own counter way better, and the same would go for the diagonal swing of the sword. But I feel like those are such extensive ASM hacks, and way out of my scope given my limited range of ASM knowledge, sadly :/
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on October 11, 2019, 07:22:19 pm
I found the code for text typing speed. RAM $29, set to 06 at 0x481D. Change 06 to any number to change the delay between letters. Lower value makes text type faster. I think a value of 03 or 04 would be good.

As for bombs, you can always insert a few more bombs into the Item Drop Distribution Table (unofficial name). Check this handy visual chart made by Baxter:
https://www.zeldaspeedruns.com/loz/generalknowledge/item-drops-chart

RAM $052A is a counter for enemies killed. Resets to 0 after 9. Enemy Group X never gives items, so they don't have any associated table. Each other group has a probability coefficient of dropping an item, taken from table at 0x1303E. For example, Enemy Group B has a value ox 0x98 = 152 decimal. Randomizer value must be lower than the coefficient, so 152 / 256 = 59% chance of item drop. If the enemy gives an item, it's taken from the corresponding table the enemy code belongs to, and the index is $052A. Check my disassembly of Bank 4 for more details:

http://www.bwass.org/romhack/zelda1/zelda1bank4.txt

As you can see from the chart, only Group B gives bombs. You could have other enemy groups give bombs, to balance things out.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: mdtauk on October 11, 2019, 07:59:36 pm
Increasing Bombs by 10, would bring it into line with the future Zelda games.  It makes sense to take all those tweaks and changes made since the original, to improve the game.

If like your Zelda 2 project, the mods are done as separate files - then you are free to add as many as you want, and those looking for a purer Zelda 1, can choose only those elements they want.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: pleasejust on October 12, 2019, 03:11:23 am
increase bombs by 10 because... the other games do it? That's not a good reason at all. Who cares if the the other games do it. You have to look at it on a per-game basis. There's no good reason to do it in Zelda 1, it devalues bomb pickups. Period. If you want to devalue them, fine. But that sucks.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DannyPlaysSomeGames on October 12, 2019, 04:30:25 pm
Good to see that you've started working on a Zelda 1 hack! I honestly feel like Zelda 1 has the same issue as FF1 hacking in which there's like a handful of hacks that "rehaul the entire game but for all the wrong reasons or no reason" but not a proper "definitive edition" to play (I was planning on maybe doing that with FF1? not sure), so this would most definitely be a welcome addition.

As for any contributions or changes I can give, there's that Z1 hack/translation of mine (http://www.romhacking.net/hacks/4311/) you reviewed a while back, if you want to take a few notes from there (the Readme has all the little touches I added, though if you want to do most of this project on your own, that's completely fine and fair).

Outside of that, I can't really tell what other additions to give, except for the fact that it would be very nice if you could add in the select switchfrom Legend of Link,  or something similar in that regard (not having to constantly pause for weapon switches), and maybe some boss balancing? (Digdogger and Gohma are just absolutely pathetic, and some bosses like the Hydra-like dragon are irritating). As for other suggestions, I'm really against the idea of the sword swing mechanic because then that somewhat falls into the pit of the aforementioned "rehaul for no reason" hack.

But yeah, this seems like a great idea! Hope the project goes well.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: triforce141 on October 12, 2019, 10:46:45 pm
If sword swinging doesn't happen in the end, I still suggest that Link shouldn't be able to change direction during the sword poke animation so you can't accidentally face the wrong way for the attack and sword beams.

That, and common enemies having some sort of very brief stun or one tile long knockback when they get hit by the sword, there are too many instances where Link will hit an enemy, they take damage, but continue to walk forward as if nothing happened and hit Link, who is still stuck in his attack animation. Something along those lines where you're given just enough breathing room after connecting a hit, but not so much where you can cheese your way to victory with continuous stagger.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Thanatos-Zero on October 13, 2019, 08:22:25 am
ShadowOne333, so you wish to follow into Infidelity's footsteps.

First I wish to applaud to you for to take on such a huge challenge, but honestly speaking, it might be better overall for you to create your own NES homebrew game instead, taking Zelda as a inspiration or atleast recreate it as you see fit.
The original Zelda was pestered with so much hardcoding, it gave Infidelity and me a large amount of frustration. Some of my redesigns, were simply too big.

Not to forget to mention, he has put himself under his own deadline for his own project, but the results are less than optimal.

If it wasn't for the hardcoding, the game would have been more polished.
Mind you, I was only the graphic artist, but my journey with him gave me insight of how troublesome it is to altering a game, without the source code being available.

Edit: It might good to heed to criticism from the other reviewers, so you can avoid right off the bat some mistakes on the line.
http://www.romhacking.net/reviews/1934/#review
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DavidtheIdeaMan on October 13, 2019, 12:12:37 pm
Im glad to see that this game is getting a proper remaster,I can't wait to try out the final product of this game,keep up the great work. :)
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Shade Aurion on October 13, 2019, 02:02:06 pm
I'm kinda surprised you aren't going with Legend of Zelda - Quest 3 (SNES) as a base for the Zelda 1 Redux as its probably the best version of the classic game available
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 14, 2019, 11:22:59 am
I found the code for text typing speed. RAM $29, set to 06 at 0x481D. Change 06 to any number to change the delay between letters. Lower value makes text type faster. I think a value of 03 or 04 would be good.

As for bombs, you can always insert a few more bombs into the Item Drop Distribution Table (unofficial name). Check this handy visual chart made by Baxter:
https://www.zeldaspeedruns.com/loz/generalknowledge/item-drops-chart

RAM $052A is a counter for enemies killed. Resets to 0 after 9. Enemy Group X never gives items, so they don't have any associated table. Each other group has a probability coefficient of dropping an item, taken from table at 0x1303E. For example, Enemy Group B has a value ox 0x98 = 152 decimal. Randomizer value must be lower than the coefficient, so 152 / 256 = 59% chance of item drop. If the enemy gives an item, it's taken from the corresponding table the enemy code belongs to, and the index is $052A. Check my disassembly of Bank 4 for more details:

http://www.bwass.org/romhack/zelda1/zelda1bank4.txt

As you can see from the chart, only Group B gives bombs. You could have other enemy groups give bombs, to balance things out.
Thank you so much for that info!
I have already made the text speed change, set it to $04 since I feel $03 prints too fast for the SFX to catch up with it.
As for the bomb drops info, I haven't done any changes yet, but I'll see what I can do with the info provided. :)
Very appreciated!

Good to see that you've started working on a Zelda 1 hack! I honestly feel like Zelda 1 has the same issue as FF1 hacking in which there's like a handful of hacks that "rehaul the entire game but for all the wrong reasons or no reason" but not a proper "definitive edition" to play (I was planning on maybe doing that with FF1? not sure), so this would most definitely be a welcome addition.

As for any contributions or changes I can give, there's that Z1 hack/translation of mine (http://www.romhacking.net/hacks/4311/) you reviewed a while back, if you want to take a few notes from there (the Readme has all the little touches I added, though if you want to do most of this project on your own, that's completely fine and fair).

Outside of that, I can't really tell what other additions to give, except for the fact that it would be very nice if you could add in the select switchfrom Legend of Link,  or something similar in that regard (not having to constantly pause for weapon switches), and maybe some boss balancing? (Digdogger and Gohma are just absolutely pathetic, and some bosses like the Hydra-like dragon are irritating). As for other suggestions, I'm really against the idea of the sword swing mechanic because then that somewhat falls into the pit of the aforementioned "rehaul for no reason" hack.

But yeah, this seems like a great idea! Hope the project goes well.
Oh I didn't even remember I did that review lol
The changes do sound interesting :)
From those, I would like to ask what palette did you choose for the Triforce in the title screen, and the tunics?
And also, what text changes did you do to incorporate the so called "Old man/Old woman" phrasing that Mato mentions in LoL?

ShadowOne333, so you wish to follow into Infidelity's footsteps.

First I wish to applaud to you for to take on such a huge challenge, but honestly speaking, it might be better overall for you to create your own NES homebrew game instead, taking Zelda as a inspiration or atleast recreate it as you see fit.
The original Zelda was pestered with so much hardcoding, it gave Infidelity and me a large amount of frustration. Some of my redesigns, were simply too big.

Not to forget to mention, he has put himself under his own deadline for his own project, but the results are less than optimal.

If it wasn't for the hardcoding, the game would have been more polished.
Mind you, I was only the graphic artist, but my journey with him gave me insight of how troublesome it is to altering a game, without the source code being available.

Edit: It might good to heed to criticism from the other reviewers, so you can avoid right off the bat some mistakes on the line.
http://www.romhacking.net/reviews/1934/#review
I can 100% understand why you say this.
From what I'm seeing and the code I have modified, Zelda 1 seems way too limited in terms of coding.
Some might say it's even obnoxious, not even Zelda 2 is as barebones as this one.

For as much as I'd like to recreate Zelda 1 as an NES homebrew game, I lack such expertise to make my own NES game, both in terms of 6502 coding and overall knowledge of the NES system.
What I will attempt is to make the best I can out of what the original game has and offers.
Thankfully enough, the game does have some free space to work with, and there's also the MMCX patches floating around, so if I do run out of space, maybe going for those could open up way more space if desired.

Both you and Infidelity made an amazing job with the Legend of Link hack. It's one of the most technically impressive hacks I've seen. The arrows and diagonal slash hacks he did really improve upon the original's mechanics. Just wish I could somehow implement it, even if they were optional patches haha.
And I do understand what you say about altering the original too much, that's why I tend to offer "optional" patches, so that people can customize the hack to their liking. If they don't like a certain change, they can undo it, and so on with changes that might seem too controversial. :P
Thanks for your input!

I'm kinda surprised you aren't going with Legend of Zelda - Quest 3 (SNES) as a base for the Zelda 1 Redux as its probably the best version of the classic game available
I'm not sure if I follow.
Do you mean BS The Legend of Zelda, the Satellaview ROM?
If that's so, then that's because that one is not as well-known of a Zelda game, and while it is indeed a Zelda 1 Remake, it is a completely different beast on its own. For starters, there's little to no documentation for it, and that's already a huge downside. Not to say it can't be done, I have done a lot of research on previously undocumented stuff (EarthBound mainly), but I wanted to improve upon the original first game on NES.
After all, this is the game that started the whole franchise. I think it deserves a good overhaul to make it much more enjoyable by mitigating or improving on some issues it had.

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


Out of that, I have updated the beta patch with the current version I have :)
Be sure to check it out in the link provided at the OP.

I have also created an "Optional patches" folder in the link, in which you can find a patch that changes the amount of bombs the upgrades gives you from 10 per upgrade, to 5 per upgrade, as requested by some people in here.
I might also start working on the optional graphics patch for Redux, since many people seem to be requesting "Link's Awakening" like graphics for Redux. And while I am strongly against modifying the original's graphics to that extend, I can at least offer such a patch as an optional thing for those that desire it.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DannyPlaysSomeGames on October 16, 2019, 03:32:40 pm
Oh I didn't even remember I did that review lol
The changes do sound interesting :)
From those, I would like to ask what palette did you choose for the Triforce in the title screen, and the tunics?
And also, what text changes did you do to incorporate the so called "Old man/Old woman" phrasing that Mato mentions in LoL?

Triforce animation palettes are 2828282838303038 (palettes are located at addresses 9873-987A), though if you wanted a (maybe) smoother animation, then try 2828383830303838 (or experiment combinations of the main colors in there, which are 28, 38, and 30).
Tunic palettes are 22 (from 32) for blue tunic and 26 (from 16) for red tunic (heads up, there's actually 2 addresses for each tunic palette; one for when Link first picks up either ring (6B95-6B97) and one attached to your save file if the game detects your save file has either ring or not (A297-A299)).

So, on the topic of rewriting (get ready for a somewhat loaded answer):

How I rewrote the overworld/dungeon dialogue is basically
-Take original dialogue and translated dialogue from Legends of Localization
-Try to take which version of the line sounds better (if both are bad, then make a new line from scratch)
-Paraphrase it in a way that is more accurate, fits the space and is in character

The way I wrote the old man and lady is that I used much rarer synonyms of words, not only to help make them sound wiser, but also to save space on text (most of it was done in ZeldaTech, so I was limited to the space of the original lines. Luckily, though, I could just remove the blanks tiles that centered the text and I could cram in some more.

To differentiate the two, I made the old man speak a little bit more like a wise guide and have the old lady be a bit more casual, alongside referring to Link as "Dearie". Though, due to constrictions, I had to compensate and make statements shorter (I put in parenthesis what I could have possibly wrote if I had more space). Here's a few examples:

-Original: Walk into the waterfall
-My take: Behind the waterfal, lies an ally (Veiled by the waterfall, an ally awaits)
-Original: There are secrets where fairies don't live
-My take: Over a fairyless pond, play the Demon's song

-Original: Buy medicine before you go
-My take: Care to buy my brews, dearie? (Would you like to buy from my brews, dearie?)
-Original: Boy, you're rich!
-My take: Burn the loose tree. (Try to burn the tree that sticks out)

As for the shopkeeper, it was just tinkering the first line a bit and rephrasing the second one to make him sound more brash:

-Original: Boy, this is really expensive!
-My take: Care to buy me finest wares, me boy?

And that's basically what I did.

For as much as I'd like to recreate Zelda 1 as an NES homebrew game, I lack such expertise to make my own NES game, both in terms of 6502 coding and overall knowledge of the NES system.

If you want an easy alternative, NESmaker (https://www.thenew8bitheroes.com/the-shop.html) works I guess, but if you really want to pull off some of the really cool perks ROM hacks tend to have, then you'd still need to learn ASM.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Thanatos-Zero on October 16, 2019, 05:55:36 pm
There are plenty of seasoned NES hacking veterans ShadowOne333.
If you need help in ASM, they can teach it to you.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on October 17, 2019, 01:47:13 am
Been playing through and have to say this is coming along nicely. I have found an inconstancy when using the "Links Awakening GFX" patch. The graphic show is that of the "Skull" key, but the game refers to it as the "Lion" key in several places. Also, when Link or enemy's shoot arrows, when they are shot horizontally, they show the LA GFX but when shot vertically the original arrow GFX are shown.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 17, 2019, 10:24:11 am
@DannyPlaysSomeGames the text points are really interesting. I'll take a look at the lines I've done and see if they can be reworked in a better way.
As for the title screen, I already had edited the title screen palette animation myself for my hack, but with your animation sequence the title screen looks so much better and not as bland!
I implemented it, and reworked it a little so the animation goes a little bit more smooth.
Thanks!

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

There are plenty of seasoned NES hacking veterans ShadowOne333.
If you need help in ASM, they can teach it to you.
I am trying to do some learning on my own, for as limited as my learning in coding is at times haha, but I can say for sure that this community is amazing, I have had some great hackers help me before with some neat stuff that I could only dream of achieving. I am very grateful too all of those that have helped me so far!

Been playing through and have to say this is coming along nicely. I have found an inconstancy when using the "Links Awakening GFX" patch. The graphic show is that of the "Skull" key, but the game refers to it as the "Lion" key in several places. Also, when Link or enemy's shoot arrows, when they are shot horizontally, they show the LA GFX but when shot vertically the original arrow GFX are shown.
Oh yeah, for some reason the vertical sprite was still the original one.
I have already updated the GFX patch, and also renamed the Lion key to Skull key.
Try it again :)
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on October 18, 2019, 03:19:06 am
Oh yeah, for some reason the vertical sprite was still the original one.
I have already updated the GFX patch, and also renamed the Lion key to Skull key.
Try it again :)
Ok cool! I'll give them both a run and chime back in soon!
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: superfantendo on October 18, 2019, 08:26:59 am
Looks like excellent work.

Please feel free to steal from http://www.romhacking.net/hacks/1295/ (http://www.romhacking.net/hacks/1295/)
I think these things were unique and worthwhile to carry forward:



Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 18, 2019, 11:42:59 am
Went ahead and added a couple more points to the OP.
I already managed to modify a lot more things.
I'm currently in the process of transcribing everything I've done to this hack in .asm form, or rather make proper source code for the whole project.

Looks like excellent work.

Please feel free to steal from http://www.romhacking.net/hacks/1295/ (http://www.romhacking.net/hacks/1295/)
I think these things were unique and worthwhile to carry forward:

  • I recolored (maybe 5 or 6 of) the dungeons to give them all a unique palette but also make them fit thematically with the type of terrain surrounding their entrance. For example, 5 is brown (mountain), 8 is green (forest). I made 2 purple because I needed a purple one and wanted something weird for the moon-shaped dungeon.
  • It has Link's Awakening graphics like many other hacks but I also retrofit the bosses from their Oracle of Seasons incarnations.
  • Title screen with more recent Zelda logo
  • Candle=Lantern, Ring=Tunic etc.
The optional GFX hack I made is actually taken from that project :P
Same applies for the title screen stuff and other things in your point.
The tunic I am keeping in the main hack and I have went ahead and renamed the red and blue rings to tunics, alongside their proper graphics.

Only thing I haven't implemented from that hack is the the recoloured dungeons.
I'd love to have such a thing for each dungeon, but I still haven't done enough research on Dungeon data to get to that point. I might actually implement that specific change into the main hack, but I'm not sure yet if keep it in the main hack, or make it optional.

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

I've been doing some research on unused Zelda 1 graphics, and bumped into this image:

(https://www.spriters-resource.com/resources/sheets/8/8375.png)

Can someone confirm if the two tiles for water marked as unused in that image are actually unused in the final game?
I want to see if I can somehow implement cracked walls for the overworld as well.

@Trax, if you're reading this, do you know if the overworld tiles have a similar method (as the dungeon walls) for possibly adding cracked tiles to the overworld as well?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: KevvyLava on October 18, 2019, 08:23:36 pm
I got this to happen somehow: https://imgur.com/a/bGgZy35

Not sure if it's related to the hack.  Happened after I came out of the Bow room and walked to the next room.  Using Mesen 0.9.8 if that matters.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 18, 2019, 08:48:06 pm
I got this to happen somehow: https://imgur.com/a/bGgZy35

Not sure if it's related to the hack.  Happened after I came out of the Bow room and walked to the next room.  Using Mesen 0.9.8 if that matters.
I can't find anything odd at first glance.
Could you help me point out the issue?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on October 18, 2019, 11:17:28 pm
I got this to happen somehow: https://imgur.com/a/bGgZy35

Not sure if it's related to the hack.  Happened after I came out of the Bow room and walked to the next room.  Using Mesen 0.9.8 if that matters.

I've had that happen on the automap + hack before pretty often. The floor tiles of some of the dungeons will just randomly change color.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on October 19, 2019, 04:07:33 am
Ok, tested the updated patches. Everything seems to be working well! The text and arrow GFX look good.

The remaining proposed changes seem very compelling. Will be happy to test when you need testers.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: darthvaderx on October 19, 2019, 09:58:57 pm
A long time ago I had this same idea of ​​merging several hacks into one and the result was this:

Automap Plus_0.2 + Relocalized_0.9 + Blue-er Ring Hacks

In Relocalized v0.9 had an interesting feature:

Quote
Staircases Removal.ips:
 
   Removes the secret staircases found outside Level 5 and 6 (1st Quest) and
   outside a 30 rupees location (2nd Quest). Perhaps early entrances the
   developers forgot to remove. The limitation of only one entrance per screen
   forces them to be just secondary entrances to the labyrinths no matter what,
   and if you exit the labyrinth when you have entered it from the secondary
   entrance, the walking on stairs animation is absent.

And something they were planning:

Quote
Left to do:

 * Implement the smooth screen transitions when you enter or exit a cave seen
   in the Japanese Famicom rerelease.

Finally I had done the same things that were done in 'Link's Awakening Redux', except that I used the hack that changed the font to the same as Oracle of Age / Seasons.

Font Improvement_1.2 + Censured Graphics Restored_1.1 + Photo Album Translation + Quality Of Life Improvements Hacks


The thing I like to do with older games is to mix hacks into something new.  8)

Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 19, 2019, 10:32:47 pm
The staircases removal is already implemented. I did it manually when I noticed it.
As for Link's palette in Dungeon 3, I completely reworked it in what I think is a much better palette choice that doesn't sacrifice much.

Added more points to the OP.
I think these should be the final ones.

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

To anyone who has any experience hacking Zelda 1's overworld:
Do you know if it's possible to create new strips of tiles so the ow doesn't look as blocky?
Like adding some diagonal tiles or something to give it more of a rounded shape.

I'm not sure if the overworld can deal with a per-tile kind of mapping, or if it's hardcoded to do vertical tile "strips".
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DannyPlaysSomeGames on October 19, 2019, 10:50:13 pm
Quote
Left to do:

 * Implement the smooth screen transitions when you enter or exit a cave seen
   in the Japanese Famicom rerelease.

Oh right! I was gonna comment on a few things about the TCRF stuff.

Aside from the smoother screen transitions, I was also curious about finding a way to reduce the slowdown so that the game doesn't lag as bad (though considering how hardcoded it is, I feel that is a much more daunting task).

In other news, I'm glad that I was able to help out with the project, ShadowOne. I always try my best to share ideas and support others.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on October 20, 2019, 06:48:49 pm
In Zelda 1, there are two ways to determine the tiles that make up one 2x2 tile unit. If the Tile Code is lower than 0x10, then the four tiles are arbitrary, and selected from table at 0x169B4. If it's >= 0x10, it always follows the pattern C,C+1,C+2,C+3. So, for example, Secret Tile 0xE6, which is a Bombable Wall, has Tile Code 0xD8. It means that the 2x2 unit is made of D8-D9-DA-DB, in inverted N order.

For secret tiles, look at 0x16976, in bank 5. There are 6 different values for the 6 different secret tile codes, from 0xE5 to 0xEA. That's for the Overworld.

For Dungeons, all the Tile Mapping codes you need are at 0x15FEE. If you have the graphics you want, it should be straightforward.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Rodimus Primal on October 20, 2019, 08:00:53 pm
I'm kinda surprised you aren't going with Legend of Zelda - Quest 3 (SNES) as a base for the Zelda 1 Redux as its probably the best version of the classic game available

I'd LOVE for that to be reworked to be a complete SNES version of the NES game with Quest 1 and 2 levels.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 22, 2019, 03:17:26 pm
In Zelda 1, there are two ways to determine the tiles that make up one 2x2 tile unit. If the Tile Code is lower than 0x10, then the four tiles are arbitrary, and selected from table at 0x169B4. If it's >= 0x10, it always follows the pattern C,C+1,C+2,C+3. So, for example, Secret Tile 0xE6, which is a Bombable Wall, has Tile Code 0xD8. It means that the 2x2 unit is made of D8-D9-DA-DB, in inverted N order.

For secret tiles, look at 0x16976, in bank 5. There are 6 different values for the 6 different secret tile codes, from 0xE5 to 0xEA. That's for the Overworld.

For Dungeons, all the Tile Mapping codes you need are at 0x15FEE. If you have the graphics you want, it should be straightforward.

Ah the Dungeon tile maps I have already modified :)

Actually, I just finished the left wall today, and updated the patch so that now all 4 walls in the Dungeons that can be bombed will show a slight cracked graphic in them.
What I had to do to make space was completely remove both the extra "-" (62) and "+" (64) symbols used in the sprites, and replaced them with my modified "x" and "infinity" symbols.
I already changed (what I think were) all the calls and uses of the $62 dash for the $2F dash, but for some reason I can't seem to find ANY place in the ROM where "+" could be used in the game. "&" also I can't find anywhere outside of the "Register Your Name" table for the characters. Do you know if these two (+,&) are used anywhere in the ROM at all?

As for the Overworld bombable walls, so the tiles in the overworld all have to be right next to each other in a range of 4 tiles?
So let's say I change the D8 for the bombable walls to 54, that means it will take 54-55-56-57 as the tiles for it, right?

Seeing how they require 4 tiles altogether, I think I will have to wait until I modify the Automap Plus code to make room for those.
I know Automap assigns tiles $50-$57 for the 1/8 hearts sprites, but if I change it to 1/4 hearts instead, I can free up 4 tiles, which are the exact number I need for those.
Pushable blocks and burning trees sadly might not be possible, but cracked walls in the overworld are for sure possible if I rework Automap to have 1/4 hearts instead of 1/8.

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

To all the people testing the beta patch:

I just updated the patch with the latest changes (all cracked walls in Dungeons are now implemented, and some more reworked graphics and fixed text pointers).

Please check if there is any places where a "-" could have been replaced by an "x", same goes for "+".
Test all the text in the game, and also let me know if anything odd can be found.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on October 22, 2019, 07:55:41 pm
One thing I noticed in the Money Making Game now, the Infinity sign shows for winning money and an X shows next to the amounts that you lose, even though a minus sign shows next to the numbers at the start of the game.

(https://www.dropbox.com/s/wpg7yatzxuqcn4u/mm%20start.png)

(https://www.dropbox.com/s/y8l16gkspa75bzw/mm%20end.png)

It seems like you could just keep the minus symbol next to the losing amounts and then either the infinity symbol or the X symbol next to the winning amount.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 22, 2019, 08:10:17 pm
@aml435:
For some reason, I can't see the images, but from what you mention I can get the picture.
So that's where the + is being used, in the Money Making Game. I will fix it tomorrow. Should be fairly easy to do.

But what about the "&"?
Where is the Ampersand symbol used in the game?

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

Out of that, I have some splendid news!
I managed to modify the Automap code to work for 1/4 hearts instead of 1/8 all by myself! :P
I still have to test it thoroughly, but so far it's looking awesome!
This shall make some room for cracked overworld tiles ;)
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on October 22, 2019, 08:25:08 pm
Not sure where the ampersand is being used, yet. If I find it, I'll let you know.

Also, for some reason when I start a new game, it only lets me go up to 8 bombs, though both increases are for 10 more, leading to 28 bombs. Not sure why.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 23, 2019, 01:20:02 pm
Fixed the Money-Making game icons for the "-" and "+" symbols.
They should now show up properly.

Although, I am still not sure where the hell does the game use the Ampersand (&) symbol at all.
I replaced the Ampersand with the + in the meanwhile, but if needed, I can still work something out to make space for the & (if the game does indeed use it, if not then I won't put it back).

Just updated the beta patch in the OP.

Be sure to check out the new beta, there's two new features in there :^}
Let's see if people can spot them out.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on October 23, 2019, 01:47:22 pm
Just updated the beta patch in the OP.

Be sure to check out the new beta, there's two new features in there :^}
Let's see if people can spot them out.
Will test it out tonight!
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on October 24, 2019, 02:54:22 am
I love a lot of the little changes that seem pretty recent, but I did notice a glitch. The Bombable walls on the overworld can be walked through now. You can't enter the doorway til you bomb, but you can walk though the wall before that.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 24, 2019, 10:39:40 am
I love a lot of the little changes that seem pretty recent, but I did notice a glitch. The Bombable walls on the overworld can be walked through now. You can't enter the doorway til you bomb, but you can walk though the wall before that.
What the heck?! I just checked, and yeah indeed the bombable overworld tiles can be walked through.
But why? D:

How can I change the collision of those tiles? I am using tiles $54 up to $57 in the hack.
I will see if I can find something, but I have never dealt with tile collision before, so I'm in the blind with that. :/

If anyone has a clue as to how to fix that in particular, please do let me know.
I went to great lengths to implement those new tiles just so they glitch out on me lol
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on October 24, 2019, 05:57:03 pm
Other than that, everything seems great.
This is getting pretty close to becoming the definitive way to play Legend of Zelda.

Pretty much the only other thing I've felt the game was missing that isn't really covered  in your todo list, is that I've always thought it'd be interesting to replace the duplicate bosses (Level 4 Gleeok & Level 7 Aquamentus).
Maybe make the Level 7 Aquamentus a Patra, since it's very much a boss type enemy and is far more difficult than an Aquamentus and maybe a Lanmola for the end of Level 4 (perhaps with some statues adding supporting fire).
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on October 24, 2019, 07:27:38 pm
Weird and kinda interesting. What's even more strange is that some walls that show the bombable tile, can't actually be bombed. My guess is that these are differences between first and second quest maps.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on October 24, 2019, 09:10:39 pm
Actually, I thought of two more (possibly optional) little changes that could be cool to make it more consistent with later titles:

Rename the Magical Sword to the Master Sword and make the handle blue.
Change the Flute to the Ocarina and change its graphics to look like the Ocarina from later games.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: John Enigma on October 24, 2019, 11:39:54 pm
I'd LOVE for that to be reworked to be a complete SNES version of the NES game with Quest 1 and 2 levels.
I fully agree with you.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on October 25, 2019, 12:20:45 pm
Change the Flute to the Ocarina and change its graphics to look like the Ocarina from later games.
This is already done when you apply the Link Awakening GFX patch.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on October 25, 2019, 03:52:46 pm
Yeah, just not a fan of the Link's Awakening look for Zelda 1.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: mdtauk on October 26, 2019, 02:36:03 am
Rather than just re-using Link's Awakening, you could update the sprites based on the BS Zelda - which is as close to an official remake the game has gotten
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on October 26, 2019, 10:50:03 am
Yeah, about the collision status of tiles, I was afraid of that side effect. I currently don't know how it's coded, but I suspect it's something silly simple, like a value somewhere that defines the boundary between "walkable" and "solid" tiles. Most likely, the 8x8 pixel tiles are individually set to be one of those two states, and not the 2x2 TSAs.

I suggest you try with a higher tile code, just to see if my theory can be confirmed.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on October 26, 2019, 10:52:51 am
Yeah, about the collision status of tiles, I was afraid of that side effect. I currently don't know how it's coded, but I suspect it's something silly simple, like a value somewhere that defines the boundary between "walkable" and "solid" tiles. Most likely, the 8x8 pixel tiles are individually set to be one of those two states, and not the 2x2 TSAs.

I suggest you try with a higher tile code, just to see if my theory can be confirmed.

I tested values yesterday starting from 54 (where my new cracked tiles are), and I started getting solid tiles around 88 or so. Though it seems 89 is only half solid, but 8A is solid again, so somewhere around 8X is where tiles start being solid.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on October 26, 2019, 12:42:08 pm
Yeah, just not a fan of the Link's Awakening look for Zelda 1.
To each their own. I love the LA look.

Rather than just re-using Link's Awakening, you could update the sprites based on the BS Zelda - which is as close to an official remake the game has gotten
How would that work with the colour limitations?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Rewind on October 31, 2019, 11:01:14 am
Increase Max Rupees
Pretty sure this might not be possible without either expanding the ROM or infringing on other values used for the game's data.  Its 255 for a reason, 256 numbers possible which is the max 2 digit 16-bit integer.
So unless someone can find a way to create or find an unused byte chances are a max limit of 999 isn't going to be supported.
Not completely sure though, I don't know much of how NES games work.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on November 03, 2019, 01:36:12 am
Increase Max Rupees
Pretty sure this might not be possible without either expanding the ROM or infringing on other values used for the game's data.  Its 255 for a reason, 256 numbers possible which is the max 2 digit 16-bit integer.
So unless someone can find a way to create or find an unused byte chances are a max limit of 999 isn't going to be supported.
Not completely sure though, I don't know much of how NES games work.
IIRC, it's already be done on other LOZ1 projects. I think it just a matter of shifting values, but that's only a guess.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on November 03, 2019, 12:16:28 pm
Sure, a two-byte money counter is doable, and not very hard, but I wonder if it is THAT relevant. I did plenty of playthroughs of this game, and the time I spent farming was minimal at best. However, knowing the secrets that give money ("It's a secret to everybody") help a lot. The big expense is the Blue Ring, and I think it's fair to make it hard to obtain. Having a limit of 255 rupees means that you can't accumulate past that point, so in a way, you're forced to be economical at some point after finding the actual secret store where the Blue Ring is sold. Having a limit of, say, 999 rupees would make it too easy to just accumulate like crazy through normal fights (i.e. not even trying to farm) and soon enough, any expense is like pocket change.

Just my two rupees...
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: pleasejust on November 03, 2019, 10:05:46 pm
Yes, I agree with Trax. In general, you need to avoid making changes that affect the intended gameplay/difficulty balancing too much at the expense of canon. Gameplay is always king and trumps everything... You should make everything more expensive if you're going to go with 999 rupee limit. That would be ok I guess but kind of pointless because you're just rebalancing the economy simply for the sake of a # of rupees just because it's canon.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: IcePenguin on November 03, 2019, 11:28:14 pm
Possible additions (these might NOT be implemented in the final hack):
  • Add a proper arrow item (and enemy drop entry for it), and an arrow counter
  • Diagonal sword swing

I think the arrow should be an addition.  Perhaps make them only buy-able in shops, so we have reason to use those extra 744 rupees.

Yes, I agree with Trax. In general, you need to avoid making changes that affect the intended gameplay/difficulty balancing too much at the expense of canon. Gameplay is always king and trumps everything... You should make everything more expensive if you're going to go with 999 rupee limit. That would be ok I guess but kind of pointless because you're just rebalancing the economy simply for the sake of a # of rupees just because it's canon.

You and Trax make a good point, but there is a positive side to 999 rupees.  It's harder to waste rupees.  Once you reach the 255 rupee maximum, any potential rupees found would be wasted.  (via enemy drop, or secret)  For new players, who don't know where secrets are, it could be frustrating to find a secret, only to lose it.  For me personally, I stop exploring when at 255 rupees, out of fear of wasting a secret.  With a higher rupee max, it'd be less likely to happen.

Adding arrows into shops would help balance it.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Thirteen 1355 on November 04, 2019, 02:53:15 am
Gameplay is king, but GOOD gameplay is above, and some elements in Zelda 1 aren't exactly good (though I just hated the game in general). Though some level/world elements are worked around obnoxious stuff like the weak sword stab, some elements, like the Rupee count, don't really impact how levels are built.

There's potential to improve upon Zelda 1's gameplay and though it's all up to the creators of this patch, I don't feel the 'gameplay is king' holds much value in a day and age where games like Zelda 1 get drowned beneath the rest because of annoying gameplay elements.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 04, 2019, 11:31:48 am
I just disappeared for the weekend and came back to a lot of argument about 255-999 rupees. :laugh:

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

IIRC, it's already be done on other LOZ1 projects. I think it just a matter of shifting values, but that's only a guess.
Do you happen to know what other Zelda 1 hacks implement 999 rupees?

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

The reason why I want to implement 999 rupees is not for consistency sake with the rest of the series (nor canon).
A lot of Zelda titles are inconsistent with the max amount of rupees.
Just see OoT/MM and WW/TP. Max in N64 was 500, and in GC max was in the thousands.

The main reason reason is because it's an obnoxious limit just set because devs didn't want to bother with two byte calculations. That's just it.
It comes out as an obnoxious limitation when you actually hit 255, and you can't gather any more rupees due to that.
I doubt limiting the player to only 255 rupees when there's an item that costs 250 rupees is anything but "balanced".

The way I play Zelda 1 is going dungeon to dungeon directly while gathering the most rupees I can to purchase the most I can in one go. Not being able to purchase two plot-important items at once, and being able to only purchase one before having to grind again because the counter doesn't go past 255 is just plain obnoxious and not a good design.
Sure, the items themselves outside of the ring, shield, candle and arrows are not as expensive, but so are a lot of the items in many more Zelda titles where the highest doesn't go above the halfway point of the rupee maximum (OoT with the tunics is a clear example), while still leaving room for other items to be purchased.

Say you want to purchase the blue ring, a magic shield and some bombs/arrows?
Well, you can only get one, or the two other, before having to grind all the way up to 100+ rupees just to get another go. That's not a good thing. What if you can't go into the next dungeon because you don't have enough money to buy the required item? You will have to grind for almost hours to just get going with the game again just because all those rupees you found while being at 255 already didn't add up to the counter, so those hours of extra grinding could have been avoided altogether with rupees/grinding you are already doing while playing, no need to do the same in a more monotonous manner.

The main focus of this hack is to improve on those things that people may find annoying/obnoxious from the original, and the rupee counter is one I also have my gripes about.
Those things that people consider obnoxious that can be modified for a better overall experience of the game.

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

@IcePenguin I think the game already sells arrows in multiple locations (4 locations per quest).
I just double checked, and these 4 locations always sell you arrows for 80 rupees regardless if you already have the arrow item or not, so this can be exploited for adding a proper arrow item into the game, though we might need to add a proper set value for the game to give once you purchase arrows on shops.
https://www.zeldadungeon.net/wiki/Item_Shop

Aside from that, perhaps giving a proper set value for how many arrows you get when you purchase them might be good too.
I'm not sure if 20-30 is a good set value for arrows.

The counter for arrows can fit in between the rupee and keys one, or maybe even rework the order.
I already made a custom arrow icon for the HUD, so I just need to figure out the PPU transfers to make it show up properly, and of course, the actual code to separate the rupee counter from arrows, and the code to make a proper arrow counter :^}

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

I still haven't found the collision data for the cracked walls on the overworld.
However, I did do some tests and found some interesting stuff:

By changing the value at 0x16987 (D8):
So it seems like the game does have what tile values do what in a hardcoded manner, since putting the ladder tiles automatically makes Link enter the cave without even bombing it.
Now the thing is trying to find exacty what routine is in charge of defining what tiles are solid, which can be walked through, and which can be entered, and modify said routine (or add an exception) for tiles $54-$57.

I've also been trying to flip the hearts seen in the File Select screen, so that the starting hearts appear on the top row and the rest follow suit down below, like in every subsequent Zelda title, but I haven't found how to do so yet.
I did find the routines that seem to handle that though:

Code: [Select]
// Flip heart rows in the File Select Screen:
Found the routines, now I just gotta figure out how to invert the heart printing
A4C6: B9 54 A2  LDA $A254,Y @ $A258 = #$24
A264: 21 09 11 24 24 24 24 24 24 24 24 62 00 00 00 00 00 00 00 00 // PPU transfer for Name and hearts (top row)
A520: B9 74 A2  LDA $A274,Y @ $A278 = #$24
A278: 21 12 08 00 00 00 00 00 00 00 00 FF // PPU transfer for Hearts (bottom row)
A283: 21 89 03 24 24 01 // Counter for deaths
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: pleasejust on November 04, 2019, 03:08:40 pm
Yes, annoying elements are bad and should be improve upon. re: the rupee limit, what I'm saying is that it seems like the way it is now is the way it's intended to work and it works well. It's not a huge deal, but I just want to make my position clear. It turns out that needing to have near the max capacity of rupees in order to get an item is ok and works from a gameplay standpoint. Read Trax's comment. It makes sense. It forces the user to have to do some work and not just accumulate basically all the money you're going to need during regular gameplay before you even need to get the items. The way the economy is in the original Zelda is the way it's intended to be and is "balanced" so to speak. Maybe not but all I'm saying is ff you want to emulate the way it currently is implemented, make everything more expensive if you're going to go with the 999 limit. That's all. Because the way it is originally implemented is pretty good if you think about it.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: wolpak on November 05, 2019, 03:57:43 pm
If you raise the rupee limit, you could also adjust the cost of items. 
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: IAmCaptPlanet on November 05, 2019, 04:05:07 pm
raised rupees does not hurt. i might actually be able to let the arrows fly willy nilly now

i would switch to the bow when it's needed and switch right back (as to not use up rupees)

i also never use bombs

-i would like a patch that worked like ALBW and have bombs/arrowa and other consumables on a gauge that re-fills (tho i suppose i could just use an infinity cheat)

but anyways i dont see an issue with having 999 rupees
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on November 05, 2019, 10:05:22 pm
I just disappeared for the weekend and came back to a lot of argument about 255-999 rupees. :laugh:

Do you happen to know what other Zelda 1 hacks implement 999 rupees?
Turns out, I've only ever seen it because of a GameGenie code. Sorry to have mislead anyone. I knew I'd seen it, it seems not as a part of a mod. Although, if works as a GameGenie code without glitching anything out, it might be something easily coded.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: snarfblam on November 05, 2019, 10:11:44 pm
I was pretty sure I had made a 999 rupee mod for z1, but couldn't remember what hack it was for until now.

https://www.romhacking.net/forum/index.php?topic=27012.0


Quote
User Snarfblam was nice enough to implement it for me, however I'm pretty sure he didn't take care of the save feature, and therefore it's buggy. I need help debugging this before I can finish the game. This is the only major thing holding this mod back.

...oops
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 06, 2019, 12:17:24 am
I was pretty sure I had made a 999 rupee mod for z1, but couldn't remember what hack it was for until now.

https://www.romhacking.net/forum/index.php?topic=27012.0


...oops
Hey snarfblam!
Thanks for dropping by!

Reading about it, do you think perhaps the 999 rupees code you made could be shared for this project?

I have done some ram research and I think I have found 4 or so free bytes that could be used for the 999 rupees, and perhaps for the save files as well.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on November 08, 2019, 07:35:04 am
I was pretty sure I had made a 999 rupee mod for z1, but couldn't remember what hack it was for until now.

https://www.romhacking.net/forum/index.php?topic=27012.0


...oops
Ah there it is! I knew I'd seen it somewhere, just couldn't remember..  :banghead:

Hey snarfblam!
Thanks for dropping by!

Reading about it, do you think perhaps the 999 rupees code you made could be shared for this project?

I have done some ram research and I think I have found 4 or so free bytes that could be used for the 999 rupees, and perhaps for the save files as well.
I think by posting it he is implying he'd be ok with such(once it's released).
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DannyPlaysSomeGames on November 11, 2019, 05:45:12 pm
Help needed for these points:
  • Remove the 1 Rupee flashing, and make it green if possible
The reason why they had the rupee flash instead of just making it green is because there really isn't a universal, green palette aside from Link's (which doesn't stay green forever due to the tunics; if you want to keep that color the same but still have the tunics be a different color, you'd either have to make another set of sprites on top of him that is just the tunic assigned to a different palette (which is one Hell of a nightmare, and even if you can make it work, it can cause scanline issues, i.e. flickering), or have it so that Link's assigned palette is changed to the other 2 universal palettes respectively (in which case, while it would technically work, he'd look hella pale, and his sleeves/hair/boots/etc. would become light blue/yellowish orange respectively, unless you managed to change the universal palettes in a way that could work on Link but still have it be roughly the same as before, which is tricky). Maybe instead of just making it actually green, you could make it look green by having the rupee flash between light blue and yellowish orange at a ridiculous speed, which would cause the colors to "blend" to the human eye and become green (which is what they did with the Hearts in NES Batman, and part of the reason why he's purple instead of black).
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 11, 2019, 05:58:28 pm
The reason why they had the rupee flash instead of just making it green is because there really isn't a universal, green palette aside from Link's (which doesn't stay green forever due to the tunics; if you want to keep that color the same but still have the tunics be a different color, you'd either have to make another set of sprites on top of him that is just the tunic assigned to a different palette (which is one Hell of a nightmare, and even if you can make it work, it can cause scanline issues, i.e. flickering), or have it so that Link's assigned palette is changed to the other 2 universal palettes respectively (in which case, while it would technically work, he'd look hella pale, and his sleeves/hair/boots/etc. would become light blue/yellowish orange respectively, unless you managed to change the universal palettes in a way that could work on Link but still have it be roughly the same as before, which is tricky). Maybe instead of just making it actually green, you could make it look green by having the rupee flash between light blue and yellowish orange at a ridiculous speed, which would cause the colors to "blend" to the human eye and become green (which is what they did with the Hearts in NES Batman, and part of the reason why he's purple instead of black).
I did some test way back when I started this hack, and I found that the rupee palettes (both orange and blue) are shared with the enemies. So if I change the orange palette to a proper green, all of the orange enemies will be changed to green as well.

I have yet to find a proper solution to this.

The idea of a quick flashing for blending the colors is a good one, but I am unsure as to how feasible or how good it might look. Do you have an image/gif of how Batman does it for the hearts?
If that idea can't be done or doesn't look good and all else fails for this idea, I would still want to remove the 1 rupee flashing and just leave it orange. The 1 rupee flashing thing I feel would be better if it just stays as a solid color instead of switching between orange and blue. That way they have a proper color scheme between 1 rupee and 5 rupees like all the other Zeldas do.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on November 11, 2019, 06:18:28 pm
I say, just use non flashing yellow and call it a day. Now, how to prevent the flashing, I can't pinpoint the place in the code.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Cyneprepou4uk on November 11, 2019, 10:05:16 pm
I can't pinpoint the place in the code.

Now that's a first
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: IcePenguin on November 12, 2019, 12:07:20 am
Maybe instead of just making it actually green, you could make it look green by having the rupee flash between light blue and yellowish orange at a ridiculous speed, which would cause the colors to "blend" to the human eye and become green (which is what they did with the Hearts in NES Batman, and part of the reason why he's purple instead of black).

That's really cool!  Never knew that about the Batman game.  It'd be interesting to see the results of that in Zelda, and since the rupee flashes between yellow and blue already, all that needs to be done if find the flashing speed data.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 12, 2019, 10:18:32 am
Found an image of the heart flash in Batman:
(https://i.makeagif.com/media/11-12-2019/aJPik9.gif)

I am doubtful about increasing the speed of the flashing due to photosensitive people.
I am unaware how much could that affect them, and one of my aims is to make the game accessible to as many people as possible, and photosensitive flash reduction is one thing I've been implementing in my hacks to help alleviate this.

I say, just use non flashing yellow and call it a day. Now, how to prevent the flashing, I can't pinpoint the place in the code.

Gotta say I agree with this, I'd much rather prefer to just prevent the flashing and leave the 1 rupee color as a static orange one. Maybe I could release an optional patch that changes the enemies/rupees to green if people so desire, but I will not have it by default.

Still though, I have yet to find that routine as well.
I tried looking at RAM and see what possible value could be doing the flashing or switching palettes, but couldn't find anything at first glance.
I just hope that said routine does not share its code with the heart flashes, but this being Zelda 1, it's probable it does so. :P
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on November 12, 2019, 10:42:52 am
Gotta say I agree with this, I'd much rather prefer to just prevent the flashing and leave the 1 rupee color as a static orange one. Maybe I could release an optional patch that changes the enemies/rupees to green if people so desire, but I will not have it by default.
You could do Red as a rupee colour. Red would be easy to work into the palette, if I understand how it works correctly.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on November 12, 2019, 08:20:41 pm
Guys, guys, color on screen is additive, therefore mixing blue with yellow goes towards white. You're not mixing paint.

If you want to change the rupee to green, you can, with Link's palette. The problem is, Link's palette changes when he gets the Blue and Red Rings. Therefore, every other things equal, rupees will look green, blue or red, depending on what tunic Link is wearing. If not, then you have 3 other palettes to choose from, and you would have to insert a green color somewhere in one of these palettes, used for enemies.

On the Overworld :

Palette 0 : green, yellow, brown (Link)
Palette 1 : blue, light blue, white
Palette 2 : red, yellow, white
Palette 3 : black, teal, red (Blue Moblins and Zora)
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on November 13, 2019, 01:35:23 am
Guys, guys, color on screen is additive, therefore mixing blue with yellow goes towards white. You're not mixing paint.

If you want to change the rupee to green, you can, with Link's palette. The problem is, Link's palette changes when he gets the Blue and Red Rings. Therefore, every other things equal, rupees will look green, blue or red, depending on what tunic Link is wearing. If not, then you have 3 other palettes to choose from, and you would have to insert a green color somewhere in one of these palettes, used for enemies.

On the Overworld :

Palette 0 : green, yellow, brown (Link)
Palette 1 : blue, light blue, white
Palette 2 : red, yellow, white
Palette 3 : black, teal, red (Blue Moblins and Zora)


The Teal from the Zoras might work well for a slightly darker green rupee.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 13, 2019, 10:25:12 am
Guys, guys, color on screen is additive, therefore mixing blue with yellow goes towards white. You're not mixing paint.

If you want to change the rupee to green, you can, with Link's palette. The problem is, Link's palette changes when he gets the Blue and Red Rings. Therefore, every other things equal, rupees will look green, blue or red, depending on what tunic Link is wearing. If not, then you have 3 other palettes to choose from, and you would have to insert a green color somewhere in one of these palettes, used for enemies.

On the Overworld :

Palette 0 : green, yellow, brown (Link)
Palette 1 : blue, light blue, white
Palette 2 : red, yellow, white
Palette 3 : black, teal, red (Blue Moblins and Zora)

Yeah unfortunately using Link's palette means that the rupee will also change color depending on what tunic/ring he has.
The same thing happens to the Sword and the Arrow/Bow as well, they change colors depending on what ring Link has.
Given that, I went ahead and made some mockups for the Rupees:

Original (Orange & Blue, used for Orange/Blue enemies as well):
(https://i.imgur.com/bLWYdPh.png) (https://i.imgur.com/Y2zJuSv.png)

With Link's palette:
(https://i.imgur.com/vKHGU53.png) (https://i.imgur.com/6esCybP.png) (https://i.imgur.com/rFHGq7W.png)

With Moblin/Zora's palette:
(https://i.imgur.com/pfq6XCm.png)

I'm still on the idea that leaving it as plain orange without flashing is the best way to go about it, but I'm open for suggestions.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: The3Dude on November 13, 2019, 03:58:12 pm
Shadow, in regards to changing how the hearts line up in the file select screen. I did line them up in the modern style for my Trial of Courage hack. The thing is though, the death counter is on top of your file name, not on the bottom.

(https://ibb.co/c2bRMqg)

and this right?

(https://i.ibb.co/qk0JqKR/Zelda-Trial-Of-Courage-0.png)

I'd have to find where I did that in code though, I haven't hacked Z1 since June-ish.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on November 13, 2019, 04:11:10 pm
Yeah unfortunately using Link's palette means that the rupee will also change color depending on what tunic/ring he has.
The same thing happens to the Sword and the Arrow/Bow as well, they change colors depending on what ring Link has.
Given that, I went ahead and made some mockups for the Rupees:

Original (Orange & Blue, used for Orange/Blue enemies as well):
(https://i.imgur.com/bLWYdPh.png) (https://i.imgur.com/Y2zJuSv.png)

With Link's palette:
(https://i.imgur.com/vKHGU53.png) (https://i.imgur.com/6esCybP.png) (https://i.imgur.com/rFHGq7W.png)

With Moblin/Zora's palette:
(https://i.imgur.com/pfq6XCm.png)

I'm still on the idea that leaving it as plain orange without flashing is the best way to go about it, but I'm open for suggestions.

Either the orange or the Zora teal look great.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 13, 2019, 04:11:33 pm
Shadow, in regards to changing how the hearts line up in the file select screen. I did line them up in the modern style for my Trial of Courage hack. The thing is though, the death counter is on top of your file name, not on the bottom.

(https://ibb.co/c2bRMqg)

and this right?

(https://i.ibb.co/qk0JqKR/Zelda-Trial-Of-Courage-0.png)

I'd have to find where I did that in code though, I haven't hacked Z1 since June-ish.

Hey 3Dude!
Thanks for dropping by! :D
For the in-game hearts, Automap flips them automatically, but I managed to find exactly what part of the code flips them in the overworld and dungeons:

Code: [Select]
// Flip heart rows in HUD:
org $A507 // $06517
db $20,$D6,$08 // Originally 20 B6 08
org $A512 // $06522
db $20,$B6,$08 // Originally 20 D6 08

But the one I haven't been able to flip are the hearts in the File Select screen.
The thing is, that the PPU transfer for the Name is tied to the hearts, only the one for the Death counter and the second heart line is handled separately.
I can flip them like you have them in your image if I change the [21 89 03], [21 09 11] and [21 12 08] found in three specific locations in the following code, but what I want to accomplish is to leave the Name and Death counter positioned where they are at the moment, and only invert the hearts.

I did some debugging a while ago, and managed to found this:
Code: [Select]
// Flip heart rows in the File Select Screen:
//Found the routines, now I just gotta figure out how to invert the heart printing
//A4C6: B9 54 A2  LDA $A254,Y @ $A258 = #$24 // 0xA4D6
//A254: 21 09 11 24 24 24 24 24 24 24 24 2F 00 00 00 00 00 00 00 00 // PPU Transfer for Name and lower (starting) hearts (0xA264)
//A268: 21 32 08 00 00 00 00 00 00 00 00 FF // PPU Transfer for upper Hearts (0xA278)

//A520: B9 74 A2  LDA $A274,Y @ $A278 = #$24 // 0xA530
//A274: 21 89 03 24 24 01 21 E9 03 24 24 01 22 49 03 24 24 01 FF // PPU Transfers for Death counter(s) (0xA284)

The point of interest here is not the PPU transfers, but the routine around 0xA4D6 (the one at 0xA530 seems to handle the Death counter).
Those two routines are the ones that I believe print the hearts, as those two load the PPU transfers for the hearts.
Although, given my somewhat limited knowledge on ASM, I have not been able to figure out exactly what part tells the game where to print the hearts specifically.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: The3Dude on November 13, 2019, 04:17:10 pm
Oh! Sorry I put the wrong image, I meant this.

(https://i.ibb.co/YfDJYgR/4-TLo-Z-Trialof-Courage1-7-MASTER-0.png)









Also, my ASM knowledge is extremely limited :laugh:.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 13, 2019, 04:19:45 pm
Oh! Sorry I put the wrong image, I meant this.
(https://i.ibb.co/YfDJYgR/4-TLo-Z-Trialof-Courage1-7-MASTER-0.png)

Also, my ASM knowledge is extremely limited :laugh:.

Hahah don't worry.
I was able to view that image if I opened the link in another tab :P
But yep, that one part in particular is the one I want to change, but I want to leave both the name and death counter intact, and only flip the hearts.

I will continue researching those two routines, hopefully I can find what part determines which hearts go to what row.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on November 13, 2019, 09:18:41 pm
Well, I tackled the flashing problem. Against all odds. The color switch is 8 frames, and applies to a few objects, like small hearts, Triforce pieces, etc. I looked for all occurences of RAM $15, which is a frame counter. So, starting at 1E735, there's code that determines which items should be flashing. So replace this code with NOPs (EA) :

Code: [Select]
1E73D: E0 16 CPX #$16 ; Number of Rupees (66D)
1E73F: F0 0C BEQ $1E74D

That's it, no more flashing rupee. At 6B5C, there's a table with palette codes for various things. Change value at 6B72 to make the rupee another color if you want.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 14, 2019, 11:41:26 am
Well, I tackled the flashing problem. Against all odds. The color switch is 8 frames, and applies to a few objects, like small hearts, Triforce pieces, etc. I looked for all occurences of RAM $15, which is a frame counter. So, starting at 1E735, there's code that determines which items should be flashing. So replace this code with NOPs (EA) :

Code: [Select]
1E73D: E0 16 CPX #$16 ; Number of Rupees (66D)
1E73F: F0 0C BEQ $1E74D

That's it, no more flashing rupee. At 6B5C, there's a table with palette codes for various things. Change value at 6B72 to make the rupee another color if you want.

Oh that's fantastic!
Just NOP'd those two opcodes, and indeed the rupee is no longer flashing, it stays at a static orange color now, thanks!
I also went ahead and tried changing the palette for the rupee, but without a doubt the orange one is the one that looks the best. I could make it work with Link's palette, but the fact that palette changes doesn't make it suitable.
I will make an optional patch that changes the orange for green later on.
Thanks again, Trax!

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

In the meanwhile, I did some more research regarding some of the still unlabelled RAM addresses in the range of 600-700, mostly documented what seems to be RAM addresses related to the File Select screen.
I did find what some of those are and have update the Data Crystal entry accordingly:
https://datacrystal.romhacking.net/wiki/The_Legend_of_Zelda:RAM_map#RAM

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

I noticed that some of the data I wrote for the hearts in the File Select screen was wrong, I just corrected it, here's the proper data:

Code: [Select]
// Flip heart rows in the File Select Screen:
//Found the routines, now I just gotta figure out how to invert the heart printing
//A4C6: B9 54 A2  LDA $A254,Y @ $A258 = #$24 // 0xA4D6
//A254: 21 09 11 24 24 24 24 24 24 24 24 2F 00 00 00 00 00 00 00 00 // PPU Transfer for Name and lower (starting) hearts (0xA264)
//A268: 21 32 08 00 00 00 00 00 00 00 00 FF // PPU Transfer for upper Hearts (0xA278)

//A520: B9 74 A2  LDA $A274,Y @ $A278 = #$24 // 0xA530
//A274: 21 89 03 24 24 01 21 E9 03 24 24 01 22 49 03 24 24 01 FF // PPU Transfers for Death counter(s) (0xA284)

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

Last, I found out that there's one existing hack that does implement values above 255 in the rupee counter!
Although...  It's one of those "bad" hacks, so it's not available in RHDN. :P
I started dissecting the ROM, ditching the sprite/text/palette changes, and I managed to disassemble it a bit:
https://pastebin.com/uqw123pu

It's not a 100% disassembly, but it's something at least to start working on the 999 rupees.

Some points of interest regarding this >255 implementation:
Considering the above points, what needs to be changed is:
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on November 14, 2019, 10:23:46 pm
With Link's palette:
(https://i.imgur.com/vKHGU53.png) (https://i.imgur.com/6esCybP.png) (https://i.imgur.com/rFHGq7W.png)
Personally, I think this looks great! The red could be a 10 or 20 rupee value item.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on November 14, 2019, 11:48:01 pm
You have two avenues for new RAM usage. Either you use CPU RAM, but the trade-off is that you need to save the value in VRAM (cartridge RAM) when saving and reload it in CPU RAM when loading a game. You also have to consider the 3 save slots. Or you use VRAM directly, and it gets saved automatically.

Also, one place that is often overlooked is the CPU stack. High values in the 100-1FF range are rarely used because the stack never goes that high.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on November 15, 2019, 10:47:17 am
You have two avenues for new RAM usage. Either you use CPU RAM, but the trade-off is that you need to save the value in VRAM (cartridge RAM) when saving and reload it in CPU RAM when loading a game. You also have to consider the 3 save slots. Or you use VRAM directly, and it gets saved automatically.

Also, one place that is often overlooked is the CPU stack. High values in the 100-1FF range are rarely used because the stack never goes that high.

From what I tested on that romhack, the amount of rupees collected past 255 do get saved on game load as well.
As for the RAM, are there any unused addresses within the 600-700 range?
From what I tested, I couldn't find anything that seems to call RAM $672 and $673, so maybe the whole rupee calculations could be moved to those two (High byte for >255, low byte for =<255).

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

Out of that, I also started some research into using the Select button for switching the selected item for the B button.
I found that the routine which checks for the Select button to enable Pause is located at $1EC1B. The check for the button is at $1EC38 (CMP #$20).

I started doing some dummy code to make the Select button press change whatever item is selected, this is what I have at the moment. I've been testing this code with an online assembler for 6502 to see if it's giving me the correct values I need, so I haven't tested this in-game yet.

Online Assembler:
https://www.cs.otago.ac.nz/cosc243/resources/6502js-master/namedconsts.html

Code:
Code: [Select]
    INC $0656 ; Increment value at $0656
    LDA $0656 ; Load value from $0656
    CMP #$02  ; Is the item position $02?
    BEQ check_bow_arrow
    CMP #$09  ; If $0656 < 9, reset to $00
    BCC end
    LDA #$00
    BCS set_selection ; Carry is known to be set, so this act as a "BRA" from 65816

check_bow_arrow:
    LDA $065A ; Does the player have the bow? (0 if no)
    BEQ select_04
    LDA $0659 ; Does the player have arrows? (0 if no)
    BNE end

select_04:
    LDA #$04

set_selection:
    STA $0656

end:
    RTS

The only part that doesn't seem to be working is the "check_bow_arrow" routine, which for some reason doesn't work if $0659 is set to $01.

So what should that code do:

Also, another thing worth mentioning, I haven't found a proper way to bypass the "Pause" when pressing the Select button, so I don't know exactly where to hijack the original routine to completely remove the "Pause" altogether to use my custom code for this.


I'm not that adept at assembly programming, I did this code with the little I know, so any help with what remains to be done for the code (and the hijack portion for it) would be appreciated!
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on November 16, 2019, 12:29:42 am
I think $672 is for Ganon's Triforce. I have nothing for $673 in my docs, so I can't say for sure.

As for the programming of the 999 rupees, again, I can see two choices. You can use 2 bytes for the number itself, and cap it explicitly at 999. This is very easy when doing ADC and SBC, but more complex when you have to actually break down the 2 bytes into 3 digits to display on screen. Or, you could use 3 bytes that represent the 3 digits separately. It's not as straightforward for additions and subtractions, but it's considerably easier to display.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DannyPlaysSomeGames on November 16, 2019, 12:12:34 pm
Personally, I think this looks great! The red could be a 10 or 20 rupee value item.
I was going to say that the problem is that the rupee wouldn't be the same color because it would keep changing color due to tunics.

But then that thought gave me an idea: what if the ring/tunic you wore affected the value of the 1 rupee? Like maybe when Link starts off normal, he encounters green rupees (that match his tunic) worth 1 and blue rupees worth 5. Afterwards, when he gets the blue ring, all the rupees he encounters are blue (the ones that match his palette and the ones that are regularly blue), so he always gets 5 rupees. Finally, when he gets the red ring, he can get regular blue rupees and red rupees, worth 20. Not only would this solve the situation of the rupee's color being inconsistent, but it's also a very convenient upgrade that helps grinding, considering that arrows are planned to have a separate counter now, and would need to be frequently bought from shops. That's just my suggestion though.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on November 18, 2019, 11:23:17 pm
I was going to say that the problem is that the rupee wouldn't be the same color because it would keep changing color due to tunics.

But then that thought gave me an idea: what if the ring/tunic you wore affected the value of the 1 rupee? Like maybe when Link starts off normal, he encounters green rupees (that match his tunic) worth 1 and blue rupees worth 5. Afterwards, when he gets the blue ring, all the rupees he encounters are blue (the ones that match his palette and the ones that are regularly blue), so he always gets 5 rupees. Finally, when he gets the red ring, he can get regular blue rupees and red rupees, worth 20. Not only would this solve the situation of the rupee's color being inconsistent, but it's also a very convenient upgrade that helps grinding, considering that arrows are planned to have a separate counter now, and would need to be frequently bought from shops. That's just my suggestion though.
That is a very interesting notion. How possible is it, do you think?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: erpster2 on December 06, 2019, 04:17:34 am

Change the duplicate bosses in Level 4 and 7 (Gleeok and Aquamentus) to Lanmola and Patra respectively.

changing the boss for level 7 to Patra is fine (use the circular & "unpredictable" version of Patra (https://zelda.gamepedia.com/Patra) to up the challenge, hee-hee - I mean the one where a group of small patras expand and contract unpredictably) but I like the "weaker" Gleeok boss in Level 4
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on December 06, 2019, 03:24:41 pm
changing the boss for level 7 to Patra is fine (use the circular & "unpredictable" version of Patra (https://zelda.gamepedia.com/Patra) to up the challenge, hee-hee - I mean the one where a group of small patras expand and contract unpredictably) but I like the "weaker" Gleeok boss in Level 4

Went ahead and made an optional patch for the bosses.
I called it "RearrangedBosses.ips", and this is what it changes:
I decided to have all of the head-variants for the Gleeoks present in both Quests, so you can fight the two, three and four head variants of it in both quests. Manhandla is the only boss that doesn't appear in 2nd Quest.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DannyPlaysSomeGames on December 07, 2019, 11:42:35 am
Went ahead and made an optional patch for the bosses.
I called it "RearrangedBosses.ips", and this is what it changes:
  • 1st Quest - Level 4: Changes the Manhandla in the level to Red Lanmolas, keeps the two-headed Gleeok at the end
  • 1st Quest - Level 7: Changes the Aquamentus for a Patra with Oval attack cycle
  • 2nd Quest - Level 2: Changes the two-headed Gleeok to Blue Lanmolas (You can still fight a two-headed Gleeok in Level 6)
  • 2nd Quest - Level 8: Changes the 3 Dodongos to a Patra with Circle attack cycle
I decided to have all of the head-variants for the Gleeoks present in both Quests, so you can fight the two, three and four head variants of it in both quests. Manhandla is the only boss that doesn't appear in 2nd Quest.
Actually, that reminds me, isn't there an unused Gleeok with one head? Either way, the boss patch seems like a pretty great idea. I was wondering what happened to this thread a while back but good to hear you're still working on it.

Also, I was curious if that rupee idea I posted was anything worthwhile.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on December 08, 2019, 12:42:21 am
It could be interesting to have a stronger and more aggresive Aquamentus, kinda like a "revenge", or as an alternate version, like the Orange/Blue Gohma.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on December 09, 2019, 02:54:32 am
It could be interesting to have a stronger and more aggresive Aquamentus, kinda like a "revenge", or as an alternate version, like the Orange/Blue Gohma.

Maybe an orange or blue Aquamentus that was only weak to a certain weapon and maybe had statues in the room providing supporting fire could be interesting... or maybe if it telegraphed blowing fire and you had to shoot arrows into it's mouth when it opened it's mouth to shoot fireballs at you in order to hurt it. Though this would probably be complicated to add into the game.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on December 09, 2019, 06:53:56 pm
A version of Aquamentus that you can only beat with the Magical Rod would be interesting.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: EthansDreamLand on December 09, 2019, 10:22:06 pm
Went ahead and made an optional patch for the bosses.
I called it "RearrangedBosses.ips", and this is what it changes:
  • 1st Quest - Level 4: Changes the Manhandla in the level to Red Lanmolas, keeps the two-headed Gleeok at the end
  • 1st Quest - Level 7: Changes the Aquamentus for a Patra with Oval attack cycle
  • 2nd Quest - Level 2: Changes the two-headed Gleeok to Blue Lanmolas (You can still fight a two-headed Gleeok in Level 6)
  • 2nd Quest - Level 8: Changes the 3 Dodongos to a Patra with Circle attack cycle
I decided to have all of the head-variants for the Gleeoks present in both Quests, so you can fight the two, three and four head variants of it in both quests. Manhandla is the only boss that doesn't appear in 2nd Quest.

I appreciate the patch, but I feel like there's a glitch with it. I was playing the redux game with the patch, but when I got to Dungeon 9, the room filled with Wizzrobes that leads to the room containing the Silver Arrows leads to a room that contains two Blue Lanmolas with no entrance to the Silver Arrows room, which leads to a glitched room that only leads outside the dungeon, making the game unbeatable. Can you please fix this?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on December 10, 2019, 04:39:30 pm
Actually, that reminds me, isn't there an unused Gleeok with one head? Either way, the boss patch seems like a pretty great idea. I was wondering what happened to this thread a while back but good to hear you're still working on it.

Also, I was curious if that rupee idea I posted was anything worthwhile.

Oh yeah there's a Gleeok with one head that's unused in the final game, though I don't know where it could be implemented, if at all, since a one-head Gleeok kinda kills the challenge of Gleeok, being one head attached and one floating around attacking you.
As for the rupee stuff, the concept is kinda neat too, and would add a feature to the tunic beside extra protection.
As for implementation, I am not sure, it would for sure require extra coding, but seems like the work for it might not be worth the effort.

It could be interesting to have a stronger and more aggresive Aquamentus, kinda like a "revenge", or as an alternate version, like the Orange/Blue Gohma.

A blue variant of Gleeok sounds cool, his sprite in that palette would be nice to look at!

I appreciate the patch, but I feel like there's a glitch with it. I was playing the redux game with the patch, but when I got to Dungeon 9, the room filled with Wizzrobes that leads to the room containing the Silver Arrows leads to a room that contains two Blue Lanmolas with no entrance to the Silver Arrows room, which leads to a glitched room that only leads outside the dungeon, making the game unbeatable. Can you please fix this?

I noticed that for some reason that room got changed, even though I didn't touch it at all.
I reuploaded the patch, with the room (hopefully) restored, could you try it out again, please?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: EthansDreamLand on December 10, 2019, 06:37:43 pm

I noticed that for some reason that room got changed, even though I didn't touch it at all.
I reuploaded the patch, with the room (hopefully) restored, could you try it out again, please?

I would love to, but unfortunately, I beaten the game before reporting the error, so I can't get to Dungeon 9 unless I beat the entire game again. Probably later, but for now, I need to get ready to see a movie.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: pleasejust on December 10, 2019, 06:44:06 pm
you wrote that the game is unbeatable, then wrote that you can't test the new patch because you already beat the game before you made the post.....  :huh:
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: EthansDreamLand on December 10, 2019, 06:46:17 pm
you wrote that the game is unbeatable, then wrote that you can't test the new patch because you already beat the game before you made the post.....  :huh:

Because I made another copy of Zelda 1 Redux without the boss change patch. Thankfully, the save file I had was compatible with the ROM without the boss change patch.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on December 13, 2019, 08:33:16 pm
Been playing through the most recent patch with the boss patch also and ran into this glitch at the boss of Level 7. The patra is just a garbled blotch of sprites.

 (https://i.ibb.co/cL4pqnL/level-7.png)

Also, the bombable wall cracks on the overworld can still be walked through and cracks show for the walls in both quests, even though you can only bomb the ones on your corresponding quest.

Also, for some reason, when I started the game, my max bombs were 8 instead of 10, allowing me to only upgrade to 28 bombs total.
This happened before on one of the earlier patches, but then went away on the later revisions until this one.

I also did think of an Optional quality of life change that would be great. Either change how the magic book works or make it so you can unequip it. the magic rod is great until you get that book and then it leaves fire behind that never manages to damage the targets, but lingers around so you can slam into it and take damage. Maybe either make the magic rod initially have the power of the wooden sword and the magic book upgrades it to the power of the white sword or make it start with the power of the white sword and the book upgrades it to the power of the magic sword... or just make it so you can unequip it.
The other idea would be to get rid of the magic book entirely and add a new subweapon that would be more useful like the Hookshot.

Another quality of life upgrade, that might be impossible, would be for the flute to work like the Ocarina does in later games where you can select where it's warping you to. Having to randomly use it over and over while it seems to almost blatantly take you as far away as possible from where you're trying to get to is pretty maddening and essentially makes it worthless.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on December 13, 2019, 08:54:56 pm
That graphical glitch was predictable. The game is basically loading an enemy for which the correct graphics don't exist in the PPU at this point. You can see that it uses Dodongo tiles.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: erpster2 on December 14, 2019, 12:49:23 am
perhaps put 5 Dodongos in the boss room of level 7 instead of using Patra as the boss

another suggestion: change the bosses of level 6 of both quests to Lanmolas as their graphics are used in both levels 6 and 9
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: pocket on December 14, 2019, 06:47:25 am
Just popping in to say this is looking really promising, Zelda 1 is my fave NES game and pretty high on my favorite Zelda games, I'd love to see it be the best that it could be. If I had any suggestions to throw out there, would it be possible to enable us to kill flying peahats with the bow? It's so annoying that you can literally do nothing to them until they land. Also, if you're making bombable walls more apparant, will you be doing the same for burnable trees, like maybe subtly re-arranging the dots on the ones you can burn?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on December 15, 2019, 01:29:51 pm
Specific rooms in Dungeons (and possibly in Overworld) trigger changes of palettes. That's what happens when you enter a boss room, so that the boss can have its own palette. Sprite palette change for Aquamentus is index 04 in table at 1A000, bank 6. Pointer address is 1A28E. Palette data is 0F 0A 29 30. I changed it to 0F 13 16 35, and it looks like this:

(http://bwass.org/romhack/zelda1/newaquamentus.png)
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on December 17, 2019, 07:47:57 pm
Specific rooms in Dungeons (and possibly in Overworld) trigger changes of palettes. That's what happens when you enter a boss room, so that the boss can have its own palette. Sprite palette change for Aquamentus is index 04 in table at 1A000, bank 6. Pointer address is 1A28E. Palette data is 0F 0A 29 30. I changed it to 0F 13 16 35, and it looks like this:

(http://bwass.org/romhack/zelda1/newaquamentus.png)
That's actually really cool looking. I like it. Aquamentus looks angry!
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on December 18, 2019, 03:10:34 pm
Sorry for the really late reply, guys.
There's alot happening lately on this side.

First off, I have not been getting emails about subsequent replies to any of my project threads, hence why I haven't noticed the new replies lately.

Second, I will not be able to work on this project until 2020 due to two things:

Given those things, I don't think I'll be able to work on any project until the roll of the new year, and that's if I am better regarding my health.
I will still try to work on stuff if I do feel okay, but I really hope this is nothing serious and I can get back on track by the new year.

To address some of the new replies:


One last question, so far in the main patch (without the bosses one), what are the bugs/glitches found so far?
Is the cracked walls on the overworld one the only problem so far with it?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: IcePenguin on December 18, 2019, 04:16:14 pm
I really hope it all turns out well for you!  I've enjoyed following your projects, and "Redux" has been a great series of hacks.  See ya in the future, Shadow!  :)
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: CountBuggula on December 18, 2019, 08:49:15 pm
You're a genuine treatsure and important asset on this site, I really hope you get well soon.  Until then, try to enjoy your vacation the best you can.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Trax on December 18, 2019, 09:50:08 pm
See you next year, ShadowOne, and hopefully in good shape.

As for the secrets, whether they appear in Quest 1 or 2 or both, yes, there is a separate flag for each quest. The bits are in Screen Attributes Table 5. The byte structure is as follows:

.... .xxx   Vertical Position Out of Caves (0 = second row from top)
.... x...   Enemies appear from the sides of the screen
..xx ....   Stairs Position Code (when something is pushed)
.x.. ....   Secret in 1st Quest
x... ....   Secret in 2nd Quest


All pointers for Attributes Tables (both quests) are right at the beginning of Bank 6, starting at 0x18000. See my docs for Bank 6 (http://www.bwass.org/romhack/zelda1/zelda1bank6.txt).
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on December 18, 2019, 11:48:21 pm
@ShadowOne333

Hope you get better soon! And have a Merry Christmas & Happy New Year!
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: erpster2 on December 19, 2019, 12:42:28 pm

What Levels/Dungeons load the graphics for Patra and the Lanmolas?


I can answer this question for you, ShadowOne333 (hope you feel better for 2020)

the graphics for Lanmolas are used in levels 4, 6 & 9 of the 1st quest and levels 5, 6 & 9 of the 2nd quest [DungeonMaster tool showed me these]

for Patra, the graphics are used only in level 9 in both quests

suggestion: perhaps replace Gleeok in level 4 in 1st quest and level 5 in 2nd quest with Lanmolas and you won't get any graphic glitches
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on December 19, 2019, 08:42:44 pm
I can answer this question for you, ShadowOne333 (hope you feel better for 2020)

the graphics for Lanmolas are used in levels 4, 6 & 9 of the 1st quest and levels 5, 6 & 9 of the 2nd quest [DungeonMaster tool showed me these]

for Patra, the graphics are used only in level 9 in both quests

suggestion: perhaps replace Gleeok in level 4 in 1st quest and level 5 in 2nd quest with Lanmolas and you won't get any graphic glitches
Ah, but DM let's you change the tilesets for the boss of each level, but then you only have that set to work with. At least I think the functionality is there...let me check, one sec...Yup. If Patra is desired as a boss for a level, then you're stuck with just Patra and Gannon. Gannon can only be used in his fight room, so with any of the rest of the levels, you're stuck with Patra as a boss. You could do more than one though. Just tested it with a Patra in LVL1 instead of Aquamentus.

So that above Patra problem should be an easy fix.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on January 06, 2020, 03:20:17 pm
Thank you everyone for your kind wishes and hope you all had great holidays!

Vacations are over, and now that I've been medicated for like 2 weeks now, I feel somewhat better.
At least I haven't been having those awful headaches nor as strong of a dizziness these past days, so that's a step in the right track.

That said, let me see if I can gather all that's been happening here as of late.
So I cannot use the Patras and Lanmolas as freely as I wanted to, but for what I've read, using the Lanmolas is still a possibility.
Patras are stuck in Level 9 for both quests, so that's a big no.

That leaves us with the recoloured Aquamentus idea from Trax (which looks wonderful!), and using Lanmolas in other dungeons for variety's sake.

So about my original idea, which was this:
Quote from: ShadowOne333
    1st Quest - Level 4: Changes the Manhandla in the level to Red Lanmolas, keeps the two-headed Gleeok at the end
    1st Quest - Level 7: Changes the Aquamentus for a Patra with Oval attack cycle
    2nd Quest - Level 2: Changes the two-headed Gleeok to Blue Lanmolas (You can still fight a two-headed Gleeok in Level 6)
    2nd Quest - Level 8: Changes the 3 Dodongos to a Patra with Circle attack cycle

What changes do you guys recommend for including Trax's idea and Lanmolas to make the bosses more interesting and not as repeated?


See you next year, ShadowOne, and hopefully in good shape.

As for the secrets, whether they appear in Quest 1 or 2 or both, yes, there is a separate flag for each quest. The bits are in Screen Attributes Table 5. The byte structure is as follows:

.... .xxx   Vertical Position Out of Caves (0 = second row from top)
.... x...   Enemies appear from the sides of the screen
..xx ....   Stairs Position Code (when something is pushed)
.x.. ....   Secret in 1st Quest
x... ....   Secret in 2nd Quest


All pointers for Attributes Tables (both quests) are right at the beginning of Bank 6, starting at 0x18000. See my docs for Bank 6 (http://www.bwass.org/romhack/zelda1/zelda1bank6.txt).

This will be really helpful.
Are people still experiencing the extra secrets in the overworld?


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

Also, guys, out of that, I want to take a bit of time to get the source code I've been doing clean and ready for compilation (DarkSamus' been doing the one for Zelda 2 Redux), but I unfortunately have no experience with xkas at all.
Can someone who has worked with xkas before help me getting the source code I have on a proper compilable state for xkas? I have no idea what the errors I'm getting are from, nor why if I change anything from the TBL it refuses to compile afterwards.

Here's the link to what I have so far:
https://www.dropbox.com/s/gdvnjj4xgu1fzxb/Zelda1ReduxSRC.zip?dl=0

You just need a clean Zelda 1 (PRG0) ROM inside /rom/ to start testing compilation.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DarkSamus993 on January 06, 2020, 04:36:19 pm
Can someone who has worked with xkas before help me getting the source code I have on a proper compilable state for xkas? I have no idea what the errors I'm getting are from, nor why if I change anything from the TBL it refuses to compile afterwards.
I got it just about fixed. The errors are mainly comments not starting with "//".
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on January 06, 2020, 07:37:55 pm
Thank you everyone for your kind wishes and hope you all had great holidays!

Vacations are over, and now that I've been medicated for like 2 weeks now, I feel somewhat better.
At least I haven't been having those awful headaches nor as strong of a dizziness these past days, so that's a step in the right track.
Glad you're feeling better!

That said, let me see if I can gather all that's been happening here as of late.
So I cannot use the Patras and Lanmolas as freely as I wanted to, but for what I've read, using the Lanmolas is still a possibility.
Patras are stuck in Level 9 for both quests, so that's a big no.
As stated above, I had no issues putting Patra into Q1/L1 in place of Aquamentus, glitch free. Lanmolas are trivial as well. I'm left wondering where your difficulties might be? I'm going to try it in the second quest 2 make sure it works. Can't think of any reason it shouldn't. But we'll see. Would you like me to PM you and IPS to demonstrate the change?

That leaves us with the recoloured Aquamentus idea from Trax (which looks wonderful!), and using Lanmolas in other dungeons for variety's sake.
Love that one! Looks very cool.

This will be really helpful.
Are people still experiencing the extra secrets in the overworld?
Nope. Nothing out of sorts that I can tell with the latest version. The wall bomb hints in the overworld and dungeons both look great! However, you can still walk into the overworld crack tiles. Can't go into the caves, but you can still walk on top of the cracked wall tile.

Edit;
About the Lanmolas in the normal levels, it seems the wrong enemy tile set was selected. Selecting the correct set and using that enemy set in the same level will make using Lanmolas possible and glitchless.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on January 13, 2020, 02:47:52 pm
Hey guys!
Sorry for the delay.

As stated previously, I took some time to try to get all of my source code up and running with xkas, and make it so that all the changes made so far can be compiled without issues and the output ROM has all the proper changes into it.

It took me a while, but after some help by DarkSamus, and a lot of bugtesting on my side, I have finally been able to compile with all the changes I've been gathering over last year, and also I managed to make it so that the output ROM I get from the compilation has all the changes applied to it and fully functional! :D

It took quite some time and a lot of fixes, but it's now finally working.

Why did I do this?
Well, because I am aiming at making this project fully open-source, so that if anyone wants to do their own hack with stuff from Redux, they can do so without withdrawing any features from it.
Depriving other people from using certain features of a hack is just putting a limit on what people can do, and experiment on said hacks, or even further improve them.

That's something I stand by strongly, and I do wish more people had this thought, instead of just being overly protective with the hacks they do.
But anyway, I will continue work on Zelda Redux now with the source code from now on, no more bare hex editing unless I need to do some bugtesting in-game haha.

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

As stated above, I had no issues putting Patra into Q1/L1 in place of Aquamentus, glitch free. Lanmolas are trivial as well. I'm left wondering where your difficulties might be? I'm going to try it in the second quest 2 make sure it works. Can't think of any reason it shouldn't. But we'll see. Would you like me to PM you and IPS to demonstrate the change?
Love that one! Looks very cool.
Nope. Nothing out of sorts that I can tell with the latest version. The wall bomb hints in the overworld and dungeons both look great! However, you can still walk into the overworld crack tiles. Can't go into the caves, but you can still walk on top of the cracked wall tile.

Edit;
About the Lanmolas in the normal levels, it seems the wrong enemy tile set was selected. Selecting the correct set and using that enemy set in the same level will make using Lanmolas possible and glitchless.

Wait so you got Patras to work on other dungeons that are not Level 9?
How did you do so? Same for the Lanmolas.

How are you implementing them into the game, exactly?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on January 13, 2020, 04:58:11 pm
Wait so you got Patras to work on other dungeons that are not Level 9?
How did you do so? Same for the Lanmolas.

How are you implementing them into the game, exactly?
A utility made by RHDN's own Snarfblam called DungeonMaster.
https://www.romhacking.net/utilities/605/

The way that he has set it up is that it will let you know which groupings of enemies can be selected for each level.
For example, I selected Ganon/Patra and then placed the Patra in the room where Auqamentus was in L1Q1. In doing so the correct tilesets and palettes are assigned. The same applies with minor enemys, including Lanmola's. Select the correct enemy set, then place them where you wish. The catch is, you can only place enemies from that sub-set group in the entire level. Any other enemy's will still appear and function, but their graphics will be glitched because only the graphics and palettes for that subset are loaded into memory. It's how the internals of LOZ1 works.

So unless you are going to get into some serious ASM coding(which has been done) to change those behaviors, those predetermined behaviors will be the limiting factor.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on January 14, 2020, 01:35:52 pm
A utility made by RHDN's own Snarfblam called DungeonMaster.
https://www.romhacking.net/utilities/605/

The way that he has set it up is that it will let you know which groupings of enemies can be selected for each level.
For example, I selected Ganon/Patra and then placed the Patra in the room where Auqamentus was in L1Q1. In doing so the correct tilesets and palettes are assigned. The same applies with minor enemys, including Lanmola's. Select the correct enemy set, then place them where you wish. The catch is, you can only place enemies from that sub-set group in the entire level. Any other enemy's will still appear and function, but their graphics will be glitched because only the graphics and palettes for that subset are loaded into memory. It's how the internals of LOZ1 works.

So unless you are going to get into some serious ASM coding(which has been done) to change those behaviors, those predetermined behaviors will be the limiting factor.

Interesting.
I used Zelda Tech for the boss changes, so maybe that's why I ended up with things borked in that regard.

Could I ask you for a favor?
Could you perhaps try to recreate the changes I did for the bosses with Dungeon Master over a clean Zelda 1 (PRG0) ROM, and make an IPS out of it with just those changes, please?

The enemy changes are as follows:
Quote
    1st Quest - Level 4: Changes the Manhandla in the level to Red Lanmolas, keeps the two-headed Gleeok at the end
    1st Quest - Level 7: Changes the Aquamentus for a Patra with Oval attack cycle
    2nd Quest - Level 2: Changes the two-headed Gleeok to Blue Lanmolas (You can still fight a two-headed Gleeok in Level 6)
    2nd Quest - Level 8: Changes the 3 Dodongos to a Patra with Circle attack cycle

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

Aside from that, I might need a little help with some ASM I started doing for trying to Switch items with the Select button.
I managed to get rid of the Pause when pressing Select by NOP'ing the code from 0x1EC4C-0x1EC51. That makes it so that pressing Select doesn't Pause the game. Basically, RAM address $00E0 is the one that handles whether the game is paused or not ($00 for unpaused, $01 for paused), so I simply got rid of the code that sets that byte.

I made some custom code, which I tested with an online 6502 assembler, but I can't get it to work in-game, not sure why.
Some explanation before the code:

1) RAM $0656 is the one that determines the position of the cursor on the inventory screen, or rather, what item is selected. This value goes from anything between $00 (Boomerang) up to $08 (Rod). It can still go past $08, but that will put Key items in the B button instead, like the Raft and so on, so the limit should be $08. Once it tries to reach $09, it should reset to $00.

Item values are:
$00 - Boomerang
$01 - Bombs
$02 - Arrows (Normal/Silver)
$03 - Bow
$04 - Candle (Red/Blue)
$05 - Flute
$06 - Food/Bait
$07 - Potions (Red/Blue)
$08 - Magic Rod

2) The cursor should bypass any possible position if a particular item has not been obtained.
For example, I think bombs are $01, so if the player still hasn't obtained bombs, the cursor should skip value $01, and instead go for the next possible value. This can be done by checking if the item in a certain item slot is obtained (each item has a RAM address to know if Link has obtained it) before incrementing the value at $0656.

Here are the RAM addresses for each item, to know if it has been obtained or not:
0658    Number of Bombs     
0659    Arrow status                $00=None, $01=Arrow, $02=Silver Arrow
065A    Bow in Inventory            $00=False, $01=True
065B    Status of candle            $00=None, $01=Blue Candle, $02=Red Candle
065C    Whistle in Inventory        $00=False, $01=True
065D    Food in Inventory           $00=False, $01=True
065E    Potion in Inventory         $00=None/Letter, $01=Life Potion, $02=2nd Potion
065F    Magical Rod in Inventory    $00=False, $01=True

3) The bow and arrows are special cases for this hack.
If you have the bow, but not the arrows, and you change the RAM address $0656 manually to value $03, then the B button item changes to the bow alone (no arrows). Same for having arrows but no bow, value $02 can select the arrows as the item, but not use them since you don't have the bow yet.
So for these two, I need to check specifically if any type of arrows ($01 - Normal, $02 - Silver) have been obtained at $0659, and if the bow has been obtained as well at $065A, to effectively make the proper check for the increment of the inventory/item select.

With those points made, here's the code I have:

Code: [Select]
bank 7;
org $EC3C // $1EC4C
jsr $BFC0
nop // NOP the LDA $00E0 at $EC3C (A5 E0)
nop // NOP the EOR #$01 (49 01)
nop // NOP the STA $00E0 (85 E0)

bank 5;
org $BFC0 //$17FD0
inc $0656 // Increment value at $0656
lda.w $0656 // Load value from $0656
cmp.b #$02 // Is the item position $02?
beq check_bow_arrow
cmp.b #$09 // If $0656 < 9, reset to $00
bcc end
lda.b #$00
bcs set_selection // Carry is known to be set, so this act as a "BRA" from 65816

check_bow_arrow:
lda.w $065A // Does the player have the bow? (0 if no)
beq select_04
lda.w $0659 // Does the player have arrows? (0 if no)
bne end

select_04:
lda.b #$04

set_selection:
sta.w $0656

end:
//jmp $EC42
rts

Any suggestion or help would be greatly appreciated!
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: aml435 on January 14, 2020, 06:49:15 pm
Would there not also need to be a flag set on the rod as to whether or not you have the magic book?
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on January 14, 2020, 10:15:12 pm
Interesting.
I used Zelda Tech for the boss changes, so maybe that's why I ended up with things borked in that regard.
Very likely.
Could I ask you for a favor?
Could you perhaps try to recreate the changes I did for the bosses with Dungeon Master over a clean Zelda 1 (PRG0) ROM, and make an IPS out of it with just those changes, please?
No problem.
The enemy changes are as follows:
    1st Quest - Level 4: Changes the Manhandla in the level to Red Lanmolas, keeps the two-headed Gleeok at the end
Done

    1st Quest - Level 7: Changes the Aquamentus for a Patra with Oval attack cycle
Done Please note: This change requires the Dodongos and Digdoggers be changed to Patra's or minor enemies as well.

    2nd Quest - Level 2: Changes the two-headed Gleeok to Blue Lanmolas (You can still fight a two-headed Gleeok in Level 6)
Done Please note: This change required the changing of the minor enemy subset and thus level enemies have been adjusted accordingly.

    2nd Quest - Level 8: Changes the 3 Dodongos to a Patra with Circle attack cycle
Done Please note: This change required the change of both Digdoggers and Aquamentus to Patra's as well.

Check your inbox here on RHDN.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: DarkSamus993 on January 14, 2020, 11:50:53 pm
I might need a little help with some ASM I started doing for trying to Switch items with the Select button.

No need to reinvent the wheel, the game already has a routine for switching the selected item in the pause menu, so we can just use that. Your choice of with or without playing a sound when the item is changed.
Code: [Select]
bank 7; org $EC3C  // $1EC4C

    // switch to bank 5
    lda.b    #$05
    jsr      $FFAC

    // hijack PAD_SELECT pressed on the overworld
    jsr      quick_select

//==============================================================================

bank 5; org $BFC0  //$17FD0

quick_select:
    lda.b    #$01   // PAD_RIGHT
    ldy.w    $0656  // current item
    jsr      $B7C8  // get next item (use 'jsr $B7A8' to also play sfx)
    rts
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: ShadowOne333 on January 17, 2020, 04:29:55 pm
Thank you both, lexluthermeister and DarkSamus993!

@DarkSamus993, damn, you REALLY saved me a lot of trouble with that.
I never thought about using the code that was already available in the game for the inventory items in such a way, I thought I had to do my own thing.
Very appreciated! As always, remarkable work you do :)
Added the code to my source, compiled it, and now the Pause is removed, but we have item switching through the Select button!

@lexluthermeister, I got your IPS, and your new message from today.
I haven't tested it yet, but I have successfully disassembled the changes you did and added them to the source code I have.
I won't be able to test them until next week, but your word on it working fine on your end is sufficient to me :P
I might treat this patch as an optional patch, alongside the lower bomb max and LA's graphics.

Also, after testing out the new Bosses patch that Lex did, I will go ahead and start work on another optional patch, which is the unique colour scheme for each dungeon!
I will take Modern Classic Edition as the base for this, but given how I will make it all into source code, people will be able to re-arrange what Levels/Dungeons they want with which colours!

Once that's done, I'll see what comes next.
The biggest implementations I want for the hack are still really far-off my scope.
These three being the 999 Rupees, Diagonal sword swing and adding the Arrows as purchasable items and adding their own counter in the HUD.

There are still other points remaining, but those 3 will prove to be a real pain down the road for sure.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Zimgief on January 17, 2020, 04:47:58 pm
A french hacker made a hack that let you switch items with start button.
Also you can freely move on the item menu (right-left, up-down).
Also, the cursor moves silently now.
Also he sped up exiting the item menu.


https://www.youtube.com/watch?v=d4DM_3Nklec
Download link in the description. In the video he explains how he did some of these things.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: lexluthermiester on January 17, 2020, 06:30:05 pm
A french hacker made a hack that let you switch items with start button.
Also you can freely move on the item menu (right-left, up-down).
Also, the cursor moves silently now.
Also he sped up exiting the item menu.


https://www.youtube.com/watch?v=d4DM_3Nklec
Download link in the description. In the video he explains how he did some of these things.
It makes more sense to have the item select on the Select button. Great idea though.
Title: Re: Zelda 1 Redux / The Legend of Zelda Redux
Post by: Zimgief on January 17, 2020, 06:33:16 pm
Well, it can be tweaked, I suppose. :) (I agree it makes more sense with select, he just got rid of start as pause and used the freed button.)
Anyway, just thought it would save some work to use it. :p