bsnes v0.031 released

Archived bsnes development news, feature requests and bug reports. Forum is now located at http://board.byuu.org/
Locked
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

franpa wrote:Byuu's ;)
Image
he did der langrisser.
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
Dullaron
Lurker
Posts: 199
Joined: Mon Mar 10, 2008 11:36 pm

Post by Dullaron »

NSRT showing the rom is fine here.

Image

Edit. I add the empty header and it works now.

Image

Edit. I made me a Ups patch after I remove the empty header.
Window Vista Home Premium 32-bit / Intel Core 2 Quad Q6600 2.40Ghz / 3.00 GB RAM / Nvidia GeForce 8500 GT
byuu

Post by byuu »

Exactly the headache UPS is going to solve. It'll work whether your ROM has a header or not.
Rashidi
Trooper
Posts: 515
Joined: Fri Aug 18, 2006 2:45 pm

Post by Rashidi »

byuu wrote:Exactly the headache UPS is going to solve. It'll work whether your ROM has a header or not.
that mean, UPS will focus its usages on (snes) roms right?

i used to make somewhat cvs of .ips, rather than backup entire (pre-)patched files

i recall, Nach was planning to make his own Nach-Patch-System (NPS)...
byuu

Post by byuu »

UPS essentially is NPS. Though I guess that depends on how you look at it. I added a nicer, yet more complex, pointer encode method, suggested by DMV27, and I made the expanded portion XOR against 0x00, rather than just concat the expanded portion into the patch (makes patching less complex, but less consistent.) The XOR method, the checksums and the overall structure is otherwise identical.

That said, UPS doesn't focus on any specific platform. It's just that for SNES emulators, I strongly encourage that emulators always assume they are applying against a headerless image.

I know about NSRT headers, but if you include the header, then the user has to have that exact same header to patch an SNES game and match up the checksums. If any SNES emus allow patching UPS with a header, it would basically ruin the whole point of UPS soft patching. Either way, I won't ever be allowing headered patching. So if you want your UPS patch to work on bsnes, make it against an unheadered ROM.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

byuu, I'm convinced your hope of what you just said would fail.

There's nothing to enforce patch creators to remove or add headers to their hacks/translations, therefore you will always have to account for headers. Mind you, this is different that you inform the user that their patch is invalid, but that doesn't stop UPS creation against a headered ROM resulting in another headered ROM (or some unheadered to headered variation).

In the end, you will have situations where at least two UPS patches would be created to account for the rom's header.

If you don't support headered ROMs after UPS patching, you're only shooting yourself in the foot in the end... unless the emu or the app is doing actual header detection+removal, your plan simply won't work.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

Whose fault is that? Seems to me that if ZSNES removed support for headered roms, bsnes could do it, and patch makers would follow suit.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

FitzRoy wrote:Whose fault is that? Seems to me that if ZSNES removed support for headered roms, bsnes could do it, and patch makers would follow suit.
That's not going to work. The header is the most harmless thing on the ROM. However, some IPS patches rely on that (and many users/patch authors won't/can't put up a revised version), and for many users that are comfortable with the current system, enforcing it an emu will not magically change this issue, it moves it elsewhere and ultimately it is the same problem, it simply has a different form.

The patcher or the emu has the handle headers, so ultimately if a header is part of the final patch, it simply can be handled properly by the emu after patching.

At this point in SNES emulation, it is practically too late to reverse the header issue.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
byuu

Post by byuu »

therefore you will always have to account for headers.
Watch me not do so. If ZSNES were to support me in this, we could enforce it. Nobody would make a headered UPS patch when it failed to work in ZSNES.

But if you guys allow it, then people won't give a damn whether it works in bsnes or not. But I won't back down. Copier headers are worthless for an SNES emulator, period. Anyone who thinks otherwise is wrong. NSRT headers add a marginal benefit for controller detection and game information, but that's about it. Such information should be externalized anyway.
If you don't support headered ROMs after UPS patching, you're only shooting yourself in the foot in the end...
True. But the things I am working towards -- the reduction in SNES ROM file extensions, death of interleaving, headerless patches and eventually -- headerless ROMs, are all things that are easily achievable. Unfortunately, they require the support of the dominant SNES emulators.

I'm not going to give up on what are positive, noble goals, just because others do not follow suit.
byuu

Post by byuu »

That's not going to work. The header is the most harmless thing on the ROM.
As well as the most worthless.
However, some IPS patches rely on that (and many users/patch authors won't/can't put up a revised version)
And for that reason I'll never support IPS. I know, I'm in the minority and don't matter, just saying. But anyone can convert IPS to UPS. And most obtain patches from RHDN, not from the author's website. At least, that has been the case with my patches.
enforcing it an emu will not magically change this issue, it moves it elsewhere and ultimately it is the same problem, it simply has a different form.
You keep saying this "same problem, different form" line about things. No, if all emulators enforced it right off the bat, the problem would resolve itself. Any ROM hacker faced with "make a headered patch that won't apply in any emulator, or an unheadered one that works anywhere", will choose the latter. Further, this rule could be enforced at eg RHDN. The whole goddamn scene is sick of the headered vs unheadered issue, so I'm sure they wouldn't object to this.

Unlike the raw header itself on games, there are as yet no emulators that will patch UPS with header at this time. Now is the time to keep it that way.
The patcher or the emu has the handle headers, so ultimately if a header is part of the final patch, it simply can be handled properly by the emu after patching.
The biggest problem is that headers vary. If the patch creator had a Super UFO header on his image, but the end user has a Super Wildcard DX2 header, the CRC32 will fail. Sure, you can patch anyway with a bad CRC, and now you're right back to the problem with IPS and nothing has changed.
At this point in SNES emulation, it is practically too late to reverse the header issue.
No, it isn't. Release a new version of ZSNES and Snes9x. Make both prompt the user that there is a deprecated header, and ask if they wish to remove it. Warn that not doing so may mean the game will no longer work in future versions.

After a year, change that to give a warning and require header removal to play the game.

After another year, remove detection all together.

But yeah, I'll keep on dreaming.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

byuu wrote:
therefore you will always have to account for headers.
Watch me not do so. If ZSNES were to support me in this, we could enforce it. Nobody would make a headered UPS patch when it failed to work in ZSNES.
Maybe, but I doubt that will ultimately happen.
But if you guys allow it, then people won't give a damn whether it works in bsnes or not. But I won't back down. Copier headers are worthless for an SNES emulator, period. Anyone who thinks otherwise is wrong. NSRT headers add a marginal benefit for controller detection and game information, but that's about it. Such information should be externalized anyway.
Noone is disagreeing with you there. Ultimately that would be ideal, but realistically, it is tough to convince users that working IPS patches and change that overnight.
If you don't support headered ROMs after UPS patching, you're only shooting yourself in the foot in the end...
True. But the things I am working towards -- the reduction in SNES ROM file extensions, death of interleaving, headerless patches and eventually -- headerless ROMs, are all things that are easily achievable. Unfortunately, they require the support of the dominant SNES emulators.

I'm not going to give up on what are positive, noble goals, just because others do not follow suit.
Then you have to have more impact than UPS, because that only pokes at the issue only so slightly. Nach obviously is planning an all inclusive UPS stuff with NSRT, which deals with it.. your patcher would make no dent (if any) to those ideals.

The problem ultimately starts with ROM sites and GoodSNES. Unless you can convince Cowering who has a greater impact in ROM distribution, your ideals have little chance of success. An emu can only do so much when the distribution does not match up.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
byuu

Post by byuu »

ZSNES has more impact than Cowering. Cowering has more impact than I. You could force Cowering's hand, if you wanted. But I don't even know if he's still working on GoodSNES or not.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

byuu wrote:And for that reason I'll never support IPS. I know, I'm in the minority and don't matter, just saying. But anyone can convert IPS to UPS. And most obtain patches from RHDN, not from the author's website. At least, that has been the case with my patches.
Noone's forcing you to support IPS. Right now UPS has little to no impact, so enforcing that requirement won't happen until there is actual use (and Der Langrisser is not really going to cut it, because you're involved with it. :P )
enforcing it an emu will not magically change this issue, it moves it elsewhere and ultimately it is the same problem, it simply has a different form.
You keep saying this "same problem, different form" line about things. No, if all emulators enforced it right off the bat, the problem would resolve itself. Any ROM hacker faced with "make a headered patch that won't apply in any emulator, or an unheadered one that works anywhere", will choose the latter. Further, this rule could be enforced at eg RHDN. The whole goddamn scene is sick of the headered vs unheadered issue, so I'm sure they wouldn't object to this.
Actually, most ROM hackers before they ultimately gave a crap about headers assumed "normal ROM distribution", so if the ROM sites distributed the ROM with a header, they would assume you are using that ROM as a base. That thinking is flawed, but that was the way it was back then and although the thinking has changed since then, you can't simply remove those older patches. You can't assume everyone goes to RHDN for their patches.. some prefer to goto the source. You can't really nail the issue down because of the lack of changes from the start.
Unlike the raw header itself on games, there are as yet no emulators that will patch UPS with header at this time. Now is the time to keep it that way.
Your UPS utility didn't provide any tools to faciliate that. That's half the problem. It helps when you have all in one solutions such as conversion utilities, header removal and the like to even start discussing this realistically.
No, it isn't. Release a new version of ZSNES and Snes9x. Make both prompt the user that there is a deprecated header, and ask if they wish to remove it. Warn that not doing so may mean the game will no longer work in future versions.

After a year, change that to give a warning and require header removal to play the game.

After another year, remove detection all together.

But yeah, I'll keep on dreaming.
I really doubt that's going to work, unless a complete effort was done. Particularly, ROM distribution and utilities (not just the emu) has to make that impact. Right now, even with the debut of UPS, none of that has been achieved. The closest thing that exists is convincing people to use NSRT, and that's worked much better than anything that has come to pass.

Right now UPS does not serve what I need it to do when it comes to patching, particularly in the multi-patching department.
adventure_of_link wrote:
franpa wrote:Byuu's ;)
Image
he did der langrisser.
"Byuu" is the main character's name in Bahamut Lagoon, and that ends there.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

Deathlike2 wrote: Right now UPS does not serve what I need it to do when it comes to patching, particularly in the multi-patching department.
Oh, go put a sock in it.

Handles multi patching just fine.

I based my UPS support in ZSNES off my IPS support, the multiple ordered patches thing still works with it, and tests show it works great.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

Nach wrote:
Deathlike2 wrote: Right now UPS does not serve what I need it to do when it comes to patching, particularly in the multi-patching department.
Oh, go put a sock in it.

Handles multi patching just fine.

I based my UPS support in ZSNES off my IPS support, the multiple ordered patches thing still works with it, and tests show it works great.
That's not what I meant.. I understand how it would function in UPS, but it won't behave like IPS (any patch, any order, assuming they all can coexist with each other). UPS wants patching done in an order, unless there's more than I'm not aware of.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

Deathlike2 wrote: I really doubt that's going to work, unless a complete effort was done. Particularly, ROM distribution and utilities (not just the emu) has to make that impact. Right now, even with the debut of UPS, none of that has been achieved. The closest thing that exists is convincing people to use NSRT, and that's worked much better than anything that has come to pass.
Roms are distributed with headers because emulators support them, not the other way around. Saying it's too late and it isn't going to happen is a self-fulfilling prophecy. I can think of no action emulators have taken regarding rom formats where distribution has failed to conform. They are the ultimate say, not Cowering. If half of his precious collection failed to work with emulators, he would change willingly or get swamped with complaints and change unwillingly. There is no other outcome.
byuu

Post by byuu »

Noone's forcing you to support IPS. Right now UPS has little to no impact, so enforcing that requirement won't happen until there is actual use (and Der Langrisser is not really going to cut it, because you're involved with it.
I think Mother 3 using it will have some serious impact, even though I'm (arguably) involved in that. Perhaps not so much for SNES, heh. On that front, I have a few interested (Ryusui / BoF2), but you're right at the moment that it's just me. And given the back catalog, IPS will always be relevant / dominant for the SNES.
Actually, most ROM hackers before they ultimately gave a crap about headers assumed "normal ROM distribution", so if the ROM sites distributed the ROM with a header, they would assume you are using that ROM as a base.
I know, I was just saying that they're tired of it being an issue, and that they'd most likely agree to a solution that made it a non-issue. Now given, they could do that now with IPS, but they'd have to retroactively change people's documentation and patches. With UPS, it can be enforced right from the start.
Your UPS utility didn't provide any tools to faciliate that. That's half the problem.
Agreed, it's on the to-do list, though that isn't good enough.
"Byuu" is the main character's name in Bahamut Lagoon, and that ends there.
Not that it helps, but "Byuu" in Bahamut Lagoon is a Japanification of the word "View." Meaning, you view the world through the unspoken protagonist. My name is from the on-yomi pronunciation of the word "mistake," which perfectly describes my involvement in the ROM hacking scene. Point: the name may have had a convenient association when I chose it, but it isn't that I use the name to represent said video game character. Or at the very least, not anymore ...

Most people get the translation for DQ5 mixed up with my patch and DeJap's. But I also worked on Bahamut Lagoon with kammedo. We just pretty much gave up on that, though.
That's not what I meant.. I understand how it would function in UPS, but it won't behave like IPS (any patch, any order, assuming they all can coexist with each other).
I explained this at RHDN: if you ignore the CRC32, you can patch in any order you like. Only if two patches change the exact same byte, will you have problems. And if that happens, even IPS will behave differently depending upon the patch order, but it's arguably less severe that way.

And technically, with UPS, you can determine the correct patching order just by looking at the patch footers. Calculate the base file's CRC, and then find the patch with that as input. Apply it and mark that patch as "already applied," and now find the next file with the new CRC. Repeat until all patches are applied.

Bottom line is, if you need multi-patching, you're using the wrong tool for the job; be it UPS or IPS.
Roms are distributed with headers because emulators support them, not the other way around ... If half of his precious collection failed to work with emulators, he would change willingly or get swamped with complaints and change unwillingly. There is no other outcome.
Agreed 100%.

Well, I'm willing to do something about this now. How about I start with a message advising of the presence of a ROM header. Give the user the option to remove the header, or to ignore all future warnings? I needed to add the same for overdump detection ala Overload's Super Sleuth anyway.

It's a start, at least. I'm already down to only four ROM file extensions.
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

Deathlike2 wrote: Actually, most ROM hackers before they ultimately gave a crap about headers assumed "normal ROM distribution", so if the ROM sites distributed the ROM with a header, they would assume you are using that ROM as a base.
Reminds me of some ooooold patches that only worked for some people, and the authors were at a loss as to why.

In retrospect, it's kinda funny. They just didn't know about interlacing and header issues.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

byuu wrote:I needed to add the same for overdump detection
Good luck :twisted: :lol: :wink: 8)
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
Dullaron
Lurker
Posts: 199
Joined: Mon Mar 10, 2008 11:36 pm

Post by Dullaron »

Here is the Ips convert to Ups. I added this patch with the rest of the Bahamut Lagoon patches. http://www.megaupload.com/?d=V33UUY6U

I didn't want to give this out alone because I might piss off Tomato and Neill Corlett over their work. This is their work!

I don't know why they added the websites address onto the patch. I think worthless if you ask me. It better not put that on the rom. Translation is what I'm looking for.
Window Vista Home Premium 32-bit / Intel Core 2 Quad Q6600 2.40Ghz / 3.00 GB RAM / Nvidia GeForce 8500 GT
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

byuu wrote: How about I start with a message advising of the presence of a ROM header. Give the user the option to remove the header, or to ignore all future warnings? I needed to add the same for overdump detection ala Overload's Super Sleuth anyway.
That isn't nearly annoying enough to be effective. People will hit ignore and forget they were ever warned. There should be a yes/no remove pop-up on every header detection. No will run the rom. After one year, remove support for "no" and simply offer to remove the header or the rom won't play.
bobthebuilder
Hazed
Posts: 76
Joined: Sat Jan 28, 2006 7:21 am

Post by bobthebuilder »

How about somebody start a IPS to UPS project at RHD :P . They can recruit new staff just for that purpose. The project could just focus on completed patches and that would merely be just 100 snes games. If two people do it that is 50 a piece (It could be done in one afternoon)
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

bobthebuilder wrote:How about somebody start a IPS to UPS project at RHD :P . They can recruit new staff just for that purpose. The project could just focus on completed patches and that would merely be just 100 snes games. If two people do it that is 50 a piece (It could be done in one afternoon)
And the latest word in ROMhacking Drama would be the unauthorized conversion of patches. :P
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

Seriously? It's just a format conversion. No one's altering what it does to the game, selling it, or plagiarizing it. I can't imagine anyone being opposed to it, but you might be right technically.
King Of Chaos
Trooper
Posts: 394
Joined: Mon Feb 20, 2006 3:11 am
Location: Space

Post by King Of Chaos »

Well, to be safe than sorry, give the original creator(s) credit first, then whomever converts it to UPS format.
[url=http://www.eidolons-inn.net/tiki-index.php?page=Kega]Kega Fusion Supporter[/url] | [url=http://byuu.cinnamonpirate.com/]bsnes Supporter[/url] | [url=http://aamirm.hacking-cult.org/]Regen Supporter[/url]
Locked