1, 2, 3, 4, 5 ... 13  Next
higan-qq 
Author Message
User avatar

Joined: 2014-09-27 09:51
Posts: 95
 higan-qq
After a considerable hiatus, I've resumed work on my higan subproject, higan-qq

Along with my own patches, higan-qq includes LuigiBlood's sx2 v009 and hex_usr's nSide v006

The goals of higan-qq have been formalized:
  • Make the latest third-party improvements to higan more available
  • Prepare third-party patches for eventual incorporation upstream

Some neat things to do with higan-qq:

qq:
  • Build the AccuracyFast profile!
    -The Accuracy ppu and cpu with blargg's optimized spu. Theoretically, this should be faster than the Accuracy profile without sacrificing accurate output.
  • Optionally, specify executable name, profile, and target on the command line rather than edit Makefiles.
    -Make a debugger executable called "higan-debug"
    Code:
    target=loki name=higan-debug make
    -Make an emulator executable with AccuracyFast profile called "higan-qq"
    Code:
    name=higan-qq profile=accruacyfast make
    -Defaults are: target=higan name=$target profile=accuracy
    -Options may be specified on either side of "make" (did that always work?)
  • Optionally, specify an alternate install location (OSX, Linux):
    Code:
    DESTDIR=/somewhere/user/is/allowed/to/install make install
    -if you specified name=something to make, specify the same name=something to make install

sx2:
  • Connect to the satellites!
    -Emulation of the satellites is available through binaries generated by SatellaWave.
    -a set of satellite binaries is distributed with the bsnes-sx2 source, in out/bsxdat
    -for higan-qq, the binaries must be stored in [higan's config dir]/bsxdat
  • Many additional BSX titles are playable with emulated satellite support, including That is The City Whose Name Was Stolen's Story

nSide:
  • Use several extra controllers for famicom (zapper, family trainer, etc).
  • Play new (famicom variant) systems: PlayChoice-10 and VS System.
  • Organize your roms with new databases for famicom, playchoice-10, and vs system games.
  • Utilize many additional board mappings, including several unlicensed boards.
  • Output additional debugging for all cores.

_________________
higan-qq


2015-01-25 10:43
User avatar

Joined: 2014-09-27 09:51
Posts: 95
 Re: higan-qq
higan-qq TODO:

qq:
  • Add sed magic to target-higan's makefile so the .desktop file executes renamed executables
    -Also perhaps rename the .desktop file to match the renamed executable.
  • Properly rebrand higan-qq, maybe even allow for the installing alongside higan.
  • Benchmark AccuracyFast against Accuracy

sx2:
  • Distribute a default satellite binary (need to get SatellaWave building or working in linux)
  • Distinguish and incorporate changes from snes9x-sx2 v0.1 and v0.2. (what is this? i don't even...)
  • Update and incorporate xband and sfbox patches? (have patches for bsnes v082; low priority)
  • Port SatellaWave to hiro.
  • Properly implement a menu item to export mempacks

nSide:
  • Split nSide patch to component patches. (branding, debugging, etc)
  • Re-add the line that changes famicom serialization. (famicom savestates are not compatible between higan and nSide/higan-qq because of the updated controller support)
  • Update to nSide 009

bsnes-mercury:
  • Import speedhacks that do not compromise accuracy or detract from compiler optimization.
  • Formally benchmark speedhacks.

rerecording:
  • Patch in some rerecording features for the heck of it.

Upstream TODO:

sx2:
  • A better, more easily distributable and online means of emulating the satellites; possibly using a local binary that reads csv (town, news, etc) and binary (games, music, etc) files from a remote server.

nSide:
  • Iron out the kinks in automated controller swapping done?
  • Port to tomoko (in progress), possibly add some dropped ethos features to tomoko.

bsnes-mercury:
  • ?

higan:
  • Incorporate applicable improvements from these and future patchsets (someday, maybe, I hope)
    -The patches have to comply with byuu's coding standards
    -The code has to improve or add features that fit into higan's design
  • Add a list of contributing authors
    -There are names of contributors scattered across git commits, commented on particular bits of code, etc.
    -A unified list in a Readme is a minimal option
    -At best, a list of authors and their contributions, per core where applicable, in "About..." would be nice
    -nSide has an implementation of this (temporarily removed, with branding, from higan-qq)

_________________
higan-qq


2015-01-25 10:45
User avatar

Joined: 2014-09-27 09:52
Posts: 92
 Re: higan-qq
quequotion wrote:
higan-qq TODO:
sx2:
  • Distribute a default satellite binary (need to learn how to use SatellaWave lite)
  • Distinguish and incorporate changes from snes9x-sx2 v0.1 and v0.2. (what is this? i don't even...)
  • Update and incorporate xband and sfbox patches (have patches for bsnes v082)
  • Port SatellaWave to hiro (someday...)

Upstream TODO:

sx2:
  • A better, more easily distributable and online means of emulating the satellites; possibly using a local binary that reads csv (town, news, etc) and binary (games, music, etc) files from a remote server.
  • ?


I suggest to forget snes9x-sx2 because it's not really doing more than bsnes-sx2 (in fact it's doing worse).
About SatellaWave: DO NOT USE the Lite version. It's for older sx2 versions.
I was also doing SatellaWave Rewrite which would be a much better and clearer version but I can't say when I'll finish it since I'm doing 64DD emulation these days.

About xband, I was planning on removing it. And sfbox never really worked, and the best way to use it is with NO$SNS. Same deal for xband.

_________________
POYO~~!


2015-01-25 12:20
User avatar

Joined: 2014-09-27 09:51
Posts: 95
 Re: higan-qq
LuigiBlood wrote:
I suggest to forget snes9x-sx2 because it's not really doing more than bsnes-sx2 (in fact it's doing worse).
I see... In particular, I'd like to know if there's any way to load/unload mempak cartridges for games like RPG Maker. I noticed that you had this implemented in snes9x-sx2 but as I recall (haven't tested in a while) bsnes does not offer an extra menu to load mempak cartridges.
Quote:
I was also doing SatellaWave Rewrite which would be a much better and clearer version but I can't say when I'll finish it since I'm doing 64DD emulation these days.
There's an empty directory for its source code in your git repo. If you could upload what you have, I'll see if I can help!
Quote:
About xband, I was planning on removing it. And sfbox never really worked, and the best way to use it is with NO$SNS. Same deal for xband.
Unfortunately NO$SNS is closed source. Rather than just playing the games, I want to have the code in higan as a kind of living documentation. I believe the chip you were waiting for with sfbox is supported now.

I saw some of your 64DD videos on youtube! Neat stuff.

_________________
higan-qq


2015-01-25 13:27
User avatar

Joined: 2014-09-25 13:52
Posts: 8294
 Re: higan-qq
> About xband, I was planning on removing it. And sfbox never really worked, and the best way to use it is with NO$SNS. Same deal for xband.

I have absolutely zero interest in emulating eight processors and a bunch of OSD nonsense just to give the user a menu to select a game. This is one of the rare instances where I don't really care about preservation:
* Nintendo Power game select screen
* Super Famicom Box game select screen
* Nintendo Super System game select screen

All they do is let you select a game, and possibly auto-terminate the game on you after a few minutes. Once you've done so, the games are fully playable. And all of the games exist in isolation of their parent menu ROMs already. The only one with any game-modifying features, NSS, I emulate the DIP switch settings for. And in a much easier to use way than a physical DIP switch on the game PCBs.

As for X-Band, it's third-party like the Game Genie. Netplay is superior in every way, so if we were to ever go for online play, it'd be this way. Plus X-Band has the "Satellaview problem" in that a lot of the data for it (game patches) are lost forever.

If you guys want to do work on these things in your forks, that's great, by all means don't me discourage you. But I won't ever merge any work on these areas.

I hope you don't think of this as me being lazy and trying to take an easy out on emulating something: I'm the guy that spent weeks dumping firmware and emulating a full 32-bit ARM processor just to play a single Japanese chess game. But even I have my limits. Emulating SFBox/NSS/NP just feels like doing something for novelty, just like emulating the actual crappy, slow, amnesic Game Genie BIOS.

> Unfortunately NO$SNS is closed source.

And it does so after taking all ~8 years of research and free code sharing done by my forebears, and ~9 years of research and free code sharing by me. It's a real dick move on nocash's part. But the silver lining is that Win32-only x86 code that doesn't do anything useful that we don't isn't of any real use to us. So it's best to just thank him for his controller protocol documentation and ignore his project as the dead end vanity project that it is.

If I acted like nocash, my emulator might be more popular, his emulator (and Snes9X v1.5x+, and MESS) would be less advanced, Mednafen would lack SNES emulation, Openemu/Retroarch/Bizhawk/ZMZ would lack my cores (Retroarch probably wouldn't even exist), lsnes/sx2/qq/nSide/classic would not exist, Dolphin wouldn't be able to run as many GBA link games, and there would be no OS X, Linux or BSD ports available. And all because of one person who didn't learn how to share as a child. That's the kind of attitude people are supporting when they endorse closed source shit. That's what happens when you "pragmatically" support or endorse projects like no$sns, SSF et al.

The worst part of it all, really, is that this toxic attitude is so infectious. It's set back the Genesis and Saturn scenes by several years of where they could be by now, for example.

_________________
What the hell's going on? Can someone tell me please?
Why I'm switching faster than the channels on TV.
I'm black, then I'm white. No, something isn't right.
My enemy's invisible, I don't know how to fight.


2015-01-25 15:21
User avatar

Joined: 2014-09-27 09:52
Posts: 92
 Re: higan-qq
quequotion wrote:
LuigiBlood wrote:
I suggest to forget snes9x-sx2 because it's not really doing more than bsnes-sx2 (in fact it's doing worse).
I see... In particular, I'd like to know if there's any way to load/unload mempak cartridges for games like RPG Maker. I noticed that you had this implemented in snes9x-sx2 but as I recall (haven't tested in a while) bsnes does not offer an extra menu to load mempak cartridges.

Umm, bsnes has a menu to load Memory Packs. Maybe not higan though.
Unloading Memory Packs is useless though.

quequotion wrote:
Quote:
I was also doing SatellaWave Rewrite which would be a much better and clearer version but I can't say when I'll finish it since I'm doing 64DD emulation these days.
There's an empty directory for its source code in your git repo. If you could upload what you have, I'll see if I can help!

I didn't really bother uploading it because it's still very early. But I guess I'll put it in there once I can.

quequotion wrote:
Quote:
About xband, I was planning on removing it. And sfbox never really worked, and the best way to use it is with NO$SNS. Same deal for xband.
Unfortunately NO$SNS is closed source. Rather than just playing the games, I want to have the code in higan as a kind of living documentation. I believe the chip you were waiting for with sfbox is supported now.

I don't want to do SFBOX anymore, so...

quequotion wrote:
I saw some of your 64DD videos on youtube! Neat stuff.

...64DD vids? Oh, those old ones. I only began working on 64DD emulation since a few weeks ago, I've only shown pics.

_________________
POYO~~!


2015-01-25 18:14
User avatar

Joined: 2014-09-27 09:51
Posts: 95
 Re: higan-qq
byuu wrote:
As for X-Band, it's third-party like the Game Genie. Netplay is superior in every way, so if we were to ever go for online play, it'd be this way. Plus X-Band has the "Satellaview problem" in that a lot of the data for it (game patches) are lost forever.
My attachment to it probably stems from my fond memories of direct-dial versus play on the SegaSaturn Netlink (also an X-Band modem). It doesn't seem like I'm getting around to revamping those patches any time soon anyway; Satellaview matters much more to me as it seems to be an attainable goal.

Quote:
I hope you don't think of this as me being lazy and trying to take an easy out on emulating something
Not at all! I do hope you'll be open to some additions in the future, provided they meet the criteria I've listed above (follows your coding standards; improves or adds features that fit higan's design).

Quote:
after taking all ~8 years of research and free code sharing done by my forebears, and ~9 years of research and free code sharing by me. It's a real dick move on nocash's part.
What puzzles me, if he's going to go that far, is why he doesn't try to sell it. Profiting off the free contributions of others is nothing new in commercial software, and by all accounts he could use the money...

Quote:
That's what happens when you "pragmatically" support or endorse projects like no$sns, SSF et al.
And that's why I don't. Besides the fact that most of those closed-source Win32-only releases are a nightmare to make work with WINE and I will neither purchase nor install an entire operating system to use a single program; let alone one that's vulnerable to every kind of attack and comes packed with spyware...

_________________
higan-qq


2015-01-25 21:25
User avatar

Joined: 2014-09-25 13:52
Posts: 8294
 Re: higan-qq
> Satellaview matters much more to me as it seems to be an attainable goal.

Yeah, even though we can't ever 100% preserve the Satellaview, I'd still really enjoy seeing as much of it emulated as possible in upstream. I'd love to see the town with no name alive again, running on my own server.

> Not at all! I do hope you'll be open to some additions in the future

Yes, but note that I'll mostly be coding them myself, and will need to hold copyright on it, so that I can handle relicensing in the future. So it won't be anything like a direct patch merge.

> What puzzles me, if he's going to go that far, is why he doesn't try to sell it.

He did try and sell it for quite a while.

Which is kind of sad. I can't imagine he made more than $200 on the SNES emulator. Whereas I've received over $2500 on personal donations, and another $2500 in chip decapping donations. I also had someone trust me with a $1000 loan. When it comes to emulation, the donation model works substantially better. There are lots of amazing people who are willing to donate quite a lot, yet hate being forced to give even a much smaller amount of money for something.

Now, that said, the phone app store market for emulators is red hot. The desktop market for emulators is virtually non-existent. The guy selling the Android SNES emulator, most likely based largely on Snes9X? He's had 400,000+ downloads, and I think he charges $4 for each download. But you know, you become obsessed with programming in bare assembly on an old processor and it really limits your ability to target where the real money is at.

You want to make a million dollars? Be the first to offer an Android 3DS emulator.

> and by all accounts he could use the money...

And when he asked for it, even I sent him a small donation of what I could, as thanks for the controller documentation.

I'm not against people trying to sell something and earn money. I'm not even entirely against selling emulators in general (though I do think you're still capitalizing on the R&D of other companies, everyone does this to some extent. I also sold exactly one license to higan, although I don't think it was ever used.) But I'm very much against the idea of taking, taking, taking and then giving nothing back.

It's like the give-a-penny, take-a-penny tray at gas stations. What would you think of the person who comes in and empties the tray into their pockets every time they come there? They ruin the reciprocity for everyone else.

> And that's why I don't.

Yeah, we have good people on this forum.

I'm more lamenting about what I see on other forums, and especially with other more prominent closed source emulators. (being honest, no$sns is about as popular as SNem, SNEeSe or SNEqr.)

I think everyone in life always wants to be as polite and respectful as possible, and are so afraid of making enemies or offending people that they end up never criticizing really bad ideas or behaviors.

People act like being a tactless asshole is the easiest thing in the world to do, but it really takes an incredible amount of fortitude to be willing to alienate almost everyone to speak the truth on things. It's much, much easier and more enjoyable to be a yesman. Trolling is easy. But principled objection is substantially more difficult.

I could easily butter up to him, and go, "hey man, I really like what you're doing here, but could you please look into $xyz for me?" and probably get him to work on something for me for free. Maybe the Magical Drop bug, if he's affected too. But what kind of person would that make me? A manipulator. I have "friends" like that which try and extract free work out of me. They think they're clever and sly, but I see right through it. I will never be like them, even if it costs me my friends.

If everyone were to be honest, I think we could exert a lot more societal influence on others that not sharing is not acceptable behavior for a decent human being.

_________________
What the hell's going on? Can someone tell me please?
Why I'm switching faster than the channels on TV.
I'm black, then I'm white. No, something isn't right.
My enemy's invisible, I don't know how to fight.


2015-01-25 22:37
User avatar

Joined: 2014-09-27 09:51
Posts: 95
 Re: higan-qq
byuu wrote:
though we can't ever 100% preserve the Satellaview, I'd still really enjoy seeing as much of it emulated as possible in upstream. I'd love to see the town with no name alive again, running on my own server.
It would provide a an appropriately interactive and retro forum for SNES homebrew developers and chiptune artists to distribute content. I'd especially like to see and hear new content in live broadcast gaming.

Quote:
Yes, but note that I'll mostly be coding them myself, and will need to hold copyright on it, so that I can handle relicensing in the future. So it won't be anything like a direct patch merge.
I'm working on higan-qq for progress; not profit, but I can't speak for the other projects it's absorbed. Since they're all derivative of your GPL project, as I understand it they are also GPL with no means to prevent your use of the code as you see fit. If anything, you can always ask if people don't mind resigning copyright on a useful patch. Of course, even if you re-write the code, do make sure to credit where an idea came from.

Quote:
the phone app store market for emulators is red hot
This makes me sick! Why is it that any software for a smartphone, even if ripped off from a free open-source project, or even software of absolutely no quality, can be sold for money? It's one thing if an open-source project releases an iPhone or Android version to raise money for itself, but it seems to me that a lot of third parties are somehow skirting the GPL and cashing in on other people's work. Then I also see a lot of junk that doesn't work and doesn't even get good reviews but still has a few thousand downloads at $0.50 each...

_________________
higan-qq


2015-01-25 23:45
User avatar

Joined: 2014-09-25 13:52
Posts: 8294
 Re: higan-qq
> it seems to me that a lot of third parties are somehow skirting the GPL and cashing in on other people's work

They know we can't afford lawyers, and they mostly cover their tracks (which is yet another problem and reason for closed source software: outright theft.) One of the authors missed renaming two major functions from Snes9X, though, SA1MainLoop and SuperFxExec. But as you can see, no consequences, so why not?

As for why people desire to play video games on cell phones that lack physical buttons? That boggles my mind.

_________________
What the hell's going on? Can someone tell me please?
Why I'm switching faster than the channels on TV.
I'm black, then I'm white. No, something isn't right.
My enemy's invisible, I don't know how to fight.


2015-01-26 01:19
1, 2, 3, 4, 5 ... 13  Next