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

Author Topic: LoZ Dungeon Master Question  (Read 1749 times)


  • Guest
LoZ Dungeon Master Question
« on: September 26, 2012, 11:15:56 am »
Hi guys, I'm working on a LoZ hack and downloaded Dungeon Master from this site to edit the dungeons.

I'm having trouble editing the items though. The instructions say to set the room to "Kill enemies for Item/Shutter" and then click "Place an Item" - that a "key" will show up and you just pick where to place it (or change it to the item you want), but when I click on "Place an Item" the link itself just disappears and no item shows up.

I've found a workaround in that I can "create a staircase entry" and use that to edit item placement, but this seems like a hassle to:

-Create a staircase entry
-Select the item/placement
-Delete the staircase entry

and do that for every single square in every single dungeon... :/

Am I doing something wrong with the "Place an Item" here? Is this a known issue? Any suggestions? All I want to do is be able to easily select the item for each room.

Also, completely unrelated to items but still part of Dungeon Master - there are predefined mixes of enemies in the "enemy selector". Is there any way to edit that to have your own mix of enemies? Or is that not possible in this editor?



  • Submission Reviewer
  • Hero Member
  • *****
  • Posts: 595
    • View Profile
    • snarfblam
Re: LoZ Dungeon Master Question
« Reply #1 on: September 26, 2012, 05:36:25 pm »
Hmm... I can't reproduce the problem. This is happening in every room? Maybe you could post a screenshot of a problematic room.

As for the predefined enemy lists, these are stored in the ROM. You could edit the lists with a hex editor, but it will still show the old enemy lists in the level editor. If you would like, I should be able to figure out where exactly where the lists are, but I'm guessing they are compressed, which will make editing a little more difficult.

Dr. Floppy

  • Restricted Access
  • Hero Member
  • *
  • Posts: 970
  • Make America GREAT Again!
    • View Profile
Re: LoZ Dungeon Master Question
« Reply #2 on: October 10, 2012, 01:10:50 am »
The original NES Zelda utilizes a roster protocol for both dungeon enemies and bosses. To wit:

1) Stalfos, Rope, Goriya, WallMaster
2) Gibdo, Pols Voice, Darknut
3) Vire, Like Like, Wizzrobe

Levels 1, 2 and 7 use enemy roster #1. Levels 2, 5 and 8 use enemy roster #2. Levels 4, 6 and 9 use enemy roster #3. Additionally, there's a zeroth "universal" roster containing enemies which can appear in any dungeon: Bubble, Keese, Zol, Gel, Old Man & Traps.

Boss rosters are assigned independently of whatever enemy roster a dungeon utilizes.

i) Aquamentus, Dodongo, Digdogger
ii) Manhandla, Gohma, Gleeok
iii) Ganon (also includes the Patra miniboss)

Levels 1, 2, 5 and 7 use boss roster #1. Levels 3, 4, 6 and 8 use boss roster #2. Level 9 uses boss roster #3.

Enemies (and bosses) can technically be assigned to appear in any room of any dungeon, but they'll appear as graphical gibberish if they aren't on the official roster. That's because the various rosters are really just ways for the game to decide which sprite tiles to assign to PPU. (Over half of the sprite tiles are used for universal stuff like Link, weapons, items, etc. Roughly 25% is devoted to dungeon enemy tiles and the remaining space is used for boss tiles.)

More good news: the graphical gibberish can be overcome via a rather involved process I'm using for my own Zelda hack. First, I upgraded from CHR-RAM to CHR-ROM, as the latter is much easier to work with. I then redesigned new sprite sheets to include either all dungeon enemies -or- all dungeon bosses (minus Ganon). Of course, enemy/boss sprite definitions (the numbers the game uses to call upon/arrange the correct sprite tiles) had to be updated to reflect these new sprite sheets. Finally, I used some unimportant space in one of the six major dungeon room "layers" to identify which particular sprite sheet each room would utilize (enemy vs. boss). Then I updated the routine which calls upon that information to redirect it towards spritesheet selection.