Here I finished the waterfall stuff for the base game (also current mmc3 and mmc5 without CHR) and share code and IPS here. This is not tested with redux! But Shadow might add it and change offsets when needed.
The hardest part for me was to figure out column assembly definition and the hijack is not really clean what is important to know when you plan to hack the game and move over-world tiles.. But I pointed things out in the code.
You will find a normal tile update and a shifted version. This can be example how to handle it. The code could be further improved!
Tested with Redux. I had to add a bunch of checks since Redux does use more NMI time. (Also move some stuff) The normal CHR ROM tiles would still need to be updated for the first scroll. (Also does free up some tiles) But the patch works with redux for testing.
Fantastic work, as always bogaa!
You never sease to amaze me
Another thing I noticed, and that maybe could be also used as yet another option to accomplish animation on Zelda 1, is maybe taking the flame sprite as example. Iirc, the flame sprite remains the same at all times, but the game mirrors the flame sprite horizontally to achieve the little animation effect. Obviously this is not as good of an option, since it limits the sprite to be used to be the same at all times, but it's just another idea.
I say we stick to this and the MMC3/5 stuff for now
I'll take a look at your code, alongside the MMC3/5 disassembly to see what can be done!
Please tell me this can be worked into the Redux. Even as an optional patch, especially that sword fix to let it fly at all levels of health.
I'm not too sure about this.
This seems like a cheat code that was implemented into the ROM, not much more.
If at all, I think the only good thing would be being able to shoot the flame without limits with the candles, but then again, this is completely useless as soon as you get the Magic Rod, which does basically the same.
I dare say we are better off using cheat codes for these.
And that reminds me, I will be making new cheat codes for Zelda 1 Redux for things that have been included into the project so far, like the Rupees, Arrows and other stuff that makes use of new RAM addresses, or have been moved in the RAM.
Outside of that, I remembered I wanted to do another thing in Zelda 1 which I couldn't tackle as well before, and that's to add the proper full names to the credits of the people involved in the game, instead of using nicknames.
The way I have it right now, I had to sacrifice the first name, and I only added the full last name to the credits.
I tried making my mockup work in-game, and while I did accomplish the result I wanted for "Executive Producer: Hiroshi Yamauchi" and "Sound Composer: Koji Kondo" exactly as in my mockup, the rest I couldn't replicate as I wanted, mainly because the way the credits are printed doesn't allow for such formatting on the screen.
The pointers for this are separated into two parts, a table with the low bytes of each entry's pointer (at $AC2E), and another table with the high bytes of each entry's pointer (at $AC45). The code that seems to handle all of this is located between $ADF9 (0xAE09) and $AE90 (0xAEA0).
Basically, what I'm looking for is being able to break the "Designer" and "Producer" lines into two lines instead of one, the "Director" lines into 3 lines instead of 2, and the "Programmer" lines intro 4 lines instead of 3.
Current Credits / Mockup Desired Credits