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 - njosro

Pages: [1] 2 3 4
1
##### ROM Hacking Discussion / Re: Adventures of link side view editing
« on: March 26, 2019, 09:45:26 pm »
Hey glad to see you're back into hacking.

The locked doors always appear at the same Y position even though the game doesn't classify them as fixed-Y objects. I know the editor makes it seem like you can put the locked doors as high or low as you want, but that's only because it's the way the game stores it internally. It ignores the y position you want and just puts it at the predetermined height. (unfortunately)

As for the hidden town and hidden palace, it's kind of weird. Sorry about that. Here are the steps (It's a bit of a process):

Modifying the Hidden Areas
In East Hyrule, right-click on any other area and choose Seek Index.
Type 49 for New Kasuto or 53 for the hidden palace and click OK. The index you typed should then be displayed in the top pane.
Press B to access a very low-level binary encoding of the area's properties. Bits 2 to 8 (inclusive, counting from 1, from left to right) encode the y position. Notice that it's zero. This is how the game hides the area. change it to any seven bit value of at least thirty and then save. (Thirty is the minim y coordinate on the map. Lower than that goes out of bounds.)
To help you out, you can paste this binary value for the y-position to make the area appear near the top of the map: 0100000
You'll see the white square at the new coordinate. You can edit the area freely. If you want to hide the area once again, press B and set the y position back to 0000000

2
##### Personal Projects / Re: Zelda II Redux
« on: February 11, 2019, 07:23:38 am »
I've learned that loops in asm aren't that bad as long as they're not too complicated!
I looked at your code IcePenguin. Here is a way to use a loop:

Instead of doing LDA/STA repeatedly, put in a table of values for the desired LDA values:
\$2A6D: 40 89 02 70 40 8B ... etc.

Then, (assuming register X isn't being used for something else) do this:
Code: [Select]
`LDX #\$0loopstart:LDA \$2A6D, XSTA \$0244, XINXCPX number of iterationsBNE loopstart`
There's a way to optimize that further by starting from the last entry and looping backwards, but it saves only 1 instruction and is a little bit confusing to keep track of (in my opinion).

3
##### Personal Projects / Re: Zelda II Redux
« on: February 09, 2019, 11:38:48 am »
IcePenguin, that's a creative alternative to PAUSE text! Nice idea.

For gameover stuff, I'm glad restarting from the palace is a good balance. One alternative I had right after I made that hack was to make it cost EXP at the gameover screen to continue exactly where you were, and if you didn't have enough points you could only save. It would read your highest stat, and lookup the point requirements for LIFE at that level. For example, if your highest stat was at level 4 (let's say attack for example), it would cost you 400 points to continue because that's how much is required to bring LIFE to level 4. By the time something was leveled up to 8, it would cost 4000 points to continue.

In the end, I decided it was a complicated system and dropped it.

4
##### Personal Projects / Re: Zelda II Redux
« on: February 05, 2019, 07:36:37 pm »
Great work! I noticed in the second two screenshots that the arrows surrounding EXP and LEVEL both point to the right. Not sure if that matters. Edit: Oh I see IcePenguin has spotted it too!

As for the cursor on the file select screen, I looked at the code in that area, and it looks like you'd need to jsr to free space if the up button is detected and copy the existing section of code into the free space but tweak it so that it moves the cursor up. I say this because the code to move it down contains instructions for skipping inactive files, wrapping back to the top after the elimination mode option, etc. It's all for the downward direction. With the space limitations, it's easier to add separate code for up than to add additional branching paths to the existing code. Imho, it's more effort than it's worth, but maybe someone could find a different approach...

5
##### Personal Projects / Re: Zelda - Link's Awakening Hack WIP (update thread)
« on: January 28, 2019, 06:57:22 pm »
The project is a lot bigger than I realized! Two games!?

Do you have an intended order of completion in mind, or would it be like the oracle games where it doesn't matter which one you complete first?

6
##### Personal Projects / Re: Zelda - Link's Awakening Hack WIP (update thread)
« on: January 02, 2019, 01:48:12 pm »
Woo! Looks awesome, as usual

7
##### Gaming Discussion / Teehee Valley theme on new keyboard
« on: December 19, 2018, 12:39:02 am »
I just bought a new keyboard for myself and I'm really liking it!!
It's got a sequencer and looper, which I wanted to learn how to use through practice. It turns out Teehee Valley was on my mind, and it was my practice song!

Here it is. It's missing a part of the song because I was going from memory and didn't care about accuracy. Just doing it to learn my new KB.
Teehee Valley using new keyboard

I tweaked some of the tones (panflute and nylon guitar), then played each track and looped the appropriate parts. Oh and I quantized the notes. It was so much fun! I find DAWs to be complicated, so I'm happy the built-in sequencer on this keyboard is good enough for what I want to do.

Just thought any M&L SSS fans might like it

8
##### Personal Projects / Re: Zelda II Redux
« on: November 01, 2018, 06:44:38 pm »

Quote
Here's the updated IPS with the now restored Dragon Quest/Loto reference thanks to njosro!
https://www.dropbox.com/s/9nvida92kyh5svj/Zelda2Redux.ips?dl=0

As always, let me know if you guys find anything out of place or something

If it's not the patch you're looking for, you can send me the current patch you've got and I'll put in the Loto dialog starter for you.

9
##### Personal Projects / Re: Zelda II Redux
« on: October 25, 2018, 05:54:29 pm »
way to go, trax!  I always wondered how it was done.

ShadowOne, my interpretation is that Shadow of Night expands it to 16 CHR banks, because if it's 1 bank per frame, and Shadow of Night has 4 animation frames if I remember correctly, that's 4 extra banks.

10
##### Personal Projects / Re: Zelda II Hack Project - I want your input
« on: September 29, 2018, 04:49:55 pm »
I did a double-take when I saw this thread. I'm so excited!!
Those are ambitious ideas you mentioned, and I love them.

Map System: How would you feel about palace maps? I was thinking you could hard-code the in-game palace maps once you finalize the layout. The player would have to find a map and compass like in the game boy games, where the map just gives the general layout and the compass reveals the main item and boss location. You could display the map beside the list of spells when you press Start.

New and upgradable spells: YES. Some of the game's original spells were too weak or specific.

Upgradable items: This sounds really cool, as long as it doesn't get to the point where every item has an upgrade and suddenly all items are only half as useful as before.

New enemies: That would be awesome. Even if all the enemies stayed the same but had slightly different behaviors.

New techs other than upstab and downstab: What kind of new moves do you propose? A charged blade maybe (instead of spin attack)?

About the life spell vs heart drops: I personally think that as long as you make the life spell fair, there's no need for heart drops from enemies. Also, the life spell has the potential to be upgraded (if you decide to have upgradable spells), which further decreases the need for heart drops. On the flip side, you could have the rare fairy appear once every, say, 12 to 16 enemies kills.

About the lava: I really wish I had kept the file, but I once made it so that lava just made the room refresh and you just lose health as if you hit an ironknuckle. It had one or two glitches. I think with your hacking skills it would be a lot easier than you might think. (If I could do it, then you definitely can!) I could look into it again if you want.

Experience system: I think the exp system is important and should remain. Like you said, it gives the player a big incentive to fight! As for a sword upgrade, how about an upgrade that makes the sword a bit longer?

Misc idea about jump: How do you feel about having a JUMP stat instead of a MAGIC stat? Basically you jump higher as you level it up. Or, if that sounds completely stupid, how about a collectible item that permanently increases your max jumping height by one or two blocks? (and eliminate the jump spell)

Misc idea about healing: You could have an optional, collectible item that refills one square of health after every 8 large enemy kills or something like that. Then hearts wouldn't be competing with potions in the random drops.

Whatever you decide on doing, I'm sure it will be amazing.

11
##### Personal Projects / Re: Zelda II Redux
« on: September 19, 2018, 03:58:52 pm »
AH!
So I was on the right track!
I simply couldn't make much sense of the editor as to why it didn't let me input a new message window, now I see that it was because I had to rework an existing one into the new one. Thanks for this!
I will implement it asap

You're welcome! Yeah, the dialog system is a bit strange if you've never been exposed to it before. The sideview editor only lets you change the dialog starter's pointer. You need the dialog editor (or a hex editor, as you did it) to change the actual text.

Btw, how does it work that I don't need to change the First/Second Dialog that the Invisible Dialog starter does?
I just checked it and it does load the proper text, but without changing anything related to that?
Just wondering how it works

Good question.
Short answer: The dialog starter was already set up to point to the special text, but was removed from Saria town in the US release.

Long answer: If you want to see the correct values for dialog starters in the editor, you need to change the "test ofs" (test offset) setting located at the top-right of the editor. For Saria town this would be a value of 2. It's dumb that you need to do this, I know, but I never got around to doing anything about it. I think I will now! When you right-click a dialog starter and choose to change its dialog, I'm going to make it ask for a town number.

Some explaining:
If the game is in Town Set A, then the dialog starters pull from the Town Set A primary dialog index table (E248 in PC ROM). Likewise for Town Set B. (The dialog starters pull from secondary index table if certain conditions are met.) In the original game, they made all the towns in West Hyrule use Town Set A, and all the towns in East Hyrule use Town Set B.
The town index tells the dialog starters which column of the dialog index table to use.

For example, let's find out which dialog the wise man uses in the town of Ruto.
Ruto is designated as being part of town set A, so we look at the Town Set A primary dialog index table (E248 in PC ROM). Each row in this table has 4 entries; one for each town in the town set.
"Wise Man" is the 5th dialog starter after the sleeping bat, so we jump ahead 5 rows. (E248 + (4*5) = E25C).
Ruto is town 1 in town set A (Rauru is town 0), so we move ahead 1 column. (E25C + 1 = E25D).
At E25D, we find this value: 18
18 in decimal is 24. If we look up the dialog pointer at index 24, we find that it points to this text: "WITH THIS YOU CAN JUMP VERY HIGH."

The sideview editor does all these calculations automatically when you are prompted to change the dialog index.

For reference:
TOWN        SET   OFFSET
Rauru       A     0
Ruto        A     1
Saria       A     2
Mido        A     3
Nabooru     B     0
Darunia     B     1
New Kasuto  B     2
Old Kasuto  B     3

12
##### Personal Projects / Re: Zelda II Redux
« on: September 09, 2018, 09:51:04 am »
ShadowOne, you can indeed reinstate the lost dialog with the sideview editor.

The only limitation, however, is that you need to change one of the other "enemies" in that scene to take over the role of the lost dialog trigger. Enemies in towns are everything from bats to people to signs. I haven't figured out a way to make the editor append enemies to scenes without causing errors. I've tried other editors to see what they've done, but none have been able to do it without errors! So what we're going to do here is change the random townsfolk generator in this scene. (Who cares if random people don't spawn right away when you enter from the left).

So here's what I've done, and you can do the same:

1. Load up the sideview editor and go to scene 7 of town set A in west hyrule.
2. Click the "Edit Enemies" radiobutton at the bottom of the editor.
3. Click the enemy that generates random townsfolk, and move it to the crosses.
4. Change it to be an invisible dialog starter by clicking on the icon next to the sleeping blob option.
5. Save!

Each "enemy" that you see listed in the editor, from the sleeping bat to the random townsfolk, are dialog triggers. The current town id dictates what each one will say.

#00 - sleeping bat
#01 - sleeping blob
#02 - first invisible dialog. The enemy that had this id was removed from the Saria town graveyard in the US release. It triggers dialog number 31 (1F in hex). If you want to get fancy, you can change which dialog it points to by right-clicking it, but I don't think you'll need to do that.

And I see you already reinstated the original text Here's how it is when I test it out.

13
##### Personal Projects / Re: Zelda II Redux
« on: August 18, 2018, 04:41:31 pm »
Quote
By changing the value to 00, we are effectively changing it so that, even if hit, the subtraction would be 0, which means no more Magic drained.
Thanks, njosro!

You're welcome! Yeah normally I'd give you a PC address but I did it really quickly on the side and didn't check.

By the way, I wasn't active here for a little while, but if I had known you were going to do extensive text editing, I would have changed my editor right away for you so it could show a preview of text that doesn't skip lines
The editor makes it super easy to view pointers and see what text they point to, edit text in a hex-editor sort of interface (with the game's characters showing up in place of hex values), and do search functions. Like, you can put the cursor inside a chunk of text and have the program reveal the pointer that leads to that text.

Am I shamelessly promoting my editor? Yes I am

Quote
I DREW SOME WATER seems to be added to the end of this text in Ruto where it should not appear.

I took the liberty of fixing it, since it's just missing an FF end marker.
fixed patch: https://www.dropbox.com/s/ei1vd7032n6a15p/Zelda2Redux.ips?dl=1

14
##### Personal Projects / Re: Zelda II Redux
« on: August 16, 2018, 09:02:22 pm »
Quote
I also noted that the Bubbles in the Great Palace seem to drain Magic from Link when touched.
Is there a way to disable this?

Try changing the value at A08C from 01 to 00. This might stop magic from draining. I'm looking through code and haven't tried it. Hope it works!

15
##### Personal Projects / Re: Zelda II Redux
« on: August 11, 2018, 11:59:04 am »
Okay already repointed and reworked the entire script.
I found just one odd glitch:

As you can see, after the word "LEAVING" there's an odd glitchy symbol instead of what should be a comma.
I looked around in the PPU, and this particular tile is supposed to be tile ID \$1C, but I just went through the text in a Hex editor, and there's a \$9C in there, which is the tile ID for the comma. And the PPU Viewer does show up the comma as \$9C as its tile ID.

Why is that tile appearing instead of the comma?
The text doesn't have \$1C anywhere, it's just \$9C, so I find it odd that it doesn't print out the comma as it should, and it is instead showing that sprite tile in place of the comma.
I tried putting other values there, but no matter what value I replace instead of the 9 in the 9C, it always prints out tiles from within 0-3. Like it is always either 0C, 1C, 2C or 3C, nothing after the 30 row gets printed out no matter what.

Heck even the TBL in Data Crystal shows that 9C=, so I am REALLY confused xD

Go to ROM offset F704 and F705 and change the values to EA. Then you'll get a comma. (EA is a NOP instruction which we're using here to overwrite an AND instruction.)

What is happening with the weird character is that it's code ported over from the Japanese version that sometimes had to put those markings above the Japanese characters. There was a certain signal (via bit 7 and bit 6 of the character code to be printed) that specified whether to do this. If the right combo of bit 7 and bit 6 appeared in the character code, then the game would do its special thing, and then AND mask the character code to clear bits 6 and 7. In your case, 9C became 1C.

I figured this out when I was researching a method to add accent support to my Zelda 2 dialog editor. It came in handy after all

16
##### ROM Hacking Discussion / Re: zelda 2 ASM hacking and improvements
« on: June 01, 2018, 04:57:47 pm »
Hi ultimaweapon, maybe I can help since this seems doable through the editor

Quote
I relocated palace 6 and the Great Palace to where palace 6 was and hidden it.

This is what I understood from that:
1. You moved the area warp of palace 6
2. You moved the area warp of the great palace to where palace 6 used to be
3. You set the Y coordinate of the great palace's area warp to 0

If that's what you did, then here's what's wrong:
As trax said, the game just "draws" a palace tile when you play the flue and it moves the area warp of palace 6, NOT the great palace. So you probably saw the drawn image of a palace but it's just that: an image tile.

Here's what I suggest:
1. Undo everything you did with the moves and such.
2. In the editor, in area editing mode, click any area to select it, then right-click it. (Yeah, it's a bug that you gotta left click first)
3. From the drop down menu, click "Seek Index..."
4. Type 53 (that's the index of palace 6's area warp), then click OK. (in hex it's 35 like trax said, but 53 in decimal)
5. You'll see the view go all the way up north since palace 6 has a Y value of 0. You can't click it since it's out of bounds, but you can change its properties.
Change the scene and world to the appropriate values that you want. (Probably scene 0 in Great Palace)
6. SAVE!

It will work. (I've done this before.) BUT you will need to fix the graphics of the great palace when you enter. Maybe trax can help you with that...?

I hope this information is what you're looking for!

17
##### ROM Hacking Discussion / Re: zelda 2 ASM hacking and improvements
« on: May 09, 2018, 08:44:15 am »
Oh! I've seen those github pages before. A very intelligent programmer, CFrantz, did a bunch of advanced zelda 2 tinkering and posted his stuff there.

Copy the object code that it generates.

For example,

LDA #\$05
STA \$768

becomes:

A9 05 8D 68 07

And paste it at the right location in the hex editor.

Don't use the FCEUX's debugger tool for large modifications. I was talking about small changes for that, like maybe 3 instructions here and there.

18
##### ROM Hacking Discussion / Re: zelda 2 ASM hacking and improvements
« on: May 07, 2018, 10:04:59 am »
@itemdrop no problem

@Ultimaweapon You can assemble the code you wrote with whatever tool you used, and paste it at the correct rom offset using a hex editor. I use FCEUX's hex editor. Also, if you want to make just a small code change, the easiest thing to do is use the debugger tool in FCEUX. You first freeze the game, then seek to the address, then click the left margin beside the instruction, and then you can just type the asm line by line. It will assemble your code and modify the rom right away.

19
##### ROM Hacking Discussion / Re: zelda 2 ASM hacking and improvements
« on: May 06, 2018, 10:38:30 am »
If you want to make the town accessible by just walking over the forest tile (instead of hammering it), change the value at offset 8660 from 00 to D1.
00 is off the map (and the hammer changes it to D1.) By forcing it to D1 from the start you make it accessible.

If you want to see the town tile, use an overworld editor and put a town tile on the spot. If you use mine, you'll see an exclamation point on the hidden spot.

20
##### ROM Hacking Discussion / Re: zelda 2 ASM hacking and improvements
« on: April 29, 2018, 05:11:35 pm »
Thanks Trax! I agree about the limitations. As it is right now, the spell is more of a cheat than anything else.

My first thought was what you mentioned about not being able to hit enemies. I think that could work nicely. The only problem would be that you could get stuck during an unwinnable boss battle. Can't win, can't die. Disabling it during a boss battle might be a bit strange.

But your idea about a time limit makes it a lot more interesting! With that sort of implementation, you can't abuse it, and you won't get stuck in a boss fight. Good idea! About the length of time increasing with magic level, it could be cool, but no other spell improves with magic level, so it might be a bit unexpected/out of place.

However, that could lead to VERY interesting gameplay change if we make ALL the spells yield better effects as magic level increases instead of costing less. Then we might be able to re-purpose the magic cost table to an "effectiveness" table...
Here's an idea:
Shield - decreases damage more and more
Jump - lets you jump higher and higher (You could level up your magic to access a treasure that's on a really high ledge)
Life - gives you more life
Fairy - time limited, lets you stay a fairy longer
Ghost - time limited, lets you stay a ghost longer
Reflect - can't think of anything, other than letting you reflect regular projectiles back at enemies (but that would be annoying to sift through the code)
Fire - Perhaps after a certain magic level is reached, fire (and I guess the flying blade as a side effect) can hurt the enemies that are initially immune
Thunder - Does more damage, though I'm aware it can glitch Thunderbird if you change this.

Pages: [1] 2 3 4