JSGB changelog
v.0.02
04 sep 2009: Now the framerate is limited by setInterval (one frame is painted
every 17ms).
05 sep 2009: Input bug solved. Auto-repeated keys caused emulation to freeze.
DAA instruction (stolen from VisualBoyAdvance).
08 sep 2009: CPU emulation: using "macros" for similar instructions. This makes
faster code (and easier to maintain).
09 sep 2009: Window display over background (seems to work in 'Space Invaders'
or 'Bubble Ghost' intros).
Renaming functions and variables to keep a "Programming Style".
13 sep 2009: HALT instruction (the weird-IME-off behavior is not emulated).
Added a Caller Stack, this makes debugging a lot easier.
17 sep 2009: Rewrited the whole LCD controller emulation. Now it's much more
accurate (and slower) it has pallete support, X/Y flipping,
transparency and sprite priority.
Support for Chrome/Chromium putImageData (weird!).
Bug corrected on reading color info from tile data.
20 sep 2009: Partial MBC1 emulation (ROM switch). On bank switching, copies
the bank into GameBoy memory.
23 sep 2009: Lots of optimizations.
MBC1 emulation rewrited. Instead copying, just makes a reference
some games do more than 1000 bank switchings per second.
Found a bug in CPU, now more games are playable, like
"Kirby's Dreamland", "Bomberman" and "Mario Land".
Joined all timing routines (CPU, LCD, Timer) into a single one.
v.0.01
17 jul 2009: Start!
30 jul 2009: Completed full instruction set. Made a simple debugger.
1 aug 2009: Some interrupts, timers, memory manager and lots of bugs fixed.
2 aug 2009: Tons of bugfixes.
Debugger now supports breakpoints (and saves them into cookies)
3 aug 2009: Added scrollbars to debugger dumps.
15 aug 2009: Some CPU bugs. Debugger improved.
Reading of tile maps and background painting.
23 aug 2009: Created LCD screen output (scanline drawing).
Added support for browsers without putImageData (Chromium).
Dramatic performance gain on tile and background drawing :)
Dramatic performance loss when adding STAT modes emulation :(
26 aug 2009: Added *simple* sprite support with transparency.
The whole interrupt system was wrong. Rewriting.
Various optimizations.
27 aug 2009: Added RAM ECHO.
Bugs on BG display, OAM, Timers and DIV corrected.
Interrupt handler finished.
Input buttons seems to work.
Added 60fps limitation (Chromium is FAST!!!)
28 aug 2009: Stupid CPU bugs. "Tetris" is playable!!! :)
index | credits