5 ms·
GameBoy Color emulator entirely in JavaScript+HTML5
- DiabloD3 16y agoDoesn't seem to work in Firefox.
- DiabloD3 16y agoEr, whoops, it takes about 5+ minutes to load. Seems to work fine.
- tudorizer 16y agoWhy do you say it's an emulator? Looks like a ported game to me. Ported in JS, that is.
- DiabloD3 16y agoCompare it to the original on a GBC or an emulator. It looks and sounds just like it.
- ubertaco 16y agoPorted is different from emulated though. Ported involves altering the game itself to run on a different platform. Emulation is building a virtual version of the original platform that does "translation" of sorts between the original platform's methods/attributes/etc and the new platform, leaving the game itself unaltered.
- skymt 16y agoIt's an emulator: http://www.grantgalitz.org/gameboy/js/GameBoyCore.js http://www.grantgalitz.org/gameboy/js/GameBoyCore.js Edit: Here's the home page, with a full UI: http://www.grantgalitz.org/gameboy/ http://www.grantgalitz.org/gameboy/
- wazoox 16y agoImpressive. Any information on the inner workings?
- T-R 16y agoImpressive, but might I suggest using a public domain ROM, instead of exposing yourself to a lawsuit: http://www.zophar.net/pdroms/gameboy.html http://www.zophar.net/pdroms/gameboy.html
- city41 16y agoOr just have the user load a rom locally, like I do with my little NES ROM painter[0]. Nintendo strikes down hard on emulation like this. Although I see why he chose DKC, that is one beautiful GBC game. [0]http://www.mattgreer.org/exercise/1nespaint http://www.mattgreer.org/exercise/1nespaint
- grantg 16y agookay, removed offending ROMs, and put up a homebrew one: http://www.grantgalitz.org/CrazyZone/ http://www.grantgalitz.org/CrazyZone/ The URL linked above now redirects to the homebrew ROM. Edit: Oops, I overwrote the redirect, sorry. Try http://www.grantgalitz.org/CrazyZone/ http://www.grantgalitz.org/CrazyZone/
- jambo 16y agoI'm getting "Please try using a standards compliant browser." in Safari 5 & Chromium 12. [edit: fix confirmed]
- malnourish 16y agoI am as well in Firefox 4.
- grantg 16y agoEdit: Fixed
- deleted 16y ago[deleted]
- DarkShikari 16y agoWhat would be even more interesting is a JIT-based emulator that worked by compiling bytecode into Javascript, then relying on the browser to compile it back into machine code. A machine-independent, JIT-compiled JS emulator might actually end up being faster than some purely-interpreted native-code emulators. And unlike a purely native JIT emulator, it wouldn't need a compilation component (the browser would do that itself). Obviously such a thing would be dramatically slower than a native JIT emulator -- but surprisingly few emulators are JIT-based. (Possible catch: I know for a fact that some Nintendo DS games use small amounts of self-modifying code. This probably is true of previous generations, too.)
- grantg 16y agoNot a good idea with hand-coded ROMs for CPUs that are in single-digit MHz that use interrupts liberally, it would cause code cache invalidation a lot. Some stats for SML2 running (Audio ON (web audio for mac in about:flags for chrome, mozAudio for Firefox 4), scaling OFF): Chrome 12: http://i.imgur.com/JjpT5.jpg http://i.imgur.com/JjpT5.jpg 27.0% CPU load Firefox 4: http://i.imgur.com/yEzzw.jpg http://i.imgur.com/yEzzw.jpg 68.6% CPU load
- geuis 16y ago"Could not initialize the emulator properly. Please try using a standards compliant browser." Getting this in Chrome 10. I think your project needs a little love.
- grantg 16y agox is A z is B shift is Select return is Start D-Pad is Joypad
- alex_carlill 16y agoanyone else really sick of posts about "[old game/game system] replicated using HTML5"? make something new and worthwhile rather than pandering to geeks for a change