The Legend of Zelda: Zelda Expansion Nintendo Entertainment System

  • ~
  • Share
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:














  • 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
    /documents/845/ (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 /utilities/1556/ when working with this hack.

    This hack is mostly compatible with /utilities/187/. 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 http://www.romhacking.net/forum/index.php?action=pm;sa=send;u=81057.

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


    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
    Time to Beat
    Main Story 8h 0m
    Main + Extras 8h 19m
    Speedrun Avg 0h 49m
    Release Date
    Jul 21, 2022
    2 years ago
    Similar Games
    Popular Nintendo Entertainment System Games

    Play The Legend of Zelda: Zelda Expansion Game

    Experience The Legend of Zelda: Zelda Expansion Game (USA) online exclusivly at PastGames.net. Get The Legend of Zelda: Zelda Expansion ROM and use it with an emulator of your choice. The Legend of Zelda: Zelda Expansion can be played on PC, Mac, iOS and Android using our high quality downloads. PastGames is Americas #1 choice for Retro Games like The Legend of Zelda: Zelda Expansion.