Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,496,026
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-28-24 10:20 AM
Guest: Register | Login

0 users currently in ROM Hacking | 1 guest

Main - ROM Hacking - Zelda - The Legend of Link (v3-12-20) Released New thread | New reply

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

infidelity
Posted on 02-28-18 12:15 AM (rev. 2 of 02-28-18 12:03 PM) Link | Quote | ID: 166245


Fuzz Ball
Level: 66

Posts: 945/968
EXP: 2368432
Next: 93419

Since: 05-24-07

Last post: 960 days
Last view: 816 days
ExRAM is not battery backed. I use ExRAM for various functions.

The way I'm able to load the different roms, is by having code loaded into ExRAM that sets up the various banks for whichever game, so that when I'm in $5C00-$5FFF, I can swap out all of the NES's RAM, then I jump to the reset vector which then kicks on the selected rom.

Once within whichever game, I use the ExRAM for whatever I need it to. It's a main function for Super Mario Bros. 2 JPN, because I had to restore the missing PRG-RAM the game uses originally in the famicom.

The ExRAM also includes registers near the end of it, to determine if certain actions were performed by the user.

As for the header, yeah it's a mess. Both my mmc5 games only use 32kb sram. I use CHR-ROM because I swap out swaths of pages to perform animation.

Both All-Stars, & Legend of Link, use 1024kb for CHR-ROM. I'm dependant on mmc5's $5130 function, which allows me to determine which section through the entire CHR-ROM to load the graphics from.

Dracula X
Posted on 03-31-18 06:18 AM (rev. 2 of 03-31-18 05:09 PM) Link | Quote | ID: 166293


Red Paragoomba
Level: 19

Posts: 60/64
EXP: 31145
Next: 4632

Since: 03-11-14
From: Dracula's Castle

Last post: 1739 days
Last view: 702 days
Try this code to see if it will fix most of the problem:


ASL
PHA
ORA #$80
STA $5114
PLA
ORA #$80
STA $5115
ORA #$01
PHP ;replace PHA with PHP here.
STA $5114
PLP ;replace PLA with PLP here.
STA $5115
LDA #$80
STA $A001
RTS

NetSplit
Posted on 03-31-18 11:00 AM Link | Quote | ID: 166294


Level: 32

Posts: 177/178
EXP: 188061
Next: 18381

Since: 02-26-07

Last post: 2219 days
Last view: 2144 days
When you're doing a code dump on the forums, can you explain where in the ROM you intend the code to go and how the code is different from what you're replacing? Your code has no comments and little context, so even for technical people like myself, it's not clear what its purpose is supposed to be or if it's even at all correct.

Dracula X
Posted on 03-31-18 03:44 PM (rev. 4 of 03-31-18 05:11 PM) Link | Quote | ID: 166295


Red Paragoomba
Level: 19

Posts: 61/64
EXP: 31145
Next: 4632

Since: 03-11-14
From: Dracula's Castle

Last post: 1739 days
Last view: 702 days
This is a bankswitch bugfix. The code fixes some of the problems like if something happened in the original game but not the mapper converter hack that's because something was wrong with the original code. This code should fix some of the problems.

This code is for this ROM hack.

NetSplit
Posted on 04-01-18 12:21 AM (rev. 2 of 04-01-18 10:56 AM) Link | Quote | ID: 166297


Level: 32

Posts: 178/178
EXP: 188061
Next: 18381

Since: 02-26-07

Last post: 2219 days
Last view: 2144 days
Your update helped enough that I was able to look into this now, but I should probably be more specific about what I was looking for. In particular, things you should probably include when posting a block of code are what game it's for (we're talking about both SMB and Zelda here. Is it both?), what it is (bankswitching routine), where it's located ($FFAC in several banks for Zelda, or give the actual file address if relevant), what bug you're fixing, what's wrong with the original code, and what your fix does to solve that. I haven't been able to figure out the answers to those last 3 points yet.

This code looks pretty crazy to me in general, so I decided to look into it. First, I don't know what you think your change fixes, but it should have no effect. STA doesn't change processor flags, so there's no reason to PHP before and PLP after. Second, the pushes originally present in this function are all totally unnecessary. One can have a fully equivalent function without them:

ASL
; PHA
ORA #$80
STA $5114
; PLA
; ORA #$80
STA $5115
ORA #$01
; PHA
STA $5114
; PLA
STA $5115
LDA #$80
STA $A001
RTS


The register writes also seemed a little strange to me, so I looked up the MMC5 documentation. Looking at Legend of Link, this game runs in PRG mode 1 ($5100 == 1), which has two 16 KB banks. These are configured through registers $5115 (PRG bank 1) and $5117 (PRG bank 3). In mode 1, register $5114 is completely ignored, so there's no reason to be writing it in this function. These registers also only take one write, but this function writes to each twice, so the effect of the first write is lost. Finally, in mode 1, the lowest bit of the write is ignored, so there's no reason to be OR'ing by 1. That means this is a totally equivalent function:

ASL
ORA #$80
STA $5115
LDA #$80
STA $A001
RTS


Further still, I can't find any reference to a register $A001 in the documentation. I have no clue what this is intended to do, and removing the write to it doesn't seem to cause any noticeable problems in the emulators I've tried. This function should probably just be:

ASL
ORA #$80
STA $5115
RTS


All-Stars is probably similar, but could be more complex because the different games it has to run may have different requirements.


Edit: Assuming the value being passed in is always a constant, that constant could be changed to already be shifted left by 1 and OR'ed by #$80. Then the JSR to this function could be replaced with just the STA $5115. No need to call a bankswitch function at all.

hossbags2
Posted on 12-19-18 12:57 AM Link | Quote | ID: 166787


Micro-Goomba
Level: 9

Posts: 10/14
EXP: 3106
Next: 56

Since: 09-12-14

Last post: 706 days
Last view: 503 days
I noticed if you go to your inventory screen and accidentally choose a blank item and hit enter to go back to the game, the game crashes.

erpster2
Posted on 12-21-18 05:30 PM (rev. 5 of 12-27-18 05:51 AM) Link | Quote | ID: 166792


Red Goomba
Level: 17

Posts: 18/48
EXP: 24268
Next: 475

Since: 09-29-09

Last post: 20 days
Last view: 20 days
a different data corrupting bug was reported on this review of Zelda - Legend of Link on the RH site in late November 2018:
http://www.romhacking.net/reviews/3859/#review

by the way, the game seems to work okay on Mesen emulator as I ran it myself on a Windows 10 computer.


Posted by hossbags2
I noticed if you go to your inventory screen and accidentally choose a blank item and hit enter to go back to the game, the game crashes.


yup, I was able to easily reproduce this problem on the NES emulators (FCEUX, Nestopia, Nintendulator & Mesen)

edit 12/26: it would be nice in a future release that the selection "cursor" on the inventory screen would "skip" empty or blank spaces like in the original unmodified Zelda 1 game.

infidelity
Posted on 12-28-18 12:57 PM (rev. 2 of 12-28-18 10:57 PM) Link | Quote | ID: 166808


Fuzz Ball
Level: 66

Posts: 948/968
EXP: 2368432
Next: 93419

Since: 05-24-07

Last post: 960 days
Last view: 816 days
I looked up that inventory crash, (good find, people) turns out I missed a JMP that needed to be changed, after I shifted some code to free up additional rom space. The problem is, is that I need to sift through my rom versions to figure out exactly where that JMP originally went to.

I'm barely on his site due to working 60 hours every week, my free time is slim to none so I haven't been able to do any sort of projects or upkeep on them. I'm not sure when I'll be able to get to this and release a new patch, but this WILL be fixed I can assure you all on that.

As for requests, cosmetic uplifts, etc, I'm just not interested. The game the way it is (gameplay and visuals) will remain the way it has been for years. However, those that wish to modify or tweak my work are more than welcome to release their own patches with their desired changes.

Thanks for the report, to those that are active on romhacking.net, please report over there that I am aware of the crash, have found the issue, and will release a fix down the road. This site (acmlm) will be the first to know of it.

Enjoy the holidays, and thank you to everyone for continuously enjoying my work, means alot! :-)

Googie
Posted on 12-28-18 07:32 PM Link | Quote | ID: 166809


Giant Red Paratroopa
Level: 77

Posts: 1388/1407
EXP: 4181755
Next: 9374

Since: 02-19-07
From: Brooklyn, NY

Last post: 11 days
Last view: 11 days
Posted by infidelity
I'm barely on his site due to working 60 hours every week


Make that money, bro.

____________________
My Linktree

infidelity
Posted on 01-08-19 12:55 AM Link | Quote | ID: 166833


Fuzz Ball
Level: 66

Posts: 949/968
EXP: 2368432
Next: 93419

Since: 05-24-07

Last post: 960 days
Last view: 816 days
Posted by Googie
Posted by infidelity
I'm barely on his site due to working 60 hours every week


Make that money, bro.


Hahaha! Tryin' to! :-D

Anyway, the new patch has been released. Be sure to read the readme. :-)

Alien-Type-0
Posted on 01-08-19 01:31 AM Link | Quote | ID: 166834


Level: 20

Posts: 70/92
EXP: 42392
Next: 47

Since: 01-02-18

Last post: 1689 days
Last view: 1537 days
Posted by infidelity
Posted by Googie
Posted by infidelity
I'm barely on his site due to working 60 hours every week


Make that money, bro.


Hahaha! Tryin' to! :-D

Anyway, the new patch has been released. Be sure to read the readme. :-)


Money kills don't work too hard for it, its not worth it in the end.
I read the readme just now, good grief was I pissed after reading 4.
I had almost beaten you're game, but I had used a game genie code to acquire 1 item.

Came back home from work one night and began playing again to finish it off.
Battery save file got corrupted and sent me all the way to beginning with half of my items.
Even the save state I had couldn't get it back, I was recording at the time and ruined everything.

infidelity
Posted on 01-08-19 03:17 PM Link | Quote | ID: 166836


Fuzz Ball
Level: 66

Posts: 950/968
EXP: 2368432
Next: 93419

Since: 05-24-07

Last post: 960 days
Last view: 816 days
Posted by erpster2
edit 12/26: it would be nice in a future release that the selection "cursor" on the inventory screen would "skip" empty or blank spaces like in the original unmodified Zelda 1 game.


You can do that in my game, by pressing the select button.

erpster2
Posted on 01-16-19 05:56 PM (rev. 5 of 01-16-19 06:02 PM) Link | Quote | ID: 166859


Red Goomba
Level: 17

Posts: 21/48
EXP: 24268
Next: 475

Since: 09-29-09

Last post: 20 days
Last view: 20 days
I wanted to be BOLD enough to play Legend of Link in NES emulators other than FCEUX/Nestopia/Nintendulator on my PC and I have found a few of them that can handle the game very well.

Mesen v0.9.7 (bug fixes with MMC5 started with v0.8.1, i think):
https://github.com/SourMesen/Mesen/releases/tag/0.9.7

puNES (NES) Emulator v0.1.03 released a few days ago:
https://github.com/punesemu/puNES/releases/tag/v0.103

this one contains crucial mapper MMC5 and 213 bug fixes that make Legend of Link run correctly in puNES as v0.1.02 & earlier could not properly run the game.

X2 Whiskey
Posted on 01-18-19 03:58 AM Link | Quote | ID: 166865

Newcomer
Level: 3

Posts: 1/2
EXP: 124
Next: 4

Since: 01-18-19

Last post: 1924 days
Last view: 1919 days
Hello,

Yeah this is my first post. Anyways, I like soldering things and I put together my first repro of this game using the last 2018 version on a ETROM board from an Uncharted Waters donor.

The game plays fine, but for some reason the save doesn't work. I rechecked the board by uninstalling the EPROMS and replacing the original Uncarted Waters ROMs and the save feature was working fine there.

Is anyone else having this problem on their physical cart versions?

infidelity
Posted on 01-20-19 02:19 PM Link | Quote | ID: 166872


Fuzz Ball
Level: 66

Posts: 951/968
EXP: 2368432
Next: 93419

Since: 05-24-07

Last post: 960 days
Last view: 816 days
Posted by X2 Whiskey
Hello,

Yeah this is my first post. Anyways, I like soldering things and I put together my first repro of this game using the last 2018 version on a ETROM board from an Uncharted Waters donor.

The game plays fine, but for some reason the save doesn't work. I rechecked the board by uninstalling the EPROMS and replacing the original Uncarted Waters ROMs and the save feature was working fine there.

Is anyone else having this problem on their physical cart versions?


I have a reply to this from the man who built me my personal cartridge of this, and who's helped me be able to beta test my work on his nes.

“ETROM doesn’t have enough SRAM.  But the etrom board will work. You have to remove the SRAM and the WRAM chips , install 256kb chips.   Then find the two solder pads labeled CL15 and SL15.  On the CL15 pad you’ll see a small connector in between the two halves of the solder pad.  Cut this line so the CL15 is not working any longer.  Then just solder the SL15 pad.   Doing this enables the use of the larger SRAM chips.  The save should work fine after that. “

X2 Whiskey
Posted on 01-20-19 06:55 PM (rev. 2 of 01-20-19 07:59 PM) Link | Quote | ID: 166873

Newcomer
Level: 3

Posts: 2/2
EXP: 124
Next: 4

Since: 01-18-19

Last post: 1924 days
Last view: 1919 days
@infidelity

Thank you good sir for both the perfect answer and being civil, and not to mention the cool hack along with all of the work you've put into it.

I don't have any appropriate SRAM on hand, so it's going to be a few weeks before I can complete assembly.

Mattiac
Posted on 06-18-19 08:08 PM Link | Quote | ID: 167026

Newcomer
Level: 2

Posts: 1/1
EXP: 42
Next: 4

Since: 06-18-19

Last post: 1775 days
Last view: 1745 days
Hello, infidelity-san! How are you doing?

Your Zelda 1 patch is impressive! I'm now gonna try
to translate Zelda 1 to my native language Swedish,
but I'm not skilled enough to add the Swedish
characters Å, Ä and Ö.

The Japanese version of Zelda 1 has five rows of letters.
Do you think it would possible to apply that to the PAL
version? I haven't been able to figure out how the
nametable works.

I'm using the PAL version of the ROM that I extracted
from the PAL version of the Wii WAD:s. I would provide
you with the ROM file if you can help me out.

I need similar help with Zelda 2, but I've asked a
guy and awaits his response...

Thank you for reading my e-letter!

Have a nice day!

All the best, Mattiac

Toucan2
Posted on 12-06-19 06:08 PM Link | Quote | ID: 167182

Newcomer
Level: 2

Posts: 1/1
EXP: 40
Next: 6

Since: 12-06-19

Last post: 1604 days
Last view: 1604 days
Posted by Chris Miller
I went ahead and beat the game with the wooden sword since I was already so far along. The Ganon fight was interesting to say the least. :3

Just to see if I could duplicate the bug, I started a new save file, and as soon as I beat the first three dungeons, I went for the master sword. This time, I could grab it, no problem. Maybe it just didn't like me the first time. Or maybe if you have too much equipment, it spazzes out or something.

I am playing "The Legend of Link" for the first time and have replicated this situation (hack version: v12-23-18).

If you beat Ganon in the Light World (Skull Dungeon) and haven't yet picked up the master sword, you cannot pick up the master sword; returning to that spot and pressing 'A' has no effect. However, beating the first three dungeons and then going for the master sword works as expected.

I have Nestopia save states for both situations, if anyone is interested.

erpster2
Posted on 01-21-20 06:59 PM (rev. 4 of 01-22-20 12:44 AM) Link | Quote | ID: 167227


Red Goomba
Level: 17

Posts: 26/48
EXP: 24268
Next: 475

Since: 09-29-09

Last post: 20 days
Last view: 20 days
Posted by Toucan2
Posted by Chris Miller
I went ahead and beat the game with the wooden sword since I was already so far along. The Ganon fight was interesting to say the least. :3

Just to see if I could duplicate the bug, I started a new save file, and as soon as I beat the first three dungeons, I went for the master sword. This time, I could grab it, no problem. Maybe it just didn't like me the first time. Or maybe if you have too much equipment, it spazzes out or something.

I am playing "The Legend of Link" for the first time and have replicated this situation (hack version: v12-23-18).

If you beat Ganon in the Light World (Skull Dungeon) and haven't yet picked up the master sword, you cannot pick up the master sword; returning to that spot and pressing 'A' has no effect. However, beating the first three dungeons and then going for the master sword works as expected.

I have Nestopia save states for both situations, if anyone is interested.



Problem also confirmed on latest FCEUX git/SVN nightly build (and possibly other NES EMUs like Mesen, puNES & Nintendulator) as the Master sword becomes un-collectible after beating the 1st skull dungeon in the light world with only the Wooden Sword. Definitely a bug with the game itself.

Edit 1/21 - Also not getting the master sword after beating Ganon in the 1st Skull dungeon will not only prevent the game from obtaining the master sword later on, it will also not allow upgrading to the Tempered Sword (aka level 3 sword), even if having at least 12 hearts on the life meter. the Master Sword is required in order for that to be upgraded to the Tempered Sword as the game won't allow upgrading directly from the Wooden Sword to the Tempered Sword.

well Toucan2 & Chris - since you guys did not get the master sword before clearing the 1st skull dungeon in the light world, you're gonna have to use a cheat code to change your wooden sword into the master sword (I'm not gonna mention that code as you can find it out there on the internet)

infidelity
Posted on 02-17-20 02:37 PM (rev. 2 of 02-18-20 11:53 AM) Link | Quote | ID: 167233


Fuzz Ball
Level: 66

Posts: 954/968
EXP: 2368432
Next: 93419

Since: 05-24-07

Last post: 960 days
Last view: 816 days
UPDATE
New .ips released. Link on the first page updated.



You are only supposed to pick up the Master Sword once you've collected the first 3 triforce pieces in the light world. I made it so that when register $671 is FF, which is the green triforce pieces, you are able to pull the master sword. I have 2 other registers doing checks, $688 & $659, but it has been many years since I've dicked around with code, and I didnt log what those 2 registers are for. I will examine this when I can, and if I can replicate the error you guys are pointing out, I'll release a patch asap.

I sincerely appreciate everyone still enjoying this game, and the reports of major glitches/breaks/etc.

-infidelity :-)
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53


Main - ROM Hacking - Zelda - The Legend of Link (v3-12-20) Released New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.055 seconds. (344KB of memory used)
MySQL - queries: 117, rows: 156/157, time: 0.040 seconds.