jsGB: A Gameboy emulator in JavaScript
  jsGB is an interpretive emulator of the Gameboy, designed to be run from within a web browser. Yes, it's written in JavaScript.
  Current progress
  
   - ROM loading
 
   - At present, the test run can load a ROM given a known path to the server. This is done by fancy AJAX, and thus it should be possible to display a dialog of available ROM files, or allow for upload of ROM files. That's for later, of course.
 
   - CPU
 
   - All instructions in place; all the common ones are tested working. One known issue is that half-carry isn't calculated.
 
   - GPU
 
   - Background: Palette in place, Y-scroll and X-scroll tested working. The BIOS "Nintendo" logo appears. Windows: missing.
 
   - Sound
 
   - I've no idea how this can be done from JavaScript; this is unlikely to be implemented.
 
  
  Test Results
  The emulator currently works in the following browsers:
  
   - Firefox 3.6 (slightly slow, as to be expected)
 
   - Opera 10 (quick)
 
  
  Screenshots
  
   - Tetris
 
   
 
  
  
  Acknowledgements
  The following people have helped contribute to this project:
  
   - Pan/ATX, nocash and others: Pandocs specification document
 
   - Sean Young (CS dept, Vrije University): Z80 opcode map and specification document
 
   - Mostek: Z80 timing specs
 
   - Pat Fagan: Diff sheet between Z80 and Gameboy Z80 CPUs
 
   - Kevin Mantey (Physics dept, UIUC): First microscopic dump of the Gameboy BIOS
 
   - Arvidsson/Eklund/Murphy: ExCanvas for IE
 
   - Andy Na: XHR binary file reader
 
  
  Imran Nazar <tf@imrannazar.com>, May 2009 - Aug 2010