Language…
11 users online: BanzaiChuck, drkrdnk, Hwailaluta, isaix, krizeth, Mohamad20ZX, Nextalis, niko,  RussianMan, VinylHeart, Zavok - Guests: 56 - Bots: 447
Users: 54,992 (2,182 active)
Latest user: glebze

BWRAM+ Patch Help (Yoshi coin saving)

In my hack I have a specific level unlock when you collect enough yoshi coins, but the problem is that when you reset the game the coins go back to zero. I've downloaded the BWRam+ patch (https://www.smwcentral.net/?p=section&a=details&id=18531) which should be able to fix this, but I do not know what to add to the table. I'm using SA-1.
Any suggestions?
If you just want to save the "all 5 coins collected" flag for each level (so if you collect all, they won't respawn even when resetting the game), it should be enough to add this under bw_ram_table:
Code
dl $401F2F : dw 12

and this under bw_ram_defaults:
Code
rep 12 : db $00

If you want each individual DC to save, you'll also need this patch.
Originally posted by KevinM
If you just want to save the "all 5 coins collected" flag for each level (so if you collect all, they won't respawn even when resetting the game)
binavik helped me write a simple patch that makes the game think you only need 1 coin collected to trigger the flag (because each stage only has 1 coin) and it works correctly, would it still work with that? it is still the vanilla 'flag' just redirected the game to think it needed less coins.

Edit: I tried it with the code you gave and while the exits saved, the coins did not, plus it showed the welcome screen again even though it was a saved file
Originally posted by snomangaming
binavik helped me write a simple patch that makes the game think you only need 1 coin collected to trigger the flag (because each stage only has 1 coin) and it works correctly, would it still work with that? it is still the vanilla 'flag' just redirected the game to think it needed less coins.

Yeah it should work (I assume the patch is just a hex edit to change the DC requirement?)

Originally posted by snomangaming
Edit: I tried it with the code you gave and while the exits saved, the coins did not, plus it showed the welcome screen again even though it was a saved file

Did you start from a new save file after applying the patch? If you opened an already started file, it may cause weird stuff to happen.
Originally posted by KevinM

Yeah it should work (I assume the patch is just a hex edit to change the DC requirement?)

This was the 2-line patch:
org $00F34A
db $01
I believe so yeah

Originally posted by KevinM

Did you start from a new save file after applying the patch? If you opened an already started file, it may cause weird stuff to happen.

Yes it was from a new file, I collected a coin, saved the game, and when I reset it didn't save the coin (and had the weird welcome screen issue)

The hack does have quite a few other patches at this point and custom assets so there may a conflict with something, I have no idea
Well I just tried applying the hex edit and the BW-RAM+ patch with the modifications I mentioned, and it works perfectly fine. So yeah it must be something else you patched that's conflicting with BW-RAM+.
Could you mention exactly which patches you may have applied?


YY-CHR > Photoshop.
Yes the patches I have installed are:
No More Sprite Tile Limits
Save Prompt + Autosave
Block Dupe Fix
Minimalist Course Clear
Darken Pause
Lower Volume on Pause
Disable Consecutive 1ups
Frame Rules Patch
Halo Fix
Nuke Status Bar
On Off Cooldown
Overworld Counters
Retry System
Rope Fix
Spin Direction Throw Fix
Walljump Patch
That Yoshi Coin 5 to 1 conversion I mentioned before
and the Yoshi Coin Overworld Lock

Maybe the Overworld Counters? I know it has some compatibility issues with Overworld Speed Increase Patch, so I uninstalled the speed patch because of it.
EDIT: I think it might be the retry patch, I'm working on getting the bwram+ table to be correct with retry as well, haven't done that before, a little over my head #tb{D'X}
Not to blow my own horn but you may want to check out my retry alternative which includes bw-ram+ as well (table format is the same), maybe it will work better for you.
Originally posted by KevinM
Not to blow my own horn but you may want to check out my retry alternative which includes bw-ram+ as well (table format is the same), maybe it will work better for you.

Okay so long story short, we found out the issue was because I had originally used a lorom and added SA-1 after a few other patches were already installed so the ram had conflicting information going around.
Transferred everything to a new rom that was SA-1 from the start and it solved the yoshi coin issue. There are a few small bugs that need kinked out with the port, mainly the retry midways not working anymore. I am looking at using your Retry Uberasm instead of the regular patch - how easy is it to transfer my current retry system? Should I just use the unpatcher and go with yours instead?
Ah yeah, applying SA-1 to an already edited ROM is not a good idea.

Originally posted by snomangaming
I am looking at using your Retry Uberasm instead of the regular patch - how easy is it to transfer my current retry system? Should I just use the unpatcher and go with yours instead?

Yeah either use Unpatcher and hope it works, or port to a new rom. But honestly if the issue wasn't actually with Retry or BW-RAM+ you can keep it like it is now (unless you want some of the new features).
Originally posted by KevinM

Yeah either use Unpatcher and hope it works, or port to a new rom. But honestly if the issue wasn't actually with Retry or BW-RAM+ you can keep it like it is now (unless you want some of the new features).


Yeah that's what I was thinking, it might be easier to just get the BWRAM+ table working on the current retry. The only thing not functioning properly is the midway object 2B that allows a new level entrance to be the checkpoint from a midway bar. What should I put in the BW-RAM+ table (to include both the yoshi coin saving (which works properly now!) and the retry system? Currently it looks like this but it's not working:

table:
dl $401F2F : dw 12
dl $40B40C : dw $00C0

defaults:
rep 12 : db $00
db $00,$00,$01,$00,$02,$00,$03,$00,$04,$00,$05,$00,$06,$00,$07,$00
db $08,$00,$09,$00,$0A,$00,$0B,$00,$0C,$00,$0D,$00,$0E,$00,$0F,$00
db $10,$00,$11,$00,$12,$00,$13,$00,$14,$00,$15,$00,$16,$00,$17,$00
db $18,$00,$19,$00,$1A,$00,$1B,$00,$1C,$00,$1D,$00,$1E,$00,$1F,$00
db $20,$00,$21,$00,$22,$00,$23,$00,$24,$00,$01,$01,$02,$01,$03,$01
db $04,$01,$05,$01,$06,$01,$07,$01,$08,$01,$09,$01,$0A,$01,$0B,$01
db $0C,$01,$0D,$01,$0E,$01,$0F,$01,$10,$01,$11,$01,$12,$01,$13,$01
db $14,$01,$15,$01,$16,$01,$17,$01,$18,$01,$19,$01,$1A,$01,$1B,$01
db $1C,$01,$1D,$01,$1E,$01,$1F,$01,$20,$01,$21,$01,$22,$01,$23,$01
db $24,$01,$25,$01,$26,$01,$27,$01,$28,$01,$29,$01,$2A,$01,$2B,$01
db $2C,$01,$2D,$01,$2E,$01,$2F,$01,$30,$01,$31,$01,$32,$01,$33,$01
db $34,$01,$35,$01,$36,$01,$37,$01,$38,$01,$39,$01,$3A,$01,$3B,$01


I just combined the code you supplied for the yoshi coins and the ones in the example of the bwram+ table from the retry folder. Am I doing it wrong?
I’m not 100% sure of the specifics of BWRAM+, but I believe that the custom midway bar is custom object command 2D, not 2B (I don’t think it’s different on SA-1/BWRAM, although I could be wrong).
CRISIS OVERTED
It's actually really embarrassing - my rom isn't even SA-1, I just used NoMoreSpriteTileLimits patch and thought it was the same thing when I first started, so it was an easy fix on lorom. Appreciate everyone's help!
Ah ok, that's funny. By the way, with Retry on lorom you can use Retry's own SRAM+ feature instead of the separate patch (the table works similarly, but you can find it in "retry.asm" under "SAVETable:"). The only reason to do this, other than to avoid using an external patch, is that it also works on SNES Classic (SRAM+ crashes on it), so if you care about that you should use it, otherwise it doesn't matter.