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

Poll

What character would you like to make a special appearance?

Midna
0 (0%)
Skull-Kid
0 (0%)
Epona
0 (0%)
Tingle
1 (100%)
Other
0 (0%)

Total Members Voted: 1

Voting closed: May 08, 2015, 06:40:07 am

Author Topic: Zelda 2 for GameBoy - Missing Link  (Read 67102 times)

John Enigma

  • Sr. Member
  • ****
  • Posts: 430
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #100 on: December 08, 2015, 01:02:17 pm »
Just a quick status update.

The script editor is starting to look pretty impressive:



I decided NOT to move any pointers around, so the challenge is to keep the script within the fixed byte-limit.

Here is the very first dialog in the game, an homage to the classic Legend of Zelda:



/dACE
I can't see the images. And the Internet in here works.

Tsal

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #101 on: December 08, 2015, 03:21:33 pm »
Just a minor nitpick, the item is called the Lens of Truth. You have it marked as a mirror. Not sure if that was intentional or not, but if it was, then disregard my post. I have no idea if you'd actually see the item's name in the game, as I've never played it.

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #102 on: December 10, 2015, 09:04:48 am »
Tsal: Point noted. I have treated 'mirror of truth' and 'lens of truth' as synonyms. I believe it's called 'mirror' in Link to the Past and 'lens' in Ocarina of Time. Since this game borrows from both - things like this will happen. That said, it's not impossible I will change/correct this.

Enigma: I post all images to TinyPic and then embeds them into my posts. Is it possible you (your browser/firewall/whatever) don't allow this?

/dACE

John Enigma

  • Sr. Member
  • ****
  • Posts: 430
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #103 on: December 10, 2015, 09:39:00 pm »
Enigma: I post all images to TinyPic and then embeds them into my posts. Is it possible you (your browser/firewall/whatever) don't allow this?

/dACE
Don't worry. It works. Carry on.

John Enigma

  • Sr. Member
  • ****
  • Posts: 430
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #104 on: December 25, 2015, 05:21:47 pm »
Any updates on the game?

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #105 on: December 26, 2015, 04:44:24 pm »
Any updates you say? Indeed - I say!

Since I had done a pretty good mapping of the music-data I knew for sure there was data not used in the actual game.
For instance a piece that only played a scale, up and down some notes.

Since the original played the title-song on the game-over screen, that got me thinking:
Why not insert the game-over theme from Zelda to play instead. That proved to be extremely easy,
just insert the music-data and find the particular pointer and change it to play the new song.

So there you go - my hack now have more unique melodies than the original port.

But wait...since that went so easy, why not step it up a bit:

The original NES game played a different theme when entering any of the temples.
This was apparently planned, but then scrapped in the port - for whatever reason.

I claim it was planned, since the routine for changing music is obviously called,
when entering a temple. You can hear this, because whatever tune that was playing,
starts over from the very beginning - when ENTERING any temple.

So I thought - why not ASM hack the full feature into the port!!

It took me a day or two - before I figured the whole thing out,
but here is how you do it:

The routine for changing the music is located at ROM Offset 12A5.
It starts off by reading the RAM address C1B0,
which holds the pointer ordinal to the song to play.

Code: [Select]
FA 0B C1 ld a,C1B0
06 00 ld b,00
4F ld c,a
CB 21 sla c
21 C5 3F ld hl,3FC5
09 add hl,bc
2A ldi a,hl
66 ld h,hl
6F ld l,a
CD DB 22 call 22DB
C9

So, when you have pasted the music data for your new temple-music (preferably by overwriting some unused data),
there are 4 simple steps left:

1. Add an additional pointer to the collection of music pointers. The temple-music pointer is number 12.
ROM 3FE9: FF FF -> 30 75

2. Hijack the writing of the flag that is set everytime you enter or are restored inside a temple.
Since we need to store the song to play somewhere in RAM - why not borrow the flag used to denote
that you are currently on board the boat. It's not like it is used inside temples anyway.

ROM 07D0: EA OC C1 -> CALL BELOW CODE

Code: [Select]
EA OC C1 ld C10C,a - Write a into RAM C10C (Current save-point)
3E 12 ld a,12
EA D0 C0 ld C0D0,a - Write a into RAM C0D0 (Boating flag)
C9 ret

3. Hijack the reading of the flag of which song to play. If the boating-flag is set to the temple-song,
use that instead of whatever is written to the regular flag.

ROM 12A5: FA 0B C1 -> CALL BELOW CODE

Code: [Select]
FA 0B C1 ld a,C10B - Read RAM C10B into a (The song to play)
4F ld c,a - Set c to a

FA D0 C0 ld a,C0D0 - Read RAM C0D0 into a (Boating flag)
FE 12 cp a,12
28 01 jr z,1 - Jump if a = 12

79 ld a,c - Set a to c
C9 ret

4. Hijack a call that is made after entering/exiting any door, this has to happen BEFORE the song-flag is read.
The reason for that is that we are only concerned with RESTORING the regular music BACK,
when we are EXITING - if the temple-song is currently playing.

ROM 06C8: CD D0 06 -> CALL BELOW CODE

Code: [Select]
FA D0 C0 ld a,C0D0 - Read RAM C0D0 into a

FE 12 cp a,12
20 06 jr nz,06 - Jump over music change if a != 12

FA 0B C1 ld a,C10B - Read RAM C10B into a
CD A8 12 call 12A8

3E 00 ld a,00
EA D0 C0 ld C0D0,a - Write a into RAM C0D0

CD D0 06 call 06D0

C9 ret

I have stuffed all my Hijack ASM at the very beginning of the ROM. I don't know how actual hardware handles that,
but this has been tested in both Bgb and Visualboy.

So there you go - a missing feature from the original has been HACKED into the port.
Now, when you ENTER a temple or restore a game by PASSWORD, in Zelda: Missing Link,
- the music will change into the Song of Healing, from Majoras Mask.

/dACE
« Last Edit: December 27, 2015, 10:13:38 am by dACE »

John Enigma

  • Sr. Member
  • ****
  • Posts: 430
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #106 on: December 26, 2015, 09:17:52 pm »
Cool! So that means that the hack is almost done, right?

Would you give a guesstimate, please?

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #107 on: December 27, 2015, 10:07:10 am »
Well, I have quite some dialogs left to alter.

My ambition is to give the player more direct and accurate hints on where to go and what to do next.

However, I don't want to force myself into working with the script, when I'm not inspired to.
I think that would make the script suffer and that would be a shame.

It's nice to know that there are people anticipating this hack, you just have to hold on a little longer  ;)

Realized that I had overcomplicated step 3 in my temple-music hack.
Below is a more direct approach, entire two bytes shorter!

Code: [Select]
FA D0 C0 ld a,C0D0 - Read RAM C0D0 into a

FE 12 cp a,12
28 03 jr z,3 - Jump if a = 12

FA 0B C1 ld a,C10B - Read RAM C10B into a

C9 ret

The upside of not rushing the hack is that I have time to add cool features!

One thing a have considered is to replace the password system with a save-feature.
Question is how to go about doing this?

Maybe you could save the password you receive and then hack the language selection menu
- into a save-slot selection menu - to load the saved password?

/dACE
« Last Edit: December 27, 2015, 10:14:53 am by dACE »

John Enigma

  • Sr. Member
  • ****
  • Posts: 430
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #108 on: December 27, 2015, 07:34:43 pm »
Question, Mr. dACE: since you are actually going to make some kind of pseudo-port of Zelda II for the Gameboy, are you going to adjust the difficulty coding of the game? I ask this because the original Zelda II for NES was HARD AS HELL! And I know because I have the game on my 3DS.

If you are going to adjust the difficulty coding, are you going to make an easy version, or are you going to make separate versions (one with a difficulty similar to the original NES version of Zelda II, or one that has an easy difficult setting, like tog's Zelda II Easy Patch)?

December 29, 2015, 03:55:50 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Hello, Mr Dace? Are you there? I need you to answer the question that is above me. ^^
« Last Edit: December 29, 2015, 03:55:50 pm by John Enigma »

Grimlock

  • Sr. Member
  • ****
  • Posts: 361
  • Graphics Artist, Level Designer
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #109 on: December 30, 2015, 10:41:31 pm »
Gauging difficulty is a real challenge given that all players are not equal.  I think the original Zelda 2 had a comfortable difficulty level.  It was a long game, had a few points of frustration but was manageable overall.  I think most modern gamers lack the patience and resolve to fully endure many of the classics to completion.   

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #110 on: December 31, 2015, 10:06:08 am »
Yes - I have already adjusted some of the challenge of the original port.

Here is what I have adjusted so far:

Specific enemies HP has been reduced, making them easier to kill.
- Satyr/Wosu, since they were overpowered in the port, and you face a lot of them early in the game.
- Eagle/Moby, since they are hard enough to reach anyway.
- Scorpion/Aruroda, Bat/Ache, Monkey/Megmat and Pill Bug/Lowder, since they are REALLY tedious to kill.

Also two of the Bosses have had their HP reduced.
- Lamia/Guma, since this boss was REALLY overpowered and took 14 hits!!.
- Hydra/Barba, since this boss is REALLY hard to hit at all.

When you get the winged sandals/boots - you can jump even higher.
There are a couple of almost impossible jumps in the later part of the game. Even with as many playthroughs as I have by now - I ALWAYS fail one of these jumps at least a couple of times.

So - with some custom ASM in place, the winged sandals/boots will now carry the player a little longer and therefore make these jumps a little easier.

There is a way to increase the value of olives/rupees.
Even though the prices are cut in half in the port - it is still tedious to grind money. So - again with some custom ASM, there is a way of increasing the value of the money you grind.

The above adjustments, together with the ambition of making the script more informative and accurate, I believe this hack will prove a more fair and enjoyable challenge than the original port.

/dACE

Tharthan

  • Hero Member
  • *****
  • Posts: 901
  • Groovemaster
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #111 on: January 03, 2016, 11:52:26 am »
I can't wait for this project to be finished. From everything that dACE says has been done, it seems like it is going to rock.

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #112 on: January 03, 2016, 02:17:48 pm »
Spend the last two days playtesting through the whole game, with my custom ASM in place.

Found a nasty bug, apparently caused by me having part of that custom ASM in a place I shouldn't.
So, I shifted that part around, to a presumed safe spot and tested it some more and now it appears to be fine.

Found a graphical error while I was playtesting - so now there are proper floors in the buildings in Attica/Ruto:



/dACE

John Enigma

  • Sr. Member
  • ****
  • Posts: 430
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #113 on: January 23, 2016, 08:36:27 am »
Any updates? Is been quite a while, you know.

Midna

  • Hero Member
  • *****
  • Posts: 705
  • Resident Panel de Pon Nut
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #114 on: January 23, 2016, 02:23:19 pm »
It's been less than a month. I'd be more patient if I were you.

drunkenmaverick

  • Jr. Member
  • **
  • Posts: 35
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #115 on: January 23, 2016, 04:04:01 pm »
Yeah, John. Like Midna says, you got to be patient. Good games take time to make, so are translations and ROM hacks such as this one. You just can't simply rush the person to finish the hack or translation in general; you just got to know how to wait and after a while your patience will be rewarded.  ;)
.//drunkenmaverick

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #116 on: January 23, 2016, 07:28:02 pm »
He he,
I know how it is to anticipating something, take a look at this thread for instance:

http://kuribo64.net/board/thread.php?id=572&page=36

I have been waiting for that hack since since 2014 - that's 2 years and counting!!

Or this one,

http://www.night-of-the-meteor.de/en

I have been watching the updates for this hack since 2010!!!

Sure, these are projects that are far more complicated than mine. But the reason for long the wait are the same:

- We want to deliver something that would correspond to our own HIGH expectations.

With that said, here is what have happened since the last post:

In the original port, while riding the dolphin, the original programmers got lazy.
They reused the 'attacking' and 'travelling' sprites used during the regular game.
This didn't look to good, when replacing the dolphin with a boat.

Here is how attacking looked like, when at sea, without any special care:



And here is the result, when I hacked the sprite while at sea:



Another thing that bothered me was the HUD.
To compensate for the limited resources and to make part of the locations unique, the original programmes used a  palette switch.
Unfortunately, this meant that the HUD would get affected as well.

I have implemented a hack, that will make sure the HUD is painted in the correct palette at all times:



That is all for now - please...have patience...

/dACE

January 24, 2016, 10:57:47 am - (Auto Merged - Double Posts are not allowed before 7 days.)
got bored and made this:



/dACE
« Last Edit: January 24, 2016, 10:57:50 am by dACE »

John Enigma

  • Sr. Member
  • ****
  • Posts: 430
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #117 on: January 24, 2016, 01:16:22 pm »
He he,
I know how it is to anticipating something, take a look at this thread for instance:

http://kuribo64.net/board/thread.php?id=572&page=36

I have been waiting for that hack since since 2014 - that's 2 years and counting!!

Or this one,

http://www.night-of-the-meteor.de/en

I have been watching the updates for this hack since 2010!!!

Sure, these are projects that are far more complicated than mine. But the reason for long the wait are the same:

- We want to deliver something that would correspond to our own HIGH expectations.

With that said, here is what have happened since the last post:

In the original port, while riding the dolphin, the original programmers got lazy.
They reused the 'attacking' and 'travelling' sprites used during the regular game.
This didn't look to good, when replacing the dolphin with a boat.

Here is how attacking looked like, when at sea, without any special care:



And here is the result, when I hacked the sprite while at sea:



Another thing that bothered me was the HUD.
To compensate for the limited resources and to make part of the locations unique, the original programmes used a  palette switch.
Unfortunately, this meant that the HUD would get affected as well.

I have implemented a hack, that will make sure the HUD is painted in the correct palette at all times:



That is all for now - please...have patience...

/dACE

January 24, 2016, 10:57:47 am - (Auto Merged - Double Posts are not allowed before 7 days.)
got bored and made this:



/dACE
I don't know this game had a colored version.

Midna

  • Hero Member
  • *****
  • Posts: 705
  • Resident Panel de Pon Nut
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #118 on: January 24, 2016, 09:24:48 pm »
It doesn't. The color map is just something he made for fun.

John Enigma

  • Sr. Member
  • ****
  • Posts: 430
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #119 on: January 24, 2016, 09:27:19 pm »
^Oh. Well it worked. It does look like fun.