Banner
Views: 236,798,488
Time: 2013-05-25 11:56:04 PM
20 users online: aj6666, Akireyano, Bad luck man, o BZM, Cobra, Fireblast124, o imamelia, Ivan Sword54, JBru51, KY2010, LaughingLuigi, leod, Luca, MaxodeX, Ramidalv, RedRose64, superdragonyoshi1, Thomas, o Ultimaximus, Usetheforce - Guests: 27 - Bots: 10Users: 22,895 (1,291 active)
Latest: Skywalkeradam
Tip: Use palettes that don't burn the eyes. A blazing bright yellow and a night-black are not pleasant.
Posts by tehaxor69
tehaxor69's Profile - Posts by tehaxor69
Pages: « 1 ... 4 5 6 7 8 ... 15 16 »
Here is a patch that corrects both sound effects, and prevents X16 from crashing. Green-Red Coin fix IPS

It looks like Nintendo wrote some code already for the green-red coins, but never finished.

I guess hijacking the routine that updates the tiles would be the best way to get the magnifying glass to work.
Here is a patch that makes the snowball only use 1/2 FX memory
Snowball FX mod IPS

I'm also working on a way to allow more than 5(4 + Mario) FX sprites at a time.
The reason why the blue roller glitches is because they act just like the flowers when the screen is loading, they will only show a bulb form, the blue roller does not have an alternate GFX.
Blue Roller Fix IPS

Here is a patch for the line guide
Line Guide Fix IPS



@Mattrizzle
Thanks for the snowball image.
Last edited on 2011-03-10 10:35:35 AM by tehaxor69.
To disable layer 2 dizziness

Change:
ROM 0x00DA54 From [22 44 DE 7E ] to [EA EA EA EA] -Disables the vertical wave
ROM 0x045FAE From [3A] to [01] -Were changing some FX code here -Disables the horizontal wave

Those are two different patches.

Edit
I noticed with or without the patches, some of the red ones are a little off, I moved those ones down one unit in egg vine and they all start and stay one the line guides.
Last edited on 2011-03-10 01:28:56 PM by tehaxor69.
Here are the cords of the dots / flowers that make up the goal ring

Dot 2
X - Axis = ROM 0x08AE3E
Y - Axis = ROM 0x08AE7E

Flower 2
X - Axis = ROM 0x08AE24
Y - Axis = ROM 0x08AE64

Dot 3
X - Axis = ROM 0x08AF0B
Y - Axis = ROM 0x08AF4B

Flower 3
X - Axis = ROM 0x08AEF1
Y - Axis = ROM 0x08AF31

Dot 4 bottom
X - Axis = ROM 0x08AED8
Y - Axis = ROM 0x08AF18

Flower 4
X - Axis = ROM 0x08AEBE
Y - Axis = ROM 0x08AEFE

Dot 5
X - Axis = ROM 0x08AEA4
Y - Axis = ROM 0x08AEE4

Flower 5
X - Axis = ROM 0x08AE8B
Y - Axis = ROM 0x08AECB

Dot 1
X - Axis = ROM 0x08AE71
Y - Axis = ROM 0x08AEB1

Flower 1 Top
X - Axis = ROM 0x08AE58
Y - Axis = ROM 0x08AE98


The cords are signed and start from the center of the loop
The dots listed are the ones that come right before the flower going in clockwise order



Here are some offsets for the midrings

//Ring expansion rate once passed through -16 bit
ROM 0x011687 [0x02]

//Max expansion -16 bit
ROM 0x01168A [0x60]

Cords Y first entry ROM 0x042D98
Cords Y last entry ROM 0x042ED7
Cords X first entry ROM 0x042ED8
Cords X last entry ROM 0x043017

//Animation speed mask -16 Bit
ROM 0x0115BE [0x03]

Distance between stars
ROM 0x045624 [0x12]

Number of stars -higher values than 0x0E work
ROM 0x04562D [0x0E]


There are downsides to editing the positions-
The level screen wipe uses the same offsets as the end level goal
The midring uses the same offsets as the rotating platforms
Originally posted by Yoshis Fan
@Zeldara:
I still find it weird, that Yoshi disappears behind Layer 2 sometimes. I don't think it has any purpose. Anyways, Nintendo either were too lazy to fix it or they couldn't, since you can see work-arounds for the problem (for example in 1-6 in the cave you can see a Latern Ghost pipe. You can enter it, even if Yoshi would disappear behind Layer 2 (Because it's dark there, so they had to use Level Mode #E). But he doesn't because in that certain place there are no Layer 2 objects).


This will prevent Yoshi from disappearing behind layer 2 when entering a pipe- Change
ROM 0x00CB38 from 0x04 to 0x15

Not sure if this works for every problem, but if you find a place that glitches send me a IPS, and tell me where it problem occurs

@Yoshis Fan

Sorry for the late reply, I'm working on multiple things right now.

Un Super-FX ing any sprite actually won't help since all FX sprites are required to be copied from RAM 0x705800 to VRAM 0x5C00 anyways.

The snowball claims/allocates 2 (32x32) slots, but does not lock its value cause it was never intended to work with the other FX sprites.

I figured out how to change where the FX processor renders GFX to in memory. I created a new DMA routine that copies from the new location to a unused area of the sprite GFX, then changed the snowball's tiles to point there, and had 7 super sprites at the same time, flicker free, snowball + flower + piranha plant + message box.

Im currently writing a patch for this, so that any combination of 4 FX sprites + snowball + Super Mario will work.

FX Memory Render Map
R4 = Address
0x00 = 0x700000 -
0x02 = 0x700800 -
0x04 = 0x701000 -
0x06 = 0x701800 -
0x08 = 0x702000 - Don't use, used for CGRAM
0x0A = 0x702800 -
0x0C = 0x703000 -
0x0E = 0x703800 -
0x10 = 0x704000 -
0x12 = 0x704800 - Blank
0x14 = 0x705000 - Blank -Putting the snowball here
0x16 = 0x705800 - Normal, Auto assign 4 FX slots
0x18 = 0x706000 - Normal, Super Mario
You could use 4 doors and the fireballs at the same time if wanted.

It's possible to use any space reserved for OAM GFX, but there auto allocation routines would have to be rewritten.


Try these and see if Modes 0, 1, and 3 are fixed
0x00 - ROM 0x003E1F = [02 11]
0x01 - ROM 0x003E34 = [11 03]
0X03 - ROM 0x003E5C = [21 12]
Here are some patches that will allow other FX sprites to work with the snowball:

Slot 4 IPS
This is where the snowball gets copied to.


Slot 5 IPS
This is where the snowball gets copied to.


Slot 6 IPS
This is where the snowball gets copied to.


Due to this being complex -and I don't want to write a IPS patch for all FX sprite combinations(some where in the 100s),
It would be best to have some utility that moves the FX sprites around, and create the custom DMAs

I will figure out mode F
What emulator are you using?

I tested it with ZSNES 1.51, SNES9x 1.51, and SNES9X 1.43 Geiger's debugger, sounds like the DMA is not firing after the snowball is drawn.
No, the patches only allow the use of more FX memory -to prevent the flickering. You still have the same amount of VRAM as before, so there is a trade off between non-FX rendered and FX rendered sprites. The screen shots show where the snowball gets copied to in VRAM.
Yes or 4 32x32 Slots. Its still possible to make the snowball only use half its space those areas, and then set it up so it only kills 1 sprite set instead of 2 halves.

Edit:
Try changing ROM 0x003F4C from 0x04 to 0x1D to fix mode F
Last edited on 2011-03-14 01:03:25 PM by tehaxor69.
Yes it is possible to do WAV audio, via PCM (Pulse Code Modulation), and memory will be very tight, even with aid from the SuperFX chip.


Here are the GBA audio offsets:
-These addresses are approximate, but work if all you need to do is rip the audio


Yoshi Throw Egg
0x3D3144 - 0X3D40D4

Jump 1
0X3D40D8 - 0X3D48C0

Jump 2
0X3D48C8 - 0X3D50F0

Lick
0X3D50F8 - 0X3D5BF0

Ground Pound Salto
0X3D5BF8 - 0X3D76D0

Ground Pound Impact VOICE
0X3D76D8 - 0X3D8330

Losing Baby Mario
0X3D8338 - 0X3DA000

Created Egg
0X3DA008 - 0X3DACB0

Hover Jump
0X3DACB8 - 0X3DEAB0

Shy Guy Voice 1
0X3DEAB8 - 0X3DF680

Shy Guy Voice 2
0X3DF688 - 0X3E00D0

"Yoshi", when a level is chosen
0X3E00D8 - 0X3E2B90

Yoshi Duck Down
0X3E2B98 - 0X3E3630

Boo attacks Yoshi
0X3E3638 - 0X3E4E80

Moving Objects around or pressing against a wall
0X3E4E90 - 0X3E9D10

"Nintendo" at game start
0X3E9D38 - 0X3EC650

Spike/Lava/Pit Defeat
0X3F5270 - 0X3F7480

Happiness after winning a Bonus Game
0X3F7488 - 0X3FD82C


The audio you will find should be
Signed 8 bit PCM
Big-edian
Mono
11025Hz -can vary


You can copy out the data and use it in a SNES ROM and play it with a sub routine.
You can also import the raw data into Audacity, and save as a WAV or MP3
Last edited on 2011-03-16 08:49:45 PM by tehaxor69.
@Zeldara:
ROM 0x579E4 SNES 0x8AF7E4 tells what sound effect to play while sliding on ice, change the 0x75 to 0x00. These sound effects are controlled by the SuperFX processor.

@Yoshis Fan
The audio formats are all PCM ready, all that needs to be done is some trimming, re-sampling, about (0x6D67 28007) bytes need to be removed from the GBA sounds, and write over the SNES ones -don't know how much space these ones use, also some space could be saved with FX compression.

WAVs use on average 10x the amount of data as a MP3, that is with CD quality sound.
Change ROM 0x06A167 from 0x30 to 0x80 to prevent enemies/eggs from opening the oneway blockers.

Editing the collision rects also effects other sprites.

A custom sprite like S8E from SMW would work perfectly in this situation.
Last edited on 2011-03-21 08:56:23 PM by tehaxor69.
Sound effect played when "-Nintendo- Presents" appears

ROM 0x080B7F SNES 0x90897F -0x09

0x00 None, No command sent to APU
0x01 Pause SFX 1
0x02 Pause SFX 2
0x03 No sound
0x04 No sound
0x05 Flower growing sound
0x06 Ice mellon, something frozen solid
0x07 Ice shatter
0x08 1-UP
0x09 Normal, also the same as the coin SFX

I could hijack this routine to trigger a subroutine that plays a PCM track


@Yoshis Fan
Using sped-up versions of the sound tracks then slowing them down is the same thing as lowering the quality.
This is how Yoshi reacts to getting hit

SNES 0x03A8F8 ROM 0x01AAF8 How long Yoshi is invulnerable after getting hit, default 0xA0
SNES 0x06CFB2 ROM 0x0351B2 Sensitivity to enemies, default 0x9F

The time invulnerable must be grater than the sensitivity value.
Last edited on 2011-06-23 09:35:29 AM by tehaxor69.
To fix the one way blocker issue

Change:
SNES 0x0A92CC ROM 0x0514CC from 0x08 to 0x10, Collision size set on load
SNES 0x0D9F3D ROM 0x06A13D from 0x10 to 0x18, Collision size set on open
SNES 0x0D9F94 ROM 0x06A194 from 0x08 to 0x10, Collision size set on close
@doggy
I have a IPS for that, Green-Red Coin fix IPS

Does not work with the magnifying glass though.
Change:
ROM 0x0CD4A2
from
[40 0E 41 0E 42 0E 43 0E]
to
[40 0A 41 0A 42 0A 43 0A]
@Zeldara109

Code
$01/C270 C9 6E 00 CMP #$006E A:003C X:0000 Y:00FE P:envmXdizc //Compare critical value $01/C273 A9 57 00 LDA #$0057 A:0046 X:0000 Y:00FE P:eNvmXdizc //Normal Sound $01/C276 B0 03 BCS $03 [$C27B] A:0057 X:0000 Y:00FE P:envmXdizc $01/C278 A9 58 00 LDA #$0058 A:0057 X:0000 Y:00FE P:envmXdizc //Critical Sound $01/C27B 22 D2 85 00 JSL $0085D2[$00:85D2] A:0057 X:0000 Y:00FE P:envmXdizC //Play sound sub routine


SNES 0x01C271 ROM 0x00C471 Is the value at which the critical sound starts to play. Value = (DesiredValue * 10 + 20)
SNES 0x01C274 ROM 0x00C474 What sound to play, >= SNES 0x01C271 ROM 0x00C471
SNES 0x01C279 ROM 0x00C479 What sound to play, less than SNES 0x01C271 ROM 0x00C471

Here is a list of star values for the critical sound
0x140 = 30
0x136 = 29
0x12C = 28
0x122 = 27
0x118 = 26
0x10E = 25
0x104 = 24
0xFA = 23
0xF0 = 22
0xE6 = 21
0xDC = 20
0xD2 = 19
0xC8 = 18
0xBE = 17
0xB4 = 16
0xAA = 15
0xA0 = 14
0x96 = 13
0x8C = 12
0x82 = 11
0x78 = 10
0x6E = 9
0x64 = 8
0x5A = 7
0x50 = 6
0x46 = 5
0x3C = 4
0x32 = 3
0x28 = 2
0x1E = 1
Pages: « 1 ... 4 5 6 7 8 ... 15 16 »
tehaxor69's Profile - Posts by tehaxor69

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2013 - SMW Central
Legal Information - Link To Us


Total queries: 27

Menu