News:

11 March 2016 - Forum Rules

Main Menu

Zelda 1, Unique 2nd Quest - Proof of Concept

Started by gzip, February 16, 2023, 08:16:29 PM

Previous topic - Next topic

gzip

It's been almost a year since I had an idea on how to modify Zelda so that it has a completely unique overworld in the second quest. This proof of concept makes the required changes in order to make the second quest completely independent of the first.

To test it out the patch uses Mirror Zelda for the second quest since it completely changes the map, screens, and graphics. The patch also applies Heartless Automap as well as several patches from the Hack Pack.

If you try it out just remember that you only need to register your name as "Zelda" in order to start in the second quest.

Midnight Metronome

Please host patch on a non-scumbag/spyware site. Thanks.

Creature667

Quote from: Midnight Metronome on February 18, 2023, 10:52:21 AMPlease host patch on a non-scumbag/spyware site. Thanks.

I decided to take one for the team and brave the scumbag spyware link just to see what lies at the end of the scumbag rainbow... There was an attempt to download some binary exe file and I backed out with a quickness... I feel dirty rawdogging strange sites on the internet like that. Everybody knows thats how you get the cyber-AIDS. My computer and I need a shower.
Yo! I be gettin' them fat stacks shootin smack, makin rom hacks and sniffin butt-cracks... Boy,  I know this rhyme is whack, and my use of alliteration isn't exactly exhilarating, but it sure beats being depressed and on medicine, dressed like a furry and beating my meat to venison.

gzip

Hmm, hadn't had problems with ufile before. What's a better option that doesn't require an account? I see maybe Mediafire or filetransfer.io, or something else?

SimplyDanny

#4
Quote from: Creature667 on February 19, 2023, 03:19:14 AMI decided to take one for the team and brave the scumbag spyware link just to see what lies at the end of the scumbag rainbow... There was an attempt to download some binary exe file and I backed out with a quickness... I feel dirty rawdogging strange sites on the internet like that. Everybody knows thats how you get the cyber-AIDS. My computer and I need a shower.

A word of advice to avoid things like that in the future:
1. Use an adblocker without exception for these sites [preferably UBlock Origin, since that also tells you beforehand of any shady plugins running in the background that might take your info].
2. Always use the slower download. When websites state "fast" downloads, they usually do it through some "proprietary software" which is why it downloads an exe. Meanwhile, the "slow" downloads use the actual download feature of your web browser, which is no different here since in this case I got a zip with the ips patch.
Hope that helps.

As for the actual patch, I could not get it to work on any dump of the game, so I can't really judge it at the moment. A quick look with YY-CHR, however, shows me that they literally just duplicated the ROM inside, which is very odd.
Hey there

Cyneprepou4uk

Patch doesn't work with neither PRG0 nor PRG1 good dumps.

I understand the reason behind duplicating banks, but it looks like the Concept has not yet been Proven.

Trax

Quote from: gzip on February 19, 2023, 10:09:32 AMHmm, hadn't had problems with ufile before. What's a better option that doesn't require an account? I see maybe Mediafire or filetransfer.io, or something else?
You can use mine : https://www.bwass.org/bucket/
It's very barebone, but it's enough for this kind of file.

gzip

Thanks Trax. I updated the links in the original post.

I had only tested the hack in Mesen where it works fine. It looks like it breaks in any of the fceux versions I have. Nestopia 1.51.1 works but 1.36 doesn't. Nintendulator 0.985 works. VirtuaNes 0.97 works. That's all I have on hand. Let me know if there are other emulators that fail.

Here are the checksums for the PRG0 version I'm patching:

Database match: Legend of Zelda, The (USA)
Database: No-Intro: Nintendo Entertainment System (v. 20210216-231042)
File SHA-1: DAB79C84934F9AA5DB4E7DAD390E5D0C12443FA2
File CRC32: D7AE93DF
ROM SHA-1: A12D74C73A0481599A5D832361D168F4737BBCF6
ROM CRC32: 3FE272FB

Cyneprepou4uk

#8
The reason it's not working on FCEUX is because someone forgot to clear RAM before doing anything with addresses, like in FFE0, which causes the bug.

It will work if you set Config -> RAM Init -> Fill $00.

PS: the Concept has been Proven.

Midnight Metronome

Applied to PRG0 successfully. It works with nestopia. However, the second quest overworld map is simply the first but mirrored horizontally.....

CoolCatBomberMan

Quote from: Midnight Metronome on February 20, 2023, 11:17:37 AMApplied to PRG0 successfully. It works with nestopia. However, the second quest overworld map is simply the first but mirrored horizontally.....

...You do realize that's the intended effect, right? OP says it's a proof-of-concept. That means it's not meant to be anything major, just proof that the second quest overworld can have a different layout from the first quest. What better way to demonstrate that than with a mirrored overworld for the second quest portion?

Trax

So far, so good. Works fine with OpenEmu. I see that the ROM was expanded to 16 PRG banks, so there won't be any problems with free space. Now, the tricky part is to modify the code to account for all the alternate data tables.

gzip

Quote from: Cyneprepou4uk on February 20, 2023, 07:31:07 AMThe reason it's not wotking on FCEUX is because someone forgot to clear RAM before doing anything with addresses, like in FFE0, which causes the bug.

It will work if you set Config -> RAM Init -> Fill $00.

Thanks for looking at this. The bank switch code was reading the variable before the memory gets zeroed out. I've added a bit of code to make sure it's inited to 0 on reset and it fixes the problem with fceux (and likely real hardware?).

The patch in the original post is updated with the fix.

Quote from: Trax on February 23, 2023, 03:19:14 PMSo far, so good. Works fine with OpenEmu. I see that the ROM was expanded to 16 PRG banks, so there won't be any problems with free space. Now, the tricky part is to modify the code to account for all the alternate data tables.

Most of the Q2 checks have already been removed and the bank switch logic plays the same role. The Q2 dungeon data tables and overworld memory patching are blanked out. The overworld quest secret flag (attribute table 5) is still in place tho.

I added the code and build script (windows only) to the zip file in case anyone wants to play around with it. The build expects two roms; one for the first quest and one for the second quest. It's a bit confusing but the Q1 dungeons from the second rom get used for the second quest. The only other catch I can think of is that bank 7 must be identical in each rom (so if one rom modifies bank 7 but the other doesn't then it could break).