Language…
11 users online: ASSATAKKU,  Donut, DPBOX, Golden Yoshi, masl, Rauf, Shomi, signature_steve, timothy726, tOaO, zAce08xZ - Guests: 245 - Bots: 308
Users: 64,795 (2,377 active)
Latest user: mathew

AddmusicK screws up the Nintendo presents logo SFX data [solved]

Hey guys.

I'm definitely bad with patches.

Once I've learned how to correctly set freespace, I've decided to insert this Piranha Plant Fix patch into a freespace spot found out by slogger...

But it does NOT work as expected. For some reason, Piranha Plant stem GFX is remapped to SP4 and it is very annoying.

Here are 2 screens tested with different GFX in SP4 (GFX09 and GFX08).


Also, I've not touched anything in the .asm file apart from the !freespace spot at the beginning. I noticed in the .asm file I had the possibility of remapping Piranha Plant stem GFX to SP2, but not SP4... Moreover, (if I read right) this possibility is disabled until one follows the instructions to enable it.

Edit2 : I encounter another problem when applying the Nintendo presents logo expansion patch.
Nothing I can find out by myself, but LM2.40 error scan detected something wrong in the ROM after applying the patch and warned me! I thought this would have something to do with the fact I changed the played SFX, since this SFX was not loaded at intro screen. But in fact, even with standard SFX it's all screwed up. WTF. It's starting to piss me off.

Edit3 : OK. I have to tell -also- that I applied my first patch monthes ago and it was the old xkas classic fireball patch. It is located over the fireball enemy killing routine so I don't think there's a problem. But since this patch was updated in Asar version by Alcaro I should just... Try to make a new ROM and re-apply all...

Edit4 : OK. Now patching like I've always should had. But first problem; the No more tile sprite limits patch warms me that I require freespace; but when opening the .asm file, there's no !freespace command. I think it is all right because Asar last version has a freespace finder, so here I go. Do I do right???

That was a long one, thanks for reading me, I'll try to do things by myself while waiting for your opinions.

Originally posted by Darkslayer
Hey guys.

I'm definitely bad with patches.

Once I've learned how to correctly set freespace, I've decided to insert this patch into a freespace spot found out by slogger...

But it does NOT work as expected. For some reason, Piranha Plant stem GFX is remapped to SP4 and it is very annoying.

Here are 2 screens tested with different GFX in SP4 (GFX09 and GFX08).


Also, I've not touched anything in the .asm file apart from the !freespace spot at the beginning. I noticed in the .asm file I had the possibility of remapping Piranha Plant stem GFX to SP2, but not SP4... Moreover, (if I read right) this possibility is disabled until one follows the instructions to enable it.

Thanks in advance...

By default, the classic piranha plant fix patch is set to use SP4 for the stem tile, just like the upside down piranha plant. Basically, this means that any level where you can use upside-down piranhas, you can also use classic piranhas, as they will share the same stem tile after applying the patch. The upside-down piranha uses GFX04 for its stem, so if you want the piranhas to look right, set SP4 to 04 in your level.

Of course, this may mess up some other sprites that use SP4 for their graphics, so in that case you'd do "tileset mixing", where you open GFX04.bin in YY-CHR, copy the stem tile, open the GFX file currently used as SP4 in your level, paste the stem tile into it at the same spot it was at in GFX04, save that file as ExGFX, insert ExGFX in Lunar Magic and then set SP4 to use the new ExGFX file. That way only the tile needed for the stem is overwritten and the rest of the tiles stay intact, making it so that unless another sprite also uses the tile you overwrote, there are no conflicts.

Alternatively, if you change these lines in the patch:
Code
ORA #$0B		;#$0A These values remap Classic and Upside 
Down piranhas to the first GFX page if you change it to this
[...]
ORA #$0B		;#$0A The advantage is that you can now have 
the pirahnas globally at the expensive of flopping fish.

...to these lines:
Code
ORA #$0A		;#$0A These values remap Classic and Upside 
Down piranhas to the first GFX page if you change it to this
[...]
ORA #$0A		;#$0A The advantage is that you can now have 
the pirahnas globally at the expensive of flopping fish.


...then the classic piranha plant will use SP2 for its stem. In all of the original SMW levels, SP2 is GFX01, so this basically means that the classic piranha will be using the flopping fish tile for its stem. Replace the flopping fish tile in GFX01 with the stem tile and insert it, and you now have classic piranha plants in all levels that use GFX01 as SP2 (in the case of a typical hack, that's probably about 99.999% of them). Of course, this means you can't use flopping fish anymore. Well, actually, you could use the original GFX01 as ExGFX and use that for SP2 only in levels that use the flopping fish, but you couldn't have classic piranhas in the same level (you could also do it in reverse if you want, by leaving GFX01 alone and using a modified version of it as ExGFX in levels that have classic piranha plants, but I think it'd be easier to just do it the other way, for me at least, because how often does anyone actually use the flopping fish as opposed to the classic piranha anyway?).

Originally posted by Darkslayer
Edit2 : I encounter another problem when applying the Nintendo presents logo expansion patch.
Nothing I can find out by myself, but LM2.40 error scan detected something wrong in the ROM after applying the patch and warned me! I thought this would have something to do with the fact I changed the played SFX, since this SFX was not loaded at intro screen. But in fact, even with standard SFX it's all screwed up. WTF. It's starting to piss me off.

Does the game actually crash, or is it just that Lunar Magic reports an error? It sounds like the patch might have somehow overwritten or corrupted something else in the ROM, but I don't know why that would be.
Originally posted by Darkslayer
Edit3 : OK. I have to tell -also- that I applied my first patch monthes ago and it was the old xkas classic fireball patch. It is located over the fireball enemy killing routine so I don't think there's a problem.

Are you saying you think that the classic fireball patch might be conflicting with the Nintendo Presents Logo Expansion?
Originally posted by Darkslayer
But since this patch was updated in Asar version by Alcaro I should just... Try to make a new ROM and re-apply all...

Yeah, maybe if you ported to a new ROM and applied the Nintendo Presents Logo Expansion before any of the other patches, then applied the other patches/sprites/blocks/stuff one at a time and tested each one, you'd be able to find something that's breaking it.
Originally posted by Darkslayer
Edit4 : OK. Now patching like I've always should had. But first problem; the No more tile sprite limits patch warms me that I require freespace; but when opening the .asm file, there's no !freespace command. I think it is all right because Asar last version has a freespace finder, so here I go. Do I do right???

Yeah, I'm pretty sure wherever it says you need to set freespace is just an artifact from the Xkas version that someone forgot to delete.
Welcome to the world of girl love. It's slippery when wet!
Aristotle

Check out Super Luigi: The Regular Quest!
Aw gosh thanks alot, so sweet!

I will use this line in .asm file, I saw it but.. Didn't apply it.

And yes the ROM was still functional at any point, although LM warned me.

I'm pretty impressed of how fast I re-built my ROM with all the new LM features such as exporting all Map16 and all shared palettes. FuSoYa's work is really good.

The Nintendo present logo expansion issue is here again, after applying :
-No more sprite tile limits

So it may interact with it. But... As there is no major break in the ROM I'll take the risk. The only annoying thing is there really is no SFX played. So I don't know if it really is worth it... Duhh. I cannot do without the NMSTL...


Edit : There must be something wrong because, even with a clean ROM, applying the patch (using GFX) will load the wrong SFX. It will be coin SFX with every $XX SFX number I enter in the .asm file.

___

Code
header
lorom

;------------------------------------------------------------------
; Settings, modify them if you like.
;------------------------------------------------------------------

!GFX_FILE = #$0C		;gfx/exgfx file to use for logo (00-FF)
!SFX = #$19			;sound effect for logo
!PAL = #$00			;palette/gfx page: 00 = default, next palette is 02,04,06 etc...

!CODE_OFFSET = $1ACE00		;offset to use for graphics routine, make sure that it isn't used! (SNES format)

;------------------------------------------------------------------

org $00939a
 LDY #$3C		
 LDX #$0F		;amount of entries for properties below 

LoadTiles: 
 JML nintendologo

org $0093B4
 DEY
 DEY
 DEY
 DEY
 DEX
 BPL LoadTiles		;
 LDA #$AA		; \ Tilesize (8x8 or 16x16) for tiles
 STA $0403		;  |
 STA $0402		;  |
 STA $0401		;  |
 STA $0400		; /
 NOP

org $00A9CD
 db !GFX_FILE

;-------------------------;
;graphics routine for logo;
;-------------------------;

org !CODE_OFFSET

!CodeSize = End-xlogo

db "STAR"        ;\
dw !CodeSize-$01
dw !CodeSize-$01^$FFFF

xlogo:
db 	$60,$70,$80,$90,$60,$70,$80,$90,$60,$70,$80,$90,$60,$70,$80,$90

ylogo:
db 	$50,$50,$50,$50,$60,$60,$60,$60,$70,$70,$70,$70,$80,$80,$80,$80

tlogo:	
db	$02,$04,$06,$08,$22,$24,$26,$28,$42,$44,$46,$48,$62,$64,$66,$68		;tilemap

nintendologo:
LDA xlogo,x		;xpos
STA $0200,y

LDA ylogo,x		;ypos
STA $0201,y

LDA tlogo,x		;tilemap
STA $0202,y

flip:
LDA #$30		;properties
ora !PAL		;add palette settings              
STA $0203,y

LDA #$01     		;sfx     
STA $1DFC  
LDA #$40     		;time till fadeout
STA $1DF5  
JML $0093B4		;jump back

End:
Originally posted by Darkslayer
It will be coin SFX with every $XX SFX number I enter in the .asm file.


Simple, just change this part:

Code
LDA #$01     		;sfx     
STA $1DFC  


To this:

Code
LDA !SFX     		;sfx     
STA $1DFC


Now it will play the sound effect that you want.
Thank you Davros.

I tried that but it played no SFX at all this time.

Also LM keeps warning me that the patch has modified something it shouldn't have had so I dunno. I'll just not apply this patch I think, I can have my GFX00.bin modified in a suitable way, and I can also change the SFX played with a tiny hex edit.

Edit :

I finally found what was wrong (with hex edits). For some reason, my hack loads musics Bank instead of 1DF9 bank for playing the logo. In fact it isn't even 1DFB (basic music Bank) because the numbers do not fit the provided list on SMWC. Seems that this issue happens when using AddmusicK maybe.

Edit :

It happens because of AddmusicK.
AddmusicK corrupts byte $015C1 (PC address) where the SFX played is stored and makes it equal to 1E (coin SFX in.. I don't know which bank) every time I add new musics. This "new" bank loads musics from the custom music file instead of SFX from 1DF9 when I touch it, changing the number.

But! It is okay since I chose to play the SMW Castle Music Intro play as "Darkslayer presents" logo. Nice.
If AddMusicK screws up the SFX data, just remove the SFX code. If you already tried, I'm sorry.
100% Orange Juice Playthrough:
https://www.youtube.com/playlist?list=PLf1kPWkjcurtA3xPP3TybfqSiEn1AcX2A

VLDC9 Playthrough:
https://www.youtube.com/playlist?list=PLf1kPWkjcurtiP5de_-e6q0hSVrY37RB-.


Thanks MarkD.

I don't know if I can edit an internal file from AddMusicK since I have 0 knowledge of programming. But in fact it's not a trouble for me since I've found a convenient and original solution.

The purpose of my post was finally, to warn people.
If you mean that you want the intro screen SFX as an actual SFX and not a song, then go to ASM/SNES/tweaks.asm and search for the following:
Code
org $0093C0
LDA.b !NintPresents
STA $1DFB|!SA1Addr2

change the 1DFB to the SFX I/O Port you want to use, and change
Code
!NintPresents   = #$36		; Note that this is a song, not a sound effect!

the 36 to the SFX you want.
Wow.

Thanks a lot Erik557. Cool.