News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - gzip

Pages: [1]
1
Personal Projects / Re: The Legend of Zelda: A New Light
« on: May 24, 2020, 01:59:17 am »
aww, too little too late for me to download the beta now as this link no longer works and says the bin had expired  :(

I've been testing quite a bit myself and have fixed several issues. The link is now updated with the latest - I'll be releasing it shortly unless anything else pops up.

Quote
edit - I hope in the upcoming version or (v1.5 release), the next two dungeons (like levels 3 and 4) would be different from the original zelda 1 game.

Dungeons 1-6 are all new and in new locations. There are enough changes that I'm thinking it will be v2.0. Thanks for you interest!

2
Personal Projects / Re: The Legend of Zelda: A New Light
« on: May 15, 2020, 02:14:01 am »
I've updated the beta above. Is anyone willing to help with testing?

May 20, 2020, 01:27:14 am - (Auto Merged - Double Posts are not allowed before 7 days.)
The palette is incorrect in some screens after coming back up from a stairway in a dungeon. Entering a dark room corrects the palette. It seems to be related to the Automap patch.

Finally tracked this down. I suspect it could be a problem with any hack using Automap. If others run into the same problem, the fix was to RTS early at $19D97 (caused a hang) NOP 3 bytes starting at $19D99 to avoid a write to $6C00, which is where the palette is read from. (In the Automap source the lines are under ClearAndReturn.)

Quote from: gzip
There's some screen corruption in the bottom right corner after opening and closing the subscreen.

This turned out to be the problem that Zelda Tech warns about for screen 0.

Quote from: gzip
There's some weird artifacting in a few dungeon rooms where the Lanmola tile flashes across the screen quickly. One example is the entrance room to level 4.

Haven't had any luck with this one.

3
Personal Projects / Re: The Legend of Zelda: A New Light
« on: May 10, 2020, 01:18:47 am »
Is there a way you could provide a separate patch for select to change b button item?

Here's a separate patch for the current select item feature. The caveat is that it will not cycle if you have the letter and no boomerang.

what would be awesome is hold select and press left or right to go through the items forward/backward as if when in the items screen.

I've been considering something like this as well. It would be nice to be able to go in both directions. Will look into it.

4
Personal Projects / The Legend of Zelda: A New Light
« on: May 10, 2020, 12:21:18 am »
Hello ROM hacking community! I've released several versions of The Legend of Zelda: A New Light now and I'd like to use this thread for discussion and to ask for some help. Thanks to everyone who's helped me along the way so far. :beer:

I now have a much larger release that I'd like to get some testers on before submitting it to the site.

The release candidate is here. There's a list of major changes in the readme and a ton of smaller changes not listed.

I also have a few minor issues that I need help with:

  • The palette is incorrect in some screens after coming back up from a stairway in a dungeon. Entering a dark room corrects the palette. It seems to be related to the Automap patch. Fixed!
  • There's some screen corruption in the bottom right corner after opening and closing the subscreen. Fixed!
  • There's some weird artifacting in a few dungeon rooms where the Lanmola tile flashes across the screen quickly. One example is the entrance room to level 4.

5
ROM Hacking Discussion / Re: Zelda 1 overworld secret path
« on: April 21, 2020, 02:26:45 am »
So I was looking in the right place but I wasn't seeing it. I also missed that this is called out in Trax's bank 7 dump. ::) Anyway, thanks for pointing me in the right direction. It's very easy to change once you know where to look. Here are the relevant bytes:

Code: [Select]
1EEAA Secret passage screen number (default 1F)
1EEB6 Secret passage x position (default 70)
1EEBC Secret passage y position (default 56)

6
ROM Hacking Discussion / Re: Zelda 1 sound effects
« on: April 19, 2020, 12:31:23 am »
I've updated the original post with more accurate information and created a page on Data Crystal.

7
ROM Hacking Discussion / Zelda 1 overworld secret path
« on: April 18, 2020, 03:54:05 pm »
You know the one, from the green gambling tree to the secret 100 rupees (or blue ring in quest 2). Zelda Tech screen 11 to 14.

First how does it work? Second, how can I move the secret path to a different location? I tried debugging around LDA $EB/$EC (A5 EB) and CMP #$1F (C9 1F) but couldn't make out anything relevant.

Btw, I have a few other questions like this around Zelda 1. Is it ok to post a new thread here under Discussion for each question or is it better to start a new thread under Personal Projects and lump them all together there? :police:

8
I like Looming Darkness. Next pick would be Veil of Darkness. Shroud of Darkness?

9
Personal Projects / Re: Zelda 1 Redux / The Legend of Zelda Redux
« on: April 16, 2020, 02:33:03 am »
Just played through level 3 and had no issues. Maxed out rupees but not arrows. I even killed Manhandla with arrows. :laugh: Here are some thoughts:

  • 5 arrows per drop feels excessive. It will only take 6 drops to fill up?!
  • You might limit arrow drops to the same enemy group as bombs. Maybe 5 arrows makes sense if the frequency is similar to bombs.
  • The old man hint in level 1 still talks about arrows and rupees.
  • Side note: I think the key infinity symbol should be flipped horizontally. It's currently backwards (calligraphically speaking ::)).

So when do flaming arrows and bomb arrows get added? ;)

10
ROM Hacking Discussion / Zelda 1 map cursor help
« on: April 09, 2020, 09:36:12 pm »
I'm working on a small change for my Zelda 1 hack which uses two different map cursors, one for the overworld and a different one in dungeons. Why am I making this change? Because the hack also contains automap where a smaller cursor looks great - but the normal cursor looks better in the dungeon.

It has been mostly successful but has introduced a rendering artifact because I'm currently using tile $1C (which seemed unused but actually is). I can't find where the artifact gets written (Mesen shows it's a sprite). Here's a screenshot to clarify the problem:


And here's the patch. It can be applied on top of my hack or vanilla Zelda 1. The most relevant bits are at $7761 ROM / $7EE1 RAM. I can paste the commented code and related data locations if that's helpful.

Any pointers on how to get rid of this or how to use a different tile from the other pattern table will be appreciated!


April 11, 2020, 02:58:08 am - (Auto Merged - Double Posts are not allowed before 7 days.)
After reading a doc about OAM on nesdev it was much easier than I thought to change to an unused tile (see part about bit 0 in Byte 1). For example, FCEUX PPU Viewer showed $5C for an empty tile in the right side pattern table so add $1 to make it $5D. Too easy. Here are the relevant RAM locations for anyone wanting to edit the cursors.

Code: (RAM locations for map cursors) [Select]
0250 Map cursor Y pos (dungeon subscreen)
0251 Map cursor tile (dungeon subscreen)
0252 Map cursor attributes (dungeon subscreen)
0253 Map cursor X pos (dungeon subscreen)

0254 Map cursor Y pos (also used to blink cursor)
0255 Map cursor tile
0256 Map cursor attributes
0257 Map cursor X pos


April 11, 2020, 08:06:29 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Sorry to keep replying to myself but I think this info might be useful to others at some point.

Based on the same OAM document it occurred to me that I could find the original rendering artifact as well. Before I had been searching for $1C $00 (the tile id plus the palette number) which didn't yield what I was looking for. But I had also noted that the sprite was behind the background. That was a clue that bit 5 of the attribute byte would be set. So add $20. Viola, $1C $20 has only one occurrence in RAM and it's what I'm looking for. Once I found that, another solution to my problem could be to add $80 to the attribute byte (bit 7 is flip vertical), making $1C $A0, to effectively hide the sprite behind the background. Fun stuff!

11
Sure! :D Here's an edited for viewers version.
https://docs.google.com/document/d/18Sze0w4C2FSBTgsc_01OF_R3QBaIwdu7lBG8oDfdySs/edit?usp=sharing

It's a nice doc. You should post it to the documents section.

Quote
Hmm... Didn't think of that, I feel like removing them now :laugh:, I could leave it as a custom add-on patch though?

Don't throw away your hard work. Optional makes everyone happy. It also allows others to easily use it in their hacks.

Quote
About music, I'm looking at this to do it, https://www.romhacking.net/documents/781/ Been doing it all through HEX. Super tedious! :banghead:

Yes, I've taken a stab at it a few times and have had some success. Nothing worth keeping. There gotta be a better way.

The Triforce Power hack changes dungeon music to alttp (music is credited to Matrixz), that's the best I've seen yet. Wonder if he used any tricks.

12
Back to the point though, I wrote down a huge docs file with rules I followed when making the world, and I think it turned out well :D!

Care to share the doc, or more details on what it contains?

Quote
ABOUT HEART PIECES, I hid exactly 20 in the overworld, 3 are hidden in each dungeon, with the 4th dungeon piece always being gotten after defeating the dungeon boss.

Sounds cool. Don't think I've seen that in a hack yet.

Quote
Don't worry... if you're vigilant you will spot the cracked walls and the slightly different trees. :thumbsup:

I was never a fan of cracked walls since it takes the fun out of finding the secrets. I see hacks resorting to walk thru walls more when they have this feature. I did always like the trick in alttp where you could tap on hollow walls with your sword.

Quote
There are also many spots that utilize the bracelet and ladder for secrets, even the ocarina so you can walk on water..... I added a couple extra raft spots too, because let's face it the raft is underused.

 :thumbsup:

Quote
I even am trying to change the music currently too, it's very tedious. :banghead: :-[

What's your strategy here? We're sorely in need of tools in this area.

Quote
Let me know what you guys think, please give me more ideas

How about the different suits being required for different areas, ala botw? Blue for ice, red for lava. Hearts tick away if you don't have them but you can still get a few places by having just enough hearts and using potions.

I'd be happy to test when you're ready.

13
Personal Projects / Re: Zelda 1 Redux / The Legend of Zelda Redux
« on: April 05, 2020, 08:42:23 pm »
Just went ahead and implemented your custom fix and credited you for it :P
Just one other thing, would you mind sharing how you modified the speed in which the waterfall moves in the title screen? I'm interested in peeking at it to see what speeds can be used for it.

Looks like you beat the moderator to approval of my reply. :laugh:

There's no real control for the waterfall speed (at least the way I did it). I just NOP'd 3 bytes starting at $9905:

Code: [Select]
-00009900  fa 20 43 99 60 fe 20 04  fe 20 04 bd 20 04 c9 e3
+00009900  fa 20 43 99 60 ea ea ea  fe 20 04 bd 20 04 c9 e3

14
ROM Hacking Discussion / Re: Zelda 1 sound effects
« on: April 05, 2020, 08:30:23 pm »
The Data Logger also uncovered several sounds in PCM. These include things like the flying sword, link damage, dungeon door slam, boss sounds, etc.

I've successfully edited these PCM sounds using the following workflow:

1) Locate the audio in-game using the steps in the post above (nsf locations are different for these)
2) Copy the PCM hex data (highlighted in cyan) and save it into a file (e.g. sword.pcm)
3) Use dpcmc to convert it to a WAV file (e.g. dpcmc -f sword.pcm)
4) Edit the resulting WAV file in Audacity
5) Export the audio as Unsigned 8-bit WAV (File > Export Audio....; Save as type: Other uncompressed files)
6) Convert the sound back using dpcmc (e.g. dpcmc sword_8bit.wav)
7) Open the resulting file in your hex editor and copy/paste the data back into the ROM

15
Personal Projects / Re: Zelda 1 Redux / The Legend of Zelda Redux
« on: April 05, 2020, 05:05:13 pm »
Oh so you managed to fix the issue with the Old Letter?
Would you please share what changes you made to get that fixed?
That would greatly help to finally have this bug fixed, since it has eluded me for quite some time now.

Here's the code. What it does is it checks for the rod if it has just cycled from the letter. If the rod is there then it selects it, otherwise it selects the boomerang. If there is no boomerang then it just stays on the letter (no harm, no foul, no crash). Now you could check for the boomerang, and then for bombs, and then for the candle, etc. but that's pretty messy, especially when you have the boomerang for most of the game. I have not dug into the JSR much to see why it chokes to begin with but there could be a more elegant solution hiding in there.

Code: [Select]
05:BFC0:
A9 01     LDA #$01
AC 56 06  LDY $0656
20 C8 B7  JSR $B7C8
AC 56 06  LDY $0656 ; load current item into Y
C0 10     CPY #$10  ; compare current item to 16 (letter is 15)
10 03     BPL $03   ; branch if greater than or equal to 16
4C E6 BF  JMP $BFE6 ; skip to return
AC 5F 06  LDY $0655 ; branch here to load rod status into Y
C0 01     CPY #$01  ; check if link has rod (1)
DO 08     BNE $08   ; branch to boomerang if no rod (0)
A9 0B     LDA #$0B  ; otherwise set to rod
8D 56 06  STA $0656 ; "
4C E6 BF  JMP $BFE6 ; skip to return
A9 00     LDA #$00  ; branch here to set to boomerang
8D 56 06  STA $0656 ; "
60        RTS       ; branch here to return

16
Personal Projects / Re: Zelda 1 Redux / The Legend of Zelda Redux
« on: April 04, 2020, 02:46:01 am »
There is a bug with the item select. There are two ways to trigger it...

I've fixed this issue in my hack, A New Light. It's my first attempt at assembly though (directly in hex as well), so it could probably be coded better. It still might be helpful. The addresses are the same since I used the redux code as a start (thanks!). There's still one issue in my code that if you have the letter and no boomerang it won't cycle (this doesn't happen in my hack since you start out with the boomerang).

17
ROM Hacking Discussion / Re: Zelda 1 sound effects
« on: April 03, 2020, 02:43:08 am »
Thanks DX, that was very useful. I was able to find several more sound effects, all of which are using the noise channel. I've added the data to the original post. Here's what I did in case anyone wants to reproduce:

1) Open your Zelda nsf file in FCEUX
2) Locate the sound you want
3) Open the Code/Data Logger (under the Debug menu) and start it
4) Play only the sound you are interested in
5) Open the Hex Editor (also under Debug) and select View > ROM File
6) Locate the bytes highlighted in blue (that's your sound data, hack away)
7) Go back to the Logger, press Reset Log, and repeat steps 2-6 for other sounds

Note that the offsets in step 6 are identical to the game offsets. (I've read that nsf is basically just a pared down version of the game, but I didn't realize the sounds would be in the exact same locations.)

18
ROM Hacking Discussion / Re: Zelda 1 sound effects
« on: April 01, 2020, 12:35:42 am »
This is the US PRG0 version. The music pointers on datacrystal are in the same file I linked to, first thing.

I believe the sound effects I listed are all that are in this particular table (since code starts up right after). I may poke around the other unknown tables to see if I can locate more sound effects like sword slash, boomerang swoosh, etc. Maybe Trax can update his text file and/or I can create another page on datacrystal.

Please speak up if anyone has any further insight or if they get curious and hack the sounds as well. I'd also be interested if there are any tools that make it easier to edit the music.

19
ROM Hacking Discussion / Zelda 1 sound effects
« on: March 28, 2020, 08:13:50 pm »
I've been looking through Trax's bank 0 disassembly and this line caught my eye:

Code: [Select]
185B: Table for ? (6E bytes)
Here's what I found so far (these are ROM locations):

Code: [Select]
186B    shield sound pointer
186C    boomerang stun pointer
186D    rod sound pointer
186E    pick up heart pointer
186F    dialog sound pointer
1870    bomb placement pointer
1871    low hearts pointer

1872    low hearts sound
1887    shield sound
1892    rod sound
18B1    dialog sound (also affects arrow chirp)
18B7 boomerang stun sound
18C7    pick up heart sound
18D2    bomb placement sound

So this is a table for some of the sound effects as listed above. For example, the table starts at $186B with the byte $1C. Add the offset to the table start address to get the sound location ($186B + $1C = $1887). The offset for bomb placement is $67 so the sound starts at $18D2 ($186B + $67 = $18D2).

I also found the following sounds using the technique outlined later in this thread. I'm not sure where the corresponding table is located.

Code: [Select]
1F09-1F0E    stairs sound
1FC2-1FCB    sword swoosh sound
1FCC-1FD0    boomerang swish sound
1FD1-1FE0    fire sound
1A4D-1A64    bomb explosion sound


Pages: [1]