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

jim35

I don't get this and zelda 2 redux. why call it redux when these are still 8 bit graphics it doesn't seem like an upgrade.

ifightdragons

#681
Quote from: jim35 on September 05, 2021, 04:13:22 PM
I don't get this and zelda 2 redux. why call it redux when these are still 8 bit graphics it doesn't seem like an upgrade.

1. The word "Redux" doesn't signify a graphical upgrade. It could be a graphical upgrade, but in this case, the focus is mainly on gameplay and mechanics.
2. Have you actually read through the enormous list of improvements for the Redux versions of all the Zelda games? Do you know why they were made?
3. It would be impossible to not use what you call "8-bit graphics". It's an NES game. It will have to run within the limitations of an NES.
4. In fact, there are a lot of graphical upgrades in this versions. Mostly improved sprite work.
5. What's wrong with "8-bit graphics"?
6: What's wrong with the graphics of The Legend of Zelda? It's a timeless classic. People still love the aesthetic of the original game.

Seems like you're hanging around threads asking for Mesen HD packs. That's cool, but you should make them yourself instead of continually asking for them, whilst also being a bit rude about the work that's been put into the projects.

Personally, I think the Mesen HD packs look like crap, and absolutely destroy the aesthetic of the classic games. But I don't bomb the threads about them telling people to "do this" or "do that". I think it's great that people can make what they like to make, or at least be helpful and supportive of the projects that suits their tastes.

jim35

#682
Quote from: ifightdragons on September 05, 2021, 04:34:22 PM
1. The word "Redux" doesn't signify a graphical upgrade. It could be a graphical upgrade, but in this case, the focus is mainly on gameplay and mechanics.
2. Have you actually read through the enormous list of improvements for the Redux versions of all the Zelda games? Do you know why they were made?
3. It would be impossible to not use what you call "8-bit graphics". It's an NES game. It will have to run within the limitations of an NES.
4. In fact, there are a lot of graphical upgrades in this versions. Mostly improved sprite work.
5. What's wrong with "8-bit graphics"?
6: What's wrong with the graphics of The Legend of Zelda? It's a timeless classic. People still love the aesthetic of the original game.

Seems like you're hanging around threads asking for Mesen HD packs. That's cool, but you should make them yourself instead of continually asking for them, whilst also being a bit rude about the work that's been put into the projects.

Personally, I think the Mesen HD packs look like crap, and absolutely destroy the aesthetic of the classic games. But I don't bomb the threads about them telling people to "do this" or "do that". I think it's great that people can make what they like to make, or at least be helpful and supportive of the projects that suits their tastes.
I like 8 bit but some some games I'd like to see get upgraded to 16 bit or better. Also I didn't mean sound rude the only 8 bit games I'd wouldn't want upgraded to 16 bit or better. is if upgrading to these kind of graphics take away what made the original great. Also I use to really love nes graphics but I'd now prefer 16 bit or better in the way super Mario all stars upgraded the graphics yes the gameplay should be fixed in super Mario all stars. Most mesen packs I hate I've seen good 16 bit fan remakes of classic games like simons quest and castlevania 3.

iridium_ionizer

Quote from: jim35 on September 05, 2021, 06:10:41 PM
Also I use to really love nes graphics but I'd now prefer 16 bit or better in the way super Mario all stars upgraded the graphics ...

Have you played BS Zelda for SNES?

minucce

https://github.com/minucce-yard/Legend_of_Zelda_NES/tree/bf7af58a737bf1fbbbacf8d4b8c09b57ecd84e4f/overworld_leave_cave


Patch that fixes wrong player sprite position on entering overworld from caves



See bottom of screen

__________________________________________


Fceux "new ppu" creates strange automap tile glitch mentioned earlier in thread. "old ppu" does not seem to trigger bug.

Thirteen 1355

Quote from: jim35 on September 05, 2021, 06:10:41 PM
I like 8 bit but some some games I'd like to see get upgraded to 16 bit or better. Also I didn't mean sound rude the only 8 bit games I'd wouldn't want upgraded to 16 bit or better. is if upgrading to these kind of graphics take away what made the original great. Also I use to really love nes graphics but I'd now prefer 16 bit or better in the way super Mario all stars upgraded the graphics yes the gameplay should be fixed in super Mario all stars. Most mesen packs I hate I've seen good 16 bit fan remakes of classic games like simons quest and castlevania 3.

That's kinda irrelevant to your first question, though. You may like graphical upgrades, but that doesn't mean a hack needs to have one for it to be called "Redux."

On the other hand, nowhere do I see you imply 8 bit is bad, or that Zelda 1 looks bad.
Helicoptering about till I find some ROM hacking treasure.

jim35

Quote from: Thirteen 1355 on September 06, 2021, 01:50:31 PM
That's kinda irrelevant to your first question, though. You may like graphical upgrades, but that doesn't mean a hack needs to have one for it to be called "Redux."

On the other hand, nowhere do I see you imply 8 bit is bad, or that Zelda 1 looks bad.

I like 8 bit but at the same time when it comes to certain games I'd like 16 bit or greater. because some games not only would it benefit from a graphical upgrade but you get closer to the vision of what the creator had in mind. but limitations keep them from reach that goal etc. that's all. Also I never thought zelda 1 or zelda 2 looked bad just very dated compared to if they got worldwide remakes.


ShadowOne333

Quote from: minucce on September 07, 2021, 08:52:09 AM
Automap MMC5 (compiled) has a bug

  ==> 

Stop overworld map from revealing too early.


Changelog:
https://github.com/minucce/workbox/commit/cb64c06ac9804f17183ddeb31e7f9ae9409f8f05

Raw:
https://github.com/minucce/workbox/raw/cb64c06ac9804f17183ddeb31e7f9ae9409f8f05/mmc5/automap.asm

Thanks for all those fixes!
I applied the MMC5 fix already, it works fine.
I also checked and I have always had "Old PPU" enabled when running the game, so New PPU was never used in any test.

Also, both the HUD Blinking and Scroll Timing fixes have been applied, and they run nicely, thanks again for those.
However, the only one which seems to be causing me trouble is the Leave Cave fix you posted earlier.

I converted it into xkas, and this is what I have right now (using the base PRG0 version I have always used):

//
// Reset sprite position on entering overworld from caves
//


bank 5; org $14F5D // 0x14F6D
jsr hide_sprite
nop

// #####################################################

// org $14F61, 0x14F71
stx.b $00
jsr $F184 // Reset vars
ldx.b $00

rts

hide_sprite:
lda.b #$0A // Transition out of cave
sta.b $12

lda.b #$F8 // Hide sprite
sta.b $84

nop
rts // org $14F72, 0x14F82


However, when trying to leave a cave, I get a complete crash. I am not sure what could be causing it.
I also tried with the PRG1 offset, but that crashed even before attempting to come close to the cave lol
So I'm sure it's the PRG0 version of Zelda 1.

Let me know if you might have a clue as to what could be causing the crash on my end.

minucce

https://github.com/minucce/workbox/blob/b7c9b49e4d7452279ef1bc1253e5896743247458/mmc5/automap.asm#L477-L547


Automap was slow
-- Stack not needed
-- PPU mode to +32 writes
-- Asm squashing

Now lean and speedy; should stay within vblank now.

________________________________________________________


All I can suggest is to run in a debugger; I see nothing wrong with xkas code. Maybe use a clean built rom?


>05:8F5D: 20 69 8F  JSR $8F69
05:8F60: EA        NOP
05:8F61: 86 00     STX $00 = #$DD
05:8F63: 20 84 F1  JSR $F184
05:8F66: A6 00     LDX $00 = #$DD
05:8F68: 60        RTS -----------------------------------------
05:8F69: A9 0A     LDA #$0A
05:8F6B: 85 12     STA $12 = #$0C
05:8F6D: A9 F8     LDA #$F8
05:8F6F: 85 84     STA $84 = #$DD
05:8F71: 60        RTS -----------------------------------------
05:8F72: 60        RTS -----------------------------------------



>07:F184: A9 00     LDA #$00
07:F186: 85 13     STA $13 = #$00
07:F188: 85 11     STA $11 = #$00
07:F18A: 85 0F     STA $0F = #$00
07:F18C: 85 AC     STA $AC = #$00
07:F18E: 85 C0     STA $C0 = #$00
07:F190: 85 D3     STA $D3 = #$00
07:F192: 8D F0 04  STA $04F0 = #$00
07:F195: A2 00     LDX #$00
07:F197: 60        RTS -----------------------------------------

ShadowOne333

#690
Quote from: minucce on September 07, 2021, 12:32:11 PMAll I can suggest is to run in a debugger; I see nothing wrong with xkas code. Maybe use a clean built rom?


>05:8F5D: 20 69 8F  JSR $8F69
05:8F60: EA        NOP
05:8F61: 86 00     STX $00 = #$DD
05:8F63: 20 84 F1  JSR $F184
05:8F66: A6 00     LDX $00 = #$DD
05:8F68: 60        RTS -----------------------------------------
05:8F69: A9 0A     LDA #$0A
05:8F6B: 85 12     STA $12 = #$0C
05:8F6D: A9 F8     LDA #$F8
05:8F6F: 85 84     STA $84 = #$DD
05:8F71: 60        RTS -----------------------------------------
05:8F72: 60        RTS -----------------------------------------



>07:F184: A9 00     LDA #$00
07:F186: 85 13     STA $13 = #$00
07:F188: 85 11     STA $11 = #$00
07:F18A: 85 0F     STA $0F = #$00
07:F18C: 85 AC     STA $AC = #$00
07:F18E: 85 C0     STA $C0 = #$00
07:F190: 85 D3     STA $D3 = #$00
07:F192: 8D F0 04  STA $04F0 = #$00
07:F195: A2 00     LDX #$00
07:F197: 60        RTS -----------------------------------------


Found out the issue.
It's because I was using the full address in the "org" for the xkas code, so it was jumping to $4F69 instead of $8F69.
I simply converted it into NES address and it works properly now. Here's the changes:

bank 5; org $14F5D // 0x14F6D
jsr hide_sprite
nop

// #####################################################

org $14F61 // 0x14F71
stx.b $00
jsr $F184 // Reset vars
ldx.b $00

rts

org $8F69; hide_sprite: // $14F69, 0x14F79
lda.b #$0A // Transition out of cave
sta.b $12

lda.b #$F8 // Hide sprite
sta.b $84

nop
rts // org $14F72, 0x14F82





A bit of a side thing...
Since you are going through the Automaps code, could you please perhaps, if you have the time and are willing to, check out the MMC1 Automap and why it has the current bugs?

It currently has two bugs:

  • The Blinking dot in the Automap doesn't work
  • The Automap tiles from the Background PPU are being mirrored into the Sprites PPU, overwriting sprites for items and other stuff that Link has (Maps, Boomerang, Bombs, Arrows, Rupees, etc. Anything starting from the Key sprite up to the Fairy sprites)
The following code might be of help. The Animation code is the main one which enables the change of sprites with MMC1, then you have the actual MMC1 Automap code, and last, is the Visible Secrets code, which got modified to make the tiles for the secrets work with the MMC1 Animation and could help to make the MMC1 Automap work properly with the animation code as an example of implementation:

Animation code: https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/master/MMC1/code/animation/animate.asm
MMC1 Automap code: https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/master/MMC1/code/gameplay/automap.asm
Visible Secrets code: https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/master/MMC1/code/gameplay/visible_secrets.asm

Thanks again for all the help and code!

----

EDIT:
Quote from: minucce on September 07, 2021, 12:32:11 PM
Tried clean MMC5 build script patch. When I shutdown and restart fceux, saves are wiped. Clean MMC1 build script patch loads old saves.

I just checked this, and indeed the MMC5 version is having the saves wiped on restart/reopening the ROM in FCEUX.
I have absolutely no clue what this could be, when it starting happening nor what could be the cause.
I'll try seeing if I find something.

EDIT #2:
Did some testing, the save bug is causing by something inside the MMC5.asm code.
I have yet to identify which code precisely is the cause of the save wipe, but at least I narrowed it down to that ASM file:
https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/master/MMC5/code/MMC5.asm

minucce

#691

https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/master/MMC1/code/gameplay/automap.asm#L784-L795


SetChrBank: 
   sta.w $A000
   lsr
   sta.w $A000
   lsr
   sta.w $A000
   lsr
   sta.w $A000
   lsr
   sta.w $A000
   rts

Wipe BG CHR bank.

ShadowOne333

Quote from: minucce on September 07, 2021, 03:58:26 PM
https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/master/MMC1/code/gameplay/automap.asm#L784-L795


SetChrBank: 
sta.w $A000
lsr
sta.w $A000
lsr
sta.w $A000
lsr
sta.w $A000
lsr
sta.w $A000
rts


Wipe BG CHR bank.

I replaced lines 784-795 in the MMC1 Automap with that ($C000s changed to $A000s), and what the game does now is that it mirrors the entirety of the background tiles into the sprite tiles.
Was I supposed to do that? Or did I misunderstood?

minucce


nejimakipiyo

I went back a few pages and haven't seen anyone else mentioning this, which may potentially be a bug.
Sometimes when I'm walking on the overworld (or entering/exiting a cave) some of Link's hearts turn a different colour when I change screen. The outline becomes blue and inside of the heart is green. It happens to the first 2 hearts on the top and bottom row. It seems to be random, so far, and usually goes away on its own or if the game is restarted. I wasn't able to figure out any specific preceding events that may cause this.

I love the hack, though! This is my first experience with Zelda 1 and your hack makes the game a lot more accessible to newcomers. I love retro games, but the prospect of completely hidden secrets and bad English was very off-putting. Glad I can enjoy Zelda 1 now.  :cookie: :thumbsup:

ShadowOne333

Quote from: minucce on September 07, 2021, 05:14:18 PM
You're right. My script is using wrong rom.


https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux/blob/master/MMC1/code/gameplay/automap.asm#L770


lda.b #$01


Skip bank 0 (Sprite)
Oh wow!
A one byte change, and it seems to have fixed the entirety of the issues with the MMC1 Automap, holy crap!
I think with this both the MMC1 and MMC5 version can finally stand on their own, and not depend on each other for animation stuff.
Thanks for that, it really helped!

minucce

Quote from: nejimakipiyo on September 07, 2021, 05:23:51 PM
Sometimes when I'm walking on the overworld (or entering/exiting a cave) some of Link's hearts turn a different colour when I change screen. The outline becomes blue and inside of the heart is green. It happens to the first 2 hearts on the top and bottom row. It seems to be random, so far, and usually goes away on its own or if the game is restarted. I wasn't able to figure out any specific preceding events that may cause this.

MMC1 or MMC5? Any extra add-on patches? Emulator version? Rom hash of patched rom?

I haven't seen this one but glitch is happening enough for you; could be vram timing. :shrug:

ShadowOne333

Quote from: nejimakipiyo on September 07, 2021, 05:23:51 PM
I went back a few pages and haven't seen anyone else mentioning this, which may potentially be a bug.
Sometimes when I'm walking on the overworld (or entering/exiting a cave) some of Link's hearts turn a different colour when I change screen. The outline becomes blue and inside of the heart is green. It happens to the first 2 hearts on the top and bottom row. It seems to be random, so far, and usually goes away on its own or if the game is restarted. I wasn't able to figure out any specific preceding events that may cause this.

I love the hack, though! This is my first experience with Zelda 1 and your hack makes the game a lot more accessible to newcomers. I love retro games, but the prospect of completely hidden secrets and bad English was very off-putting. Glad I can enjoy Zelda 1 now.  :cookie: :thumbsup:

Quote from: minucce on September 07, 2021, 05:52:33 PM
MMC1 or MMC5? Any extra add-on patches? Emulator version? Rom hash of patched rom?

I haven't seen this one but glitch is happening enough for you; could be vram timing. :shrug:

I was so excited about the MMC1 stuff that I forgot to reply to this lol

I think the user might be referring to the issue some people have mentioned before, about some tile corruption on the Automap with the MMC5 version.

IIRC it was something about running out of Vblank time, which caused some odd PPU corruption.
@Chicken Knife mentioned the bug before, which started here:
https://www.romhacking.net/forum/index.php?topic=29403.msg409525#msg409525
And user @Cyneprepou4uk gave some insight on what might be causing that issue:
https://www.romhacking.net/forum/index.php?topic=29403.msg409888#msg409888

You can follow that page and the next for what we attempted to do to fix it, but I think it's still an on-going bug with MMC5.
MMC1 shouldn't be affected anymore, as it's using its own Automap version separate from the MMC5 version now.

minucce

MMC5 automap optimized
http://www.romhacking.net/forum/index.php?topic=29403.msg418888

My problems went away after this


EDIT:
MMC5 load bug. We need to init sram page or something. Check $6520 on MMC1 vs MMC5 at zelda title screen.

No time to check further atm. ;)

ShadowOne333

Quote from: minucce on September 07, 2021, 06:13:51 PM
MMC5 automap optimized
http://www.romhacking.net/forum/index.php?topic=29403.msg418888

My problems went away after this


EDIT:
MMC5 load bug. We need to init sram page or something. Check $6520 on MMC1 vs MMC5 at zelda title screen.

No time to check further atm. ;)

I had to run out and couldn't check this properly today. I'll check that address tomorrow morning.
Also, was that link you posted the correct one?
It seems to redirect to this same page.