I want to be clear. I am not 100% opposed to copier headers. I get the pragmatic approach of not breaking things that already work.
But I am weighing their good versus their harm, and believe it's in our best interest to remove them from the general circulation.
Quote:
one man who happens to be an emulator author doesn't like them
Why do you assume it's only me? Just in this very thread: tepples, magno, Mottzilla, and HJRodrigo don't seem to like or care about them.
Quote:
even taking jabs at them, as well as other emulator authors
I wasn't aware Marat Fayzullin invented SNES copier headers.
Quote:
there is absolutely no technical reason that has been presented so far that justifies this stance
I listed over a dozen reasons. Many of which were technical.
"Copier headers are hurting -everyone-. Many ROM hacking tools only work with headers (Lunar Magic), many tools work only without headers (mosaic), some emulators auto-remove copier headers (Geiger's Snes9X debugger) or don't support loading them at all (bsnes) or try and parse them and will fail to play the game if they are malformed (Super Sleuth), some tools auto-add copier headers (Lunar Magic), many ROM hackers make IPS patches against headered ROMs, and many do not. Every patch release on RHDN deals with patching errors due to this. End users don't know how to add and remove these. Sets like GoodSNES are inconsistent where half the ROMs have headers, and half do not. Groups like No-Intro and Zapatabase remove headers entirey. Groups like NSRT subvert the copier header by creating ZSNES-specific emulator headers. The images distributed have copier headers in 20+ differing and incompatible formats. Later SNES copiers support 5+ formats, but never all of them. Many, many, many copiers won't work with just a copier header, anyway: they expect interleaved images. No emulator supports widescale interleaving of image data. Floppy disks are limited to 1.44MB, so you can't play 2MB games without doing work on your end anyway. You can't rely on the CRC32 of a file inside a ZIP to identify a game, file scanning tools can't detect duplicates because you might have the same game in two copier formats, sha256sum/md5sum/etc tools are useless. Everything has to be aware of copier headers. Emulators have to do odd math to try and detect internal headers now not just at $7fc0, $ffc0, $40ffc0; but also at $81c0, $101c0, $4101c0. You can't even do filesize&0x7fff==512 due to older homebrew that doesn't pad the ROMs out. ROM hackers that use hex editing tools have to manually add and subtract 512 in their heads or with a calculator constantly. And on and on ... I have had to deal with ALL of this. Literally."You have not refuted a single statement. This is not how you debate someone.
Quote:
The headers can technically (with software) can be ignored
So if I am applying an IPS patch to a ROM: do I remove the header and then patch; or do I patch and then remove the header?
If the ROM is not padded to a multiple of 32KB, how do I know if there is a header or not?
Quote:
This therefore implies that a person who has a copier (SWC DX, etc.) would need to keep two copies of their ROM set around
As you already have to do for games >=12mbit that need to be split onto several floppies (unless you have a working SPP parallel port), and for games in HiROM format that need to be interleaved (which no emulator supports.)
Of course, you don't have to do this for any games. You just have to make a simple batch file to transfer games to your copier with the same amount of work it'd take to copy an unmodified file.
Quote:
it is the fact that the opinion turns into a crusade. A mission. A witch-hunt of sorts. The opinion becomes something forced upon other people, almost in a political or lobbyist fashion.
What gun am I holding to peoples heads, demanding they use my emulator?
Quote:
I do not care if they are 30 years old and hold nostalgia value
Is that a serious statement? Are you nostalgic for 512 bytes of garbage at the top of your files?
Should I emulate the layering issues that caused trees to poke through text boxes and sprites to disappear underwater? Should I emulate the wind sounding like a seal being clubbed to death? You know, for nostalgia to the good old days of SNES emulation?
Quote:
I do not care if you own hardware copiers that rely on these headers.
Cost/benefit analysis requires one to take in account how many people use SNES images (100%) versus how many use oldschool copiers (LESS THAN 1%.) Seriously, in all my years, I've met about 30 people with SNES copiers. My last software release has had over 40,000 downloads. And I am the underdog.
Should they all deal with patching issues to appease copier users?
Even the few I've known with copier headers are moving on to flash carts. They are infinitely superior. They can still be purchased new, they are usually cheaper, they can hold the entire game library, they don't require copier headers nor interleaving, and they can load games almost instantly.
Quote:
I do not care if from a technical standpoint these headers can be ignored
This is untrue. Patching and unpadded ROMs.
Quote:
those requirements (changing all your existing files) will impact other programs (emulators, etc.)
Every public emulator supports headerless ROMs. Geiger's Snes9X Debugger requires it.
I wrote a Win32 API hooking library to allow any tools that require headers to work without them. Without having to make hidden copies of files. It hooks right into the file read/size commands to offset them by 512. I even made a bundle just for the most popular tool, Lunar Magic.
Quote:
The problem becomes when what one person wants mandates everyone else comply with what that person wants as well
The 02-2011 and 10-2012 quotes show this is untrue. I am fine with people adding copier header support to my emulator if they want to.
But I'm going to share my opinion on why they shouldn't, and hope I can convince more people. That is what human beings do: they advocate their beliefs.
Quote:
especially when there is absolutely no technical justification for it (if you've forgotten this fact, re-read my post from the beginning).
Now who's acting like the politician? Do we need a counter for how many times you've said the same thing? Saying it again and again doesn't make it true.
Try re-reading my posts, and addressing my technical justifications instead of pretending they don't exist.
Quote:
therefore he feels everyone else must comply with his lifestyle/choices/issues/demands
Another repeated statement. I hope that everyone will follow suit and drop copier headers, but I'm not forcing anyone to.
Quote:
Not arguing or insulting other emulator authors.
I haven't insulted anyone over copier headers.
I haven't even insulted Marat, as you seem to think I have. It's called a sense of humor.
Quote:
Not forcing people to adhere to his standards / his opinions / his likes and dislikes
Another repeated statement.
Quote:
The author has even admitted privately to me (it's excluded from the quote set above) that his libsnes library doesn't even require a file handle nor does it interface with the filesystem at all
I see you're not above quoting things written to you in private.
Yet this is no secret. I did this to allow Ryphecha to implement bsnes into Mednafen. I've had months of discussion on my forum about this API.
Quote:
This statement in itself should make any intelligent reader wonder why the author is on a crusade at all
So because I don't like GUI programming, I shouldn't be allowed to discuss why I dislike copier headers?
Quote:
there's nothing forcing him to work on the "front-end" part especially when it makes him so miserable
If I don't have a front-end, nobody can use my work. There is no front-end that puts bsnes front and center. They're all multi-emulator paradigms, mostly defaulting to the faster, less accurate cores. Make a really fantastic emulator that can be called "bsnes", and I will happily stop releasing binaries.
Quote:
This is also justified by the removal of many GUI and visualisation options in bsnes, which is something that peers of mine have complained about for months (years?) -- specifically when those features were removed "just because they were annoying to deal with"
Please tell me what it is I owe you and your friends. Why I am required to implement and maintain features you want.
Did you all pay me? No. Did any of you donate money to me in return for a favor? No.
Was helping improve the accuracy of ZSNES, Snes9X, SNESGT, SNEeSe, Super Sleuth and no$sns not enough for you?
Was spending $15,000 of my own money to buy and verify the dumps of all US games (I've already found a few hacked images) not enough for you?
Was raising $2,500 and burning all the goodwill donations I've raised over the last eight years to get all of the SNES coprocessors decapped and dumped, allowing SNES emulation to finally reach 100% compatibility, not enough for you?
What will be enough? When did I become your indentured servant?
Quote:
while making two-faced comments (quote: "I'm really trying to help make it easier for everyone"),
Two-faced? What does that even mean in this context?
Ask any ROM hacker how sick they are of dealing with patching problems.
It really will make things easier. Less complexity (one format instead of two) = easier. It's a basic axiom.
Quote:
The author should focus on his emulation library and emulation bits
"The author should shut up and do what I like."
Quote:
stop forcing everyone (through your emulator) to comply with your beliefs.
Another repeated statement.
Quote:
I won't be responding to this thread past this point.
"I'm getting the last word in here."
Quote:
I've covered every single base
"by ignoring every single argument byuu presented against copier headers completely."
Quote:
But just in case it's not clear
"I'll repeat another statement."
HJRodrigo wrote:
It sounds like you are taking this personally... The community has evolved and you are being left behind. Are you basically against evolution/change and want things to remain as they were back in the 90s for no logical reason (other than you might use your copier sometime in the future if you have time to dig it out of the closet
)?
What really surprises me is just how amazingly centered it is on the SNES devs (homebrewers, ROM hackers, translators.) Casual gamers don't even care. They run purify, and three seconds later they are gaming. My download count hasn't taken much of a hit at all.
But the ROM hackers, holy shit do they ever hate change. Most are still using ZSNES, IPS, xkas v06, copier headers ...
In koitsu's case, it's basically the backfire effect:
http://youarenotsosmart.com/2011/06/10/ ... re-effect/Quote:
The last time you got into, or sat on the sidelines of, an argument online with someone who thought they knew all there was to know about ... how did it go?
Did you teach the other party a valuable lesson? Did they thank you for edifying them on the intricacies of the issue after cursing their heretofore ignorance, doffing their virtual hat as they parted from the keyboard a better person?
No, probably not. Most online battles follow a similar pattern, each side launching attacks and pulling evidence from deep inside the web to back up their positions until, out of frustration, one party resorts to an all-out ad hominem nuclear strike. If you are lucky, the comment thread will get derailed in time for you to keep your dignity, or a neighboring commenter will help initiate a text-based dogpile on your opponent.
What should be evident from the studies on the backfire effect is you can never win an argument online. When you start to pull out facts and figures, hyperlinks and quotes, you are actually making the opponent feel as though they are even more sure of their position than before you started the debate. As they match your fervor, the same thing happens in your skull. The backfire effect pushes both of you deeper into your original beliefs."
(And you know, maybe it's true for me too here. I like to think I am sympathetic to all logical arguments. And I admit there is a pragmatic benefit to just removing the headers where you are able to. I am trying my best to weight it all logically. To make a big column of pros versus cons. So far, I have 2 pros to copier headers (established practice/convenience and in some cases copier users), and 19 cons.)
It's a very well understood phenomena. When peoples' beliefs are challenged, they double down. It actually becomes even harder to convince them that they are wrong.
koitsu doesn't have a single poster in this thread agreeing with him, and yet he thinks it's just big-bad-byuu out to take away his rights unilaterally.
He's a smart guy, though. I just need him to seriously consider my arguments without emotion being brought into this.
I'll give you a side story.
Long ago, I was really huge on hating Cowering because he was including fan translations that got propagated to ROM sites. I joined the hate bandwagon with every other ROM hacker.
But I was wrong. Translating a game without the author's permission is a violation of the Berne Convention (of which the US and many other nations are signatories.) Distributing the original games pre-translation is a violation of copyright *no different* than distributing the fan translation is also a violation of copyright. There is no honor among thieves. To wantonly disregard copyright when it suits you, and then demand it in turn, is the height of hypocrisy.
You couldn't convince me I was wrong back then. Eventually though, all the people pointing this out to me stuck in my head. Eventually, I reflected on things, and realized how arrogant I had been. And I reversed my position. Earning me the scorn of the ROM hacking community. IST went apeshit on me over it just recently even.
But if I could re-evaluate my deeply held beliefs, I'm confident koitsu and others can do the same.