4 ms·
GameBoy Color Emulator in JavaScript
- NewHighScore 16y agoWow! That is pretty amazing! It seems to run very well in Chrome except that I don't have the sound working.
- Klonoar 16y agoThis is some incredible work. There's a few ports out there I've tried, but this is by far the most performant yet. Definitely interested to see how further it's taken. I'm also interested to see where the author learned about the inner workings of the Gameboy (i.e, if Nazar's work had any influence: http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-CPU http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-C... )
- Osmose 16y agoRomhacking.net is one of the best sources for console inner workings. I've been using for SNES internals and found everything from the official 65c816 manual to the SNES Developer Manual Nintendo used to send to devs, to text documents with very precise timing information for the entire console. Very VERY highly recommended. http://www.romhacking.net/ http://www.romhacking.net/
- daeken 16y agoAnother great resource (although it's not as well-maintained as it was in days past) is Zophar's Domain: http://zophar.net http://zophar.net I originally started using it in 1996/1997 as a place to find emulators, but as I got more into low-level stuff, it became my go-to site for console information. Absolutely invaluable.
- othello 16y agoThere is also GBATEK, from the no$gba emulator. It provides a full description of the memory map, interrupts, IO ports and rom layout for GB, GBA and now even the DS. http://nocash.emubase.de/gbatek.htm http://nocash.emubase.de/gbatek.htm The CPU instruction sets can be obtained from the original manufacturers (ARM9/ARM7 for DS, ARM7 for GBA and Z80 for the original Gameboy - and the Color version).
- JeremyBanks 16y agoI forked it and made some simple edits to remove the php dependency, except when loading from URLs. This will work if you want to host it locally without php -- due to security restrictions it won't work if you just open file://.../index.html in your browser. https://github.com/jeremybanks/gameboy-online https://github.com/jeremybanks/gameboy-online I think the only other issue is that I probably messed up the styles a bit in IE. I will fix that later.
- JeremyBanks 16y agoAdded a branch[1] with a Python script that will serve the files and handle proxy requests. It should be just download and run[2] if you've got Python installed. [1] https://github.com/jeremybanks/gameboy-online/tree/with-python-server [2] http://www.youtube.com/watch?v=ZDYxB4LZgng
- w1ntermute 16y agoAnybody know how it saves games? It'd be really cool if it used HTML5 offline storage.
- Strom 16y agoFrom the about dialog: "Save states are implemented through the window.localStorage object". So yes, it uses 'HTML5 offline storage'.
- mcs 16y agoI just relived the first good bit of Pokemon Red in my browser. At nearly 100% of a core, but still. Mad props.
- mambodog 16y agoAlso, if you haven't already seen it, JSnes (a NES emulator in JS): http://benfirshman.com/projects/jsnes/ http://benfirshman.com/projects/jsnes/ It's not as complete or as compatible as this one appears to be, but it's still pretty cool.
- grantg 16y agoFirst of all, it works perfectly in Firefox 4, since FF4 has the new Mozilla audio API. Anyways, the "save states" is really freeze states, since it saves the entire emulation into the offline storage, so you'll need to bump up the usual 5 MB limit for offline storage to something like 30 MB or so.