If I may, I'd like to also link my site (http://start9.io) which does this and also work with GB/GBC, and persist your saves online (on top of quite a few other features). The only drawback is that we actually require users to upload their games, for legal reasons.
We're still in beta, and it will probably improve quite a lot in the upcoming months, but I use it myself on a daily basis.
For the record, the emulators are currently based on Emscripten versions of the libretro cores (rather than being a full-JS emulator implementation, like IodineGBA). I'm looking to add more consoles, and the SNES will probably be come soon.
Should you try it, I'd love to hear your feedbacks (my contact is on my HN profile) :)
Very cool, I actually run an extremely similar service (https://pocketga.me/) for NES, SNES, game boy, GBA, and master system. I hacked up many of the emulators myself to support state saving. It was a fun project to work on but I found that most of my users were not interested in paying for the service due to their young age group, so I'm only able to basically break even off the ads
So I tried it out and it's a nice start. My suggestions would be:
1. Needs way more documentation. It's not clear how to do anything. Doesn't explain how to upload games, even what platforms are supported (I guess it's just gameboy), doesn't explain what the controls are anywhere, has a feature to use your smartphone as a controller but doesn't explain anywhere how to do it.
2. For Super Mario Land the volume didn't work.
So I would start by further documenting what you have. And I would add a way to customize the controls and support the gamepad api. Nice start though. I'd use a service like this that let me upload any arbitrary gameboy, nes, and supernes games and not just specific ones.
Thanks ! Yes, I have a great deal to do as far as documentation is concerned (however, there is some doc about the smartphone-as-a-controller feature[1]). My plan was to focus on this before implementing more features.
The sound isn't yet enabled, I have to resolve some issues with Chrome. Shouldn't be long tho (once the documentation is improved :)
I've been hacking away on a game boy (not advance) emulator myself lately. It's actually all pretty well documented, even if you don't look at other emulator source codes, and the hardware isn't too complicated.
The repo owner seems to have cleared the commit history because this exact repo was hosting these binaries back on 5/28/14. It's amazing that Nintendo hasn't DMCA'ed this repo for over a year.
Why? Have you looked at todays games? Most of these are only good for us, the kids of the 90s (born in the early 80s)... Today's kids have PS,xbox,etc. Way more advanced game consoles...
Might take a while to finish processing as I've only just sent the archive (straight from GitHub's 'download from ZIP' functionality) to the mirror distribution sites.
Writng gbc games in smallc and z80 assembler was one of the funnest, most formative things i did in my early years. Would be ultra cool to have rom hacking tools on the page with the emu, big fat load and go button.
This is amazing. Apart from the distorted sound (pitch), the games loaded instantly on Firefox and could play real-time games (Bomberman) without any lag! JS has come a long way (and browser support).
I started playing Tetris Worlds though, and about 5 minutes in it started slowing down considerably, eating battery on my Macbook Pro Retina, and the fans came on. It improved after a while but slowed down a bit later.
Is this sort of thing a JavaScript problem i.e. emulating is just hard to do using JS? Or is it a bug in this emulator?
It's probably a Javascript thing as other emulators written in JS are the same. It's using 100% CPU on my laptop while a native emulator only uses about 10%.
I started playing Tetris Worlds though, and about 5 minutes in it started slowing down considerably, eating battery on my Macbook Pro Retina, and the fans came on. It improved after a while but slowed down a bit later.
Is this sort of thing a JavaScript problem i.e. emulating is just hard to do using JS? Or is it a bug in this emulator?
We're still in beta, and it will probably improve quite a lot in the upcoming months, but I use it myself on a daily basis.
For the record, the emulators are currently based on Emscripten versions of the libretro cores (rather than being a full-JS emulator implementation, like IodineGBA). I'm looking to add more consoles, and the SNES will probably be come soon.
Should you try it, I'd love to hear your feedbacks (my contact is on my HN profile) :)
1. Needs way more documentation. It's not clear how to do anything. Doesn't explain how to upload games, even what platforms are supported (I guess it's just gameboy), doesn't explain what the controls are anywhere, has a feature to use your smartphone as a controller but doesn't explain anywhere how to do it.
2. For Super Mario Land the volume didn't work.
So I would start by further documenting what you have. And I would add a way to customize the controls and support the gamepad api. Nice start though. I'd use a service like this that let me upload any arbitrary gameboy, nes, and supernes games and not just specific ones.
The sound isn't yet enabled, I have to resolve some issues with Chrome. Shouldn't be long tho (once the documentation is improved :)
[1] http://start9.io/howto/remote-control
http://imrannazar.com/GameBoy-Emulation-in-JavaScript
The repo owner seems to have cleared the commit history because this exact repo was hosting these binaries back on 5/28/14. It's amazing that Nintendo hasn't DMCA'ed this repo for over a year.
http://directmirror.com/y4u1gpod4iot/gba-gh-pages.zip
http://www.mirrorupload.net/file/YTSR6UEU/#!gba-gh-pages.zip
Might take a while to finish processing as I've only just sent the archive (straight from GitHub's 'download from ZIP' functionality) to the mirror distribution sites.
The Wii had library of GBA games that were available for purchase.
ROM sites are taken down all the time.
http://riscv.org/angel/
https://github.com/riscv/riscv-angel
PS: Great work on jor1k!
I have made my own small list of emulators a while ago: https://github.com/s-macke/jor1k/wiki/Similar-emulators-writ...
It looks like you covered them all (except maybe http://schweigi.github.io/assembler-simulator/ )
But it might be, that you want to extend this list a little bit to the emulation of famous gaming virtual machines.
ScummVM: http://clb.demon.fi/html5scummvm/
Z-Machine: http://z-machine.lilawelt.de/
right: right arrow
left: left arrow
up: up arrow
down: down arrow
a: X, J
b: Z, Q, Y
select: shift
start: enter
r: 2
l: 1
lower volume: D
raise volume: R
increase speed: 3
decrease speed: 4
I started playing Tetris Worlds though, and about 5 minutes in it started slowing down considerably, eating battery on my Macbook Pro Retina, and the fans came on. It improved after a while but slowed down a bit later.
Is this sort of thing a JavaScript problem i.e. emulating is just hard to do using JS? Or is it a bug in this emulator?
I started playing Tetris Worlds though, and about 5 minutes in it started slowing down considerably, eating battery on my Macbook Pro Retina, and the fans came on. It improved after a while but slowed down a bit later.
Is this sort of thing a JavaScript problem i.e. emulating is just hard to do using JS? Or is it a bug in this emulator?