bsnes2MESS

Archived bsnes development news, feature requests and bug reports. Forum is now located at http://board.byuu.org/
Y~K
Hazed
Posts: 54
Joined: Mon Jan 22, 2007 3:27 am

bsnes2MESS

Post by Y~K »

This is a message for byuu.

Wouldn't it be a great idea if you joined MESS team and sort of implemented bsnes accurate emulation into MESS.

Having such an accurate standalone emulator doesn't make much sense IMO, it's clearly MESS material. I am not intending to offend you, on the contrary, I say bsnes is the most accurate.

Some MESS dev did a joke a while ago, saying they should replace the current snes driver for a link to bsnes website, so that's when the thought striked me. Why not join MESS, it's a win-win situation. MESS snes is greatly improved and you benefit from the powerful features of the MAME core.
_willow_
Hazed
Posts: 51
Joined: Mon Dec 24, 2007 2:03 am
Location: Russia
Contact:

Post by _willow_ »

hmm, may i quote the byuu first ? :roll:
Quote:
The size of MESS (or anything else) is irrelevant.
byuu wrote:Well, it causes a few issues:

1 - It's a hassle on slower connections, eg dialup, to obtain.
2 - Due to the size, you typically want to batch new releases, eg update six drivers in one update. So you have less frequent updates per system.
3 - It eats a ton of bandwidth, especially when you consider that most systems aren't even touched between each new release.
4 - You lose the ability to uniquely code each individual emulator however you want. Eg part of the reason I can't simply donate my code to MESS is because I use some crazy ideas that MESS isn't compatible with. But of course, MESS could be revised to be just as flexible (and moreso) without the need for dynamic libraries. I see your side of a consistent interface to document "every" system the same and reuse components ... but I just couldn't see myself working in a project that confined me to a specific model before I even began.
...and more you can read here
http://board.zsnes.com/phpBB2/viewtopic.php?t=10775
[url=http://quake2xp.quakedev.com]quake2xp[/url] audio engineer
byuu

Post by byuu »

Wouldn't it be a great idea if you joined MESS team and sort of implemented bsnes accurate emulation into MESS.
Not really, no.
Having such an accurate standalone emulator doesn't make much sense IMO
Yeah, it isn't working out too well for PSXauthor, Marty, sinamas or Steve Snake, is it?
Why not join MESS, it's a win-win situation.
Mostly for the reasons _willow_ quoted above.

Do you think MESS would be willing to add cothreading just for me? And to allow the SNES port to thusly never have savestates as a result? Or how about adding my expansive template libraries that basically approximate std/boost, but are catered heavily to my personal needs? Probably not.

It all boils down to this:

The MESS developers use inductive reasoning. They start with the specific, a model with which to emulate every possible system, and then design each new system to fit with that model.

Myself, I use deductive reasoning. I start with the SNES and a general concept, and I adapt my model of emulation to the specifics of the SNES itself, as I continue to learn more. I've rewritten the entire model many times, and cothreading is just one iteration of that.

There's absolutely nothing wrong with either approach. However, that makes our ideals completely incompatible -- I will not work within the confines of an existing framework. However, if the MESS team wishes to use my code, they already know they can get permission to do so by sending me a quick message. They also know that it's completely impractical to, as our design approaches are so vastly different. It would be easier for them to write their own emulator, and just use mine as a reference. Absolutely do not bug R. Belmont or anyone else about this. They already know everything I've said here.
Y~K
Hazed
Posts: 54
Joined: Mon Jan 22, 2007 3:27 am

Post by Y~K »

This is really a pity... :(
I do not intend to bother you any further about it. I just wish you will reconsider this all someday. Standalone emulators are the rule today, but slowly and safely MESS will be the rule tomorrow. I know it and you know it.
byuu

Post by byuu »

Y~K wrote:This is really a pity... :(
I do not intend to bother you any further about it. I just wish you will reconsider this all someday. Standalone emulators are the rule today, but slowly and safely MESS will be the rule tomorrow. I know it and you know it.
If you think MESS can make something better than I have for SNES emulation, I suppose. I certainly hope so. I'd love to see something even more accurate -- even if it's not made by me.
Panzer88
Inmate
Posts: 1485
Joined: Thu Jan 11, 2007 4:28 am
Location: Salem, Oregon
Contact:

Post by Panzer88 »

not trying to step on anyone's toes, but I've found in software and in the real world it's better to have unique devises to do 1 thing.

there is a trend to try to have everything you need in one devise, but it is often more effective to have seperate devises to do things.

I apply the same principle to emulators, if they are seperate, then it allows they to do exactly what they need to do.

Now this would be impractical for some of the systems in Mess or MAME, because there are 100s that only play one or two games, but for the majority of the time, i will take the seperate approach.

again, not trying to step on anyone's toes, just my two cents.
[quote="byuu"]Seriously, what kind of asshole makes an old-school 2D emulator that requires a Core 2 to get full speed? [i]>:([/i] [/quote]
sweener2001
Inmate
Posts: 1751
Joined: Mon Dec 06, 2004 7:47 am
Location: WA

Post by sweener2001 »

Y~K wrote:This is really a pity... :(
I do not intend to bother you any further about it. I just wish you will reconsider this all someday. Standalone emulators are the rule today, but slowly and safely MESS will be the rule tomorrow. I know it and you know it.
i have to disagree.

ask the guys behind real player. as soon as they tried to take over and be the media king of my pc, i dropped them, along with pretty much the rest of the internet.

a loose analogy, as you would choose to use MESS, but i'm with panzer in that i like my apps to be focused and do what they do well.
[img]http://i26.photobucket.com/albums/c128/sweener2001/StewieSIGPIC.png[/img]
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

I think the one ring to rule them all approach in software is also known as 'bloatware'. :D
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
_willow_
Hazed
Posts: 51
Joined: Mon Dec 24, 2007 2:03 am
Location: Russia
Contact:

Post by _willow_ »

Nightcrawler wrote:I think the one ring to rule them all approach in software is also known as 'bloatware'. :D
...or Operating system:
http://en.wikipedia.org/wiki/Operating_system
[url=http://quake2xp.quakedev.com]quake2xp[/url] audio engineer
doktor_kris
Lurker
Posts: 102
Joined: Sat Feb 25, 2006 7:47 pm
Contact:

Post by doktor_kris »

Just let bsnes stay bsnes. No need to make an unnecessary mess out of things.
pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

You don't want to join the GPL cult, trust me.
Watering ur plants.
byuu

Post by byuu »

The one thing I really like about MESS is the instant benefits of having lots of video drivers, audio drivers, filters, a UI wrapper, etc all added for you. But really, a nice library like the stuff I'm working on would solve that problem nicely. Unfortunately, a lot of us (myself included) suffer from NIH syndrome. Plus we'd probably want a more traditional programmer to design such shared emulator libraries following conventional standards.

But there's really no benefit to merging all of the emulators themselves into one giant app. It's nicer to have a more focused, cleaner GUI that focuses on one goal and one goal only. It's pretty obvious why, so I'm not going to go into it again.
You don't want to join the GPL cult, trust me.
And which license is ZSNES under? :)

Otherwise, I agree with you. It really sucks, because I really wanted to take advantage of Qt. But like hell if I'm going to let that force all of my code as GPL just to use a widget toolkit.
Panzer88
Inmate
Posts: 1485
Joined: Thu Jan 11, 2007 4:28 am
Location: Salem, Oregon
Contact:

Post by Panzer88 »

yeah, if ONE person could make a multi emu that was designed to go together (kinda like mame in some ways) instead of a giant conglomerate multi-emu made from things that different authors wrote that were never meant to go together, ya know?
byuu wrote:
You don't want to join the GPL cult, trust me.
And which license is ZSNES under?.
all the more reason he knows what he's saying ;)
[quote="byuu"]Seriously, what kind of asshole makes an old-school 2D emulator that requires a Core 2 to get full speed? [i]>:([/i] [/quote]
Y~K
Hazed
Posts: 54
Joined: Mon Jan 22, 2007 3:27 am

Post by Y~K »

question has been answered, please lock this


Admin edit: No. Left open for various reasons.
etabeta
Rookie
Posts: 29
Joined: Sun Jun 17, 2007 9:18 am

Post by etabeta »

since the thread has been reopened, I'll leave here my opinion.

addressing directly the argument: asking to an emulator author to put his efforts in a different project than his own, cannot work. it's obvious.

if at a later stage, once he's satisfied with his own emu or he wants to take a break from it, a dev would like to contribute to a different project, he would be probably welcome everywhere, but it has to be his own choice, not to be requested by others...

as long as emulation remains a hobby for most of the guys working on it, it would be stupid to expect anything different


moreover, as long as emulator sources are available, progresses are available to anyone as well and can be ported in other projects. it's a win-win situation. there are countless example of such a situation:
* sinamas test roms helped judge to improve MESS gameboy emulation and MEKA sources helped the sms/gg drivers,
* MAME helped Zinc and Final Burn
* bsnes source has helped zsnes & snes9x to improve accuracy (and MESS as well, even if last time I talked with Arbee on the subject he stated he would have appreciated more docs by byuu to correct graphical glitches... but byuu already answered me on the subject in bsnes topic, so I'm happy with that :) ),
* Arbee and Makaron's author Deunian Knute are sharing their sources to improve dreamcast/naomi emulation...

these only to cite the ones on the top of my head (among those I know of)...

even in case of emulators with no source available, as long as the author is open to sharing his findings, the whole community can enjoy the fruits of one person's research (e.g. with psX or Elsemi arcade emulators)! of the standalone emulators byuu cited, only Kega keeps results hidden from other authors (namely a peculiar one-instrument bug of the Yamaha YM chip used on Megadrive, which only Kega emulates correctly), but sooner or later others will foind out hat's going on.

so, all in all, there is no need to have all the developers to concentrate to a single project! not at all!

I personally keep preferring all-in-one emus, since they allow me to be lazy and configure only once most of my controls. nevertheless, alternative emulators find easily place on my HD since they allow me to test hard-to-emulate games and to use features I can be interested in only seldom. so there is place for everyone.

my 0.02 (and sorry for my not-so-perfect english ;) )
Last edited by etabeta on Tue Feb 19, 2008 8:49 am, edited 1 time in total.
byuu

Post by byuu »

Ah, sorry Y~K. It seems we haven't seen eye to eye on much lately (MESS, GPC and NP.)

I'll make it up to you one of these days ;)
* bsnes source has helped zsnes & snes9x to improve accuracy (and MESS as well, even if last time I talked with Arbee on the subject he stated he would have appreciated more docs by byuu to correct graphical glitches... but byuu already answered me on the subject in bsnes topic, so I'm happy with that)
Yeah, I really do need to write my own docs one of these days. At the very least, that should help benefit the MESS team. I certainly want them to succeed. I tried to help a while back with some joypad polling code, but I couldn't make heads or tails of reading their sources for that part of the emulation.
even in case of emulators with no source available, as long as the author is open to sharing his findings, the whole community can enjoy the fruits of one person's research (e.g. with psX or Elsemi arcade emulators)! of the standalone emulators byuu cited, only Kega keeps results hidden from other authors (namely a peculiar one-instrument bug of the Yamaha FM chip used on Megadrive, which only Kega emulates correctly), but sooner or later others will foind out hat's going on.
I'm really torn on this issue at the moment, and wavering back and forth on my opinion. On the one hand, I completely respect authors' wishes to not release their sources. On the other hand, it really annoys me that we still have these pissing contests in 2008. Hiding information so that one can be "the best." As if being "the best" has any actual value when emulating a 15-year dead game system aside from boosting one's own ego. It's even more annoying when these closed source emulators build upon the source and documentation of previous open emulators.
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

I like Panzer's stance on this. MESS makes sense for the many obscure or failed systems that didn't have a lot of games. But its all-inclusive nature makes for a laborious GUI if you're only interested in the major systems.
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

On the other hand, it really annoys me that we still have these pissing contests in 2008. Hiding information so that one can be "the best." As if being "the best" has any actual value when emulating a 15-year dead game system aside from boosting one's own ego.
If it really is that much a issue, why not ask the developer about the missing info and try to implement something from that? That way, they can conceal thier code, while still benefiting in some form. I really don't see the fuss in people not giving out thier code. Its thier choice, and we shouldn't strangle them until the source is released..... Or be worried about thier egos, if thier hiding information is purely from a egotistical standpoint.:? So what if they don't give info? :?
etabeta
Rookie
Posts: 29
Joined: Sun Jun 17, 2007 9:18 am

Post by etabeta »

FitzRoy wrote:I like Panzer's stance on this. MESS makes sense for the many obscure or failed systems that didn't have a lot of games. But its all-inclusive nature makes for a laborious GUI if you're only interested in the major systems.
[geek mode]GUI? and who needs a GUI? with MAME/MESS you can configure 99% of the option through the ini file, and then use command line[geek mode=OFF]

:P :P

more seriously, since I passed to my Macbook, I found that it's not that bad to live with no UI (for work I use a lot of X11-depedent applications). not to mention that in the MAME/MESS case, the SDL port has no GUI at all.

all in all it's often a matter of tastes: being bl**dy lazy, I prefer not to reconfigure my pad in different ways and through different interfaces for each systems, and the possible lose of flexibility in the UI becomes a smaller problem.
other people could easily feel the other way round.
byuu wrote:Yeah, I really do need to write my own docs one of these days. At the very least, that should help benefit the MESS team. I certainly want them to succeed.
oh well, Arbee is certainly busy with other stuff as well, so don't feel any pressure. I'm sorry to have brought up the issue twice in few days, it only fit very well my argument here ;)
simply think to docs when you take a break from bsnes active coding, or during the PPU rewrite... no real hurry in that (especially as long as ZSNES & bsnes can be used on MacOS X as well ;)
mudlord wrote:If it really is that much a issue, why not ask the developer about the missing info and try to implement something from that?
this is a quite effective approach as well (e.g. psX author, ElSemi, DKnute). the reason not to release the source of an emu could be very valid (e.g. you don't consider it clean enough to be read by other people, you have it filled with plenty of non-english comments...) and does not mean that you won't release your source later.
OTOH, not explaining where a problem comes from when you're the only one to have dug deep enough to find it, it's hard to justify with something different than ego-boost[1]
mudlord wrote:So what if they don't give info?
no harm, of course. it's only that someone else has to redo the whole work. and this could take a lot of motivations to overcome the feeling your time is wasted (since the solution could be easily available with more cooperation between authors). and a lot of motivations usually mean a lot of time ;)


[1] please notice that I could be wrong here in connection to Kega and Steve Snake. He's not been very active in forums lately, so maybe it only had not enough time to share his findings... but for sure he avoided more than once to answer to direct requests on the reason why some instrument plays differently on Kega & the real thing compared to emulators which implement YM2612 following the manuals... and it' quite bad, because that would also help people composing new musics on that chip


EDIT:OMG... I'm being a lot verbose... I'll try to be shorter next posts ;)
byuu

Post by byuu »

mudlord wrote:If it really is that much a issue, why not ask the developer about the missing info and try to implement something from that? That way, they can conceal thier code, while still benefiting in some form. I really don't see the fuss in people not giving out thier code. Its thier choice, and we shouldn't strangle them until the source is released..... Or be worried about thier egos, if thier hiding information is purely from a egotistical standpoint.:? So what if they don't give info? :?
If you ask the developer and they give you that info, then I have zero objections to that. etabeta mentioned a case with a YM2612 glitch, where information is not being shared.

By not sharing work, you just force people to constantly reinvent the wheel. Have you seen how much SNES emulation has blossomed since ZSNES and Snes9X went open source? See how unbelievably spectacular NES emulation is, having been open source even longer? Now take a look at Sega Saturn emulation, where Yabause is the only open source emulator I'm aware of that plays any commercial games. How much better do you think Yabause would be if SSF and Giri Giri were open source?

Thusly, I find it very selfish to keep source closed on an emulator. We're competing against a ~20-40 year clock before these systems won't be available. We don't have time for these popularity contests.

I guess I'm just an idealist who believes that raw knowledge should be shared, royalty free, by everyone.
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

But does any person doing his/her hobby owe anybody anything? You seem to imply people are owed any information an individual discovers during their hobbyist work. That just sounds silly to me. Can it be greatly beneficial to a community? Certainly yes, but they're not obligated to share anything by any means. Why should they?

You can label it selfish if you want to, but why do you feel you or anybody else is owed or entitled to the information someone else discovers? If he/she wants to share, that's great and good things can come of it. But if they don't, that should be fine as well, and they shouldn't be labeled anything.

This is the kind of mentality that breeds some of that Debian attitude that everything must be free and completely open. Like people are somehow obligated to share everything openly, and for free. Look what kind of over- the-top finger pointing and labeling goes on there.

Ideally, yes, it would be great if everyone shared all knowledge, and everything was free. However, I don't think anyone should be labeled negatively, or treated poorly if they choose not to. They don't owe anybody anything. Any contributions are an added bonus, not a requirement. Perhaps sometimes these people also don't want to be part of or contribute to any particular community of people. Didn't you go through a similar phase with D a few years back with ROM hacking? It may have been just him, I forget.

Lastly, as touched on, perhaps there are some good, valid reasons why things are not released sometimes. Are you somehow a better or worse person if you share or don't share all information discovered openly? A nice guy and a helpful person sure, but that's probably about the extent of it.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
byuu

Post by byuu »

But does any person doing his/her hobby owe anybody anything?
Of course not. If you see someone being bullied, you don't have to help them. If the person in front of you is a dollar short and can't afford their grocery bill, you certainly don't have to give them that dollar. Doing so just makes you a nice person.
Why should they?
My point was more "why shouldn't they?", and there's really only one answer to that.
This is the kind of mentality that breeds some of that Debian attitude that everything must be free and completely open.
God yes, absolutely true. And that's what scares me the most about my current feelings on this matter.
However, I don't think anyone should be labeled negatively, or treated poorly if they choose not to.
Very true, one shouldn't be negative toward others about it. And yet at the same time, I can't help but be annoyed by it. It's very tough to bottle up things you feel so strongly about all of the time.
Didn't you go through a similar phase with D a few years back with ROM hacking? It may have been just him, I forget.
That's completely irrelevant, and a completely different story. I'll go over that in private with you, if you like.
Are you somehow a better or worse person if you share or don't share all information discovered openly?
Honestly? Yes, I think it does make you a better person to put others before your own interests. Of course, doing that fully is impossible in our society. The world simply doesn't work that way.
mozz
Hazed
Posts: 56
Joined: Mon Oct 10, 2005 3:12 pm
Location: Montreal, QC

Post by mozz »

byuu wrote:I'm really torn on this issue at the moment, and wavering back and forth on my opinion. On the one hand, I completely respect authors' wishes to not release their sources. On the other hand, it really annoys me that we still have these pissing contests in 2008. Hiding information so that one can be "the best." As if being "the best" has any actual value when emulating a 15-year dead game system aside from boosting one's own ego. It's even more annoying when these closed source emulators build upon the source and documentation of previous open emulators.
I know exactly what you mean. Another area I'm interested in is computer chess, where exactly the same thing occurs. One of the strongest chess engines right now is the closed-source engine Rybka. A few years ago, the author of Rybka came to the forums, spent months talking to and learning from the experienced "open source" developers (i.e. guys like Dr. Robert Hyatt who have been working on open-source chess engines for like 20 years) and learned from them for months, then he came up with some new ideas of his own and didn't share them back, but instead put all his efforts into developing Rybka and selling it as a commercial product. There has been quite a bit of controversy because earlier versions of Rybka were reverse-engineered by some other guy and made into the engine Strelka, which has lately been released as open source.

Anyway, some of the "open source" engine programmers who talk to each other and share ideas and info freely with each other, are understandably annoyed at people like Vas, the author of Rybka, who take advantage of the community's help but don't share back their own discoveries. But at least with chess engines they compete directly with each other to make the program that plays the best. Emulator authors aren't really in competition at all, other than maybe for the recognition of their fans. And there is no reason why we can't recognize zsnes, bsnes, sneese, etc. as all being great accomplishments resulting from the hard work and contributions of many dedicated people.

All emu authors want more or less the same thing---to make the best emulators they possibly can and keep alive the spirit of the many great games, and great gaming systems, made in the 80's and 90's. Clearly this is easier to do when everybody shares their discoveries with everybody else and helps each other work through bugs and problems with their emus.
byuu

Post by byuu »

Thanks, it's nice to see I'm not completely alone in this line of thought.
All emu authors want more or less the same thing---to make the best emulators they possibly can and keep alive the spirit of the many great games, and great gaming systems, made in the 80's and 90's. Clearly this is easier to do when everybody shares their discoveries with everybody else and helps each other work through bugs and problems with their emus.
Exactly! Emulation just feels different to me. I can understand the commercial ventures like Bleem!, VGS and the Wii Virtual Console. I imagine they all probably made use of publicly available information, but I'll give companies the benefit of the doubt and assume they have strict legal and ethical policies against that sort of thing.

But for the rest of us, we're a community of people, working together and writing these emulators, and asking for no profit whatsoever. It seems we all have the end goal of creating the best emulator possible, even if we aren't the ones to do it. Well, the vast majority of us, anyway.

pSXAuthor had a good reason. He can get in legal trouble for some reason. Either due to some contractual obligations, or due to some code that can't be made public for other reasons. Not entirely sure. But he even offers the code and assistance to other emu authors, so I have nothing but respect for him.

But what other reasons are there for not releasing one's sources? If it's not money, if it's not legal obligations, what is it? Why keep something secret? I'm not saying anyone should have to release their code -- I just want to know why they wouldn't.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

Because hogging a lot of information and thinking it's perfect is SOOOO GOOOOOOD

</saturn>
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Locked