Skip to content

Nintendo Entertainment System · Improvement

Zelda Expansion

By gzip

The Legend of Zelda · All hacks & resources →

About this project

Purpose

Anyone who has hacked Zelda knows that it's very difficult to gain any additional tiles and screens.
This hack blows those limitations out of the water by providing the following resources:

  • Frees 60 overworld tiles
  • Adds 40 new overworld block definitions
  • Adds up to 96 overworld column combos
  • Adds 4 additional overworld screens
  • Frees 48 dungeon tiles (plus 3 shared with the overworld)
  • Doubles the number of available dungeon blocks from 8 to 16
  • Adds up to 96 dungeon column combos
  • Adds 17 new dungeon room templates

What does that all mean? It means that your Zelda hacks can have more graphical variety.

Add new enemies, rivers, mazes, lakes, forests, rock outcroppings, dungeon graphics, etc.

Full source code is included to easily modify the available data and cherry pick the features you want.
Freed tiles are clearly marked so they can be easily modified. Includes logic to decide which of the new tiles
are solid and which are walkable. Several sample columns have been included which can be used in your hack or be replaced as needed.

Although the hack makes the column and block space available, it's still up to you as the hacker to understand
how the data is stored and how to create new columns and screens. It is recommended that you read the document
Understanding Zelda 1 Screens, Columns, and Blocks (included in the download) before attempting to use this hack.

Test Patches

The test folder contains two test patches. The test patch add_test_columns.ips adds several test columns to the start screen
which can be useful when developing new blocks, particularly the arbitrary 4-tile version.

The rem_test_columns.ips patch removes these test columns once done testing. You can apply the former patch, make your desired changes
to the relevant blocks, and then apply the latter patch to restore the original columns.

Compatibility

It is recommended that you use Zelda Map Generator when working with this hack.

This hack is mostly compatible with ZeldaTech. It will look glitchy since it doesn't know how to handle the additional blocks, columns,
and screens, but it functions correctly when saving.

Technical Info

More technical info on how to use the patch is available in README.txt.

Suggestions and corrections can be sent to gzip.

Original game requirements

Database match: Legend of Zelda, The (USA)
Database: No-Intro: Nintendo Entertainment System (v. 20210216-231042)
File SHA-1: DAB79C84934F9AA5DB4E7DAD390E5D0C12443FA2
File CRC32: D7AE93DF
ROM SHA-1: A12D74C73A0481599A5D832361D168F4737BBCF6
ROM CRC32: 3FE272FB

Creator credits

gzip
Listed creator

RELEASE 2.0

Readme & instructions

5950readme.txt

Zelda Expansion Hack Anyone who has hacked Zelda knows that it's very difficult to gain any additional tiles and screens. This hack blows those limitations out of the water by providing the following resources: Frees 60 overworld tiles Adds 40 new overworld block definitions Adds up to 96 overworld column combos Adds 4 additional overworld screens Frees 48 dungeon tiles (plus 3 shared with the overworld) Doubles the number of available dungeon blocks from 8 to 16 Adds up to 96 dungeon column combos Adds 17 new dungeon room templates What does that all mean? It means that your Zelda hacks can have more graphical variety.

Read moreRead less
--------------------
Zelda Expansion Hack
--------------------

Anyone who has hacked Zelda knows that it's very difficult to gain any additional tiles and screens.
This hack blows those limitations out of the water by providing the following resources:

Frees 60 overworld tiles
Adds 40 new overworld block definitions
Adds up to 96 overworld column combos
Adds 4 additional overworld screens

Frees 48 dungeon tiles (plus 3 shared with the overworld)
Doubles the number of available dungeon blocks from 8 to 16
Adds up to 96 dungeon column combos
Adds 17 new dungeon room templates

What does that all mean? It means that your Zelda hacks can have more graphical variety.

Add new enemies, rivers, mazes, lakes, forests, rock outcroppings, etc.

Full source code is included to easily modify the available data and cherry pick the features you want.
Freed tiles are clearly marked so they can be easily modified. Includes logic to decide which of the new tiles
are solid and which are walkable. Several sample columns have been included which can be used in your hack or be replaced as needed.

Although the hack makes the column and block space available, it's still up to you as the hacker to understand
how the data is stored and how to create new columns and screens. It is recommended that you read the document
Understanding Zelda 1 Screens, Columns, and Blocks (included in the download) before attempting to use this hack.


Test Patches
------------

The test folder contains two test patches. The test patch add_test_columns.ips adds several test columns to the start screen
which can be useful when developing new blocks, particularly the arbitrary 4-tile version.

The rem_test_columns.ips patch removes these test columns once done testing. You can apply the former patch, make your desired changes
to the relevant blocks, and then apply the latter patch to restore the original columns.


Compatibility
-------------

It is recommended that you use Zelda Map Generator when working with this hack.

This hack is mostly compatible with ZeldaTech. It will look glitchy since it doesn't know how to handle the additional blocks, columns,
and screens, but it functions correctly when saving.


--------------
Technical Info
--------------

It is highly recommended that you work with the source code provided in this hack to make changes easily. The code logic does not need
to be edited, only the relevant data does. The following is a high level description of how the various data and code changes work.

The hack rearranges the overworld column groups so that each group contains the maximum of 16 columns.
This frees up 6 entire groups of 16 columns, for a total of 96 more columns. These 6 column groups
are repointed to free space so that you can add new columns easily. You can also repoint any of the groups
if you need more space than what's provided out of the box.

Column compression is disabled for the new overworld column groups in order to provide more blocks. Removing compression frees up
a single bit in each byte of the column definitions, thereby allowing block indices to go beyond the vanilla maximum of 0x3F.
This change effectively doubles the number of possible blocks.

Similar changes are made for the dungeons in order to increase the number of available columns and double the number of useable blocks.
Additional screens are made available by modifying the dungeon room template pointer based on the template id.

The number of walkable and unwalkable tiles for both the overworld and dungeons can be modified by changing the variables
WalkableStartTileOverworld and/or WalkableStartTileDungeons which are found in overworld_expansion.asm.


Adding Overworld Columns
------------------------

While you don't need to be concerned about compression when adding new overworld columns, you still have to mark the beginning of each column with
the start-of-column bitmask.

Here's a basic column example:

9B 1B 0E 0E 0E 0E 0E 0E 0E 1A 1B

This is an uncompressed column with the bitmask for start-of-column added to the first byte (0x1B + 0x80 = 0x9B).


Compiling
---------

On Windows open a Command Prompt and navigate to the src directory provided in zip file. Run the following command to recompile the patch:

snarfblasm zelda_expansion.asm

Download 5950readme.txt ↓

FROM THE COMMUNITY

Player reviews

0 reviews
No ratings yet

Played this project? Tell other players how it holds up.

Your take on Zelda Expansion

Spam has been overwhelming. To help us approve your review, sign up and introduce yourself in the Introductions forum so we know you’re not a bot.

Sign in with your Retro Replay account to rate this project and share your experience.

Sign in to review