SGDK 1.2 released 
 
Many changes included !! Here's the changelog :
DOCUMENTATION:
* several update and fixes here and there (some tags were not correctly recognized in later doxygen version).
COMPILER
* Rescomp: updated to version 1.5 (with updated documentation)
 - updated SPRITE resource compilation to the new SGDK Sprite structures.
 - fixed minor issue on IMAGE resource packing.
 - now using constants for sound driver (less confusing, got annoying bug because of that).
 - changed header 'define' name generation to avoid conflict between 2 identical named file.
 - fixed a bug in tilemap optimization for flipped tiles.
 - removed all packers not anymore used in SGDK.
 - minor change to XGM resource to support extra parameter
 - fixed a minor bug in sprite structure definition
* XGMTool: updated to version 1.64
 - major structure changes for faster conversion / optimization operations
 - improved VGM to XGM conversion.
 - added options to disable some PCM auto processing
 - new options available to handle specific case and improve conversion process
 - added GD3 tag support.
 - better handling of PAL/NTSC timing
 - fixed pal information lost during XGC conversion.
 - more accurate loop position
 - fixed a minor issue in offset calculation.
 - fixed VGM loop information export (when using VGM optimization)
* WavToRaw:
 - fix 64-bit issues, it is still not endian safe.
 - check for read errors.
* Appack: minor fix for silent parameter.
* Added new custom LZ4W packer (require Java to be installed).
* Removed GenRes tool (not anymore used and can confuse with rescomp).
* added GDB tool (not yet really used yet)
* Separated 'debug' and 'release' library build for easier profile switch.
LIBRARY
* BITMAP:
 - allow to change the plan used for bitmap rendering
 - added buffer preservation option (severe impact on performance)
 - fixed minors issues on reset/initialization process
* DMA: added new DMA queue system in 'dma' unit, you can consider 'vdp_dma' unit as deprecated (still provided for backward compatibility).
 - we can now limit the max transfer capabilities in a single frame with DMA_setMaxTransferSize(..)
 - can now define the DMA queue size with DMA_init(..) method.
 - added DMA_setIgnoreOverCapacity(..) to change DMA strategy when reaching max capacity.
* GRAPHIC:
 - added news methods for allocation and compression stuff (see TOOLS section)
 - added dynamic VRAM allocation ('vram' unit which replace 'tilecache' unit)
* PALETTE:
 - fixed RGB24_TO_VDPCOLOR so it does what it says.
 - better palette fading using rounding.
 - fixed issue using sync fading locking interrupts (can cause XGM music lag).
* MATHS:
 - added abs(..) method.
 - fixed fix32ToRoundedInt() and fix32Round() defines (added parenthesis around)
 - replaced distance_approx(..) by getApproximatedDistance(..)
 - changed fix32 div/mul calculation strategy for better value preservation
* MEMORY:
 - added MEM_getAllocated() to return current dynamically allocated memory.
 - added MEM_dump() to dump in Gend KMod console the memory allocation table
* SOUND:
 - renamed Z80_DRIVER_4PCM_ENV --> Z80_DRIVER_4PCM
* SPRITE: complete rewrite of sprite engine !
 - many changes including the API.
 - should be faster but will be more optimized in future.
* STRING:
 - added isdigit(c), strnlen(..) and the very useful sprintf(..) ma
 - added strncpy(..) method.
 - replaced strreplace(..) --> strreplacechar(..)
 - fixed fix32ToStr(..) and fix16ToStr(..) methods
* SYSTEM:
 - tried to more more compatible with default GCC stdint.h definitions
 - added SYS_setVIntPreCallback(..) so you can have your method called at VInt before any internal SGDK stuff are proceed.
 - added SYS_isNTSC() and SYS_isPAL() methods for easy system determination.
 - minor fix on SP register initialization (preserve value set in vector table)
 - added SYS_hardReset() to force hard reset.
* TOOLS:
 - added new LZ4W compression (very fast unpacking but average compression level)
 - removed RLE, RLE_MAP and UFTC compression (LZ4W performs better in almost all cases).
 - removed UnpackEx(..) method (useless now).
 - added setRandomSeed(u16 seed) to initialize randomizer.
* VDP:
 - renamed WPLAN / WINDOW / VDP_WINDOW --> VDP_PLAN_WINDOW
 - renamed APLAN --> VDP_PLAN_A
 - renamed BPLAN --> VDP_PLAN_B
 - renamed SLIST / VDP_SPRITE_LIST --> VDP_SPRITE_TABLE
 - renamed HSCRL / VDP_SCROLL_H --> VDP_HSCROLL_TABLE
 - added planWidth / planHeight to replace VDP_getPlanWidth() / VDP_getPlanHeigth() for faster internal SGDK calculations.
 - added windowWidth / windowHeight for faster internal SGDK calculations.
 - added VDP_setWindowHPos(..) and VDP_setWindowVPos(..) methods to set window positions.
 - fixed a bug with VDP_setBPlanAddress(..) method.
* VDP BG/TILE:
 - replaced VDP_PLAN_A / VDP_PLAN_B constants by PLAN_A / PLAN_B in some methods.
 - some methods now support PLAN_WINDOW parameter.
 - added VDP_clearTextAreaBG(..), VDP_clearTextLineBG(..), VDP_clearTextArea(..) methods.
 - modified VDP_drawTextBG(..) method.
 - others minors changes.
* VDP SPRITE: major rewrite of 'vdp_sprite' unit (require project modifications) !
 - replaced SpriteDef structure by VDPSprite structure (fit better hardware structure).
 - added dynamic allocation of hardware sprite:
   VDP_allocateSprites(..), VDP_releaseSprites(..), VDP_getAvailableSprites()
 - VDP_updateSprites(..) can now use DMA queue.
 - many others changes.
* XGM driver:
 - better handling of main BUS contention with DMA
 - added methods to improve BUS contention when using PSG sound in music.
 - fixed PCM play status when PCM is used from XGM music.
 - minor fix in driver code for better music frame sync.
 - better pause/resume support.
 - music sync is now handled on 68000 side for more flexibility (adjustable tempo).
* Z80:
 - modified writeYM macros
* memory usage optimizations.
SAMPLE:
* Bench: added new sample for general test and benchmarking.
* Sound:
 - minors changes about Z80 load information for XGM driver.
* Sprite:
 - added basic enemies (no collision yet)
 - added basic SFX
 - updated to last SGDK
 - some refactoring