Language…
7 users online: drkrdnk, Golden Yoshi, Oskise, pakkie, Papangu,  Telinc1, Zavok - Guests: 252 - Bots: 329
Users: 64,795 (2,377 active)
Latest user: mathew

SMW2 Yoshi's Island offsets and helpful info

Resource

This thread is intended for posting hex-edits, RAM addresses, and any other useful data about the SNES Yoshi's Island ROM. (GBA-version infomation should go in the SMA3 thread instead.)

In general, all offsets should be for a SNES Yoshi's Island (v1.0) (U) headered ROM, unless labeled otherwise.

Note: We also have a ROM map wiki page. Most of the offsets in this thread are not on the wiki page-- feel free to add them. (Please only add them if you understand their purpose, though.)

- Zeldara109

---

Also, since it's not necessarily easy to find something you're looking for considering the length of this thread (or even know whether it exists), here's a list Mattrizzle has compiled containing posts that he and Romi has made containing information on YI offsets:

Mattrizzle's Posts
47071: Numerous miscellaneous offsets
47192: Level Data: starting points/midway points/name pointers
47381: Changing Mini-battle icons into levels
48586: Correcting side-effects of changing bonus icons into levels
52304: Stuff related to World 6 on the title screen/world completion sequence
52605: Audio-related offsets
52965: World map music/palette/tilemap setup offsets
54307: Boss-related offsets (more specific descriptions for these can be found in one of Romi's posts below)
55332: Mini-battles cheat-related offsets (buttons to use, disabling the "incorrect" buzz)
55367: Offsets related to brown chomp rock
55779: Breakdown on the order in which levels (translevels) are indexed
56602: Byte determining which world map uses alternate colors for the sign-holding Yoshis
56766: World map checkpoints
56778: Foreground tileset/sprite set GFX file setup, FG palette pointers, path data for 3D island
58668: Yoshi transformation palette, title screen offsets, huge list of AllGFX.bin offsets
58878: Hookbill Koopa-related offsets
65326: Locations of map screen sprite palettes, starting offset of level names
70239: Information on how to fix Pink Yoshi's colors
98185: Message text: pointers/values list/control codes
346353: Adding Yoshi colors, part 1
346778: Adding Yoshi colors, part 2
422376: Modifying Tap-Tap the Red Nose's transformation sequence to work outside of 6-4
448208: Music value lists for each Music Bank
449054: Modifying track 0x15 to play the X-4 boss music
489518: Alterations to allow Barney Bubble and Slugger to work properly when used together
492221: Credits text/table file
496667: Font/Message Box-related, Map16 (Metatile) tilemaps, sprite tilemap pointers/format
530862: Fix for underwater red coin colors
531240: Changes to keep coin sprites from using palettes E and F when sprite palette setting 2 is used
537538: Byte to fix the incorrectly-colored tile on the seesaw holder
820246: How to add extra colors for the sign-holding Yoshis on the map
820763: This post Oh, wait...

Romi's Posts
93635: Disabling one-time pop-up messages
93669: Disabling the message that pops up when moving in the welcome level
101004: Preventing Green Yoshi's Y-coordinate from being shifted on the map after playing an Extra level
101374: Custom code which forces you to continue when dying in the welcome level
102993: Custom code to disable the story intro before the title screen
152692: Custom code allowing you to choose which areas use brown Chomp Rocks
155429: Disabling the Welcome level
157021: Prevent Yoshi from facing left in 1-5, 2-7, and 5-7
175392: Offsets related to the star counter
187594: Raphael the Raven's speed
190603: Raphael's HP/palette settings for each phase
201315: Fix to allow mushroom platforms to overlap lava streams regardless of z-order
202600: BG gradient pointer table and how to find the color tables using it
216238: Screen exit information for the rotating doors in 6-8
259438: A more detailed explanation for the boss-related tables
273520: Disable the code that prevents you from drawing a flower at 1-Extra's Goal Ring
590130: Level bytes where Yoshi faces left/ski-mode is enabled/screen exit is enabled at the right boundary
591052: Custom code allowing you to choose which levels you start out facing left in
597049: Removing the pause after Yoshi eats a watermelon
618050: Change to make Kamek's dialogue appear each time before fighting a boss


---

After digging on the the Acmlm Board archives for like 2 Hours, I finally found some offsets that could be helpful in YI hacking. Also, some descriptions on header info and tips that could be helpful too...

Misc. Useful Data:

xBB643 [08] How many levels can be scrolled to on the map
xBB6AE [D0] Change to 80 to make the Bonus icon lead to a level

xBF7DB XX XX XX XX: Midway start data. There are four bytes per level middle ring. The first one determines the level number of the midring. The second byte determines the X position of entry. The third byte determines the Y position of entry. Finally, the fourth byte is the entrance type, using the same format as screen exits.
xBF671: XX XX XX XX: Main Start Data. There are four bytes per level here. The first one determines the level to enter into. The second one is the X position. The third is the Y position. The fourth byte is the map icon to unlock after completing that level-- this fourth byte should generally be left alone.

Sprite Information:

1E1CE: Balloon with cactus generator
136DF: What Monkey on ground with Melon shoots
13BC3: What Monkey with torpeado throws
13BC8: What Monkey with cactus throws
13EB2: What Monkey on a vine with Melon shoots
14D93: Froggy's Throat shyguy generator
14D27: Froggy's Throat acid generator
1DC07: Gusty Generator
1DCA9: Bat from the right generator
1DD40: Bat from the Left generator
1E003: Flying Wiggler Generator
1E0D2: Nipper Generator
1E28B: Balloon with Bomb generator
1E2E8: Riding Balloon Generator
1E44D: Lemon Drop Generator
2141A: What Seed Shyguy Spits
21837: What a Flower Shyguy turns into when stepped on
24F86: What the spike tops (seen in 5-1 and SMB3) throws
2E302: What the cactus with a cactus ball bounces
33134: What the milde boss splits into
364BC: Controls the sound that the Ghost that spits shyguys make
364C3: What the Ghost that spits shyguys spit
383B7: What an Egg Flower with an even X axis shoots
384F8: What an Egg Flower with an odd X axis shoots
3972F: What Snifit Shoots
3ACBF: What Lakitu throws
3C864: What Wall Lakitu throws
716C5: Affected what Goonie with Shyguy Drops
7177F: What Goonie Generator Generates
725E5: What the Bubble Blower guy Blows
7872E: What Amazie Daisy Blows
79D3A: What a large milde (the one you get after pounding a full-sized milde once) splits into
7A14B: What a medium milde (the one you get after pounding a full-sized one twice) splits into
8B373: What the Gather Coins Mini-Game cannon generates
8C539: What the Mini-Game Bandit (Seed Spit) Shoots after comsuming a watermelon
8C576: What the Mini-Game Bandit (Seed Spit) Shoots after comsuming a red watermelon

Music Pointer Offsets:

E1968 Athletic
E268B Bonus Challenge
E3163 X-4 Boss
E3B9E Cave Theme
EBE5A Credits
ED3CA Touch Fuzzy Get Dizzy
ED89C Make Eggs, Throw Eggs
F2329 Final Bowser Battle
F3260 Pre-Credit Stuff
F36BC, F43EE Death
F378C, F44BE Baby Mario kidnapped by Toadies
F38EA, F461C Level Start
F3956, F4688 Game Over
F3B5C Introduction
F40B0 Welcome to Yoshi's Island
F488A Goal Part 1/Win Bonus
F49A1 Goal Part 2
F5143 Powerful Mario/Mini-Game
102623 Title Screen
102EB9 Story

Disabling Message Box Values:

x73734: Change to 80 to disable the message when you first get a flower.
x1161F: Change to 80 to disable the message box popping up at the first mid-ring
xC488 and xC48B: Chane to 80 to disable the message when Yoshi first gets hurt in a level
x80FA2: Change to 80 to disable the Welcome level message.

Yoshi's colors

x10200-x10247 Yoshi color assignments for each level
(12 bytes per world: Levels 1-8, Extra, Bonus, & 2 unused entries)
This won't change the Yoshi colors on the map.

In-game Yoshi Palettes
(15 colors per palette)
1FA240 00: Green
1FA25E 01: Pink
1FA27C 02: Yellow
1FA29A 03: Light Blue
1FA2B8 04: Purple
1FA2D6 05: Brown
1FA2F4 06: Red
1FA312 07: Blue

Intro Yoshi Palettes
(16 colors per palette)
1FEF4A Brown
1FEF6A Pink
1FEF8A Yellow
1FEFAA Light Blue
1FEFCA Purple
1FEFEA Green
1FF00A Red
1FF02A Blue

Personal note by me B.B.Link: To edit the Yoshi colors easily, use SNES Pallete editor, and use those offsets to find the colors you want to edit.

Level and Text editing:

1. Make sure you have YITable.txt in your EggVine folder.
2. Make a copy of this file and rename it YITable.tbl. Put it in your EggVine folder.
3. Load your ROM in Translhextion.
4. Go to Script--> Open Thingy Table, and load your YITable.tbl file. Some popup about tokens will come up, just click OK. Another small window will appear, click "Thingy View Active" and the # on this window.
5. Go to Jump To-->Offset, and enter x114C50. This will take you to the beginning of the level name text. It goes in order from the Welcome level all the way to Extra 6.
6. You can't just enter the text, you have to enter the hex value equivalents to the text characters. A complete list of hex equivalents is found in the YITable.txt file, so refer to that. Note: Be careful not to overwrite the "###" things in the text, this makes the level name text skip a line or go to the next level, so try to keep your text within the boundaries of the "###" things.

Personal note by me B.B.Link; If your thingy table don't work for some reason, I'll upload the one I got from SNN later (thanks again SNN).

Expanding the Amount of Bytes a Level can use:

1. Choose a level which you want expansion. Write the level number down. Now, go into your Windows calculator. Put the calculator in scientific mode, then hex mode. Plug your level number into this equation: BF9C3 + (6 x Level Number). Now, write down the value you get, this is your level address. We will use this number later.
2. Go into your hex editor, preferrably Translhextion. Open your ROM, and go to Jump To-->Offset, and enter x11554A. This is where the free space begins. You'll notice a whole swarm of FF bytes from x11554A to x1201FF. The FF's are unused bytes in the ROM, so all together you have around 44000+ bytes of free space! Now, the first step is that we're going to add object data.
3. To add the object data...start at x11554A (or whatever byte after you do this the first time). Take the offset where the object data starts and write it down, you'll need the offset later. Now, enter thirteen 00 bytes. This represents the header information. After those 00's, enter 85 FF FF. This will put a cloud in the level because if a level doesn't have any objects or sprites it will crash. Now after that, add as many 00's as you wish. Each 00 represents one byte of object data, so place accordingly.
4. Now we will do the sprite data. To do this, skip one byte after your last 00 in the object data, and make sure you leave an FF after the last 00. Now that you have skipped a space, write down the offset, this is your sprite offset. Now, start of the sprite data with two FF's, then after that enter as many 00's as you want for sprite data.
*Note: When you go back to expand a new level, make sure you leave two FF's after the sprite data where the last expanded level ends, or else you will have major problems.
5. Now, go back into your calculator, and plug your object offset into this formula: Offset + 400000 - 200. After you should get a 6 digit number. Now, swap the first two digits with the last two digits. For example. If you got 515B12, swap it to 125B51. Do the same with the sprite offset, and write both of the new values down. These are your SNES addresses
6. Now go into the hex editor, and jump to the level offset offset from way before. Enter your SNES addresses over the first 6 bytes at the level offset (object address first). Now save the ROM in the hex editor.
7. Go into EggVine and open the newly expanded level. You should see a cloud all the way at the top of the screen, plus a new byte limit. Now, you can add your sprites and objects (Just make sure to get rid of the cloud because it's all the way at the top)
To do this again repeat steps 1-7, and remember, every time you do it, leave two FF's after the sprite data of the previous expanded level.

-----------------------------------

Sprite Set Lists, thanks to Blumiere and Yoshis_fan

Here are two lists that show all 127 sprite sets and what sprites are compatible with each set. The second one, made by Yoshis_fan, has some more detail about each sprite at the bottom, but other than that the lists basically show the same thing.

Blumiere's list (text file, viewable on your browser)
Yoshis_fan's list (You'll need Microsoft Word to view this)

-----------------------------------

Here's a complete list of tilesets and the palettes to go with them (courtesy of CD Productions):

Tileset List

0 - Cave with waterfalls and cross sections
1 - Ground with Palm Tree and cross section (for worlds 1-5)
1 - Ground with Bones and cross section (for world 6)
2 - Jungle stone (grassy or bald) with white flower, wooden platform, wooden pendulums and coral reef
3 - Semi-3D Castle Blocks with Semi-3D Pipes, and Wavy lava, and Jungle stone used for Hookbill the Koopa's room (the striped platforms and boxes will have a Semi-3D look when used with this tileset)
4 - Snowy ground with Icy ledges, animated water to go with the icy ledges, snow-capped tree, and Ski lift poles with bars
5 - Jungle ground with Jungle stones, treetops, vines, muddy surfaces, and jungle trees
6 - Standard castle tileset used for most X-8 levels
7 - Grassy ground with bushes and cross section
8 - Cave with lavafalls, icy surface, icicles, mushrooms, tall and stalked mushrooms, and crystals
9 - Ground with twisted trees and huge flowers embedded within the ground (looks similar to the "non-world 6" variation of tileset 1)
10 - Wooden castle tileset used exclusively for X-4 levels
11 - Sewer tileset (which is too complicated to do levels with!)
12 - Flowery ground with huge rocks used exclusively for levels in world 1
13 - Sky tileset with various shaped clouds and snow-capped rocky platforms used exclusively for levels in world 5 (5-6 and 5-8)
14 - Jungle castle tileset primarily used for the boss levels of world 3
15 - Grassy ground with raven platform and falling stone (looks similar to tileset 7)

Palette List

0 - Green cave and water
1 - Light green ground (for worlds 1-5)
1 - Brownish ground (for world 6)
2 - Blue-grayish stone with pure green grass
3 - Red jungle stone?
4 - Snowy ground
5 - Light jungle ground and green jungle stone
6 - Peach castle (from 1-8)
7 - Cyanish ground
8 - Green castle (from 3-4)
9 - Yellowish flowery ground
10 - Yellowish ground
11 - Sewer tileset palette (only suitable with the sewer tileset!)
12 - Green cave and lava
13 - Standard sky tileset palette from 5-8
14 - Brown castle (from 1-4)
15 - Green flowery ground
16 - Brownish ground (same as the "world 6 variation" of palette 1)
17 - Red cave
18 - Snowy or icy cave
19 - Golden ground
20 - Red ground
21 - Leaf green ground
22 - Purple ground
23 - Pink castle (from 2-8)
24 - Violet castle (from 4-8)
25 - Blue castle (from 5-8)
26 - Red castle (from 6-8)
27 - Dark jungle ground and purple jungle stone
28 - Pinkish sky tileset palette from 5-6
29 - Gray castle (from 5-4)
30 - Weird reddish palette
31 - Weird reddish palette again?

---Extra Info---

Here is a list of layer 1 objects that can virtually be used with any tileset:

15: Cloud platform
35: Animated water
37: Red line bridge
3C: Vertical pipe, enterable
47: Lava
63: Horizontal Wooden Platform
66: Ice Blocks
68: Coins
6B: Goal platform
6C: Grey stone blocks
6E: Multi-colored stone blocks
79: Red diagonal stairs
82: Green Red coins, grouped closely together
83: Green Red coins that make weird noises
8A: !-switch coins
8B: !-switch blocks
C4: Horizontal coins, every 2 tiles
C5: Vertical coins, every 2 tiles
C6: Diagonal coins, every 2 tiles
C4: !-switch horizontal coins, every 2 tiles
C5: !-switch vertical coins, every 2 tiles
C6: !-switch diagonal coins, every 2 tiles
CE-D2: Line guides, straight
DA: Blocks that are only solid for Super Baby Mario
F4: Vertical pipe, non-enterable
F5: Spikes
X12-15: Bridge guide, for use with ? cloud bridges
X14-15: Staircase guide, for use with ? cloud stairs
X17: Green red coin
X47: Bandit's House
X50: Right arrow sign
X81: Yoshi's House's Chimney
X82: Yoshi's House
X8E-91: Line guides, small quarter-circle
X9A-9D: Line guide ends
XA8: Left arrow sign
XC4: Egg block
XFB: Repeats objects in another screen
XFD: Allows screen to scroll into the screen it's placed in
XFE: Prevents screen from scrolling into the screen it's placed in
XFF: Prevents screen from scrolling into the screen it's placed in, and removes all tiles in that screen

----Cross Sections-----

Here is a quick guide to crossections. Huge thanks to Blumiere for explaining how these work.

----Layer 3 List-----

Here is a nice spreadsheet created by Yoshis_Fan which documents the layer 3 data in the game.

----Sewer Levels----

Sewer levels are regarded by many as one of the nastiest levels to work with due to EggVine's nasty rendering of them. Very few people have successfully. This thread contains information, as well as an excellent tutorial which you may find useful for designing them.
I'll add to this.

Music offsets (credit goes to Mattrizzle for the middle ones, and me for the level themes)

E1968 Athletic
E268B Bonus Challenge
E3163 X-4 Boss
E3B9E Cave Theme
EBE5A Credits
ED3CA Touch Fuzzy Get Dizzy
ED89C Make Eggs, Throw Eggs
F2329 Final Bowser Battle
F3260 Pre-Credit Stuff
F36BC, F43EE Death
F378C, F44BE Baby Mario kidnapped by Toadies
F38EA, F461C Level Start
F3956, F4688 Game Over
F3B5C Introduction
F40B0 Welcome to Yoshi's Island
F488A Goal Part 1/Win Bonus
F49A1 Goal Part 2
F5143 Powerful Mario/Mini-Game
102623 Title Screen
102EB9 Story

Sprite Sets (credit goes to .. err .. no idea. CONVERT TO DECIMAL BEFORE INSERTING IN EGGVINE)

X0 0X: Wingless Goonies, Tap-taps, Mildes, Falling Blocks (from 1-2), Penguins, and Birds
X0 1X: Penguins, Little birds, Tap-taps, Mildes, Bullet Bills, Falling blocks, and Platform that have a number on them from 6-7
X0 2X: Spiked Fun Guy, Tap-tap, Milde, Fireballs that move back and forth, Blowhards (cactus that spit cactus balls at you), Pirhana Plants, Mini-Gusties, and egg plants
X0 3X: Stilt guys, Bubble Blowers, Penguins, Little Birds, and Ski Lifts
X0 4X: Salactites, Lanturn Ghosts, Penguins, Little Birds, Tap-taps, hookbill's mountains, pirhanas, mildes, and Sluggys
X0 5X: Tap-Tap, Pirhanas, Milde, Hookbill's Mountains, Chomp Chase, Snifit, and Fireballs that move back and forth
X0 6X: Blowhards, Mini-gusties, Flower (sprite 10), and Goonies
X0 7X: Cannon Launchers, Bullet Bills, Blowhards, Arrows, Spike Hatted Bandits, Mace guys
X0 8X: Kamek and Hookbill's Mountain Background
X0 9X: Fat Shyguys, Mildes, Tap-taps, Pirhana Plants, Lakitus (wall and cloud), and Flower that shoots its petals at you
X0 AX: Sluggy, Lanturn, Flower that shoots stuff at you, Giant Egg, Arrow (hit with egg and the arrow will shoot it in the direction it was pointing at) and Flower Shyguy
X0 BX: Ghost Guys, Sluggy, Cannon Ball Launchers, Flower (sprite 10), Ghost Shyguy moving a spike mace thing, arrows, and Lanturn
X0 CX: Egg Plant, ghost shyguys moving spike mace things, and Hookbill's Mountains
X0 DX: Nipper Plants, Arrows, Flower (sprite 10), and Gusty
X0 EX: Hookbill's Mountain, Bubble Blower, Eggplant, and Skis
X0 FX: Mildes, Tap-Taps, Baseball Boys, Blowhards, Pirhana Plants, Arrow that you hit with egg and the arrow shoots the egg in the direction it was pointing at, and Sunflowers
X1 0X: Poochey, tap-tap, milde, pirhana, and Bullet Bill
X1 1X: Ghost Guys, Nipper Plant, Big Boo, Gusty, Hanging/jumping ghosts, and Arrows
X1 2X: Sewer Ghost, Water Lakitu, Tap-tap, Milde, Pirhana plants, and fish from 3-7
X1 3X: Sunflower, Kamek, Milde, Tap-tap, Pirhana, and Naval
X1 4X: Stilt Guys, Dancing Spear Guys, Sewer Ghosts that spit Flipping Shyguys, Mildes, Tap-taps, Hookbill's Hills, and Egg Plants
X1 5X: Pyroguys, Ghost Guys that pass a torpeado around, Huffin Puffin, Seed Shyguys, Bandit, Blindfold Boo, Cactus (the one with pants), dizzy daisy, spear guys, and Spikes
X1 6X: Spikes, tap-tap, mildes, flower, and fireball from 6-4
X1 7X: Jumping Ghost, Lemon Drop, Blindfold Boo, Pyroguy, Sparky, Cactus (the one with pants), dizzy daisy, Salvo the Slime, and Happy Flower
X1 8X: Mace Shyguy, Mini-Blargg, Bullet Bill, Spiked Hat Bandit, Baseball Boy, and Arrow
X1 9X: Flower, Arrows, Blindfold Boo, Zeus Guy (karate guy), Pyroguy, and Ghost Guy
X1 AX: Snifit, Pyroguy, Ghost Guy, Blindfold Boo, Spike Chains, Zeus Guy, Bandit, Ghost that reverses your directions, and Spinning Doors
X1 BX: Lanturn, Ghost Guy, Sluggy, Zeus Guy, Fireball from 6-4, and Mouser
X1 CX: Egg Plant, Tap-tap, Milde, hookbill's mountains, skeleton goonie, and blowhard
X1 DX: Clawdaddy, Skeleton Goonie, Blindfold Boo, Dancing Spear Guy, Pyroguy, and Spear Guy
X1 EX: Fireball from 6-4, Pyroguy, Blindfold Boo, Masked Mouser, Ghost Guy, and Flower
X1 FX: Hookbill's Mountain, and Goonies
X2 0X: Hookbill's Mountains, Squid, and Huffin Puffins
X2 1X: Koopa, Eggplant, Bubble Blower, Blowhard, Spiked Fun Guy, and Nipper
X2 2X: Fireball, Boo, Masked Mouser, and Ghost guy
X2 3X: Boo Balloon, Lava splashes, Flame, and Ghost Guy
X2 4X: Explosion, Salvo the Slime, Egg Plant, Marching Milde, Flying Kamek, Tap-tap, Lemon Drop, and Pirhana Plant
X2 5X: Boo, Kamek, and Spinning Log
X2 6X: Mouser and Baseball Boy
X2 7X: Mini Gusty and Hookbill's Mountains
X2 8X: Cheep-Cheep and Sparky
X2 9X: Cheep-Cheep, Clawdaddy, and Spear Guy
X2 AX: Spear Guy, Bubble Blower, Dizzy Daisy, Monkey, Clawdaddy, and Egg Plant
X2 BX: Catfish
X2 CX: Monkey and Mushy Slug found in 5-4
X2 DX: Mouser, Sluggy, and Lanturn
X2 EX: Same as C0
X2 FX: Flower shyguy and Happy Flower
X3 0X: Huffin Puffin and Lakitu
X3 1X: Big Boo, ! Switch, and Flower
X3 2X: Masked Mouser and Flower
X3 3X: Explosion and Chomp Chase
X3 4X: Sewer Ghost, Sluggy, and Lanturn
X3 5X: Milde, Goonie, Crazie Daisy, Arrow, Explosion, Dragonfly, Flower Shyguy, Butterfly, and Pirhana
X3 6X: Huffin Puffin, Seed Guy, Sluggy, and Lanturn Ghost
X3 7X: Koopa, Fire, Fuzzy, and Raven
X3 8X: Flying Goonies and Baseball Boys
X3 9X: Snifit, Milde, Bandits, Bandits that wear hats, and Bullet Bill
X3 BX: Koopa, Bill, Goomba, and Fuzzy
X3 DX: Bullet Bill and Fire and Koopa
X3 FX: Chomp Chase, Chomp Crush, Shyguy in background, bubble blower, and Milde
X4 0X: Boo
X4 7X: Lava Fish, Spike Mace Shyguy, Koopa, Mouser, Masked Mouser, and Ghost Guy
X4 BX: Boo Balloon, Blindfold Boo and Hookbill's mountains
X4 CX: Fire Lakitu, Wall Lakitu, Normal Lakitu, Spike throwing guy seen in SMB3, penguins, and little birds
X4 FX: Gusties, Baseball Boys, Lakitu, Pirhana Plants, Tap-Taps, and Huffin Puffins
X5 1X: Gold Tap-Tap Boss, Egg Plant, and Swooper
X5 4X: Monkies and Gustys
X5 6X: Gusty, Nipper, Boo, and Lava Log
X5 9X: Goonies, Penguin, Baseball Boy, and Kamek
X6 0X: Froggy's Acid and Giant Shyguys
X6 2X: Pirhana Plant, Butterfly, Tap-tap, Milde, Arrow, Flower Shyguy, Cactus Bouncing Pokey, and Amazie Daisy
X6 3X: Flower Shyguy, Egg flower, and crazy daisy
X6 4X: Stilt Guy, Swooper, Lanturn Ghost, and sunflower
X6 5X: Big Milde
X6 6X: Bubble Blower and egg plant
X6 7X: Bandit, Fire, Potted Ghost, Blarrg, and Pot
X6 9X: Fuzzys
X6 EX: Stilt Guys, Arrows, Explosions, and Flower that you put an egg in to get stars
X7 4X: Butterflies, Flower that shoots its petals at you, Flower shyguys, Koopa, and Crazy Daisy
X7 5X: Mushy Slug, Monkey, Frog, Little Frog, Seed Shyguy, Spear Guy, and Huffin Puffin
X7 7X: Kamek and Skeleton Goonies
X7 8X: Blindfold Boo and Pyroguy
X7 AX: Stilt Guy and Monkey
X7 BX: Bowser, Wizard Kamek, Fire, and Kamek
X7 DX: Seed Shyguy, Koopa, Gusty, Lanturn, and Nipper
X7 FX: Milde, Tap-tap, Ghost that reverse your directions, egg plant, flower that throws its petals at you, and pirhana plant

Random offsets and other unique information:

BF7DB: Midway start data
BF671: Main Start Data

Sprite SCF: Rocks from Bowser Battle (NO GRAPHICS GLITCH WITH ROCKS!)

You have to have the tileset be able to use object 14, though, so only a few tilesets would work

1BA: Change to (Cave Graphics/Blue Palette X&1)
1BB: Change to (Grass Graphics/Green Palette X&1)
1BC: Change to (Submarine Graphics/Sub Palette X&1)
1BD: Change to (Castle Block Graphics/Red Palette X&1)
1BE: Change to (Snow Graphics/Snow Palette X&1)
1BF: Change to (Mud Tileset/Mud Palette X&1)
1C0: Change to (Castle Tileset/Red and Cyan Palette X&1)
1C1: Change to (Flower and Grass Tileset/Cyan Palette X&1)
1C2: Change to (Cave Tileset/Greenish Palette X&1)
1C3: Change to (Grass Tileset/Yellow Palette X&1)
1C4: Change to (Wooden Castle Tileset/Yellow Palette X&1)
1C5: Change to (Sewer Tileset/Sewer Palette X&1)
1C6: Change to (Flower Tileset/Greenish Blue Palette X&1)
1C7: Change to (Flower and Grass with Rocks Tileset/Dark Green Palette X&1)
1C8: Change to (Rocky Castle Tileset/Brown Palette X&1)
1C9: Change to (Flower and Grass with Line Guides Tileset/Green Tileset X&1)

A certain bit in the special effects value appearently flips between "normal" dirt or the evil World 6 dirt we all know and love

Other things; Sprite properties; etc.

Sprite data:
1E1CE: Balloon with cactus generator
It should read as: A9 74 01 22 64 A3 03

This requires a bit of ASM
The first loads the LDA.
The second loads the sprite that it generates
The third determines whether the Y location is odd or even
The forth is the long addressing mode
The last three are the subroutine, inverted

Other sprites:
136DF: What Monkey on ground with Melon shoots
13BC3: What Monkey with torpeado throws
13BC8: What Monkey with cactus throws
13EB2: What Monkey on a vine with Melon shoots
14D93: Froggy's Throat shyguy generator
14D27: Froggy's Throat acid generator
1DC07: Gusty Generator
1DCA9: Bat from the right generator
1DD40: Bat from the Left generator
1E003: Flying Wiggler Generator
1E0D2: Nipper Generator
1E28B: Balloon with Bomb generator
1E2E8: Riding Balloon Generator
1E44D: Lemon Drop Generator
2141A: What Seed Shyguy Spits
21837: What a Flower Shyguy turns into when stepped on
24F86: What the spike tops (seen in 5-1 and SMB3) throws
2E302: What the cactus with a cactus ball bounces
33134: What the milde boss splits into
364BC: Controls the sound that the Ghost that spits shyguys make
364C3: What the Ghost that spits shyguys spit
383B7: What an Egg Flower with an even X axis shoots
384F8: What an Egg Flower with an odd X axis shoots
3972F: What Snifit Shoots
3ACBF: What Lakitu throws
3C864: What Wall Lakitu throws
716C5: Affected what Goonie with Shyguy Drops
7177F: What Goonie Generator Generates
725E5: What the Bubble Blower guy Blows
7872E: What Amazie Daisy Blows
79D3A: What a large milde (the one you get after pounding a full-sized milde once) splits into
7A14B: What a medium milde (the one you get after pounding a full-sized one twice) splits into
8B373: What the Gather Coins Mini-Game cannon generates
8C539: What the Mini-Game Bandit (Seed Spit) Shoots after comsuming a watermelon
8C576: What the Mini-Game Bandit (Seed Spit) Shoots after comsuming a red watermelon

there should be 5 bytes before the A9
the first two, if changed to A5 10, means load a random number
The next (29), means use the logical operator AND
Other Stuff:

13753: When I changed this, the monkey that spits seeds runs away all the time...
1E185: When I changed this, Baby mario was in a different location...
138F6: When I ate the monkey that threw torpeados, after changing A9 D7 to A9 63, the game crashed, when I changed it to A9 D6, the monkey, rather than sweating sweat, it sweat fire

A9 XX XX 22 31 must control what an enemy generates when it hits water, lava, or does various other things

What Monkeys Sweat:

D6 - Fireballs (As in, the ones generated when something falls into lava)
D7 - Sweat
D8 - Smoke

-----

Note by me: You can also "customize" your EggVine file, to confuse you less. Open any of the .dat files that came with Eggvine with Wordpad or something, and edit them.


yipee!
HORRAY FOR OFFSETS!
I am feeling motivated to work on my YI hack!
Your layout has been removed.
What's Daisy?(A princess in Sarasaland?!)

And what's pyroguys?


Where is X3 CX?
사랑합니다!

Originally posted by Silver Yoshi
What's Daisy?(A princess in Sarasaland?!)

And what's pyroguys?


Where is X3 CX?


The Daisys in SMW2 are those walking flowers that you see in the beginning of the game.

Pyroguys are Shy Guys that are on fire. You see those a lot in World 6 in the original game.

X3 CX is 60 in decimal form. 60 is the number you type in the header if you want to use that sprite set in a level.
Is there any offsets so that I can tweak the bosses?I.E. to make them go faster.

Due to the special ASM that the rapheal raven boss uses, I think it will be difficult to make just about any changed to the battle...
Your layout has been removed.
I looked for the longest time for any boss data (HP, X and Y speed, etc) but I had no luck. I managed to tweak Raphael so he only has two poles instead of four, and made him run faster, but that was purely by chance in EggVine and experimentation.
Originally posted by S.N.N.
I looked for the longest time for any boss data (HP, X and Y speed, etc) but I had no luck. I managed to tweak Raphael so he only has two poles instead of four, and made him run faster, but that was purely by chance in EggVine and experimentation.


I am actually curious in the behavior of repheal raven due to the special ASM it uses.Herhaps a research project should be started.
Your layout has been removed.
Originally posted by fabio
Originally posted by Silver Yoshi
What's Daisy?(A princess in Sarasaland?!)

And what's pyroguys?


Where is X3 CX?


The Daisys in SMW2 are those walking flowers that you see in the beginning of the game.

Pyroguys are Shy Guys that are on fire. You see those a lot in World 6 in the original game.

X3 CX is 60 in decimal form. 60 is the number you type in the header if you want to use that sprite set in a level.


But what's "dizzy daisy" or "crazy daisy"?

And what's Salactites?
사랑합니다!

Originally posted by Silver Yoshi
Originally posted by fabio
Originally posted by Silver Yoshi
What's Daisy?(A princess in Sarasaland?!)

And what's pyroguys?


Where is X3 CX?


The Daisys in SMW2 are those walking flowers that you see in the beginning of the game.

Pyroguys are Shy Guys that are on fire. You see those a lot in World 6 in the original game.

X3 CX is 60 in decimal form. 60 is the number you type in the header if you want to use that sprite set in a level.


But what's "dizzy daisy" or "crazy daisy"?

And what's Salactites?


Stalactites are the cylindrical pieces jutting from cave floors(? or is that stalagmites?)

Nice list guys. I need this.

Salactites are the icicles I think.
Correct me if I am wrong.
Your layout has been removed.
Originally posted by Troopa Pride
Salactites are the icicles I think.
Correct me if I am wrong.


nope, its in caves. they come off the top of it inside the cave. so its whatever the cave is made out of
Salactites are the icicles in caves, but they are spelled funny in EggVine. There are four different sizes for them. If you want to make the ones that fall when you approach, you need to use one of the NSP sprites on the top of the salactite (or at the part where you want it to fall at)
This is a massive bump, but this is on topic, and it would be pointless to create a new thread, so...

FX Graphics pointers (adding #$01 to the pointer makes it use the upper bitplane)
AD0F [00 E0 20 E0] Harry Hedgehog
168BB [E1 60 A1 20 C1 60 C1 20] Naval Piranha's head(mouth closed, half open, fully open, turning)
74B2B [80 E0] Growing snowball
7DF43 [01 C0 01 E0 21 E0 41 E0 61 E0] Toadies(story)
8934F [E1 C0] Balloon (Throwing Balloons Mini-battle)
8A229 [E1 C0] Balloon, untouched (Popping Balloons)
8A272 [E1 C0] Balloon, touched (Popping Balloons)
--------
Miscellaneous
18200-1872D Sprite pointer table 1 (3 bytes per pointer) 000-1B9
1872E-18C5B Sprite pointer table 2-behavior (3 bytes per pointer) 000-1B9

20BB8 [01 00 03 00 05 00 09 00] Shyguy Colors(Green, Red, Yellow, Pink)
2C7E7 [20 00 15 01] Enemies from '?' Bucket (Bandit, Coin)
7855B [02 00 02 00 04 00 08 00 02 00 04 00 08 00 02 00] Crazy Dayzee Colors(Yellow, Yellow, Blue, Purple, Yellow, Blue, Purple, Yellow)

1AC0E [C0 01 C2 01 E0 01 E2 01 C4 01 C6 01 E4 01 E6 01 C8 01 CA 01 E8 01 EA 01 CC 01 CE 01 EC 01 EE 01] Tile space which most FX graphics occupy
88633 [C0 C2 C4 C6 E0 E2 E4 E6 C8 CA CC CE E8 EA EC EE] Throwing Balloon/?Giant Snowball? tilemap

2A53C [08 00] How fast Piranha Plants chomp

8826A [02 00] What music plays during Mini-Battles
883F2-88409 Pointers to Sprite-loading routines for each Mini-Battle
[5E 82 5E 82 5E 82 DD B6 1A AE 88 9E 88 9E 65 B7 E5 80 5C B8 FA C5 5E 82]

B9B54 [37] Game Mode to switch to when selecting a new game (Intro)
263AE [0B 00] Game Mode to switch to after intro (Level)
263B4 [0B 00] Welcome level

[A2 ?? 22 43 85 00] Music Bank loading subroutine
Replace ?? with:
00- Grassland
01- Forest/Jungle
02- Castle
03- Boss Room/Kamek Appears/Level 4 Boss Battle
04- Cave
05- Boss Room/Kamek Appears/Level 4 Boss Battle
06- Bonus Challenge
07- Boss Room/Kamek Appears/Level 8 Boss Battle(extended)/Boss Battle intro/Level 8 Boss Battle
08- Boss Room/Kamek Appears/Level 8 Boss Battle(extended)/Boss Battle intro/Level 8 Boss Battle
09- Boss Room/Kamek Appears/Level 8 Boss Battle(extended)/Boss Battle intro/Level 8 Boss Battle
0A- Athletic
0B- Athletic
0C- Big Baby Bowser Battle/Kamek flees/Victory Fanfare
0D- Boss Room/Boss Room/Kamek Appears/Level 4 Boss Battle
0E- Title Screen(pre-World 6)/Story/Title Screen(post-World 5)
0F- Title Screen(pre-World 6)/Story/Title Screen(post-World 5)
10- Title Screen(pre-World 6)/Story/Title Screen(post-World 5)
11- Intro/Map at Start/Map(post-World 1)/Map(post-World 2)/Map(post-World 3)/Map(post-World 4)/Map(post-World 5)/Map(post-World 6)
12- Intro/Map at Start/Map(post-World 1)/Map(post-World 2)/Map(post-World 3)/Map(post-World 4)/Map(post-World 5)/Map(post-World 6)
13- Ending
--------
Super FX Icons
45C16-45C2D Pointers to icon sets for each world
45C2E-45DDD Icon GFX pointers (Super FX)
BDDA3-BDDAE Pointers to icons' bitplanes used for each world
BDDB8-BDDF6 Bitplane used for each level icon (1 byte per level) 11=bitplane 1; 15=bitplane 2
BDE03-BDE03 Controller setting icons
BDE43-BDE4E Pointers to icon palettes for each world
BDE4F-BDEDE Palette used for each level icon (2 bytes per level)
--------
Map Screen
Change BB6B1 to 2E and BB6B8 to A7 03 to play mini-battles at the Bonus Icons on the Map

BB643 [08] How many levels can be scrolled to on the map
BB6AE [D0] Change to 80 to make the Bonus icon lead to a level

X-coords of each Yoshi on world map
BBFAE [30 00 58 00 98 00 C8 00 10 01 28 01 68 01 B8 01]
BBFBE [30 00 60 00 98 00 D0 00 10 01 50 01 88 01 C0 01]
BBFCE [30 00 70 00 A0 00 C8 00 18 01 58 01 98 01 D0 01]
BBFDE [30 00 70 00 A0 00 C8 00 18 01 58 01 90 01 C8 01]
BBFEE [30 00 60 00 A0 00 D0 00 18 01 58 01 90 01 C8 01]
BBFFE [30 00 68 00 98 00 C8 00 18 01 50 01 80 01 B8 01]

Y-coords of each Yoshi on world map
BC00E [9C 00 7C 00 A4 00 A8 00 94 00 74 00 8C 00 90 00]
BC01E [A4 00 94 00 9C 00 90 00 9C 00 9C 00 8C 00 8C 00]
BC02E [AC 00 94 00 84 00 A4 00 A4 00 84 00 AC 00 90 00]
BC03E [9C 00 A4 00 8C 00 B0 00 A4 00 A4 00 9C 00 8C 00]
BC04E [AC 00 7C 00 8C 00 80 00 74 00 8C 00 84 00 7C 00]
BC05E [AC 00 A4 00 94 00 94 00 9C 00 9C 00 8C 00 A8 00]

For the following addresses, every first byte determines the tile, and every second byte determines the attributes
BC0D2 [60 3D 66 3F 60 39 60 3F 66 39 66 3D 66 3B 60 3B] Inactive Yoshi tilemaps, Worlds 1-5
BC0E2 [60 3D 66 3F 60 39 60 3F 66 39 66 3D 66 3B 60 3D] Inactive Yoshi tilemaps, World 6
BC11A [4A 2D 4C 2D 4A 2D 4C 2D] Baby Mario Tilemap

BC894-BC8D7 Active Yoshi color assignments on world map
(12 bytes per worlds 1-5; 8 bytes world 6)

BD4FE [09] How many icons flip when clicking score icon 1st time
BD85D [09] How many icons flip when clicking score icon 2nd time
BE227 [0A] Which icon reveals scores
BE233 [0B] Which icon opens the control change menu

BE38E [40 00 40 00 00 40 00 80 80 00] Button sequence that unlocks the Mini-Battle menu

Button flags:
01 00: ?
02 00: ?
04 00: ?
08 00: ?
10 00: R
20 00: L
40 00: X
80 00: A
00 01: Right
00 02: Left
00 04: Down
00 08: Up
00 10: Start
00 20: Select
00 40: Y
00 80: B

BF32C [34 32 64 32 94 32 C4 32 34 5A 64 5A 94 5A CC 5A] Cursor Location for each Mini-Battle icon (X-location, Y-location)
BF5C9 [00 04 0C 12 08 16 14] Mini-Battles in Mini-Game Menu
BF5DD [2D] Game Mode for Mini-Battles(from Menu)
--------
Palette Stuff
NOTE: The palette pointers here must be added to 1FA200 in order to find the actual locations!
3C14-3C23 [40 00 5E 00 7C 00 9A 00 B8 00 D6 00 F4 00 12 01] Relative pointers to each Yoshi palette
3C73 [14 BA] Refers to aforementioned table
3D86 [14 BA] Refers to aforementioned table
3D9B [14 BA] Refers to aforementioned table
26566[14 BA 00] Refers to aforementioned table
81D36[14 BA 00] Refers to aforementioned table

27D23-27D32[5C 00 7A 00 98 00 B6 00 D4 00 F2 00 10 01 2E 01] Seems to be relative pointers to the end of each Yoshi palette
27D33-27D40[AA 27 C8 27 E6 27 04 28 22 28 40 28 5E 28] ? Unused Yoshi palette pointers
12E58[23 FB 04] Previous Yoshi's Palette at Goal
27D51[23 FB 04] Has to do with palette cycle when Yoshi's controls are reversed

1FA45E Placeholder Yoshi palette normally unseen in game
1FC98E darker version of above
1FC9AC darker version of above
1FC9CA darker version of above
1FC9E8 darker version of above
1FCA06 darker version of above
1FCA24 darker version of above
1FCA42 darker version of above

Active Yoshi colors on Map screen(3 indexes per color)
1FE188 Light Blue
1FE18E Purple
1FE194 Green
1FE19A Brown
1FE1A0 Yellow
1FE1A6 Red
1FE1AC Pink
1FE1B2 Blue
--------
RAM Addresses
7E0118?? Game Mode
00: Nintendo Presents
04: Story
0B: To Level Start
1E: To Map Screen
29: Flip Cards
2D: Throwing Balloons
37: To Game Intro

7E0212 Bonus Challenge Mode
00 Flip Cards
02 Scratch and Match
04 Drawing Lots
06 Match Cards
08 Roulette
0A Slot Machine

7E03A7 Mini Battle Mode
00 Throwing Balloons (4)
02 Throwing Balloons (5)
04 Throwing Balloons (6)
06 Beta(Throwing Balloons FG; HUD: YOSHI:00, TIME:00, BANDIT:00)
08 Gather Coins
0A Popping Balloons (Stationary Platforms)
0C Popping Balloons (Moving Platforms)
0E Beta(Wooden deck/silos and log cabins in the grass; HUD: TIME:99, BANDIT:04)
10 Beta(2 grassy platforms, 4 posts and...A MINE CART TRACK!; HUD: YOSHI:00, BANDIT 06)
12 Watermelon Seed Spitting Contest
14 Watermelon Seed Spitting Contest (2P)
16 Throwing Balloons (2P)

Sadly, it appears that very little remains of the lost mini-battles except for the foreground tilemaps and graphics. Here are images of the two interesting ones, along with the HUDs. (Note that I had to reconstruct parts of these, as the tilemaps point to the incorrect tiles.):



The image above is the mini-battle sprite tileset as seen in the Japanese version of Yoshi's Island. Most of the tiles were blanked out in the other versions. They appear to fit in nicely with the lost mini-battles...
Wow, this is all very impressive stuff. I'm sure this will be great use in my YI hack, thanks!

But would you happen to know anything about how after changing the bonus icon into a level, how to actually assign a level number to it in order to edit it, and how to point it to the level name table to insert a level name?
Lol, with all these offsets, we can make a Yoshis Island ROM Map. ^^
Originally posted by Golden Yoshi
Wow, this is all very impressive stuff. I'm sure this will be great use in my YI hack, thanks!

But would you happen to know anything about how after changing the bonus icon into a level, how to actually assign a level number to it in order to edit it, and how to point it to the level name table to insert a level name?
Basically, it involves moving tables to free space in order to expand them and changing the references to point to the new locations. This is just like when I told you how to expand the Yoshi color pointer tables in order to allow for more than 8 palettes. The data you need is below:

Level Data
BF5E7-BF670 pointers to each level's starting point data(added to BF671)
BF671-BF750 level starting point data
BF751-BF7DA pointers to each level's midway point data(added to BF7DB)
BF7DB-BF9C2 level midway point data

Format for starting/midway point data:
Byte 1: Level data(Multiplied by 06 and added to BF9C3)
Byte 2: Starting X-coordinate
Byte 3: Starting Y-coordinate
Byte 4: ?(whatever this is, a few levels share the same value; always 00 in midway point data)

Here are the references to these tables in case you want to change the locations of them:
B1F4 [E7 F3 17](BF5E7) Reference to level starting point data pointers
B1F9 [72 F4 17](BF672) Reference to level starting point data, byte 2
B207 [73 F4 17](BF673) Reference to level starting point data, byte 3
B215 [71 F4 17](BF671) Reference to level starting point data, byte 1
B28F [C3 F7 17](BF9C3) Reference to level object data, low byte
B295 [C4 F7 17](BF9C4) Reference to level object data, middle and high bytes
B29B [C6 F7 17](BF9C6) Reference to level sprite data, low and middle bytes
B2A3 [C8 F7 17](BF9C8) Reference to level sprite data, high byte

E86A [51 F5](BF751) Reference to level midway point data pointers
E86E [DC F5](BF7DC) Reference to level midway point data, bytes 2 and 3?
E877 [DB F5](BF7DB) Reference to level midway point data, byte 1
E87E [DE F5](BF7DE) Reference to level midway point data, byte 4

85C5C[E7 F3 17](BF5E7) Reference to level starting point data pointers
85C61[71 F4 17](BF671) Reference to level starting point data, byte 1
85C6F[C3 F7 17](BF9C3) Reference to level object data, low byte
85C75[C4 F7 17](BF9C4) Reference to level object data, middle and high bytes
85C7B[C6 F7 17](BF9C6) Reference to level sprite data, low and middle bytes
85C83[C8 F7 17](BF9C8) Reference to level sprite data, high byte

114BBC-114C4B Pointers to each level name

W1: 73 4A 9E 4A CA 4A F8 4A 21 4B 4C 4B 78 4B A4 4B CC 4B 2F 53 2F 53 4C 4A
W2: F9 4B 23 4C 47 4C 6C 4C 90 4C BD 4C E7 4C 0E 4D 38 4D 2F 53 2F 53 2F 53
W3: 5D 4D 88 4D B3 4D DC 4D 04 4E 2A 4E 55 4E 7F 4E A6 4E 2F 53 2F 53 2F 53
W4: CD 4E F5 4E 23 4F 4F 4F 78 4F A5 4F D4 4F FF 4F 2C 50 2F 53 2F 53 2F 53
W5: 52 50 67 50 91 50 BC 50 E4 50 0A 51 38 51 61 51 8D 51 2F 53 2F 53 2F 53
W6: BA 51 DE 51 0C 52 39 52 64 52 8C 52 B4 52 DD 52 04 53 2F 53 2F 53 2F 53

All of the gibberish level names point to [2F 53](11552F). The first copy of this pointer in each world is for the Bonus Challenge slot. The isolated [2C 4A] in World 1 is for the "Welcome to Yoshi's Island" level.

TIP: Remember that most pointers are byte-swapped and in SNES format!

Very nice, thanks for typing all this out! You sure know a lot about this game.

Now I can replace the unlockable Bonus Game with a level in each world...very cool.
Very "Win" thread.
I vote this to get stickied.
Your layout has been removed.
Originally posted by Golden Yoshi

Now I can replace the unlockable Bonus Game with a level in each world...very cool.


Exactly what I was thinking when I saw that.

Mattrizzle: Before I finished my YI hack, I consulted with Golden Yoshi and asked him what he thought about making that "mini-game world" (unlockable through the five button code in 5-4) into levels by repointing each one. It's a little late now, but through extensive work, is it possible that the button input code could be changed and these mini games could be turned into levels? It would certainly be interesting to get a five button code after you beat 6-8, and use it to unlock a special world.

Eh, just my 2 cents.

Resource