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 62980 times)

mikeprado30

  • Full Member
  • ***
  • Posts: 189
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #180 on: July 26, 2016, 08:32:18 pm »
I'm also interesed on the easter egg! ;D

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #181 on: July 28, 2016, 06:58:16 am »
OK, here is how I managed to free up a considerable amount of bytes
– by using what I want to call a bypass technique. Here is how it works:

I needed quite a lot of bytes in whatever ROM bank was swapped in when you are in the Inventory screen.
This happens to be ROM bank 09, which, as it turns out, is also swapped in when you are in Phthia or Phrygia.
When scanning for free bytes in this bank, I found this section of repetitive bytes.



First I assumed them to be ‘junk’ bytes and just blanked them out with zeros.
When I then played through the game – it crashed in a very specific spot.

The way that backgrounds are stored in the game is like stripes/columns of tiles.
These stripes are compressed (by each tile not using all bits in byte) and the background is made up by tables of pointers to these stripes.
That is what I had stumbled upon – it was just a very repetitive section of the background.



If you look at the picture above, you'll see that the flowerbed is made up of two unique tile-stripes that keeps alternating.

Here are the steps that I took to implement the bypass technique:

- HiJack the routine that loads the background tile-stripes and call your own sub-routine.
The sub-routine MUST be located in a ROM bank that is ALWAYS available and checks if ROM bank 09 is swapped in (I found a RAM-flag for that). If ROM bank 09 is swapped in – it calls the bypassing routine – which I placed in ROM bank 09 (where the background tile-stripe pointers where).

- The bypassing routine checks if the pointer address is within the range of the section of pointers and then calculates the value – instead of reading it from the ROM bank. This can be achieved in far less bytes than the amount taken by the pointer-table, thus freeing up a lot of bytes to be used for something else.

I also found two additional locations I could bypass. There are two identical sections, when travelling at sea, that also just alternates between two unique tile-stripes.
In conclusion, I had lots of space for custom ASM but I needed something else as well…

To do anything visual – you need tiles. Preferably tiles already loaded and ready to use.
After some debugging, I found that I could load up additional unused tiles by simply adjusting the AMOUNT of tiles to load/unload when bringing up the Inventory screen.

So, what to do with all the space and tiles available?

Why not add a dungeon-map!

This is a staple of the series that I was really missing in Zelda 2.

If you played Battle of Olympus, you know that this game is more un-linear than Zelda games.
There are no proper ‘dungeons’ and ‘bosses’ can appear anywhere within a section.

The section that comes the closest to being a dungeon is the island Crete and here is why:
-   Most of the section takes place inside a maze-like pyramid.
-   There are a lot of different rooms that ties together through doorways.
-   The section has only ONE boss that guards an important item.
-   There are additional items (treasure) to find within the section.

Also, the entire section is REALLY hard to navigate and most of the time you are just wandering around taking guesses which doorway to try next.

Well, not anymore:



I have made some minor adjustments to the layout (which was only possible to do in the first place AFTER I had the map implemented).
As you can see, it will show your current location and where all the items/fairies and the boss is located.
I might make these features require you finding certain items first (like the compass in the original Zelda) but for now the map function is complete right at the start.

So there you go – a dungeon map available from the Inventory screen.

As for the easter-egg....that's for another time (when it's finished  :D)

/dACE

MathUser2929

  • Hero Member
  • *****
  • Posts: 1557
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #182 on: July 28, 2016, 07:13:38 am »
I'd like to see Rambo converted into a Zelda 2 game next. There could be a overworld that leads to places. Instead of taking a boat somewhere you could move somewhere on the map. Then you can walk to the final base when everything is unlocked. And then add a map.

Anyway, this hack is realy coming along. It reminds me of my Super Mario Adventures hack. It was fun turning Tiny Toon Adventures into a Mario game. It was fun working donkey kong enemies into it too. And SMB2 enemies. Even Super Mario Land.

FCandChill

  • Hero Member
  • *****
  • Posts: 529
    • View Profile
###
« Reply #183 on: July 28, 2016, 11:58:10 am »
Comment removed because reasons...
« Last Edit: August 26, 2016, 12:56:45 am by FCandChill »

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #184 on: July 28, 2016, 01:43:07 pm »
The main reason not to turn Rambo into anything - is that it is crap.

Hidden by some over-powered enemies, cryptic clues and clunky platforming - Battle of Olympus IS a good game. That's what makes this project worth while. I even consider my version a better 2d side-scrolling Zelda game - than the original Zelda 2... :o

/dACE

DarioEMeloD

  • Jr. Member
  • **
  • Posts: 50
  • RomHacking enthusiast
    • View Profile
    • GitHub
Re: Zelda 2 for GameBoy - Missing Link
« Reply #185 on: July 28, 2016, 02:38:40 pm »
Just dropping by to say it looks amazing, can't believe how much you've improved the game. I'm so looking forward to this, keep it up!
Quick question though, anything on SGB/GBC palettes?

John Enigma

  • Sr. Member
  • ****
  • Posts: 424
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #186 on: July 28, 2016, 08:28:03 pm »
Still hyped for this hack.

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #187 on: August 18, 2016, 10:54:27 am »
Anyone remember this old bug encountered in BGB?

...

Ran into another ugly bug in Phthia, here is how to recreate it:

Use the password from the previous bug-report and make your way to the right until you get to this screen:


If you walk up and down the stairs, the screen will blink as if new tiles are loaded into RAM.
Within a minute or two, while continuing to walk up and down these stairs - the game will break and do one of two things:

1. The player-sprite will be all messed up.


OR

2. The stairs will be transported to a different screen altogether.


...

Well - I finally sat down and debugged this behaviour in more detail and I might have solved it, by changing a SINGLE byte!

To test my fix I build a .NET application with the only purpose of walking up and down stairs:



So, after running the application for over 1 hour, on each of the 3 staircases in Phthia/Talus, without the game crashing - the fix seems to have resolved the issue nicely. Of course I still have to play through the entire game - just to make sure I haven't broke anything else (but I'm pretty sure I haven't).

Finally - the hack is once more (as far as I know) bug-free again!

Until next time, enjoy this image of the games NPC-cast in skyloft:



/dACE

Dogeritos

  • Full Member
  • ***
  • Posts: 103
  • Dogeritos r kewl
    • View Profile
    • Youtube Channel (Don't Go There... Pretty Bad)
Re: Zelda 2 for GameBoy - Missing Link
« Reply #188 on: November 01, 2016, 12:57:24 am »
Is this hack still happening?
So nacho
Much cheese
Wow
Dogeritos

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #189 on: November 01, 2016, 07:00:19 am »
Hell yeah....

Lots of neat stuff added since last post - I'll get back with more details when I have had the time to properly test that nothing is broken.

/dACE

Dogeritos

  • Full Member
  • ***
  • Posts: 103
  • Dogeritos r kewl
    • View Profile
    • Youtube Channel (Don't Go There... Pretty Bad)
Re: Zelda 2 for GameBoy - Missing Link
« Reply #190 on: November 01, 2016, 09:38:05 am »
Awesome! Can't wait for this to come out for sure. Keep it up!
So nacho
Much cheese
Wow
Dogeritos

releasethedogs

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #191 on: November 04, 2016, 01:22:32 am »
Glad it's still happening.
You have a good thing going and I like reading your development notes.

IAmCaptPlanet

  • Full Member
  • ***
  • Posts: 112
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #192 on: January 20, 2017, 03:41:01 pm »
any updates? it's been a couple months. really looking forward to this for some reason!

i LOVE that map feature, too! i wish someone would hack the original Zelda 2 to include a use-able map

« Last Edit: January 22, 2017, 05:18:17 pm by IAmCaptPlanet »

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #193 on: February 01, 2017, 11:36:59 am »
Updates Bonanza!

Added some movement to the static title-screen by animating the fairy:


Restored a unimplemented feature from the original - alternative weapon sprite. This was obviously planned for the GB-port, since the sprite compositions were already defined, but scrapped for some reason. When you stab with the magic-rod - the weapon tile will not be a sword anymore:


Optimized the way sprite-compositions were stored and ended up with free space I could use to make the twin wiches appear with a unique look:


Remember when I said I had to cut two Zelda2 bosses (HelmetHead and ThunderBird) from the hack? Turns out I was lying - since I have included them now. You see - there are two islands in the game, each with two shores. In the original the same boss would guard both shores - so I'm basically reskinning the second appearance of each boss:


The lootable snakes also got a makeover, to set them apart from ordinary snakes:


I also found enough space for each swapped in rom-bank to implement a day-night cycle. Below are some examples, but the cycle is in effect for all the games 'outdoor' areas:



The original had a 'dark-cave puzzle' that was scrapped in the port. I brought that back - but in another place. You better come equipped with the right item when this happens:


Made the fairies in the fairy-fountains animated:


Made the secret island to be revealed in increments - depending on how many tri-forces you have located:


Made dialogs always to appear centered in the viewport - when you are talking to Sages:


Made the torches in Ganons-lair animated (with 3 frames!!):


...and there is still more stuff added than the above mentioned...

/dACE
« Last Edit: February 02, 2017, 11:19:24 am by dACE »

DavidtheIdeaMan

  • Hero Member
  • *****
  • Posts: 653
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #194 on: February 01, 2017, 11:43:34 am »
I nearly completely almost forgot about this awesome rom hack,this is looking very promising and I can't wait to try it out,keep up the awesome work Dace!  :thumbsup:

RetroHelix

  • Full Member
  • ***
  • Posts: 147
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #195 on: February 01, 2017, 02:40:11 pm »
 :o
Just wow. :thumbsup:

releasethedogs

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #196 on: February 01, 2017, 08:45:04 pm »
I am really excited for this one!!

toruzz

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #197 on: February 01, 2017, 09:20:51 pm »
That looks amazing!

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #198 on: February 02, 2017, 02:34:34 am »
This looks very impressive :thumbsup:

The longer this project continues, the less I understand why you needed my help figuring out the text compression...

Hiei-

  • Sr. Member
  • ****
  • Posts: 373
    • View Profile
Re: Zelda 2 for GameBoy - Missing Link
« Reply #199 on: February 02, 2017, 02:51:31 am »
Nice screens :)