bsnes v0.031 released

Archived bsnes development news, feature requests and bug reports. Forum is now located at http://board.byuu.org/
Locked
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

No credit should be given to conversion. It just needs to be done.
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

FitzRoy wrote: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.
I have enough doubt to people's rationality that I'm fairly certain someone will raise a stink and a megaflamewaricus will start over it.
byuu

Post by byuu »

FitzRoy wrote: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.
While most ROM hackers in the scene are absolutely awesome people, some of them are just incredible. I can guarantee you that some people would freak the hell out even if you just changed their original archive from RAR to ZIP, let alone a format shift. It really makes you wonder if they even realize they're committing the exact same copyright infringement that they're complaining about.

Besides that, I really wouldn't want to force people to use UPS if they didn't want to. The only thing I'd want to enforce is a no headers rule for SNES.
byuu

Post by byuu »

New WIP posted.

Not much to this one.

- added FitzRoy's updated program icon
- removed safe_free / safe_delete / safe_release template functions
- replaced nearly all malloc / free calls with new / delete[]

And lastly ... long ago, I used "File / Edit / Help" to conform to standard UI design. I quickly replaced Edit with Settings, and later Help with Misc. Lately, the last one has been bugging me ... "File"? File what? Why is there a reset system option under file?

So, it may be somewhat controversial, but I renamed File to System, and dropped the now superfluous " System" from Reset / Power Cycle.

I'd honestly like to remove "Exit" from that menu as well, but I know I'd be pushing it then.

What I want to do next is move "Disabled" in speed regulation to the bottom of the list, and add key bindings to increase / decrease speed regulation. I'd like the step after fastest to be disabled. It makes sense, as fastest can never be faster than disabled, but disabled can be faster than fastest.

Other nice ideas would be: a cartridge info option under the system menu somewhere, frameskip +/- key bindings, an exit emulator key binding, a new GUI panel with options to warn on reset / unload / exit, and cleaning up of the event namespace for the UI. Specifically, start working on a more advanced status panel that can display five-second alerts that override the normal output.
Verdauga Greeneyes
Regular
Posts: 347
Joined: Tue Mar 07, 2006 10:32 am
Location: The Netherlands

Post by Verdauga Greeneyes »

And bsnes becomes more refined once again :)
byuu wrote:And lastly ... long ago, I used "File / Edit / Help" to conform to standard UI design. I quickly replaced Edit with Settings, and later Help with Misc. Lately, the last one has been bugging me ... "File"? File what? Why is there a reset system option under file?

So, it may be somewhat controversial, but I renamed File to System, and dropped the now superfluous " System" from Reset / Power Cycle.
When I read that first paragraph, the word that immediately popped into my mind was 'System', so I think it's intuitive enough not to be controversial.
As for the Exit option, perhaps you can think of opening bsnes as taking your SNES out of the closet, and Exit as putting it back? ;) Either way it seems strange to have the GUI appear before a game is loaded, yet to not have an Exit option.
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

byuu wrote: What I want to do next is move "Disabled" in speed regulation to the bottom of the list, and add key bindings to increase / decrease speed regulation. I'd like the step after fastest to be disabled. It makes sense, as fastest can never be faster than disabled, but disabled can be faster than fastest.
Slower/Faster ;)
So, it may be somewhat controversial, but I renamed File to System, and dropped the now superfluous " System" from Reset / Power Cycle.
There are emulators that gravitate towards what you're doing and it's understandable why, but some go so far as to separate Load and Power On as actions. I mean, what are we going to do, make sure to turn off the power before unloading the cartridge? In the real world, that protected a physical system from damage. In an emulator, it just wastes people's time. My suggestions is this:

1. Right now, power on and off are implied and combined with load and unload. Change "Power" (Power Off + On) to its own section above reset with "Power On" and "Power Off" instead. It will be a gray-out system, only one or the other can be activated. When the emulator first starts up, both should be grayed out. When a cartridge is loaded, the grayed out or activated section automatically change to "Power On". When a cartridge is unloaded, it automatically changes to "Power Off". If someone chooses "Power Off" while the game is running, all bsnes has to do is keep the game loaded, clearly implied by having the title in the status bar. So there you go, Power and Load are separated without making people perform both functions every time they load a rom. I would also gray out reset when power is off, and power on and unload after a game is unloaded.

And Verdauga is right. Exit can be thought of as leaving the system. If loading a cartridge is a system function, then leaving the system may as well be, too.
Last edited by FitzRoy on Wed Apr 16, 2008 4:43 pm, edited 2 times in total.
Rashidi
Trooper
Posts: 515
Joined: Fri Aug 18, 2006 2:45 pm

Post by Rashidi »

is snes can be programed that may run using multiple cart?

think like Monster Farm, that may use any disc to create monster, just replace with "disc" with "snes cartridge", irrc GBA can also programmed that way...
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

lol, I just realized that with my suggestion, "Power On" would always be grayed out, which is kind of pointless. Maybe the checkmark system was better after all. Oh well, I should have thought harder about this but it's pissing off my brain.
Snark
Trooper
Posts: 376
Joined: Tue Oct 31, 2006 7:17 pm

Post by Snark »

I know it's juts semantics but I don't see the problem if the emulator says "load cartridge" instead of "load file" ("but it's not a cart! its a file!") "soft/hard reset system" instead of "emulation" etc
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

The fundamental problem is that no one loads a game without intending to run it, but on old consoles, games did not auto-run. You loaded the game, then you powered on the system. Today, it's the opposite. So it makes sense to additionally and automatically perform power on and off when loading and unloading a file to save people time and prevent them from confusing themselves. If this were bwii, just opening the program would be equivalent to powering on the system. I think pSXEmulator operates this way.

With power functions automatically performed as they are now in bsnes, "Power (Cycle)" serves practically no purpose other than to be a fast version of unloading / loading the current game. It's only there as an alternative reset mechanism, since Reset itself has different effects on the RAM than cutting the power entirely.

Problem is, if you want things to be utterly logical and descriptive, then you have to separate power from load. Because technically, it's possible to power on a system without a game in it. Technically, it's possible to insert a game into a system with the power on. But to me, that's no more worth allowing than "unhook video cable."
ZH/Franky

Post by ZH/Franky »

Hey, bwii. With the amount of accuracy he'd put into, it would require a super computer to run, at half speed.

No offense intended. I'm just saying that since bsnes requires so much power to be so accurate, that a system much more complex would require much more cpu power.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Snark wrote:
But it's not a cart! Its a file!
A virtual cartridge can consist of several files that are loaded all at once: ROM, SRM, IPS/UPS, possibly even graphic packs and other files.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
byuu

Post by byuu »

Well, I like the auto power-on from cart load.

Unload is pretty silly, true. The one big thing it does is save SRAM and cheat codes to disk, and clear out the UI stuff like the cheat code editor entries.

I also like how fast power cycle works. One option to do both. I can't imagine why anyone would want to stare at a powered off emulator window. Makes even less sense than an unloaded cart window (at that point, it's in the same state as when you first start the emu.)

But I don't like having both reset and power, either. It's confusing to everyone but developers. An end user isn't going to know about RAM persistence.

I'd say something like ...

Load Cart
Load Special
<no cartridge loaded> [grayed]

Load a game, the third option changes to "Power off". Click it, it changes to "Power on" and vice versa. And figure something out for the power cycle key binding. Maybe off->on if state = on, and ->on if state = off or something.

If I could figure out menu option hiding in Windows, I could just hide the third option entirely so that we don't need <no cart loaded> there.
Verdauga Greeneyes
Regular
Posts: 347
Joined: Tue Mar 07, 2006 10:32 am
Location: The Netherlands

Post by Verdauga Greeneyes »

I think greying an option out is generally clear enough; no need to change the text. The only people who might be interested in a Power Cycle option besides devs would be TASers, I imagine, since TASes generally start from a power cycle. (of course, for TASes in bsnes to be feasible we'd need to figure out how to add savestate support) How about this?

Code: Select all

Load Cart ...
Load Special ...
Reset (greyed out before game is loaded)
Power Cycle / Hard Reset (either, not both; same as above)
Exit
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

Power Cycle is redundant. Re-Loading the current game does the same thing. Putting the option in assumes that it is so frequently needed and used that the time it saves warrants its existence. But in the presence of regular reset, and given the frequency reset is used period, I'm not seeing it.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

FitzRoy wrote:Power Cycle is redundant. Re-Loading the current game does the same thing
Which is very annoying if you have no "recent carts" list and 850+ files in the file dialog.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
King Of Chaos
Trooper
Posts: 394
Joined: Mon Feb 20, 2006 3:11 am
Location: Space

Post by King Of Chaos »

creaothceann wrote:
FitzRoy wrote:Power Cycle is redundant. Re-Loading the current game does the same thing
Which is very annoying if you have no "recent carts" list and 850+ files in the file dialog.
Agreed 100%.
[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]
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

FitzRoy wrote: Technically, it's possible to insert a game into a system with the power on.
Actually, it's not.

If I recall, byuu's made a conscious choice at this point to emulate a launch-revision SNES.
Those units had a lock tab that engaged with the power switch that prevents you from inserting or removing a cartridge while power is on(or on the later cart shell design, prevents inserting, and turns the system off when you remove).


So no worries, emulating live insertion isn't necessary. :)
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

King Of Chaos wrote:
creaothceann wrote:
FitzRoy wrote:Power Cycle is redundant. Re-Loading the current game does the same thing
Which is very annoying if you have no "recent carts" list and 850+ files in the file dialog.
Agreed 100%.
Disagreed 1000%. Normal reset would still exist.
Actually, it's not.
Interesting. I must have broken it when I had one.
King Of Chaos
Trooper
Posts: 394
Joined: Mon Feb 20, 2006 3:11 am
Location: Space

Post by King Of Chaos »

byuu wrote: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.
Then I'll refrain from telling you there's a new GoodSNES out... oh wait. :x UGH, there's no way I'm about to use it though.
[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]
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

*Did some googling*

Oh, Jesus Christ. He's behind MESS?

Well, there's another program I will never touch...

Edit: *Did some more googling*

Um, goodnes is updated. I can't find goodsnes... According to the official web site, at least.
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

Hey, bwii. With the amount of accuracy he'd put into, it would require a super computer to run, at half speed.

No offense intended. I'm just saying that since bsnes requires so much power to be so accurate, that a system much more complex would require much more cpu power.
Who. Really. Cares?

byuu is doing this as a hardware documentation project. So speed does not matter. At all. Who gives a fuck if it needs bleeding edge hardware, as long as its 100% perfect emulation.
etabeta
Rookie
Posts: 29
Joined: Sun Jun 17, 2007 9:18 am

Post by etabeta »

sorry for the OT, but some clarification was needed... then we can go back and enjoy the wonderful work byuu's doing :)
I.S.T. wrote:*Did some googling*

Oh, Jesus Christ. He's behind MESS?

Well, there's another program I will never touch...
DANGER!!!!! DISINFORMATION!!!

you should google better next time. Cowering contributes to MESS hashes files (i.e. huge xml-like files containing crcs to identify images) and detection routines (similar to the above, detecting e.g. megadrive chinese pirate games from their headers, to install the appropriate handlers for protections)

Cowering does nothing more for MESS [1], so please do not spread lies as facts ;)

main contributors to MESS are Nathan P. Woods (which does core changes to keep MESS up-to-date with MAME), Wilbert Pol (aka judge), R.Belmont and a bunch of other brilliant developers working on the emulation of specific computers/consoles...

[1] in fact, he also provides the server which hosts the svn repository, but I guess you were referring to his coding contributions ;)
tetsuo55
Regular
Posts: 307
Joined: Sat Mar 04, 2006 3:17 pm

Post by tetsuo55 »

converting all Snes IPS patches to UPS should take 1 person no more than a day.

Also if UPS is really as similar to Ninja as byuu sais this means that all the original copyright information can be included in the patch itself (instead of as an extra document)

This also means that copyright information is always included with the patch, because a lot of people remove the zip/rar and the included documents.

I don't know if a hardpatched file also contains the copyright info...
henke37
Lurker
Posts: 152
Joined: Tue Apr 10, 2007 4:30 pm
Location: Sweden
Contact:

Post by henke37 »

I mean, the converter can be run at auto, it can be made smart enough to remove the header if needed?
Locked