News:

11 March 2016 - Forum Rules

Main Menu

Zelda 1 Redux / The Legend of Zelda Redux

Started by ShadowOne333, October 10, 2019, 12:04:03 PM

Previous topic - Next topic

Pleiades7

Quote from: ShadowOne333 on March 03, 2021, 10:34:30 AM
To the people having the bugs.

Enjoy playing your hack!

Question about possible bug. The fishman/merman in the water... sometimes it's a strange graphic of him smiling, and then when he appears again he's back to being an angry monster.

Is that a bug or intentional? The two different graphics of that creature?

bogaabogaa

#641
Do you guy delete the save file when updating and changing mappers? In order to have the correct code in the SRAM you need to delete the whole thing before playing a other version. This are different games after converting and if you name them the same and use the same save files it is normal to get glitches.

In FCEUX you will find it in the config dropdown menu along directory. If you use mesen you could also just open the memory tool and overwrite the pages with 00 and then reset.


I could not reproduce any of the glitches mentioned here. I did look at the corrupted save file and the data for Map flags seems to be corrupted. Never seen this outside of the file shared here.

Update:
I did see that the last dungeon does make use of the full lower RAM page. I am sorry for not testing properly and thanks for sharing the issue.
You will need to wait for a update of the patch.
CV ROM DiscordServer
https://discord.gg/PvFgxRg

ShadowOne333

@Chicken Knife can you try this patch and see if it fixes the Automap tile glitch/bug for you?
https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/tree/6a7b2660a75c3b71abfc8a0f614133ce1e48fd27/MMC5/patches

Bogaa found out that addresses $700 and above were being used as flags for the Dungeon 9 map, and perhaps for other Dungeons too, and even overworld flags.

There was still one portion of code in the MMC5 Automap that was using a RAM address within that range. I moved it to another (unused) address. Hopefully this fixes that issue.

Let me know if it still happens, so I can debug or change stuff around someplace else.

ifightdragons

Have you looked into the dungeon map in the upper right corner during gameplay? It doesn't show any other room than the one I'm in, even after the map is found.

ShadowOne333

Quote from: ifightdragons on March 07, 2021, 05:08:05 PM
Have you looked into the dungeon map in the upper right corner during gameplay? It doesn't show any other room than the one I'm in, even after the map is found.

In what dungeon does that happen?
I don't recall seeing that, but could be related to the RAM addresses I mentioned, as those were being used with the Dungeon map flags.

ifightdragons

Quote from: ShadowOne333 on March 07, 2021, 05:11:18 PM
In what dungeon does that happen?
I don't recall seeing that, but could be related to the RAM addresses I mentioned, as those were being used with the Dungeon map flags.

In all 9 dungeons

Chicken Knife

Did a fair amount of walking around, no further automap issues from what I'm seeing.  :beer:
Will let you know if anything pops up.

As far as dungon maps, I didn't assume that the automap was supposed to be displaying visuals on the main gameplay screen. I was using pausing the game in order to see the dungeon map. Would be a cool feature if it were implemented / working, but it would also render the map on the pause screen meaningless.

ifightdragons

Quote from: Chicken Knife on March 08, 2021, 07:23:10 AM
Did a fair amount of walking around, no further automap issues from what I'm seeing.  :beer:
Will let you know if anything pops up.

As far as dungon maps, I didn't assume that the automap was supposed to be displaying visuals on the main gameplay screen. I was using pausing the game in order to see the dungeon map. Would be a cool feature if it were implemented / working, but it would also render the map on the pause screen meaningless.

https://youtu.be/6ADhznw1zhc?t=498 <--- The full dungeon map is supposed to be visible on the main gameplay screen after collecting the dungeon map. See this video for reference. The hack definitely bugs this feature.

That's kind of the whole point of the gameplay map, not to mention the Automap. You shouldn't have to pause the game to look at it.

ShadowOne333

Quote from: Chicken Knife on March 08, 2021, 07:23:10 AM
Did a fair amount of walking around, no further automap issues from what I'm seeing.  :beer:
Will let you know if anything pops up.

As far as dungon maps, I didn't assume that the automap was supposed to be displaying visuals on the main gameplay screen. I was using pausing the game in order to see the dungeon map. Would be a cool feature if it were implemented / working, but it would also render the map on the pause screen meaningless.

What a great relief that is.
Hopefully, it has been fixed for good. I was starting to worry this would get out of hand with such a weird bug, more so since I couldn't reproduce it, but I'm glad it seems better on your end now.

Quote from: ifightdragons on March 08, 2021, 11:14:20 AM
https://youtu.be/6ADhznw1zhc?t=498 <--- The full dungeon map is supposed to be visible on the main gameplay screen after collecting the dungeon map. See this video for reference. The hack definitely bugs this feature.

That's kind of the whole point of the gameplay map, not to mention the Automap. You shouldn't have to pause the game to look at it.

It's working fine on my end in a newly created save using Redux MMC5:

                         Compass                           /                 Before getting map                   /                  After getting map


Is that what you're referring to?

ifightdragons

Quote from: ShadowOne333 on March 08, 2021, 01:36:55 PM
It's working fine on my end in a newly created save using Redux MMC5:

                         Compass                           /                 Before getting map                   /                  After getting map


Is that what you're referring to?

Yep! But the map stays all black even after collecting the map. I was also using MMC5 and a clean save. I haven't tried the latest patch you just posted in this thread, though.

The compass function works though. The only thing I see after collecting both the map and compass is the image in the middle.

ShadowOne333

Quote from: ifightdragons on March 08, 2021, 01:49:32 PM
Yep! But the map stays all black even after collecting the map. I was also using MMC5 and a clean save. I haven't tried the latest patch you just posted in this thread, though.

The compass function works though. The only thing I see after collecting both the map and compass is the image in the middle.

Try out the newest patch I posted. I am almost 100% sure that the address that was previously being used by the MMC5 Automap code ($0704) was being used for Dungeon maps, as Bogaa stated. So updating could probably fix that too.

I will wait until Chicken Knife and you confirm that the glitchy/buggy tiles in the Automap on the overworld and the Dungeon maps are no longer behaving weirdly and are now working properly to update the official version.

Chicken Knife

Quote from: ShadowOne333 on March 08, 2021, 01:53:27 PM
I will wait until Chicken Knife and you confirm that the glitchy/buggy tiles in the Automap on the overworld and the Dungeon maps are no longer behaving weirdly and are now working properly to update the official version.

This was a smart move to wait. I spent more time walking around the map and the bug resurfaced in the same way as it usually does. Some bad tiles pop up to the right of the map, and some sections of the lower right of the map get the graveyard palette applied.

ShadowOne333

Quote from: Chicken Knife on March 08, 2021, 05:33:40 PM
This was a smart move to wait. I spent more time walking around the map and the bug resurfaced in the same way as it usually does. Some bad tiles pop up to the right of the map, and some sections of the lower right of the map get the graveyard palette applied.

With the Debugger stuff enabled, does it break in the same code when that happens?

Chicken Knife

Spent over an hour trying to get that breakpoint to trigger. Numerous instances of the graphics bug appeared in the process, but that particular memory address isn't getting written. Are there some other addresses I could put write breakpoints on as well? Perhaps to that black space to the right of the bottom row of map tiles? That seems to be the most consistent area the bugged tiles spring up.

Special

I hope they're paying you overtime Chicken Knife.

ShadowOne333

Quote from: Chicken Knife on March 09, 2021, 01:49:35 AM
Spent over an hour trying to get that breakpoint to trigger. Numerous instances of the graphics bug appeared in the process, but that particular memory address isn't getting written. Are there some other addresses I could put write breakpoints on as well? Perhaps to that black space to the right of the bottom row of map tiles? That seems to be the most consistent area the bugged tiles spring up.

One way to widen the debugging range would be to:

1) Open the Debugger after the save has been loaded.
2) Click on the button near the right-top area that says "Add"
3) On the window that opens, write "20D5" on the top-left text box, and "20DF" on the right one, so it should be "20D5-20DF" altogether.
4) Below that, check/mark the option that says "Write" and also the one below that saying "PPU".
5) Save it up, it should now appear in the white box at the top-right of the Debugger
6) You can now continue playing until the bug appears again.

Hopefully that makes it break with that range of addresses in the debugger.

Ray138

I've noticed that after applying the Original NES Graphics patch, the waves from the Zora & the mounds from the Leevers are still changed. Is there a quick way to revert that?
Also, any chance at a patch that uses the New Pillars with the Original NES Graphics?

This is a fantastic patch, by the way. I really love it.

Chicken Knife



When I used the wider PPU write range I was getting multiple hits on every screen where there was no graphics bug, so I went back to just using PPU$20DE. Here's a hit with the new version, fresh save.

ShadowOne333

#658
Looks as if it is the same code as before, so the change I made did nothing towards fixing this bug.
Seems like the section of code from Automap that is buggy is this in particular, the code at bank 6 from lines 432 up to 625:
https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/master/MMC5/code/gameplay/automap.asm#L432-L625

I am still not sure how to go about fixing it, as I am not even sure what is causing the overflow for Automap to occur in the first place.

So, unfortunately, I am not sure how to go about fixing this particular bug.
This might take long to fix, that's if I do find a solution for it.


Also, not to mention the MMC1 Automap is still pending (the one that behaves the same as Snarfblam's), as the bank swapping for the MMC1 Automap to work properly with the MMC1 animation is not done.
The MMC1 version is reusing the MMC5 Automap, so that means both MMC1 and MMC5 will share the bug :/


March 15, 2021, 02:49:49 PM - (Auto Merged - Double Posts are not allowed before 7 days.)


User @Cyneprepou4uk gave some insight on what the real issue might be to fix the MMC5 Automap bug.
Here's what he had to say about it:






"Debugger shows "Scanline: 0" , which means you're out of vblank time
So even if $0000 = DB, write goes to 20DE because of currently busy and unreliable PPU.

Code is correct, but by doing these calculations inside the NMI handler you are wasting vblank time. You need to execute this routine and write the result to a common PPU buffer while being outside of NMI, instead of writing directly to PPU inside NMI"





It seems like the culprit of the issue is the vblank being too busy, due to doing the calculations inside of the NMI handler. I am still not sure how to fix the issue yet, but at least this could help to narrow down the bug to do the solution.

CaptainHIT

Is this patch compatible with the rom from the No-Intro set? I'm asking hence the checksum is different (both the iNES mapper versions 1 & 2).