No$gba - nocash gameboy advance / nintendo ds emulator - help: updated gbatek standalone version 2.5 (about one hundred news since 2.3) - vram viewer: supports extended palettes in bg map windows (eg. magnetica demo) - nds/help: added ds 3d overview chapter (basics on geometry/rendering engines) - nds/help: added ds technical data chapter (containing some basic overview) - nds/help: replaced ds various chapter by new ds memory control/timing chapter - nds/sound: fixed major unreported bug in 80x86 code sound_bias SWI function - nds/3d/help: corrected shininess formula (ie. fixed that max cos 2 angle mess) - nds/3d/help: added caution: specular reflection WON'T WORK on camera rotation - nds/3d/help: maths basics of vector-by-vector multiply (and purposes thereof) - nds/3d/softlight: allows light+color nonsense double def (eg castlevania clip) - nds/3d/softlight: much better light-accuracy, and now supports shininess_table - nds/3d/softlight: lighting fully calculated by software (without opengl light) - nds/timing: split timings for nds7 (fast access) and trashy nds9 (slow access) - nds/timing: split addr_clks_table to CODE/DATA addr_clkc_table/addr_clkd_table - nds/timing: emulates "half" cycles on 66MHz/nds9 (tcm/cache and n32/2 thumb) - nds/timing: emulates nds7 exmemstat gba-slot timing bits (like nds9 exmemcnt) - nds/timing/help: added detailed/tested nds7/nds9 code/data memory-timing chart - nds/timing/cache: allows more CPU load on bios/mainram when cache is enabled - nds/timing: emulates shared N32 access time for two NDS9 thumb 16bit opcodes - cpu/speedup: precalculates opcode-timings on interseg-jumps (usually faster) - cpu/speedup: faster conditional opcode handling (maybe yet another 3% faster) - cpu/speedup: thumb: uses 16bit reads (3% faster on non-32bit-aligned addr's) - cpu/speedup: replaced dumb jmp exec_opcode by exec_opcode_mac (ca. 10% faster) - cpu/speedup: added more code alignments in cpu-core (not significantly faster) - nds/help: added note that 66MHz-nds9 actually runs MUCH SLOWER than 33MHz-nds7 - nds/cpu: emulates superslow nds9 memory access time (bios,wram,vram,oam,etc) - nds/cpu: emulates operand-independend ARM9 multiply time (eg. slow thumb time) - nds/wram: emulates wramcnt mapping (no idea if it's used by any games though) - nds/3d: adjusted z-rounding (avoid opengl-clip-plane in club house games demo) - cpu: emulates cp15-trace-id, debug: disass auto-comments on trace-id and bist - nds/help: fixed key1 [scratch] writeback lsw/msw are exchanged (thanks simon) - nds/help: cp15 info on trace-id, bist, cache debug/test, supported cache cmds - cheat: fixed occasional crash on delete cheat (push/pop) (thanks Hiei Youkai) - thanks: rockmanrotties for submarine (timing) and clubhouse (clip) bugreports My commentary: OpenGL lighting was improved, but the improvement came at the cost in speed in most of the games that use 3D. This slowdown was remedied by several CPU emulation speedups, but it is still quite present. It should be noted that the infamous "transparency bug" (it was actually a rendering timing bug) has been fixed, and 2D games afflicted by the bug run faster as a result. In addition, we now know that there is a true, 3D transparency bug that appears in games that use 2D backgrounds and 3D models such as New Super Mario Bros. Mr. Korth currently doesn't have the hardware (He lacks a 3D card and relies on a software driver) to test any fix for the bug. It should also be noted that GBAtek has been updated! Changes include Action Replay DS and Codebreaker DS documentation courtesy of Kodewerx. In conclusion, things are looking good for the 2.5 series, and I hope we can see a lot more improvements in upcoming versions.