bsnes v0.041 released

Archived bsnes development news, feature requests and bug reports. Forum is now located at http://board.byuu.org/
Locked
Verdauga Greeneyes
Regular
Posts: 347
Joined: Tue Mar 07, 2006 10:32 am
Location: The Netherlands

Post by Verdauga Greeneyes »

FirebrandX wrote:Byuu, I remember you were always against it, but is there a chance you might reconsider putting in a history feature? Just the top 5 most recently played would be really nice. I'm playing CT again and it's kind of a pain to have to navigate to the rom every time I run bsnes.
Even just the last run game would be good. Maybe change the Power settings to 'Play last loaded'? It makes sense if you think about it - you don't take the cartridge out of your SNES every time you turn the thing off. You could drop the cascaded Power menu to make this more intuitive. Can you change the menu text dynamically yet? (if so, change the text when a ROM is loaded to 'Power off' or some such, and keep both options for Hiro)
Last edited by Verdauga Greeneyes on Sun Mar 15, 2009 7:14 pm, edited 1 time in total.
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

FirebrandX wrote:Byuu, I remember you were always against it, but is there a chance you might reconsider putting in a history feature? Just the top 5 most recently played would be really nice. I'm playing CT again and it's kind of a pain to have to navigate to the rom every time I run bsnes.
Doesn't bsnes remember the folder you last loaded from? What is slow about that? You can also give the games you're playing their own directory if you're annoyed by sifting through your collection, or type first few chars of the filename, that's what I do.
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Doesn't bsnes remember the folder you last loaded from?
No. At least not for me on my WindowsXP.

EDIT:
Btw, it only happens after the Qt rewrite.
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

AamirM wrote:
Doesn't bsnes remember the folder you last loaded from?
No. At least not for me on my WindowsXP.

EDIT:
Btw, it only happens after the Qt rewrite.
Wow, you're right. It remembers it until the emulator closes, then it goes back to the root dir. At least defining a path still works.
Lazarus
Rookie
Posts: 13
Joined: Tue Aug 29, 2006 2:51 am

Re: bsnes v0.041 released

Post by Lazarus »

byuu wrote:Sorry. Derrick's main PC is a Loongson MIPS-clone, so the i386 port is no longer being updated :(
I think it would be sweet if bsnes was in the official Debian (and Ubuntu) repositories. If I can make the time someday to become a Debian maintainer myself I would gladly take care of that.
byuu wrote:Wow cool, must be a newer Celery.
Be sure to profile it too for an extra ~15% speed boost :D
Newer, but by no means very new: Celeron M 530 (1.73 GHz)
How do I profile it? Is that a 'make' parameter? I only did 'make platform=x compiler=gcc'.
byuu wrote:The keyboard shortcuts that exist are under Settings -> Configuration -> Input -> User interface (it's the third option after the two controller ports.)

There's no key binding to minimize / maximize windows, for that I'd recommend relying on your desktop environment. Win7 has Win+Up / Win+Down, and GNOME + Xfce at least have window manager shortcut keys that are user-assignable.
Thanks! F11 does the job fine (I can't believe that wasn't the first thing I tried @_@).
FirebrandX
Trooper
Posts: 376
Joined: Tue Apr 19, 2005 11:08 pm
Location: DFW area, TX USA
Contact:

Post by FirebrandX »

FitzRoy wrote:
FirebrandX wrote:Byuu, I remember you were always against it, but is there a chance you might reconsider putting in a history feature? Just the top 5 most recently played would be really nice. I'm playing CT again and it's kind of a pain to have to navigate to the rom every time I run bsnes.
Doesn't bsnes remember the folder you last loaded from? What is slow about that? You can also give the games you're playing their own directory if you're annoyed by sifting through your collection, or type first few chars of the filename, that's what I do.
Its a matter of convenience. By your points, none of the other emulators should have a history feature, yet they do and people appreciate it.
NES NTSC palette file:

http://www.firebrandx.com/downloads/fbx2pal.zip
byuu

Post by byuu »

Byuu, I remember you were always against it, but is there a chance you might reconsider putting in a history feature?
Sorry, I still hate user-tracking software.
Wow, you're right. It remembers it until the emulator closes, then it goes back to the root dir. At least defining a path still works.
A bug in Qt 4.4 w/QGtkStyle forced me to always specify something for a path. A blank startup directory throws all kinds of warnings to stdout. So I defaulted to the startup path. If you want to control that, you can make a shortcut and change its startup path to point wherever you want. Or you can use the default ROM path option.

If it really matters, I can save the last active path to the config file.

Also, Windows 7 is screwy and completely ignores whatever path you give it. But it does remember your last path, even after reboot. They apparently store per-app data somewhere in the registry for the whole OS now. It's kind of neat, but I wish they'd honor it when you give them a valid path.
I think it would be sweet if bsnes was in the official Debian (and Ubuntu) repositories.
Would certainly be nice. Especially if they kept it up to date like the awesome [vEX] and belegdol. The only person to offer for Debian wouldn't do it because of my license.
FirebrandX
Trooper
Posts: 376
Joined: Tue Apr 19, 2005 11:08 pm
Location: DFW area, TX USA
Contact:

Post by FirebrandX »

byuu wrote:
Byuu, I remember you were always against it, but is there a chance you might reconsider putting in a history feature?
Sorry, I still hate user-tracking software.
:cry: You make baby Jesus cry :cry:

Seriously though, it's cool. Just though I might test the waters with my toe a little bit there. Never know when you might do something crazy like add in turbo fire options :wink:
NES NTSC palette file:

http://www.firebrandx.com/downloads/fbx2pal.zip
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

byuu wrote:A bug in Qt 4.4 w/QGtkStyle forced me to always specify something for a path. A blank startup directory throws all kinds of warnings to stdout. So I defaulted to the startup path.
Well, I guess it's sort of impossible for "last loaded from" to be an accurate description on first-run anyway. I think you should discard that behavior then and use <startup folder> for the default. Also, I dislike the usage of "file path" over "folder path". A save file isn't detected/generated in the "same (filepath) as loaded game". Can you please change the descriptions to "same folder as loaded game" to clarify?
byuu

Post by byuu »

Bad news for belegdol. I bought this controller to try and work on the SDL hat thing:
http://benchmarkreviews.com/index.php?o ... 9&Itemid=1

... absolutely no hats detected.
On the bright side, the D-pad acts like axes 7-8, and I have two of those "force" button axis things. So it gives me something to improve my input driver with at least.

It also has force feedback.
Can you please change the descriptions to "same folder as loaded game" to clarify?
Yeah sure, that sounds fine.
h4tred

Post by h4tred »

Even better if it can write out additional files, so you can 'embed' DLLs with your app distribution.

...That is possible with some compressors. :?
gllt
NO VOWELS >:[
Posts: 753
Joined: Sun Aug 31, 2008 12:59 pm
Location: ALABAMA
Contact:

Post by gllt »

h4tred wrote:
Even better if it can write out additional files, so you can 'embed' DLLs with your app distribution.

...That is possible with some compressors. :?
In during thinst-I mean vmware thinapp
h4tred

Post by h4tred »

thinstall/etc dont count.

PEBundle/etc does. :?
h4tred

Post by h4tred »

The costs now outweigh the relative gains and they should both be deprecated, either in favor of general compression standards or nothing at all.
..I was going to say a witty remark regarding FSNES, but chose not to, since that is pretty much the same logic....

Instead:

* Antivirus devs need to lift their game.
* Executable compression should be a choice and should stay with BSNES. In fact, it should force AV developers to improve thier detection methods. Not the other way around, were end users have to work around the antivirus program. If you have a better idea, I would love to hear it.

And no, I don't mean writing another packer which uses aPack/LZMA. :roll:
gllt
NO VOWELS >:[
Posts: 753
Joined: Sun Aug 31, 2008 12:59 pm
Location: ALABAMA
Contact:

Post by gllt »

so why don't antivirii programs just un-upx the files and scan them yet
I just realized how obvious this is.

edit; byuu http://thepiratebay.org/torrent/4775004/bsnes_041
henke37
Lurker
Posts: 152
Joined: Tue Apr 10, 2007 4:30 pm
Location: Sweden
Contact:

Post by henke37 »

Eeye did some related research recently.
Dullaron
Lurker
Posts: 199
Joined: Mon Mar 10, 2008 11:36 pm

Post by Dullaron »

Mirror download. bsnes.exe (non upx compress.) and src in one. http://coonstation.googlepages.com/bsnes_v041.zip

I use the 7zip to compress. This is what MAME people do.

No more upx complaining.
Window Vista Home Premium 32-bit / Intel Core 2 Quad Q6600 2.40Ghz / 3.00 GB RAM / Nvidia GeForce 8500 GT
gllt
NO VOWELS >:[
Posts: 753
Joined: Sun Aug 31, 2008 12:59 pm
Location: ALABAMA
Contact:

Post by gllt »

Dullaron wrote:Mirror download. bsnes.exe (non upx compress.) and src in one. http://coonstation.googlepages.com/bsnes_v041.zip

I use the 7zip to compress. This is what MAME people do.

No more upx complaining.
Hey brilliant, a++
upx at byuu
non-upx mirrors by choice
I support this.
byuu

Post by byuu »

New WIP.

I may have found the SDL POV hat issue. I was masking a result, but the array wasn't boolean. It may work better now.

I've also dropped the analog -> D-pad mapping in both drivers. It just doesn't work ... some controls treat the D-pad as a mirror of the main analog axis, some treat it as a POV-hat, some treat it as its own 'analog' axis (that only returns -32767, 0 or 32767).

What this means is that for now, no mapping of analog sticks will work correctly. I'm going to have to adapt the mapping system to accommodate these.

I also added an 'Assign All ...' button to the input capture window. Note that it is grayed out on 'User interface' items. Although I could, it makes no sense to quickly assign all of those (as most you won't want mapped to anything at all.)

I'm thinking about re-ordering the list from:
Up, Down, Left, Right, A, B, X, Y, L, R, Select, Start
to:
Up, Down, Left, Right, Y, X, B, A, L, R, Select, Start

Reason being that it's more natural with the layout of the real controller. Agree or disagree?

Oh, and I fixed the NTSC merge settings thing. Takes effect immediately too.
ShadowFX
Regular
Posts: 265
Joined: Thu Jul 29, 2004 8:55 am
Location: The Netherlands

Post by ShadowFX »

byuu wrote:I'm thinking about re-ordering the list from:
Up, Down, Left, Right, A, B, X, Y, L, R, Select, Start
to:
Up, Down, Left, Right, Y, X, B, A, L, R, Select, Start

Reason being that it's more natural with the layout of the real controller. Agree or disagree?
Neither actually. I am used to assign my buttons like the first one (ZSNES style), although I wouldn't mind using the second method.
[i]"Change is inevitable; progress is optional"[/i]
FirebrandX
Trooper
Posts: 376
Joined: Tue Apr 19, 2005 11:08 pm
Location: DFW area, TX USA
Contact:

Post by FirebrandX »

byuu wrote:I'm thinking about re-ordering the list from:
Up, Down, Left, Right, A, B, X, Y, L, R, Select, Start
to:
Up, Down, Left, Right, Y, X, B, A, L, R, Select, Start

Reason being that it's more natural with the layout of the real controller. Agree or disagree?
Agreed. Its a more natural order.
NES NTSC palette file:

http://www.firebrandx.com/downloads/fbx2pal.zip
tetsuo55
Regular
Posts: 307
Joined: Sat Mar 04, 2006 3:17 pm

Post by tetsuo55 »

byuu wrote:I'm thinking about re-ordering the list from:
Up, Down, Left, Right, A, B, X, Y, L, R, Select, Start
to:
Up, Down, Left, Right, Y, X, B, A, L, R, Select, Start

Reason being that it's more natural with the layout of the real controller. Agree or disagree?
I agree that the new ordering is more natural
A possible alternative, clockwise:

Up, Right, Down, Left, X, A, B, Y, L, R, Select, Start
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

h4tred wrote:* Executable compression should be a choice and should stay with BSNES. In fact, it should force AV developers to improve thier detection methods. Not the other way around, were end users have to work around the antivirus program. If you have a better idea, I would love to hear it.
It's not a matter of giving up anything to "work around" av programs. We don't need to have niche compression formats for every filetype to save an immaterial amount of space. Devs probably spend more time compiling with it than it would take them to earn the $10 a year in bandwidth it saves. So even if it isn't clear to you today, things like UPX will fall into disuse eventually.
I agree that the new ordering is more natural
A possible alternative, clockwise:

Up, Right, Down, Left, X, A, B, Y, L, R, Select, Start
In language, I always hear "up and down, left and right." It sounds better and pairs the axes. I will always say "ABXY" alphabetically when referring to the buttons as well. I don't think changing the order speeds up mapping either way, it'll just make it harder to reference in conversation.
byuu

Post by byuu »

Okay, one thing I hate about the current Qt code is that to get the proper size of a window, I have to show() it first. That causes a brief flicker the first time any window is shown where I have to center it immediately after. Otherwise it returns sizes that are way too big, making my move() place the widget in the wrong location.

I can't just place the window offscreen, because Linux WMs ignore that and put it at the top left.

I did find a workaround. Only tested on Windows, but I see no reason it won't work on Xorg:

Code: Select all

    window->showMinimized();

    QDesktopWidget *desktop = QApplication::desktop();
    unsigned x = window->frameGeometry().right() - window->frameGeometry().left();
    unsigned y = window->frameGeometry().bottom() - window->frameGeometry().top();
    x = (desktop->width()  - x) / 2;
    y = (desktop->height() - y) / 2;

    window->move(x, y);
    window->showNormal();
FitzRoy wrote:Devs probably spend more time compiling with it than it would take them to earn the $10 a year in bandwidth it saves. So even if it isn't clear to you today, things like UPX will fall into disuse eventually.
Or $100? I don't think it takes me more than five hours to UPX compress ~10 binaries a year. The amount of time discussing it is getting close though, sadly.

It'll fall out of disuse once bandwidth prices come down.
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

Dullaron wrote:Mirror download. bsnes.exe (non upx compress.) and src in one. http://coonstation.googlepages.com/bsnes_v041.zip

I use the 7zip to compress. This is what MAME people do.

No more upx complaining.
Awesome, I didn't see this before. On my work computer (P4), the uncompressed program loads up almost instantaneously, very snappy. There's about a 1.5 second delay every time with the UPX one.
Locked