#161787 - gauauu - Thu Aug 14, 2008 3:23 am
Has anyone ran into a flash-based gba emulator? (as in Adobe flash, not flashcard flash) I know there are flash-based nes emulators floating around, but any searches I do for gba just return hits about flash cards, so I wasn't having much luck. Probably because they don't exist, but just curious.....
#161789 - Dwedit - Thu Aug 14, 2008 4:56 am
I thought Visualboyadvance was slow enough... Now you want a GBA emulator written in Javascript?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#161790 - sgeos - Thu Aug 14, 2008 6:24 am
Dwedit wrote: |
I thought Visualboyadvance was slow enough... Now you want a GBA emulator written in Javascript? |
It would have its uses. If Moore's law is sustainable you could eventually put homebrew demos up on your website, playable in the browser. (I've never actually used any flash emulator.)
-Brendan
#161794 - silent_code - Thu Aug 14, 2008 7:24 am
I like Flash. Not.
My guess is, if you can run Flash, you can run VBA or no$gba.
Ok, that's only valid on x86 and compatibles, but I think you get the idea... It can't be run on the iPhone.
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#161796 - keldon - Thu Aug 14, 2008 9:46 am
sgeos wrote: |
Dwedit wrote: | I thought Visualboyadvance was slow enough... Now you want a GBA emulator written in Javascript? |
It would have its uses. If Moore's law is sustainable you could eventually put homebrew demos up on your website, playable in the browser. (I've never actually used any flash emulator.)
-Brendan |
Several years ago (or maybe even more) I remember Intel saying they can uphold Moores law until 2008! However, with the advent of multicore processors, the multi-threaded nature of many applications and the physical limits we are reaching in microprocessor technology, Moores law may become a thing of the past (processor wise) within the next 10 years (or at least the exponent should change).
#161799 - gauauu - Thu Aug 14, 2008 3:31 pm
silent_code wrote: |
I like Flash. Not. |
I generally don't like it either. But there are uses. Mainly what sgeos was talking about...the ability to put a playable demo of a homebrew game on a website.
The nes flash emulator that I've messed with is slightly slow, but completely playable. I would expect a gba one to be a good bit worse, if one existed.
#161806 - silent_code - Thu Aug 14, 2008 7:42 pm
Ok, I know this is a bit... unfocused, but I think it's important to think about this, as the initial question is a substantial part of this post. Also, I'd like to have a question answered (below).
Why not use Java instead? Java applications can run at over 60% of native C implementations, which I expect to be a monstertude of times more than action script.
Well, I really don't care about flash, although I do see its legitimate uses. What I meant this morning, but couldn't write any more (got to get to work), is that I don't like to see flash abused:
E.g., tell a blind person how cool and informative that colorfully animated new flash page is, which contains 0% html... get it?
Or how cool it is to browse with you CPU at 100% usage, just because your three year old computer just isn't cutting edge any more (but still good enough for most games) and thus too slow for all the "cool" flash ads.
I say that's BS. Flash should just be used as an extra, an optional visual upgrade to HTML content, not replace everything. And I am aware of the fact that some sites offer an alternative (in contrast to primary) HTML site along with the flash site.
As far as I understand, flash / action script wasn't meant to be (ab)used in many ways that are quite commond these days.
Why use it when there are "better" (in many ways, like efficiency, performance etc) solutions? Just because it can be done should not be the excuse to do it on the scale beyond proofs of concept. Please continue reading.
I have seen some gba demos running in the browser some years ago. I think it was on dovoto's page. IIrc, he simply ported them to Java.
So, I suggest, that if you want the users to have the best possible experience enjoying your demo embedded in your web site, then port it to Java!
But I still fail to see how on earth it's a problem to supply a link to a .zip containing no$gba, which could run the demo a whole lot faster?
Please, could somebody explain this to me?
I fear the net becomes an amusement park more and more and there's less relevant information available every day. Abuse of technology is not the only cause, though.
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#161808 - tepples - Thu Aug 14, 2008 8:35 pm
silent_code wrote: |
As far as I understand, flash / action script wasn't meant to be (ab)used in many ways that are quite commond these days. |
Then what was Adobe's motivation for introducing Flex SDK?
Quote: |
Why use it when there are "better" (in many ways, like efficiency, performance etc) solutions? |
Because SWF and JAR have the edge in ease of deployment compared to native client binaries.
Quote: |
I have seen some gba demos running in the browser some years ago. |
I just remembered that there was an emulator for the Java platform called Boycott Advance Online.
Quote: |
So, I suggest, that if you want the users to have the best possible experience enjoying your demo embedded in your web site, then port it to Java! |
Which would require rewriting all the game logic, all the input, all the graphics code, and all the sound code in Java or ActionScript, and introducing translation defects in the process. Not to mention redesigning the levels to work around the fact that most PC keyboards can't accept as many simultaneous presses as a gamepad.
Quote: |
But I still fail to see how on earth it's a problem to supply a link to a .zip containing no$gba, which could run the demo a whole lot faster? |
Three reasons: - If you are a minor, or you are in the break room at work, or you are in a computer lab at a library or university, you don't own the computer you use. This usually means you can run SWFs and JARs in a web page, but the owner of the computer has every right to prohibit you from adding EXEs.
- SWF and JAR work on all major desktop PC platforms. NO$GBA, on the other hand, requires PC DOS or Windows. How well does NO$GBA for Windows work in Wine or in the equivalent of Wine for Intel Mac computers?
- It's a lot more work to click the link to download, minimize the browser, find where the browser put the executable, click the executable, click past the "publisher hasn't paid $200 to Comodo for a certificate to digitally sign this app" screen, click through the installer, and finally run it (whew), than it is to click one link and bring up an SWF or JAR inside the browser window.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#161814 - gauauu - Thu Aug 14, 2008 9:07 pm
Thank you, Tepples...you saved me from having to compose that same reply :)
silent_code wrote: |
Why not use Java instead? |
tepples wrote: |
I just remembered that there was an emulator for the Java platform called Boycott Advance Online. |
A java applet would be fine as well, although I originally mentioned flash because it is more likely to be installed and working correctly for non-technical users. I'll have to check out boycott advance online.
tepples wrote: |
How well does NO$GBA for Windows work in Wine or in the equivalent of Wine for Intel Mac computers? |
Actually, it works quite well in wine. But yours and my point is still the same :)
#161820 - silent_code - Thu Aug 14, 2008 10:09 pm
@ tepples:
You didn't disappoint me. Very well. Answer(s) accepted. :^)
Writing about "better solutions" I actually had Java based emulation in mind. ;^D
Although I still think that, if you want "the best experience" for browser games / demos, then make a port with all implications that come with it.
And after all, you don't have your gamepad hooked to the library PC, so you'll have to go with standard keyboards anyway, right? Also, don't expect that PC (or Mac, if you like) to be fast enough to actually make the experience worthwhile (talking about emulation.) ;^)
Regarding Flex SDK: You are right, but then again, how old was falsh as that happened (2004)? No answer needed... and yes, you've got a point there and I'll "step back." ;^)
So, then, I say BAO is potentially the way to go. :^)
I think I'll leave you guys alone now. ;^D
Thanks for the interesting information!
Have a nice day, guys.
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#161834 - sgeos - Fri Aug 15, 2008 4:48 am
silent_code wrote: |
Why not use Java instead? |
Java failed with the compile once run anywhere VM, but flash acually managed to pull it off.
I find actionscript far easier to work with than Java. Programmer efficiency is just as, if not more, importantant than execution efficiency. Afterall, if a project never gets finished it doesn't do anyone any good. Even if your computer isn't cutting edge any more, you are expecting to upgrade sometime in the next 10 years, right?
Yes, pure flash based sites are a bad idea.
-Brendan
#161836 - tepples - Fri Aug 15, 2008 5:34 am
sgeos wrote: |
Programmer efficiency is just as, if not more, importantant than execution efficiency. Afterall, if a project never gets finished it doesn't do anyone any good. |
Nor can a soft real-time application such as a video game emulator do any good if it constantly misses deadlines by an order of magnitude.
Quote: |
Even if your computer isn't cutting edge any more, you are expecting to upgrade sometime in the next 10 years, right? |
CPU frequencies aren't increasing at nearly the rate that they used to. How well does the ActionScript interpreter take advantage of multiple cores?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#161845 - sgeos - Fri Aug 15, 2008 10:02 am
tepples wrote: |
sgeos wrote: | Programmer efficiency is just as, if not more, importantant than execution efficiency. Afterall, if a project never gets finished it doesn't do anyone any good. |
Nor can a soft real-time application such as a video game emulator do any good if it constantly misses deadlines by an order of magnitude. |
Sure. Get the job done at all is certainly not as good as get the job done quickly and keeping the application maintained. Either way programmer efficiency is a good thing.
tepples wrote: |
Quote: | Even if your computer isn't cutting edge any more, you are expecting to upgrade sometime in the next 10 years, right? |
CPU frequencies aren't increasing at nearly the rate that they used to. How well does the ActionScript interpreter take advantage of multiple cores? |
Now or ten years from now? To the best of my knowledge SWFs can run on cell phones. I think the flash player will become more efficient to the extent cell phone internet usage is popular. Even if there is little effect on multicore PCs, when you get your next computer I suspect you will have a ~3+ GHz machine.
-Brendan
#161847 - keldon - Fri Aug 15, 2008 10:32 am
Isn't most CPU time being taken up by graphical tasks in flash and not the action script. In the early days I used to turn the graphics into low-quality mode (or whatever it was called)
#161848 - tepples - Fri Aug 15, 2008 12:45 pm
sgeos wrote: |
tepples wrote: | sgeos wrote: | Programmer efficiency is just as, if not more, importantant than execution efficiency. Afterall, if a project never gets finished it doesn't do anyone any good. |
Nor can a soft real-time application such as a video game emulator do any good if it constantly misses deadlines by an order of magnitude. |
Sure. Get the job done at all is certainly not as good as get the job done quickly and keeping the application maintained. Either way programmer efficiency is a good thing. |
My point is that if an easy-to-develop, easy-to-maintain emulator gets 2 fps when the requirement is 20 fps, it is just as useless as gbongba from the early days of the GBA scene.
sgeos wrote: |
tepples wrote: | Quote: | Even if your computer isn't cutting edge any more, you are expecting to upgrade sometime in the next 10 years, right? |
CPU frequencies aren't increasing at nearly the rate that they used to. How well does the ActionScript interpreter take advantage of multiple cores? |
Now or ten years from now? |
Except the target moves. Ten years ago, we wanted to emulate a NES. Now, we want to emulate a GBA. Ten years from now, we will want to emulate the DS 2.
keldon wrote: |
Isn't most CPU time being taken up by graphical tasks in flash and not the action script. |
The graphics for a GBA emulator would have to be done in ActionScript because the Game Boy Advance graphical model doesn't map entirely cleanly onto the Flash graphical model.
keldon wrote: |
In the early days I used to turn the graphics into low-quality mode (or whatever it was called) |
All "low-quality mode" did was disable full-scene antialiasing, which was a speed win on older PC hardware when playing scripts that used more graphical tasks and less ActionScript. An emulator wouldn't necessarily be one of them.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#161849 - keldon - Fri Aug 15, 2008 1:36 pm
As for emulating the hardware; just simulating some graphic modes used around 6% of processing power on my AMD 2400+ (with Java). Maybe I could do some more optimisations, but I imagine that adding more synchronisation than HBlank would be a total pain in the sitter (speed wise)!
#161860 - sgeos - Fri Aug 15, 2008 8:27 pm
tepples wrote: |
My point is that if an easy-to-develop, easy-to-maintain emulator gets 2 fps when the requirement is 20 fps, it is just as useless as gbongba from the early days of the GBA scene. |
Sure, this is a case of not really getting the job done.
tepples wrote: |
Except the target moves. Ten years ago, we wanted to emulate a NES. Now, we want to emulate a GBA. Ten years from now, we will want to emulate the DS 2. |
People still emulate things like the C64 and NES. Barring any major breakthroughs, you will never be able to emulate top of the line hardware in high level languages.
keldon wrote: |
Isn't most CPU time being taken up by graphical tasks in flash and not the action script. |
I don't think most people actually use a whole lot of actionscript.
tepples wrote: |
The graphics for a GBA emulator would have to be done in ActionScript because the Game Boy Advance graphical model doesn't map entirely cleanly onto the Flash graphical model. |
If you give up support for V-blank effects, the tile based modes would not be much different from tile based flash games.
-Brendan
[Corrected some attributions -- MOD]
#161873 - gladius - Sat Aug 16, 2008 9:45 am
I don't know if the source to BoycottAdvance was released or not, which might make it a bit trickier.
I've released the source to my C# GBA emulator here: http://www.forwardcoding.com/projects/gbaemu.html. Now that Silverlight 2.0 is out, it would be very easy to move it over to Silverlight. I'm not sure if there is a good solution for dynamic sound in Silverlight, so it might have to be a no-sound version for now :).
Speedwise, it hits 60fps easily on my cranky old Athlon 1.0Ghz. Native emulators are still quite a bit faster, but your computer would have to be pretty old to have trouble emulating the GBA at full speed.
#161915 - ScottLininger - Mon Aug 18, 2008 5:40 pm
Having a web-based GBA emulator would fundamentally change the homebrew scene for the better. The barrier to people playing our games is way too high for it ever to be more than a fringe hobby.
If anybody could go to a site and play right there, we'd have an order of magnitude larger audience.
Silverlight doesn't have the ubiquity of Flash or Java, but if it's a path of least resistance, that would be SWEET. I think that if you did that, gladius, you'd very soon find your emulator to be the #1 used GBA emulator in the world. The power of web-based distribution is hard to overstate.
The only ugly thing you'd need to consider is how you feel about stolen, commercial ROMs running on your emulator. There might be an argument for turning the project closed-source and implementing something that keeps commercial ROMs from loading.
Anyway... I'd love to see this idea happen. I'd contribute if I knew more about emulators... If there's anything I can do, let me know.
-Scott
_________________
Some of my GBA projects
#161917 - gauauu - Mon Aug 18, 2008 8:35 pm
ScottLininger wrote: |
Having a web-based GBA emulator would fundamentally change the homebrew scene for the better. The barrier to people playing our games is way too high for it ever to be more than a fringe hobby. |
Well, boycott advanced online technically does qualify, although I can't find any source for it, and the defaults for it don't make it easy to set it up to automatically just run my game (the user still has to pick what game they want from a list, and you have to manually adjust the emulator speed). But those things are enough of show-stoppers that it basically is unusable for me.
But yes, I agree...I'm trying to make as many easy ways to play my game (Anguna) as possible. An easy integrated installer for windows that installs vba and my game together, and runs them with one shortcut was a good start, but playing in the browser would be even better.