Video: Background fetching changes for accurate Window glitches
GBC: WRAM bank should not read 1 when set to 0.
Fix Rom mask for non power of 2 sizes (GBVideoPlayer)
* fix all hwio registers and readback for cgb, some for dmg
* add joypad register initial values for SGB
* add sameboy SGB Bootrom to be loaded when SGB is selected
* (from paulb-nl)
SGB: Fix for SGB bios unused commands
savestate/reset: corrected startup values for Video3 group
fixed random fastforward crash
fixed fastforward Video glitches(HDMA)
added fastforward toggle (short button press)
added savestate OSD entry and multiple slots using keyboard(F1-F4)
add MBC detection and address translation to simulation
* SOUND: channel 3 read dependent on current wave index
* SOUND: maintain wave_trigger high for longer, passes blargg sound test 9 for gbc, added is_gbc input to gbc_snd
* SOUND: added wave table access timewindow in DMG mode, outside of it the read returns 0xFF when the sound is playing
* gbc_snd.vhd whitespaces cleanup
* SOUND: refactored write process to handle reset and specific DMG behaviour (length counter writable when APU is off)
SOUND: initialized wavetable with known values, fixes aladdin and R-type now behaves the same as real hardware
* SOUND: refactored sound processing vhdl process
SOUND: sq1 and sq2 duty cycles are not accessible when the APU is off in DMG mode(only the length counters)
-Writing to $FE00-FEFF would overwrite IRAM (Megaman Xtreme)
-HDMA should remember last source and target (Harry potter)
-Stopping a HDMA transfer with CPU at single speed would stop and
then start a new transfer (Pokemon Crystal)
-Give IRAM time to provide valid data at the start and end of HDMA
transfer (Donkey Kong Country fishing, Pokemon Crystal)