Preferences


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
What age range/distribution are your users? I'd expect something centered around late twenties?
Almost entirely under 20
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 :)

[1] http://start9.io/howto/remote-control

Awesome, I've been wanting something like this for a while.
I think it's important to credit the actual emulator this runs on: https://github.com/taisel/IodineGBA
ggalitz (the OP) is GrantGalitz, who is Taisel (I think he/she renamed his github account recently).
Yeah, one day it's ggalitz/IodineGBA and the next, taisel/IodineGBA.
Damn...how does anyone begin to reinvent the wheel like that? Was there any documentation on how it was done?
There was a detailed writeup of a different Gameyboy Emulator in Javascript:

http://imrannazar.com/GameBoy-Emulation-in-JavaScript

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.
Definitely not legal https://github.com/jsemu/gba/tree/gh-pages/Binaries

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...
There is still copyright on them, and there will be for several decades after release.
This is a ridiculous assumption. These games were never loved for their realism.
If you try to sell them, you'll realize that it's not. On their day most of these game were as close to realism as it gets (on a portable device).
Since this will be probably taken down pretty quickly, mirrored:

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.

Where does it download the games from? The fact that the games are included throws this project into very very legally murky waters.
Looks like they're stored in a GitHub repo.
A DMCA takedown notice will take care of that.
Wait, so what does OP's site does if the HTML5 emulator already exists?
OP is the one who made that emulator apparently (another comment in this thread has details).
Just adding the binaries, by the looks of it.
I'm not sure it's a great idea to host the binaries, although it's unlikely that you'll get any complaints from the publishers.
Are the titles being sold by their holders on different platforms? Most likely.

The Wii had library of GBA games that were available for purchase.

ROM sites are taken down all the time.

Why put yourself in that position publicly? Modify the code base and exclude the copyrighted content.
Technically yes, but unlikely. The worst I can imagine happening is some kind of DMCA request.
I don't know about this. Nintendo is now selling these games on the WiiU virtual console.
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.
For an (hopefully) complete list of emulators written in JavaScript, you can check : https://github.com/fcambus/jsemu
Nice, I was hoping someone would find something missing :) Thanks for mentioning this, just updated the list.

PS: Great work on jor1k!

Thanks.

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/

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).
Woah, this is great! Probably need a screen informing the keybindings.
Translated keys from https://github.com/jsemu/gba/blob/a09294c8a15e1fe46c05f8dcf3...

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

On OSX, theres "USB Overdrive" in case you want to get your gamepad to work. Took me a bit to figure that out.
thanks! just i was looking for..
Very cool - love it!

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%.
Now, if only it was mobile friendly... that would be amazing.
This is pretty awesome. Mind if I hack in gamepad support?
No save functionality?
I would like to use a gamepad, which method you recommend?
I wonder if you can you run these locally, offline?
This is tight as fuck! Wow. Nice work!

This item has no comments currently.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal