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

ShadowOne333

Quote from: CaptainHIT on April 26, 2021, 04:51:37 AM
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).

Not quite sure tbh. I'm not sure if the No-Intro set has both versions of Zelda 1 or not.
Depends on whether that one is the PRG0 or PRG1 version of Zelda 1.
Both are different, and this hack only works for the PRG0 version.

liquidgykill

Hey, I was able to make it work on FCEUmm emulator with no problem.
But no matter what I try, I wasnt able to make the patched ROM work on my new 3ds xl by converting it to .CIA.
I always get a gray infinite screen on the 3ds Virtual console.
Is there a way to properly patching it to make it work?.
Ive successfully patched snes and gba ROMs before and they work fine as .CIA on my 3ds.

CaptainHIT

#662
Quote from: ShadowOne333 on April 26, 2021, 08:38:11 PM
Not quite sure tbh. I'm not sure if the No-Intro set has both versions of Zelda 1 or not.
Depends on whether that one is the PRG0 or PRG1 version of Zelda 1.
Both are different, and this hack only works for the PRG0 version.
There are two datted:
Legend of Zelda, The (USA)
Legend of Zelda, The (USA) (Rev 1)

I guess the one without any reference to Rev # is PRG0 and Rev 1 is the PRG1 version.

Files with iNES header v1 have these SHA1 checksums:
Legend of Zelda, The (USA) dab79c84934f9aa5db4e7dad390e5d0c12443fa2
Legend of Zelda, The (USA) (Rev 1) 3701381a82fc7d52b2dd3e8892047b30a114ab43

Files with iNES header v2 have these SHA1 checksums:
Legend of Zelda, The (USA) 799459548f9636dd263200da494f04058f5540e2
Legend of Zelda, The (USA) (Rev 1) 4671517d72d09799403f6c672cd2b395933e926e

I guess the header doesn't bother much when patching as it doesn't touch this part of the file.

Update: Ok, I've just tried out both MMC1 & MMC5 patches on bot iNES header versions and they do work fine. :thumbsup:

Rev 1 versions have garbled title screen so I guess they're the aforementioned PRG1 ones.

roger_hunt

#663
Hi, first of all, this is an amazing hack.
I'm using it for my first playthrough and I'm loving it.

I did notice one bug after getting stuck and using a walkthrough.
In the 7th dungeon where the old man is supposed to say "THERE'S A SECRET IN THE TIP OF THE NOSE", he instead says "SPECTACLE ROCK IS A GATEWAY TO DEATH", which is apparently supposed to be said in the 8th dungeon.

7th dungeon from guide:


My screenshot:


I am using the 1.01 MMC5 patch on Nestopia.

erpster2

I found another bug but it is sort of a game saving bug.

only happens with the MMC1 version of the latest Zelda 1 Redux ips patch.  I have not tested the MMC5 version of Zelda 1 Redux yet

some of the game save data is not saved after being dungeon 6 of the 2nd quest when playing the 3rd game save slot (the bottom one).  when clearing the other dungeon levels but the 6th one when playing the third save slot, data is saved. this does not occur with the first 2 game save slots though.  not sure why this happens though.  the problem is easily reproducible

ShadowOne333

Quote from: roger_hunt on June 08, 2021, 09:42:15 PM
Hi, first of all, this is an amazing hack.
I'm using it for my first playthrough and I'm loving it.

I did notice one bug after getting stuck and using a walkthrough.
In the 7th dungeon where the old man is supposed to say "THERE'S A SECRET IN THE TIP OF THE NOSE", he instead says "SPECTACLE ROCK IS A GATEWAY TO DEATH", which is apparently supposed to be said in the 8th dungeon.

7th dungeon from guide:


My screenshot:


I am using the 1.01 MMC5 patch on Nestopia.

This isn't necessarily a bug. It's intended.
You see, the whole script was rewritten to be more in-line with the original script from the Japanese version, as a lot of the script in the US release was either heavily redone or changed altogether.

That specific line is one of the many instances where the Japanese release had an entirely different sentence in it.
Clyde Mandelin did a good comparison which you can check in his site here:
https://legendsoflocalization.com/the-legend-of-zelda/first-quest/#the-secret-nose

So all in all, it's an intended line change to polish the script.

Quote from: erpster2 on June 26, 2021, 04:48:41 PM
I found another bug but it is sort of a game saving bug.

only happens with the MMC1 version of the latest Zelda 1 Redux ips patch.  I have not tested the MMC5 version of Zelda 1 Redux yet

some of the game save data is not saved after being dungeon 6 of the 2nd quest when playing the 3rd game save slot (the bottom one).  when clearing the other dungeon levels but the 6th one when playing the third save slot, data is saved. this does not occur with the first 2 game save slots though.  not sure why this happens though.  the problem is easily reproducible

Could you check if the same issue happens with the MMC5 version, please? I want to make sure it's not exclusive to the MMC1 version.
I'm guessing this is yet another instance of SRAM/RAM ranges being used by Dungeon data, which got overwritten or modified mistakenly when doing the animations for either MMC1 or MMC5.

It would require a bit of time to check properly, given how there's still the minimap corruption bug left to iron out.

InAnotherCastle

It's amazing to witness the dedication and attention to detail this project is receiving, I'm sure it will be perfect sooner rather than later  :-)

spotanjo3


VoltaireSurge

If i qere to recommend anything, it would be to have the heart and map flip be an optional patch, andnuse the other style of automap, where it opens the map on a screen by screen basis, rather than 4 at a time. If that's at all possible. Any chance in getting the wall crack hint as a seperate patch that could be applied over another hack? I was jw. This is really promising. I play my zelda roms via the 3ds and this one didn't wunna play nice. XD love the dedication though.

netux

Trying the hack and it is really good so far... I just have one question: Is there a reason to change the darknuts on dungeon-3 for wizzrobes? Since I have not been able to test the whole hack... Did you also change other enemies within the dungeons apart from the bosses?

Thanks, amazing job!

ShadowOne333

Quote from: erpster2 on June 26, 2021, 04:48:41 PM
I found another bug but it is sort of a game saving bug.

only happens with the MMC1 version of the latest Zelda 1 Redux ips patch.  I have not tested the MMC5 version of Zelda 1 Redux yet

some of the game save data is not saved after being dungeon 6 of the 2nd quest when playing the 3rd game save slot (the bottom one).  when clearing the other dungeon levels but the 6th one when playing the third save slot, data is saved. this does not occur with the first 2 game save slots though.  not sure why this happens though.  the problem is easily reproducible

I tried to go back to Redux a bit to test this issue out, and I could replicate it on the latest version.
Turns out that Dungeon 6 saves its data around RAM addresses $0720 up to around $770, (only the first 5 byte columns of each row, meaning $0720-$0725, $0730-$0735, $0740-$0745, etc.).
For some reason, some of the data is wiped when starting the 3rd slot file. The original games seems to do a write in these locations too, but for some reason with Redux some data within that range is overwritten with 00s at the moment of starting the file again (even if saving after completing Dungeon 6-2nd Quest).

I have confirmed that the Automap hack is the cause of this bug, even the original Automap by Snarfblam causes this glitch. No other hack in the game triggers it, so any other hack with Automap in them has this issue as well.

Quote from: VoltaireSurge on August 09, 2021, 06:53:28 PM
If i qere to recommend anything, it would be to have the heart and map flip be an optional patch, andnuse the other style of automap, where it opens the map on a screen by screen basis, rather than 4 at a time. If that's at all possible. Any chance in getting the wall crack hint as a seperate patch that could be applied over another hack? I was jw. This is really promising. I play my zelda roms via the 3ds and this one didn't wunna play nice. XD love the dedication though.

The map flipping can be optional, it's easy to do, I just need to find a way to fix the whole Automap bugs plaguing the hack first before attempting that.
As for the cracked walls being a separate patch, the source files are available, and I cannot make sure that a single patch can be done, since it might overwrite things in other ROMs/Hacks.

Quote from: netux on August 11, 2021, 01:55:58 PM
Trying the hack and it is really good so far... I just have one question: Is there a reason to change the darknuts on dungeon-3 for wizzrobes? Since I have not been able to test the whole hack... Did you also change other enemies within the dungeons apart from the bosses?

Thanks, amazing job!

I assume you're playing the "Rearranged Bosses" optional patch, right?
Since the original/normal Redux hack doesn't have changed enemies.

If that's so, then the reason is because the bosses are grouped with certain enemies in the game.
They're paired in certain groups, so that's why you see certain enemies being changed in the Rearranged Bosses patch, because certain bosses need certain enemies to be grouped with them to work properly in a Dungeon, otherwise you end up with garbled graphics if you don't use the proper enemy group.

netux

Quote from: ShadowOne333 on August 13, 2021, 12:15:02 PM
I assume you're playing the "Rearranged Bosses" optional patch, right?
Since the original/normal Redux hack doesn't have changed enemies.

If that's so, then the reason is because the bosses are grouped with certain enemies in the game.
They're paired in certain groups, so that's why you see certain enemies being changed in the Rearranged Bosses patch, because certain bosses need certain enemies to be grouped with them to work properly in a Dungeon, otherwise you end up with garbled graphics if you don't use the proper enemy group.

Yeah, I applied the rearranged bosses patch... Ok good to know that patch also changes the enemies on the dungeons... I think I will go without that patch to get the original enemies instead.. Thanks man for replying!

minucce

#672
Bit off-topic:
Made patch that stops hud from disappearing when entering, leaving caves during overworld map. Compatible with latest Redux and Reguar prg 0/1.

https://github.com/minucce-yard/Legend_of_Zelda_NES/tree/dbdacf9b46feda58c6f759f924948442967b3295/Overworld_Hud_Blink



____________________________________________


Quote
some of the game save data is not saved after being dungeon 6 of the 2nd quest when playing the 3rd game save slot (the bottom one).  when clearing the other dungeon levels but the 6th one when playing the third save slot, data is saved. this does not occur with the first 2 game save slots though.  not sure why this happens though.  the problem is easily reproducible

Shared conflict: Save 3 uses 6c10-6d8f -- Automap uses 6cb4-6cb7

6cb4 gets changed and checksum fails; nothing is written to sram.

https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/6a7b2660a75c3b71abfc8a0f614133ce1e48fd27/MMC5/code/gameplay/automap.asm#L433

UpdatePartialMapTile:
lda.b $12 // Skip main menu loading
cmp.b #$0d
beq EndCheckStuff

jsr $A080 // Check stuff and goes into PPU routines?
lda.b $10 // Check for overworld?
bne NotOverworld


ShadowOne333

Quote from: minucce on September 02, 2021, 11:49:15 PM
Bit off-topic:
Made patch that stops hud from disappearing when entering, leaving caves during overworld map. Compatible with latest Redux and Reguar prg 0/1.

https://github.com/minucce-yard/Legend_of_Zelda_NES/tree/dbdacf9b46feda58c6f759f924948442967b3295/Overworld_Hud_Blink


That's a neat little hack.
Would you mind if I include it into Redux?
With full credit to you of course.

Quote from: minucce on September 02, 2021, 11:49:15 PM
Shared conflict: Save 3 uses 6c10-6d8f -- Automap uses 6cb4-6cb7

6cb4 gets changed and checksum fails; nothing is written to sram.

https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/6a7b2660a75c3b71abfc8a0f614133ce1e48fd27/MMC5/code/gameplay/automap.asm#L433

UpdatePartialMapTile:
lda.b $12 // Skip main menu loading
cmp.b #$0d
beq EndCheckStuff

jsr $A080 // Check stuff and goes into PPU routines?
lda.b $10 // Check for overworld?
bne NotOverworld


That helped a LOT to locate the issue.
It seems the "tileFlag" variables (and the others that used that as base) were overwriting those RAM locations you mention ($6CB4-$6CB7), while the game accounted $6C10 up o $6D8F for the 3rd save slots checksum.
I wasn't aware of that.

Right now I moved those variables to RAM $758C. That seems to be where code for bank 1 is located, and that's an unused section of code, so I assume it's fine for use with Automap. I couldn't find any other location in RAM before that which allows for those 4 bytes to be written and used for Automap.

However, if you do find a better location to put those 4 bytes for Automap in, please let me know, so I can make the proper change into the Automap code.

Thanks for pointing that out!

minucce

Quote
That's a neat little hack.
Would you mind if I include it into Redux?

Please include! I haven't uploaded to RHDN yet since I've noticed a few more minor graphical glitches (vanilla, redux) that bother me enough to look at them.

ShadowOne333

#675
Quote from: minucce on September 03, 2021, 12:58:23 PM
Please include! I haven't uploaded to RHDN yet since I've noticed a few more minor graphical glitches (vanilla, redux) that bother me enough to look at them.

I included it in both MMC1 and MMC5.
However it seems that with MMC1 it doesn't work, has some sort of clash when starting a save file.

Also, if you don't mind me asking, do you know of any possible suggestion towards what RAM address to use for Automap?
It seems $758C doesn't seem to work for the MMC1 version neither, it simply refuses to boot with that value for the tileFlag variable.

EDIT:
I ended up changing the RAM addresses required for Automap MMC1 to $0628, $0629, $062A, $062B, $062C and $0673. That seems to make Automap MMC1 work fine and it should no longer have the 3rd Save Slot bug of screwing with the Dungeon 6 data. However, I'm still unsure if indeed those 6 addresses in RAM are actually unused or not (more so $0673). If anyone can clarify whether or not Zelda 1 uses those addresses, please let me know.

As for your HUD Blink code, I had to move it to:
bank 5; org $AF40 // 0x16F50+$2C
It uses $2C bytes, and I just barely found enough space inside Bank 5 to make it fit.

minucce

#676
Quote
However it seems that with MMC1 it doesn't work, has some sort of clash when starting a save file.

I should check.. didn't experience problem with vanilla.

edit: Used clean no-intro (rev 0) + redux mmc1. Not hitting any load errors.

________________________________________________________


Quote
Also, if you don't mind me asking, do you know of any possible suggestion towards what RAM address to use for Automap?

I do not know of any free spots; I'd have to do some ram watching or find some clever way of reducing memory usage.

________________________________________________________

Quote
It uses $2C bytes, and I just barely found enough space inside Bank 5 to make it fit.

17EE0-17F4F is not free space? :oops:

What is mapped there?

________________________________________________________


I encountered this strange bug earlier.

MMC1 MMC5

ShadowOne333

Quote from: minucce on September 03, 2021, 02:46:42 PM
I should check.. didn't experience problem with vanilla.

edit: Used clean no-intro (rev 0) + redux mmc1. Not hitting any load errors.

You are using the MMC1 IPS for this test, right?
Makes sense it would work, as that one is using the MMC5 Automap instead of the WIP MMC1 Automap, more on that later.

Quote from: minucce on September 03, 2021, 02:46:42 PM
I do not know of any free spots; I'd have to do some ram watching or find some clever way of reducing memory usage.

I'll use those 6 RAM addresses I mentioned before. Most likely they remain unused through the whole game, but I still have to make sure, I'll keep this as WIP.

Quote from: minucce on September 03, 2021, 02:46:42 PM
17EE0-17F4F is not free space? :oops:

What is mapped there?

The MMC1 & MMC5 Automaps are not the same.
MMC5 version was done by Bogaa to work with the MMC5 conversion and animation for said version.

However, the MMC1 Automap is based mostly on Snarfblam's original code, however some modifications were done to fix some leftover bugs from the original version (like Automap screwing with some Dungeon palettes due to using wrong RAM Addresses, similar to the Dungeon 6 2nd Quest bug), and it was recently modified by Frantik to partially work with the MMC1 Animation code made by Fiskbit.
With that said, this leads me to the next point...

Quote from: minucce on September 03, 2021, 02:46:42 PM
I encountered this strange bug earlier.

MMC1 MMC5

I assume this is from a compiled version of MMC1, right?
This is a known bug from the recent Automap MMC1+Animation that Frantik worked on.
If you open up the PPU Viewer with the MMC1 version, you will notice that the sprites are being overwritten with those from the Automap, so the Automap tiles in the Background PPU will be mirrored in the sprites section. So the Automap tiles that haven't been discovered in the Overworld are overwritting items and other sprites from there, which can be noticed with the Map not being visible. You can still grab it, but you simply don't see the sprite, the same happens with other items Link can use which are located in the section mirrored by the Automap.

This, alongside the blinking dot in the Automap not appearing, are the known bugs from the MMC1 Automap w/Animation.

pleasejust

Just curious what the point of having two versions is? Isn't it enough to just have the MMC5 version?

minucce

#679
HUD Blinky does not work on Mesen. :ouch:

Will have to redo the patch or destroy it. Fceux is more buggy than I thought. xx(


EDIT:
Now fceux is also having load game problems with Hud Blink. Hilarious the bad patch plagues show up today but not other day.


EDIT2:
Tried clean MMC5 build script patch. When I shutdown and restart fceux, saves are wiped. Clean MMC1 build script patch loads old saves.

Am I the only one? Fceux tasvideos Aug 30 2021.

September 04, 2021, 05:20:28 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

Hud Blink -- 1.1 fix (Mesen compatible)

https://github.com/minucce-yard/Legend_of_Zelda_NES/tree/18c400683f558b10df9ad801dfb759b32ac10e0f/Overworld_Hud_Blink

Wait for sprite 0 (scanline -1). Then turn on drawing. Total +5 bytes saved.

September 05, 2021, 01:35:40 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

https://github.com/minucce-yard/Legend_of_Zelda_NES/tree/c827f67ba8015bd2cdfc26d940eae96b071068bf/overworld_scroll_timing


Fix for y-scroll timing glitch (prg 0, prg 1, redux)
Old ==> New

Lower-right corner of status bar. Mesen compatible.