6 ms·
JavaScript GameBoy Advance Emulator
- MisterWebz 11y agoNo save functionality?
- mrtbld 11y agoLink to code: https://github.com/jsemu/gba https://github.com/jsemu/gba
- josemwarrior 11y agothanks! just i was looking for..
- kenrick95 11y agoWoah, this is great! Probably need a screen informing the keybindings.
- anonova 11y agoTranslated keys from https://github.com/jsemu/gba/blob/a09294c8a15e1fe46c05f8dcf3bb3f23ae423336/user_scripts/IodineGBAJoyPadGlueCode.js 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
- MrBuddyCasino 11y agoOn OSX, theres "USB Overdrive" in case you want to get your gamepad to work. Took me a bit to figure that out.
- Retr0spectrum 11y agoI'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.
- sleepychu 11y agoAm I in trouble if I fork this? https://github.com/jsemu/gba/tree/gh-pages/Binaries https://github.com/jsemu/gba/tree/gh-pages/Binaries
- task_queue 11y agoWhy put yourself in that position publicly? Modify the code base and exclude the copyrighted content.
- Retr0spectrum 11y agoTechnically yes, but unlikely. The worst I can imagine happening is some kind of DMCA request.
- task_queue 11y agoAre 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.
- scrabble 11y agoI don't know about this. Nintendo is now selling these games on the WiiU virtual console.
- dma3 11y agoI think it's important to credit the actual emulator this runs on: https://github.com/taisel/IodineGBA https://github.com/taisel/IodineGBA
- arcatek 11y agoggalitz (the OP) is GrantGalitz, who is Taisel (I think he/she renamed his github account recently).
- TazeTSchnitzel 11y agoYeah, one day it's ggalitz/IodineGBA and the next, taisel/IodineGBA.
- Stephn_R 11y agoDamn...how does anyone begin to reinvent the wheel like that? Was there any documentation on how it was done?
- mburns 11y agoThere was a detailed writeup of a different Gameyboy Emulator in Javascript: http://imrannazar.com/GameBoy-Emulation-in-JavaScript http://imrannazar.com/GameBoy-Emulation-in-JavaScript
- asddubs 11y agoI'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.
- moron4hire 11y agoThis is pretty awesome. Mind if I hack in gamepad support?
- travjones 11y agoThis is tight as fuck! Wow. Nice work!
- keehun 11y agoThis 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).
- nickysielicki 11y agothe real source: https://github.com/taisel/IodineGBA https://github.com/taisel/IodineGBA
- andrepd 11y agoWhere does it download the games from? The fact that the games are included throws this project into very very legally murky waters.
- scrabble 11y agoLooks like they're stored in a GitHub repo.
- task_queue 11y agoA DMCA takedown notice will take care of that.
- fcambus 11y agoFor an (hopefully) complete list of emulators written in JavaScript, you can check : https://github.com/fcambus/jsemu https://github.com/fcambus/jsemu
- s-macke 11y agoAt least you forgot one: Angel http://riscv.org/angel/ http://riscv.org/angel/ https://github.com/riscv/riscv-angel https://github.com/riscv/riscv-angel
- fcambus 11y agoNice, I was hoping someone would find something missing :) Thanks for mentioning this, just updated the list. PS: Great work on jor1k!
- s-macke 11y agoThanks. I have made my own small list of emulators a while ago: https://github.com/s-macke/jor1k/wiki/Similar-emulators-written-in-Javascript 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/ 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/ http://clb.demon.fi/html5scummvm/ Z-Machine: http://z-machine.lilawelt.de/ http://z-machine.lilawelt.de/
- thatcat 11y agoI wonder if you can you run these locally, offline?
- arcatek 11y agoIf I may, I'd like to also link my site (http://start9.io 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) :)
- Touche 11y agoAwesome, I've been wanting something like this for a while.
- Touche 11y agoSo 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.
- arcatek 11y agoThanks ! 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 http://start9.io/howto/remote-control
- 11y ago
- Sephr 11y agoDefinitely not legal https://github.com/jsemu/gba/tree/gh-pages/Binaries 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.
- atmosx 11y agoWhy? 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...
- bottled_poe 11y agoThis is a ridiculous assumption. These games were never loved for their realism.
- atmosx 11y agoIf 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).
- dtech 11y agoThere is still copyright on them, and there will be for several decades after release.
- EvenThisAcronym 11y agoI highly recommend http://jsemu.github.io/gba/launcher.html#fire_emblem http://jsemu.github.io/gba/launcher.html#fire_emblem
- sgt 11y agoVery 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?
- Narishma 11y agoIt'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%.
- sgt 11y agoVery 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?
- marktangotango 11y agoWritng 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.
- benbristow 11y agoSince this will be probably taken down pretty quickly, mirrored: http://directmirror.com/y4u1gpod4iot/gba-gh-pages.zip http://directmirror.com/y4u1gpod4iot/gba-gh-pages.zip http://www.mirrorupload.net/file/YTSR6UEU/#!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.
- bottled_poe 11y agoNow, if only it was mobile friendly... that would be amazing.
- fibo 11y agoI would like to use a gamepad, which method you recommend?