Language…
24 users online:  AmperSam, crocodileman94, DanMario24YT, Dennsen86, deported, DixyNL, Golden Yoshi, Green, Gurjinter,  idol, Knetog,  Losoall, Maw,  Noivern, Pink Gold Peach, ppp9q, Serena, Silver_Revolver, test212, The_Uber_Camper,  Thomas, tOaO, VSmario90,  yoshi3706 - Guests: 299 - Bots: 326
Users: 64,795 (2,374 active)
Latest user: mathew

Warning: Hacks with custom music break on real hardware

I test hack submissions in bSNES so as to find nasty bugs like the AddMusic ones. I'd prefer if more people used bSNES due to the whole "closer to the actual hardware" thing, but people are kind of resistant to change (you can probably find people still using NESticle today!) so it's probably not going to happen. Such is life. (Completely disregarding byuu's irregular hissy fits about not being the most popular kid in school aside)

So basically, if someone submits a "broken" hack that only works on one emulator, and leaves a note detailing such in the description, I'm perfectly fine with that and will review it under the advised circumstances. If someone submits such a hack without such a note, I'll probably review it on bSNES, get grumpy, and either decline it or add such a note myself, depending on my mood.


Removal Log
Hack Submission Guidelines
My Sites

Something awry? PM me!
Don't know what the eff "awry" means? Never PM me.

My Hacks:

Originally posted by Davros
If you want them to make bug-free hacks that work perfectly in accurate emulators then you have to make reasonable, convincing arguments with evidence and without whining.


Really? Let's go over the highlights, shall we?

Arguments for accuracy:

A) Hacks will be broken when crappy emulators around now are finally deprecated. As byuu puts it:
Originally posted by byuu
When nobody can run your game in ten years, that's your problem, not mine.


B) If your hack only works on 1 emulator (even now), there will be quite a few people who won't play it, just because it doesn't work on their emulator and they don't want to get a new one.

C) Anyone can use bsnes, it's not hard to get and with the newest version can run on "a box of rocks". This should allow easy testing for compatibility.

Arguments against accuracy:
Originally posted by badinsults
You are pretty naive if you think that people are going to download a particular emulator just to play your hack.


I'm going to, if I know the hack is worth it. I'd redownload ZSNES anytime again if TSRPR only worked on it.

Originally posted by badinsults
I made this thread because I do care about this, so your statement that "no one cares" is certainly not true.


Noone said that. We said that 90% of the community doesn't care. That's a difference.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
Originally posted by HuFlungPumpkins
Arguments against accuracy:
pic


I lol'd.

Either way, my current stance is that I do favour hacks that work on BSNES, or - but this is something I simply can't test myself, although I know a couple of people on this site who have a flash cart - that said hacks work on a real SNES, even.
However, it's no use bashing the current broken hacks (which I had seen at least the OP doing). What's better - the addmusics need to be fixed. At least (and preferably, at most) one of them. When -that- issue has been resolved, it is morally acceptable to take action against broken hacks. NOT BEFORE THAT!
As for hacks that have been accepted or even featured before the day that Addmusic works as it should, I'm afraid that we can't ever take action on those hacks. At most, we could request authors to fix their problems, but it shouldn't have to be mandatory.

I have not much more to say about this matter really.

Oh, and HFD: My boss did not crash on ZSNES, but there was a noticable graphical issue on ZSNES which didn't occur on either SNES9x or BSNES. That's because both GFX engines ZSNES uses stink.
--------> Don't follow "Find Roy's Dignity", my hack. Because it's pretty outdated. <--------

P.S: If you like bSNES, you should probably grab v70 from the site before byuu has another emotional breakdown and removes it because GRRRAAAAAAAAAH FUCKKKK SMC FILEEEEEES FUCK COPIER HEADERRRRRS FUCK EVERYTHHHHHHIIIIIING


Removal Log
Hack Submission Guidelines
My Sites

Something awry? PM me!
Don't know what the eff "awry" means? Never PM me.

My Hacks:

Originally posted by Davros
Originally posted by Kaijyuu
I personally would stop using LM and would yell at fusoya to fix the bug.


That's not nice, Fusoya has worked hard in making that program, he's a human being and not somebody you can yell just because you found a bug. Show some respect for the man. =/

I mean it in the most loving way possible :3

If I disagree with a tool/hack/etc author about something I think important, yes I am going to "yell." There's a difference too between respect and reverence. I respect authors. I don't revere them.


Quote
There's a difference between informing and whining. <_<


Quote
If you want them to make bug-free hacks that work perfectly in accurate emulators then you have to make reasonable, convincing arguments with evidence and without whining.

If I'm making convincing arguments with evidence, there is no possible way I am "whining" at the same time. Whining is complaining without reason, not some catch-all response to people who complain at all. I see people throw that word around all the time on the internet and it's rather annoying.


Quote

As for hacks that have been accepted or even featured before the day that Addmusic works as it should, I'm afraid that we can't ever take action on those hacks. At most, we could request authors to fix their problems, but it shouldn't have to be mandatory.

While I disagree that we should wait until an addmusic works with all the features we've grown used to, I totally agree that hacks should be grandfathered in. A "ZSNES only" label would be appropriate for those.
Agree that a simple 'ZSNES only' label would be enough, and no need to get rid or bash good ol' hacks.

In the meantime, until addmusic gets fixed, I think the best is to thoroughly test our hacks on BSNES. Yes, sure it's slow on some not high-end computers, but if we want to be good hackers, we need to sacrifice something in exchange of getting a well done product.

In my computer BSNES runs badly slow, but even with that, I will test my hacks with it every now and then just to asure quality of my hack.

Don't think that's too much to do, anyway.

Thanks to this ilustrative thread I've learned something valuable for my hacking experience. #w{=D}

Glad to know all this stuff in time, as I'm still at an early development stage of my hacks.
My Website:



okay, now that I'm on a better computer, I see why you guys want us to test it out on the real hardware(or something close to it), When going to finish the level with custom music the goal point works but the music is just a beep then it gets cut off,
It's weird you have inclusive pronouns, but still only have the binary options for gender. Where is Non-Binary, Agender, etc? Not a gripe. Just curious lmao.
Originally posted by The Offender
the addmusics need to be fixed. At least (and preferably, at most) one of them. When -that- issue has been resolved, it is morally acceptable to take action against broken hacks. NOT BEFORE THAT!

I don't think we can just blame the addmusics/their creators. I mean, it's fully possible to make a non broken hack while using Romi's addmusic, you just have to not be an idiot with it.
Originally posted by badinsults
The question is, why are hacking utilities allowed on this site that break games on real hardware? Call me a purist, but I like playing SNES games on a SNES, and if I review any hack on my website, it will be panned if it doesn't work. And as I said earlier, once Zsnes 2.0 comes out, these hacks will not work in it either.


Then again, you're part of the minority, so don't act all surprised if hardly anyone cares about this issue. Even when ZSNES 2.0 comes out older versions will still be an option to run hacks. As someone mentioned earlier in the thread, a label to warn users should be enough.
We've heard that argument about a dozen times, ElektroSoldat. While we realize we can't convince anyone of that opinion to care, it's not a reason that's going to convince us to not care.
Let's stop this strawman game, OK?

Arguing against compatibility is stupid and I believe nobody here is saying we should not encourage and aim for more SNES-compliant hacking. Everyone knows the tendency is for emulators to get more accurate over time, and of course we probably want the new hacks to be compatible with the best emulators.

What IS being said, though, is that there's no need to go COMPATIBILITY NOW NOW NOW NOW NOW, when we can take it easy while we get around to some better tools/unbroken material. Won't hurt anyone for the time being.
The community of SMW hackers is not homogeneous.

We are not all the same. We do not use the same versions of the same emulators. We are all in the minority: most players only play the original Super Mario World, but we are the few who play modified SMW.

I recently acquired my new computer. Snesgt and Zsnes are not available for this computer, so I installed Snes9x and BSNES. I am starting to notice that SMW hacks with custom music break in both emulators. I will start to identify the broken ROMs in my collection. Then I might try to find a way to fix those broken ROMs. I lost some of my SNES hacking skills (since I was not active from October 2009 to October 2010), but I can hope to discover a fix, though I might not find one.

The goal might be a catalog of known ROMs with their SHA256 checksums, along with UPS patches needed to fix each ROM.

Hacking Super Mario World since 28 February 2009
SMWDISC
You won't be able to fix it unless you recode their SPC engines, Kernigh. Stuff is being put in the echo buffer, which is accurately overwritten by echo in the recent SNES9X and BSNES, but not ZSNES.
Intresting find, I'm quite surprised that hacks with custom music broke the hack, the music is very limited as it is, but that's Hardware for you, emulators can run a higher varity of sound, maybe? I'll read a few more of the post's.The Game
You just lost.
Originally posted by Kaijyuu
You won't be able to fix it unless you recode their SPC engines, Kernigh. Stuff is being put in the echo buffer, which is accurately overwritten by echo in the recent SNES9X and BSNES, but not ZSNES.


The other thread said that the echo buffer was overflowing. The patch would either need to enforce the buffer size (by truncating the data), or to disable the echo. The echo would sound different, but at least the echo would not overwrite the sound samples, or the machine code, or whatever is after the buffer.

This is still beyond my skill. I know some SPC-700 assembly language, and I have previously coded some buffer overflow checks, but I cannot yet patch any existing SPC-700 code.

At June 2009, I wrote some SPC-700 code to convert a 32-bit integer to ASCII (because I never learned to play sound from SPC-700, so I found a different use for it). If the buffer had no room, then I truncated the ASCII string.

Code
	;; Each iteration of this loop writes one decimal digit from
	;; format_integer to address [$00] within format_buffer.
	;;
----	decw	$00			; ya = RAM $00 =
	movw	ya, $00			;   next position in buffer
	cmpw	ya, format_buffer	; if ya < format_buffer
	bcs	+			;   then prevent overflow,
	incw	$00			;   undo decw $00,
	jmp	!++++			;   break loop
+	;;

	... loop body (division by 10) ...
+	jmp	!----			; next iteration of loop

++++	;; ...


The SMW hacks seem to need a different type of overflow check. Hackers were fixing their custom music using $04. So a SPC-700 patch might need to intercept all the echo commands, check if some byte is greater than $04, and lower it to $04.

If I resume my study of the SPC-700, I might be closer to fixing the broken ROMs in my SMW hack collection.

Hacking Super Mario World since 28 February 2009
SMWDISC
Originally posted by Kernigh
The other thread said that the echo buffer was overflowing.

That's an old problem that's pretty much been fixed. Songs that would overflow the buffer aren't allowed on the site anymore.

The problem is with MORE.bin, from what I can gather. This patch uses the echo buffer as freespace, which it obviously should not.

This thread has a more technical discussion on the current problem.


As it stands, these are the following offenders:

Romi's addmusic breaks if the -se command is used, which patches MORE.bin. Result: Full game crash (with -se), or works perfectly (without -se).
Carol's breaks no matter what, from what I can tell. Result: Full game crash.
AddmusicM has some glitches but different ones. Result: Sound effects sometimes sound weird, misc music sometimes doesn't play. No crash.


If you want to fix current hacks, I suggest you start by looking at MORE.bin.
And I assume this is why Keytastrophe only works on ZSNES?
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Doesn't AddmusicM sometimes crash the game when misc. music should play (like when Mario dies or hits the goal tape)? And doesn't Romi's also mess up when a sound effect with echo is played in a level with custom music?

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by Kaijyuu
Romi's addmusic breaks if the -se command is used, which patches MORE.bin. Result: Full game crash (with -se), or works perfectly (without -se).


There's more that breaks it, I know this much - I've run into issues with music killing the hack despite the echo buffer value being $00, and not using the -se option. Really damned irritating since I don't know what the issue is, and for the time being I'm just resorting to fixing up said old hack by switching it over to SMW's music. (For those curious, it's in some of FPI's Wario Land ports. At least it works a bit better as is than the last release of the SWW demo...)

Then again, I don't know shit about anything beyond level and graphics editing so perhaps I shouldn't be chiming in. I haven't actually created anything in years, anyway...

A HOMEPAGE