Language…
16 users online: Batata Douce, BlueSheep123, crocodileman94,  Deeke, Ekimnoid, Gamet2004, Golden Yoshi, Green, Hidincuzimsmokin, NewPointless, playagmes169, ppp9q,  Ringo, sinseiga, sugarfish456, TheXander - Guests: 278 - Bots: 289
Users: 64,795 (2,376 active)
Latest user: mathew

SMW2 Yoshi's Island offsets and helpful info

Resource

Originally posted by tehaxor69
all the sprite codes disassembled

...wow. Would you mind sharing those?

And speaking of sprite codes, is there a general routine for line-guided sprites? And if so, does it require SuperFX? I figure it must surely be better than the spaghetticode SMW has to make sprites line-guided, and if I could disassemble YI's, as long as it doesn't use SuperFX, it might be possible to translate it to SMW.

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by Zeldara109
Edit: Not to overwhelm you with requests, ...


@Zeldara:

I guess we just did. Sorry, tehaxor69, but that only proves that there are no other good ASMers around the Yoshi's Island forums at the moment. Please don't take that intrusiveness amiss.

Also @imamelia:

It would be a nice thing to be able to edit Sprites or port them into SMW hacking, but I wonder: How were other custom Sprites from YI made in SMW? It can't be a 1:1 port, if nobody has the original code...
Originally posted by Yoshis Fan
It would be a nice thing to be able to edit Sprites or port them into SMW hacking, but I wonder: How were other custom Sprites from YI made in SMW? It can't be a 1:1 port, if nobody has the original code...

I'd assume their code was approximated from their behavior. (There are plenty of SMW custom sprites that are inaccurate reproductions of sprites from other games.)

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
Yoshi's Island score system editing




SNES 0x0EB4C3 ROM 0x0736C3 Max number of flowers that can be collected.
SNES 0x03B369 ROM 0x01B569 Max number of red coins that can be collected.
SNES 0x7EE23C ROM 0x00643C Max number of stars that can be collected, 0x012C = 30.0 normal
SNES 0x7EE333-0x7EE334 ROM 0x006533 If number of stars exceeds this value, the next value will be stored, value is normally 100.0
SNES 0x7EE338-0x7EE339 ROM 0x006538 Value to store use with previous line

SNES 0x7EE2D0 ROM 0x0064D0 What the stars count up to(The 10 free ones), 0x6D = 10.9 normal
SNES 0x7EE2E9 ROM 0x0064E9 What value the SFX plays, 0x64 = 10.0 normal

SNES 0x02944D ROM 0x01164D Number of stars mid ring adds, 0x64 = 10.0 normal
SNES 0x01DAC4 ROM 0x00DCC4 Number of +10 stars adds, 0x64 = 10.0 normal
SNES 0x01DAE7 ROM 0x00DCE7 Number of +20 stars adds, 0xC8 = 20.0 normal
SNES 0x01DC8F ROM 0x00DE8F If the number of stars you have is >= this value then you will be denied the +10/+20 stars 0x012C = 30.0 normal

The number of stars is just the StarValue / 10

RAM 0x010396 Stars to add
RAM 0x7E03B8 Number of flowers
RAM 0x7E03B4 Number of red coins
RAM 0x7E03B6 Number of starts * 10
RAM 0x010380 Total score
RAM 0x010398 Item to give Yoshi

Items:
0x00 None
0x01 10+ stars
0x02 20+ stars
0x03 POW
0x04 6 Eggs
0x05 Magnifying glass
0x06 Enemies turn into ?clouds
0x07 Water mellon
0x08 Ice mellon
0x09 Fire mellon


Scoring system

Code
Stars
$01/BA75 C9 1E 00    CMP #$001E              A:0001 X:001B Y:0030 P:envmxdizC		//Checks if at max or over
$01/BA84 A9 1E 00    LDA #$001E              A:057B X:0138 Y:0018 P:envmxdiZC		//Stores value
SNES 0x01B7FD ROM 0x00B9FD = (MaxAmountOfStars / 10) * 2 + 0x50
SNES 0x01B7FE ROM 0x00B9FE = (MaxAmountOfStars % 10) * 2 + 0x50

Changes the value for the pause menu
$01/D050 C9 1E 00    CMP #$001E              A:0019 X:0018 Y:0000 P:envmXdizc		//Target for max stars
$01/D05A A9 1E 00    LDA #$001E              A:0400 X:0018 Y:0000 P:envmXdizC		//Number to show when condition is set

Changes the value at the end of level score screen
$01/BA75 C9 1E 00    CMP #$001E              A:0009 X:001B Y:00A0 P:envmxdizC		//Target for max stars
$01/BA84 A9 1E 00    LDA #$001E              A:057B X:0138 Y:0018 P:envmxdiZC		//Number to show when condition is set


Max red coins
$01/BAD8 C9 14 00    CMP #$0014              A:0000 X:001F Y:00A0 P:envmxdizc		//Checks if at max or over
$01/BB12 A9 14 00    LDA #$0014              A:48FF X:0002 Y:00A0 P:eNvmxdizc		//Stores value
SNES 0x01B815 ROM 0x00BA15 = (MaxAmountOfRedCoins / 10) * 2 + 0x50
SNES 0x01B816 ROM 0x00BA16 = (MaxAmountOfRedCoins % 10) * 2 + 0x50

Changes the value for the pause menu
$01/D0E6 C9 14 00    CMP #$0014              A:0019 X:0001 Y:0000 P:envmXdizc		//Target for max red coins
$01/D0F0 A9 14 00    LDA #$0014              A:0400 X:0001 Y:0000 P:envmXdizC		//Number to show when condition is set

Corrects the value at the end level score screen
$01/BB03 C9 14 00    CMP #$0014              A:0001 X:001F Y:00A0 P:envmxdizc		//Target for max red coins
$01/BAD8 C9 14 00    CMP #$0014              A:000B X:001F Y:00A0 P:envmxdizc		//Target for max red coins, another
$01/BB12 A9 14 00    LDA #$0014              A:057B X:01F8 Y:0018 P:envmxdiZC		//Number to show when condition is set


Max flowers
Changes the value for the pause menu
$01/D182 E0 0A       CPX #$0A                A:000A X:000A Y:0000 P:envmXdizc		//Value should be MaxFlowerCount * 2
Corrects the values at the end level score screen
$01/BB91 E0 05 00    CPX #$0005              A:0000 X:0005 Y:0006 P:eNvmxdizc		//Target for max flowers
SNES 0x01B82E ROM 0x00BA2E = MaxAmountOfFlowers * 2 + 0x50


Pots that generate stars
$0D/9339 C9 36 01    CMP #$0136              A:0104 X:0050 Y:000A P:envmXdizc		//This value should be the max number of stars + 0x0A

Flowers that generate stars
$0C/C9DE AD B6 03    LDA $03B6  [$0C:03B6]   A:0006 X:004C Y:00FC P:envmXdizc		//Load star value
...
$0C/C9FA A9 1E       LDA #$1E                A:0015 X:0044 Y:000A P:envMXdizc		//This value - StarCount is the number of stars to generate before turning into coins 

$0C/CA02 A9 08       LDA #$08                A:0009 X:0044 Y:000A P:envMXdizC		//Number of stars/coins for flower to generate


?Clouds that generate stars
$03/C790 AD B6 03    LDA $03B6  [$03:03B6]   A:00FF X:003C Y:00FF P:envmXdizC		//Load star value
$03/C793 85 04       STA $04    [$00:7964]   A:006D X:0044 Y:00FF P:envmXdizC
$03/C795 C9 2C 01    CMP #$012C              A:006D X:0044 Y:00FF P:envmXdizC		//This value - StarCount is the number of stars to generate before turning into coins


Midring
SNES 0x7EE23C ROM 0x00643C [2C 01] Midring bails if this value reached, 0x12C = 30.0



Score Board
$01/BC2D C9 64 00    CMP #$0064              A:002D X:0004 Y:0002 P:envmxdizc		//This is the value of the High Score condition
If this value is less than or more than 100, you are sill awarded 100 pts and level will be marked 100% complete.




How to edit the score table, I might write a utility to edit this -Visually
SNES 0x01B7D7-0x01B7EC ROM 0x00B9D7-0x00B9EC "HIGH SCORE" table
3A 3C 4E 0E 10 0C 0E 4E 24 04 1C 22 08 36 36 36 36 54 5C 4E 3A 3C

SNES 0x01B7ED-0x01B804 ROM 0x00B9ED-0x00BA04 Star line table
3E 40 4E 24 26 00 22 24 36 36 36 36 36 36 50 34 56 50 68 6A 4E 50 6C 6E

SNES 0x01B805-0x01B81C ROM 0x00BA05-0x00BA1C Red coin table
46 48 4E 04 1C 10 1A 24 36 36 36 36 36 36 50 34 54 50 68 6A 4E 50 6C 6E

SNES 0x01B81D-0x01B834 ROM 0x00BA1D-0x00BA34 Flower table
42 44 4E 0A 16 1C 2C 08 22 24 36 36 36 36 36 50 34 5A 68 6A 4E 50 6C 6E

SNES 0x01B835-0x01B849 ROM 0x00BA35-0x00BA49 "TOTAL POINTS" table
26 1C 26 00 16 4E 1E 1C 10 1A 26 24 36 36 36 36 36 36 50 6C 6E

0x3E 0x40 = Star image
0x42 0x44 = Flower image
0x46 0x48 = Red coin image
0x6C 0x6E = Pts.

0x00 = A
0x02 = B
0x04 = C
0x06 = D
0x08 = E
0x0A = F
0x0C = G
0x0E = H
0x10 = I
0x12 = J
0x14 = K
0x16 = L
0x18 = M
0x1A = N
0x1C = O
0x1E = P
0x20 = Q
0x22 = R
0x24 = S
0x26 = T
0x28 = U
0x2A = V
0x2C = W
0x2E = X
0x30 = Y
0x32 = Z
0x34 = /
0x36 = CENTER DOT
0x38 = -
0x3A 0x3C = Un-light lights?
0x4E = SPACE
0x50 = 0
0x52 = 1
0x54 = 2
0x56 = 3
0x58 = 4
0x5A = 5
0x5C = 6
0x5E = 7
0x60 = 8
0x62 = 9


Setup score table
SNES 0x01E291 Setup score screen jump table, This gets called when you complete a level

A7 E2 Window out
F0 E2
78 E3
42 E4
E4 B5 Clears tiles
B9 B6
C9 B6 Draws the score board
5B B9
BA B9
F0 E2
A0 E4

Calculate scores jump table
$01/B58E FC 92 B5 JSR ($B592,x)[$01:BA1C] A:FF7F X:0019 Y:0030 P:envMXdizC

0x19 Waits
0x1B Calculates stars
0x1D Waits
0x1F Calculates red coins
0x21 Waits
0x23 Calculates flowers
0x25 Waits
0x27
0x29 Waits
0x2B Draws chalk under or around score
0x3D Waits



Here are some screen shots with edited text, and a 25/25/50 score system





Notice how the "TE" gets cut off
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
That's very cool, tehaxor69!
I might write a quick guide on how to edit that, either.
(Also, I still got difficulties editing Sluggy, because Sluggy's Heart is still glitched, no matter what value I write to the Heartbeat-Table.)
Good job, once again #w{=)}

*Edit*
I guess it is recommended not to edit the max amount of Flowers you can collect. Because when I tried to increase the number up to 6, I got the 1-Up after collecting the 6th but it was not added to my Score. Another problem is the Goal Ring, because it can have a maximum of 5 Flowers on it.
Here are all of Sluggy's tables

TABLES:

0x02D4AF - Heart speed
06 00 0A 00 0E 00 12 00

0x02D4B7 - Time heart stays big
00 02 C0 01 80 01 40 01

0X02D4BF - Size scale
C0 00 D0 00 E0 00 F0 00

0X02D4C7 - Value at which to reverse size scaling (from shrinking to growing)
60 00 68 00 70 00 78 00

0X02D4CF - Size scale
40 00 30 00 20 00 10 00

0x02D435 - Push rate / move forward
80 64 48 2C

0x02D189 - Softness table
60 FF 5C FF 58 FF 54 FF

POINTERS:

Table 1
0x02D556
Table 2
0x02D564
Table 3 a same as b
0x02D569
Table 3 b same as a
0x02D56E
Table 4
0x02D571
Table 5
0x02D57C
Table 6
0x02D48B
Table 7
0x02D219


Code
$02/D555 F9 AF D4    SBC $D4AF,y[$02:D4AF]   A:0074 X:0044 Y:0000 P:envmXdizC			//Reads table 1

$02/D563 B9 B7 D4    LDA $D4B7,y[$02:D4B7]   A:0014 X:0044 Y:0000 P:envmXdiZc			//Reads table 2

$02/D568 D9 BF D4    CMP $D4BF,y[$02:D4BF]   A:0200 X:0044 Y:0000 P:envmXdizc			//Reads table 3
$02/D56D B9 BF D4    LDA $D4BF,y[$02:D4BF]   A:0200 X:0044 Y:0000 P:envmXdizC			//Reads table 3

$02/D570 D9 C7 D4    CMP $D4C7,y[$02:D4C7]   A:00C0 X:0044 Y:0000 P:envmXdizC			//Reads table 4

$02/D57B 79 CF D4    ADC $D4CF,y[$02:D4CF]   A:00C0 X:0044 Y:0000 P:envmXdizc			//Reads table 5

$02/D48A B9 35 D4    LDA $D435,y[$02:D435]   A:0020 X:0044 Y:0000 P:envmXdiZC			//Reads table 6

$02/D218 BD 89 D1    LDA $D189,x[$02:D189]   A:0000 X:0000 Y:005C P:envmXdiZc			//Reads table 7



Edit:

@Yoshis Fan
The extra flowers should count as long as you change:
0x0EB4C3 = Limit

0x01D183 = MaxFlowers * 2
0x01BB92 = MaxFlowers
0x01B82E = MaxFlowers * 2 + 0x50

The max score is still 100
and the goal does requires a FX modification.

Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
@tehaxor69:
Thank you for those! But in case I must relocate them all and expand them to make the battle work properly it is not possible to increase his HP, because there are only 41 bytes of free space in bank $02.

*Edit*
I have relocated the Heart-Speed Table, the Push-Table and the Softness-Table by default. Upon relocating Table 5 the heart is not glitched anymore. Following the scheme of going $#10 downwards each hit will make the heart turn out tiny after the 4th hit. (The string is [00 00], then.) When I change the string to [A0 00], the heart has its default size and is no more glitched. Thank you, tehaxor69! Sluggy's HP can be slightly increased now. To compensate the thing that you can increase his HP by only 1 or 2, you can easily make the boss fight harder, by increasing the resistance of his body or by increasing his speed.

Sluggy is, compared to others, a boss that can be edited quite a lot.

*Edit 2:*
Here is the guide:

Here’s a quick guide on how to increase Sluggy’s HP and difficulty

1. Think about the thing, whether you want to increase Sluggy’s HP by 1 or by 2. Increasing it by 2 is slightly more difficult and slighty more work. Then jump to Offset 0x157B8 and change the [04] up to [05] or [06] depending on how much you want to increase the HP. Too obvious: If 5 HP, set [05], if 6 HP, set [06].
DON'T EVEN THINK ABOUT SETTING A HIGHER VALUE THAN [06] THERE. THERE IS NOT ENOUGH SPACE IN BANK $02 FOR THAT.
EVERY TRY TO INCREASE THE HP BY MORE THAN 2 IS DOOMED TO FAILURE!!
(Yes, I guess that's most of what you can do to accent this. However, it might be possible to have 7, but to do that you would have to be so incredibly thrifty...)

2. Keep in mind the exact Offsets you will be pasting the following tables or else you could get several difficulties.

Go to 0x156AF and copy the 8-byte long table. Paste it from 0x181D9. If you chose to give him 5 HP, add the string [16 00] at the end. If 6 HP, add [16 00 1A 00]. Also, if 6 HP, overwrite the table you’ve copied from 0x156AF with [FF]-bytes.

Go to 0x156CF and copy the 8-byte long table. Paste it right after the first pasted table. If you chose to give him 5 HP, add the string [A0 00] at the end, if 6 HP, add it twice.

Go to 0x15635 and copy the 4-byte long table. If 5 HP, paste it right after the second pasted table. If 6 HP, paste it from 0x156AF. If 5 HP, replace [80 64 48 2C] with [80 64 48 32] and add a [16]-byte. If 6 HP, replace [80 64 48 2C] with [80 6C 58 44] and add [30 1C].

Go to 0x15389 and copy the 8-byte long table. Paste it right after the last pasted table in the location around 0x181XX. If 5 HP, add [50 FF] at the end. If 6 HP, add [50 FF 4C FF] at the end.

3. Now we are going to change the pointers to the new tables, so the game is able to read the new data.

For the pointer to the first table, go to 0x15756 and replace [AF D4] with [D9 FF].
For the pointer to the second table, go to 0x1577C and replace [CF D4] with [E3 FF] for 5 HP and [E5 FF] for 6 HP.
For the pointer to the third table, go to 0x1568B and replace [35 D4] with [ED FF] for 5 HP and [AF D4] for 6 HP.
For the pointer to the fourth table, go to 0x15419 and replace [89 D1] with [F2 FF] for 5 HP and [F1 FF] for 6 HP.

4. Explanation of each table.

Each data string from the first table is 2 bytes long. That table determines how fast his heart beats. Increasing the 2-byte value of a string will make it beat faster.

Each data string from the second table is 2 bytes long. That table determines the size of his heart, kind of. I don’t know how exactly it works, but I would not manipulate the values.

Each data string from the third table is 1 bytes long. That table determines his crawling speed. Decreasing a value will cause him to crawl faster.

Each data string from the fourth table is 2 bytes long. That table determines his resistance. Increasing the value will make him softer, decreasing it will make him harder. You must be careful to never make him impenetrable.

In case you want to be lazy, here are some little patches to give him the HP you want:
Sluggy Patch - 5 HP.ips
Sluggy Patch - 6 HP.ips

I guess I'll make the next one for Salvo.

*Edit 3:*

Well... Okay... Salvo's health is so damn easy to edit that I don't even need to make a guide. Well, then, I will make Bigger Boo next (I guess he is a bit harder). A thing that bugs me a little, however is, that Salvo is not becoming more difficult by increasing his health/decreasing his damage, but the only thing that happens is, the battle lasts longer. I guess to make him difficult, placing death spikes all over the place is a good idea. Not much more to say here.
@Yoshis Fan:
Maybe you could make patches for 5HP and 6HP Sluggy, considering that every edit you listed there is at a fixed offset?

@tehaxor69:
Again, thanks for all your help so far.

Could you find how to make it so the walls at the start of the Naval Piranha and Salvo battles do not appear (since I'd prefer to simply start Yoshi in the boss room, with a wall already existing)?

Also, could you find the coordinates of Yoshi's starting position in the giant Bowser battle?

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
@Zeldara:
Seems to be a good idea. Since it is only possible to slightly increase his HP, it wouldn't be too much of an effort to make 2 IPS patches from those edits.

@tehaxor69:
I'm having problems with editing Bigger Boo. I've found out, that he takes 5 hits to die from health values [A1 01] to [E8 01]. A value above that will make him take more hits, but as explained above, he is not bursting. Has that anything to do with the health? The only Offset I've edited of his code is
SNES 0x04B8B7. I've changed it from [C1 01] to [E9 01] Changing it to [08 02] or [09 02] won't change anything either. He takes 6 hits, then, but doesn't burst, he just flashes all the time. I guess I must do something with the health or growth values but I didn't fully understand how those affect the max. HP.

I would appreciate a little help on how to make him burst after the 6th hit. Only one example along with the hex-edits and I could go on.
I'll make the two IPSes tomorrw if I have time appetite.
@Zeldara109

For big Bowser's battle the start positions are:

0x0DD33B 2 Bytes = X axis
The Y-axis carries over from the battle before.

Code
X-axis
$0D/D33A A9 40 02    LDA #$0240              A:0202 X:0044 Y:0001 P:envmXdizC
$0D/D33D 8D 8C 60    STA $608C  [$0D:608C]   A:0240 X:0044 Y:0001 P:envmXdizC

Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
Originally posted by Lemmy
It comes up with an error:

drwtsn32.exe

The aplicative couldn't be initated because dbgeng.dll was not found. The reinstallation of the aplicative can fix the problem.

Well, I tried that :(

hi,
http://www.fix-all-dll-errors.com/dbgeng.dll/

u can go to this site...this will help in case of missing or download dll's or errors in dll's..!!

I also registered few dll's from this site...worked in my case :)
@Yoshis Fan

To give Boo 6 hits use
0x04B8B4 = 0x0028
0x04BAEF = 0x0200
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
Oh, thank you, tehaxor69!
I don't know exactly what to do to increase the HP by one, but I managed to increase it in 1 HP-steps up to 11.
Kamek modifications


0x03E813 = Kamek's BG to FG transistion time
0x03E8A7 = Kamek's FG to BG transistion time
0x03E881 = Kamek makes noise when this value is reached
0x03E7C5 = Kamek's BG speed
0x03E848 = Kamek's FG speed

0x03E7A3 = Kamek's BG X-axis offset
0x03E7A5 = Kamek's FG X-axis offset

0x03E7BF = Kamek's BG Y-axis offset
0x03E842 = Kamek's FG Y-axis offset


Code
The time it takes Kamek to transition from the BG to FG
$03/E813 A9 3C 00    LDA #$003C              A:FFCE X:0058 Y:0002 P:eNvmXdizc
$03/E816 9D 96 7A    STA $7A96,x[$03:7AEE]   A:003C X:0058 Y:0002 P:envmXdizc

The time it takes Kamek to transition from the FG to BG
$03/E8A7 A9 3C 00    LDA #$003C              A:0120 X:0058 Y:0000 P:envmXdiZC
$03/E8AA 9D 96 7A    STA $7A96,x[$03:7AEE]   A:003C X:0058 Y:0000 P:envmXdizC

The value at which Kamek makes noise
$03/E881 C9 20 00    CMP #$0020              A:002D X:0058 Y:0004 P:envmXdizC


Kamek's BG speed
$03/E7C5 A9 00 FE    LDA #$FE00              A:073C X:0058 Y:0000 P:envmXdizc
$03/E7C8 9D 20 72    STA $7220,x[$03:7278]   A:FE00 X:0058 Y:0000 P:eNvmXdizc

Kamek's FG speed
$03/E848 A9 80 04    LDA #$0480              A:07B0 X:0058 Y:0004 P:envmXdizc
$03/E84B 9D 20 72    STA $7220,x[$03:7278]   A:0480 X:0058 Y:0004 P:envmXdizc


Kameks BG X-axis
$03/E7B1 AD 39 00    LDA $0039  [$03:0039]   A:0000 X:0058 Y:0000 P:envmXdiZC
$03/E7B4 18          CLC                     A:0000 X:0058 Y:0000 P:envmXdiZC
$03/E7B5 6D A3 E7    ADC $E7A3  [$03:E7A3]   A:0000 X:0058 Y:0000 P:envmXdiZc
$03/E7B8 9D E2 70    STA $70E2,x[$03:713A]   A:0120 X:0058 Y:0000 P:envmXdizc

Kameks FG X-axis
$03/E834 AD 39 00    LDA $0039  [$03:0039]   A:0002 X:0058 Y:0004 P:envmXdizC
$03/E837 18          CLC                     A:0000 X:0058 Y:0004 P:envmXdiZC
$03/E838 6D A5 E7    ADC $E7A5  [$03:E7A5]   A:0000 X:0058 Y:0004 P:envmXdiZc
$03/E83B 9D E2 70    STA $70E2,x[$03:713A]   A:FFD0 X:0058 Y:0004 P:eNvmXdizc


Kameks BG Y-axis
$03/E7BB AD 3B 00    LDA $003B  [$03:003B]   A:0120 X:0058 Y:0000 P:envmXdizc
$03/E7BE 18          CLC                     A:070C X:0058 Y:0000 P:envmXdizc
$03/E7BF 69 30 00    ADC #$0030              A:070C X:0058 Y:0000 P:envmXdizc
$03/E7C2 9D 82 71    STA $7182,x[$03:71DA]   A:073C X:0058 Y:0000 P:envmXdizc

Kameks FG Y-axis
$03/E83E AD 90 60    LDA $6090  [$03:6090]   A:FFD0 X:0058 Y:0004 P:eNvmXdizc
$03/E841 18          CLC                     A:07A0 X:0058 Y:0004 P:envmXdizc
$03/E842 69 10 00    ADC #$0010              A:07A0 X:0058 Y:0004 P:envmXdizc
$03/E845 9D 82 71    STA $7182,x[$03:71DA]   A:07B0 X:0058 Y:0004 P:envmXdizc



@Yoshis Fan

Im working on 3 sprites,
One will add 0xFFD8 instead of 0x0010 to Kamek's Y-axis,
a Kamek blocker
another Kamek blocker that allows one more pass.

There is a difference of 56 pixels for the Y-axis, in secret 6 on the GBA.
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
That is fantastic, tehaxor69! Thank you for working on the additional Sprites!
The Kamek Blockers, I guess, would be placed in some of the indexes from 0x1BA to 0x1FF, right? And the Kamek Sprite itself would be an unused Sprite index from 0x0 to 0x1B9, then? By the way, what would be the difference between the two Kamek-Blocker Sprites? What the second one does, is obvious, it makes Kamek attack once more and then he will stop attacking Yoshi. But the first? Would it do what happens at the end of 6-8's helicopter area in the GBA version?
@Zeldara109

Here is how to prevent the wall from rising in Naval Piranha's battle

0x01A4A3 = [EA EA EA EA]
0x01A4D7 = [EA EA EA EA]
0x01A510 = [F0]


Offsets:
0x017A84 = How high the wall will rise
0x01A49B = How fast the wall rises


Code
$01/A30C 9D 38 7A    STA $7A38,x[$01:7A84]   A:0005 X:004C Y:0026 P:envmxdizc		//Store wall hight, from 0x017A84, 0x05

$01/A510 D0 0C       BNE $0C    [$A51E]      A:07C0 X:004C Y:003C P:envmXdizC		//Checks if the wall is done rising

$01/A4A3 22 D2 85 00 JSL $0085D2[$00:85D2]   A:0047 X:004C Y:004C P:envmXdizc		//Makes the booming sound 

$01/A4D7 22 95 92 10 JSL $109295[$10:9295]   A:7978 X:004C Y:0000 P:envmXdizC		//Causes the wall to rises up

$01/A4D7 22 95 92 10 JSL $109295[$10:9295]   A:7979 X:0004 Y:0002 P:envmXdizC

$01/A49A A9 20 00    LDA #$0020              A:0000 X:004C Y:004C P:envmXdiZc		//How fast the wall rises
$01/A49D 9D F8 7A    STA $7AF8,x[$01:7B44]   A:0020 X:004C Y:004C P:envmXdizc





Salvo's battle

Here is how to prevent the wall from being created in Salvo's battle

0x01A41B = [EA EA EA EA]
0x01A449 = [EA EA EA EA]
0x01A450 = [EA EA EA EA]
0x01A427 = [F0]

Offsets:
0x01A3B2 Wall creation speed table, 2 bytes per entry
20 00 00 00 1F 00 20 00 20 00


Code
$01/A427 D0 0A       BNE $0A    [$A433]      A:07A0 X:0054 Y:0000 P:eNvmXdizc		//Checks if the wall is done generating

$01/A41B 22 95 92 10 JSL $109295[$10:9295]   A:0001 X:0054 Y:0000 P:envmXdizc		//Draw block

$01/A449 22 D2 85 00 JSL $0085D2[$00:85D2]   A:0047 X:0054 Y:0000 P:envmXdizc		//Sound

$01/A450 22 21 8B 00 JSL $008B21[$00:8B21]   A:01E6 X:0054 Y:0000 P:envmXdizc		//Draw smoke

$01/A3ED B9 B2 A3    LDA $A3B2,y[$01:A3B2]   A:0000 X:0054 Y:0000 P:envmXdiZc
$01/A3F0 9D 98 7A    STA $7A98,x[$01:7AEC]   A:0020 X:0054 Y:0000 P:envmXdizc		//Store wall speed


@Yoshis Fan
Yes I am using the 0x1BA-0x1FF sprites, Kamek's sprite is being modified to work with the blockers. The first one will stop Kamek and with no final pass,
like the GBA one in secret 6 just above the area in the screenshot below

Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
Nice! On another note, the Kamek Blockers should also make, that Kamek does not reappear when you get near the Kamek Sprite again. This is how the game handles Lakitu's. If you pass the Lakitu Blocker, but then go back to where the Lakitu comes from, the Lakitu will be there again until you reach the blocker a second time. Kamek, however, should never reappear once he disappeared.

And for the IPSes... I will start to make them now. I will be offline in about 30 minutes and maybe be online again in 4 to 4½ hours.

*Edit*
Alright, see this post in order to download each of the patches. They are very small, because you basically only need to move around very small amounts of bytes. They're tested and work.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
@tehaxor69:
Another request...

Could you find a way to make it so that Yoshi's lives, coins, eggs, and map screen position (and anything else I may have missed) are saved even when you turn off the game (like in SMA3)? (I think SMA3 auto-saves them whenever you return to the map screen, though I'm not entirely sure.)

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
@Zeldara:
To my knowledge the game saves progress everytime Yoshi passes a level (except the Intro-Level (Having the Intro-Level done is saved in GBA version, though)). At the moment, as far as I know, the (new) high score is saved and the level progress. The values to save should actually be in RAM, so a tweak would have to be made, that transfers the values from RAM to S-RAM and from S-RAM back.
I know that in the GBA version, the game saves if you complete a level, if you pause and select "Return to Map" (you may need to collect a coin or something first), or if you die and select "No" when asked to continue. So I concluded that it saves when loading the world map. (You can even reset the game before a castle-destruction scene and it will still be saved (good for skipping that long world 5 scene).)

In the SNES version, though, there would normally be no need for the game to save unless you've completed a level (or maybe if you've won an item in a minigame (never tried that))...

By the way, not only would the values need to be transferred to and from SRAM, but they would need to be saved in a different location depending on which file you're playing. And they'd need to be erased when deleting a file (or alternately, not loaded when starting a new game).

Edit:
tehaxor69, sorry if I'm overwhelming you with requests, but here are two more (though I think they should be simpler than the Kamek-in-Bowser-battle or the saving)...
- How to change which music header settings disable items? (By default, music 3, 5, 7, 8, and 9 disable items, while the rest do not.)
- How to make it so the intro level uses the music header setting, instead of overriding it with welcome music?

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3

Resource