
---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.5 (xx/xx/xxxx) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/Misc]
---------------
* added optional dynamic allocation of cartridge/CD hardware buffer (for platforms with BSS size limitation)
* improved frame emulation timing, now starts with vertical blanking to reduce input lag by one more frame
  (!!!warning: this breaks compatibility with previous savestates!!!)
* various code cleanup

[Core/CD]
---------------
* added CD-AUDIO & CD+G support
* added CD-ROM Mode 2 (Form 1 & 2) support (Wonder Library)
* added optional support for external VORBIS library
* added optional CHD file support
* added CDC & GFX register polling detection / synchronization
* added configurable CD-DA and PCM outputs mixing volume
* added setting to enable/disable CD access time simulation
* added emulation of Word-RAM access limitations in 2M mode (fixes graphical issues in Marko's Magic Football)
* added limited support for LC89513K extended registers when Wondermega M2, X'Eye, CDX or Multi-Mega BIOS is detected (fixes Krikzz's mcd-verificator CDC REGS tests)
* improved Timer interrupt timings and CDD interrupt accuracy (fixes audio stutters during Popful Mail FMV)
* improved CDC emulation (fixes random freezes during Jeopardy & ESPN Sunday Night NFL intro)
* improved accuracy of Main-CPU & Sub-CPU access to CDC registers (verified on real hardware, cf. Krikzz's mcd-verificator) 
* improved accuracy of CDC data transfer to Main-CPU & Sub-CPU (verified on real hardware, cf. Krikzz's mcd-verificator) 
* improved accuracy of CDC DMA processing (verified on real hardware, cf. Krikzz's mcd-verificator) 
* improved accuracy of CDC decoder processing (verified on real hardware, cf. Krikzz's mcd-verificator) 
* improved accuracy of CDC interrupt processing (verified on real hardware, cf. Krikzz's mcd-verificator) 
* improved emulation of mirrored memory areas
* improved savestate format
* improved Sub-CPU synchronization with Main-CPU (fixes "Soul Star")
* improved Main-CPU & Sub-CPU idle loop detection (fixes "Super League CD")
* improved PAL Mega CD timing accuracy (fixes PAL "Snatcher" intro synchronization)
* improved CDD "play" command accuracy (fixes "Snatcher" Act 2 starting cutscene)
* improved CDD status report accuracy (fixes track looping with Mode 1 patched games using MSU-MD driver)
* improved Word-RAM byte access accuracy (verified on schematics)
* improved GFX processing accuracy to halt it while Word RAM is allocated to Main CPU in 2M mode
* improved GFX processing timing accuracy (fixes "Night Striker" crashing after completing a game)
* improved GFX processing robustness in case of word-RAM address overflow (fixes potential emulator crash in Flink level 20)
* improved Sub-CPU BUSREQ status accuracy
* disabled 68k and Z80 access to PRG-RAM when SUB-CPU is running (fixes "Dungeon Explorer")
* disabled CD hardware reset on Soft-Reset (verified on real hardware)
* fixed potential load issues with non-zero backup RAM cart
* fixed DATA track minimal length (fixes BIOS refusing to boot small homebrew demos)
* fixed CDD "no disc" status code (fixes boot sequence loading time when no disc is loaded)
* fixed AUDIO tracks length calculation when using separated files (WAV/OGG/BIN) with INDEX pause defined in CUE file
* fixed OGG file seeking when using with CUE file
* fixed WAV file detection to support files generated by Audacity/FFmpeg/libavformat with RIFF header metadata chunks
* fixed PRG-RAM access from MAIN-CPU side on system reset
* fixed state loading bug when SUB-CPU interrupt is pending 
* fixed H-INT vector handling when using Mode 1
* fixed BOOT ROM level 4 interrupt vector upper word value (verified on real hardware, cf. Krikzz's mcd-verificator)
* fixed access to "write-only" communication flags (verified on real hardware by Notaz)
* fixed access to Sub-CPU "read-only" communication registers (fixes Round 5 Boss freeze in Streets of Rage / Sega Classics Arcade Collection)
* fixed byte access to word-only registers (verified on real hardware, cf. Krikzz's mcd-verificator)
* fixed byte access to memory mode, timer and font color registers at even address (verified on real hardware, cf. Krikzz's mcd-verificator)
* fixed byte access to font data registers
* fixed memory mode register bits masking when read from MAIN-CPU and SUB-CPU (verified on real hardware, cf. Krikzz's mcd-verificator)
* fixed pending level 1 interrupts when GFX interrupt is disabled (fixes random freezes when exiting "Batman Returns" option menu)
* fixed CDD seek command again (fixes Final Fight CD freeze with model 2 BIOS)
* fixed CDD status reported during seek/access time (fixes sound effect synchronization issue in Bari Arm)
* fixed CDD position reset when disc is stopped (fixes random freezes in Spiderman vs Kingpin when switching between audio tracks)
* fixed CDD seeking start delay (fixes Radical Rex incorrect PRG-RAM & Word-RAM initialization, causing missing sprites during intro) */
* fixed word access to CDD control register (fixes spurious audio track playback on startup with Mode 1 patched games using MSU-MD driver)
* fixed CD communication registers state on peripheral reset (fixes SUB-CPU side initialization in MSU-MD sample demo and some Mode 1 patched games using MSU-MD driver)
* fixed 32x32 pixels stamp index masking during GFX operation (fixes graphics rotation/scaling effects in "Chuck Rock II - Son of Chuck")
* fixed CDC DMA to PCM RAM when transfer length is not word-aligned
* optimized Sub-CPU / Main-CPU synchronization

[Core/MD]
---------------
* added support for more Radica dumps
* added support for more X-in-1 pirate mappers
* added support for new unlicensed games with copy protection
* added support for Everdrive extended SSF mapper
* added support for MegaSD CD hardware overlay (MD+ hacks) and extended SSF2 / ROM write mappers
* added support for generic SGDK flash-save mapper (https://gitlab.com/doragasu/sgdk-flash-save)
* added emulation of Z80 halt when accessing 68k bus during DMA from 68k bus
* added emulation of 68k delay during Z80 acccess to 68k bus
* added (basic) emulation of 68k bus refresh delays (fixes Super Airwolf graphical glitch during intro & some Krikzz's mcd-verificator timing tests)
* added emulation of CFI-compliant flash memory hardware (used by some unlicensed games for copy-protection and backup RAM support)
* added emulation of YX5200 MP3 player (used by by some unlicensed games for enhanced audio playback)
* added emulation of Micro Machines USA on-board TMSS bypass logic hardware
* added SRAM support for games larger than 8MB
* improved console region auto-detection for a few PAL-only games (The Smurfs Travel the World & Williams Arcade's Greatest Hits)
* improved invalid SRAM header info detection (fixes crashes with some unlicensed hacks/translations)
* improved I2C EEPROM boards emulation accuracy
* improved SVP memory handlers accuracy (fixes Virtua Racing debug mode)
* improved accuracy of 68k access to Z80 bus delays
* fixed Realtec mapper behavior on soft-reset and with TMSS hardware
* fixed Game Genie / Pro Action Replay lock-on support when Mega CD hardware is enabled 
* fixed Game Genie / Pro Action Replay lock-on support with games larger than 8MB
* fixed Game Genie hardware emulation when codes are modified after a soft reset
* fixed SRAM support in Barkley Shut Up and Jam 2, Triple Play 96 & Triple Play - Gold Edition
* fixed automatic CD loading with .md ROM files
* fixed ROM padding for Sonic & Knuckles
* fixed SRAM detection for games where it is mapped to work RAM ("Feng Kuang Tao Hua Yuan" crash)
* fixed 1.7.4 regression with games using SRAM bank-switching
* fixed soft-reset in X-in-1 pirate games

[Core/MS]
---------------
* added new SMS Power dumps in internal database
* added support for Korean XX-in-1 mappers (thanks to Bock from SMS Power)
* added missing GG-MS games in internal game database
* improved console hardware auto-detection
* improved emulation accuracy of SG-1000 & Mark-III hardware
* improved emulation accuracy of Japanese Master System I/O chip (315-5297)
* fixed Boot ROM loading when switching system hardware
* fixed 4MB ROM support
* fixed savestate support when using Boot ROM

[Core/GG]
---------------
* added new SMS Power dumps in internal database
* added optional LCD ghosting software filter
* fixed mirrored access to I/O control register (G-LOC Air Battle)

[Core/SG]
---------------
* added support for new SMS Power Korean dumps
* added support for SG-1000 II clone hardware (2KB RAM + integrated VDP/PSG chip 315-5066)
* added support for SG-1000 II hardware with 8KB RAM extension adapter
* fixed SG-1000 internal RAM size (1KB instead of 2KB)
* fixed savestates for games using external RAM
* restored SG-1000 Pause button support

[Core/CPU]
---------------
* added Z80 wait-states on 68k bus access (fixes Remute Red Eyes demo)
* improved 68k auto-vectored interrupts acknowledge cycle timing accuracy (fixes Bubsy background color corruption during cutscenes & Pacman 2 - New Adventures crashes during Pac-Jr minigame levels transitions)
* improved 68k MOVEM instruction accuracy (implements extra read cycle from memory as verified on real hardware)
* fixed 68k undocumented behaviors for ABCD/SBCD/NBCD instructions (thanks to Flamewing for his test ROM)
* fixed 68k timing of BTST Dn,#Imm instruction (verified by Flamewing in original microcode)
* fixed 68k timings of ANDI.L #Imm,Dn, ADDQ.W #Imm,An and TAS instructions (cf. Yacht.txt)
* fixed 68k timings of BCHG, BCLR, BTST Dn,#Imm and Dn,Dm instructions when bit number is less than 16 (cf. Yacht.txt)
* fixed 68k timings of CHK, TRAP, TRAPV, LINEA and LINEF exceptions (cf. Yacht.txt)
* fixed 68K DIVU instruction timings for SUB-CPU
* fixed and enabled 68K prefetch for MAIN-CPU
* fixed Z80 interrupt duration (Bomb on Basic City music running too fast)
* fixed Z80 SP register initialization on power-on for Master System & Game Gear 
 (Ace of Aces, Shadow Dancer, Ecco the Dolphin, Evander Holyfield Real Deal Boxing)

[Core/IO]
---------------
* added Sega Graphic Board emulation (thanks to Bock & Maxim at SMS Power for prototype hardware reverse-engineering)
* added Master Tap emulation (multi-player support in Boom homebrew)
* added Innovation's Smash Controller emulation (thanks to Stanislav Simbirtsev for original hardware reverse-engineering)
* added gamepad type auto-detection
* added support for XE-1AP controller on both ports 
* improved XE-1AP controller emulation
* improved HVC latch behavior for gun emulation (fixes "Gunfight - 3 in 1" randomization when using Justifier)
* improved control pad emulation accuracy (verified on real hardware)
* improved 4 Way-Play emulation (fixes multitap detection in CD games)
* increased Sega Mouse latency (fixes mouse support in Star Blade)
* fixed TeamPlayer emulation (fixes multitap detection in Gauntlet 4)
* improved Japanese Paddle emulation (fixes Paddle support on control port #2)

[Core/VDP]
---------------
* added support for background color changes during HBLANK when display is disabled (fixes incorrect colored line in Yuu Yuu Hakusho)
* added support for sprites attribute table address change during HBLANK and improved Mode 4 8x16 sprites parsing accuracy (fixes graphics glitch in Madoh Monogatari I cutscreen)
* added optional enhanced 2-cell vertical scroll rendering mode (credits to AlexKiri)
* implemented proper FIFO ring-buffer & unused bits behavior on CRAM/VSRAM reads (verified on real hardware)
* implemented 315-5124 VDP registers #3 and #4 masking behavior in Mode 4
* implemented proper Mode 4 / Mode 5 VRAM address switching
* improved accuracy of DMA Copy/Fill & added support for CRAM/VSRAM Fill (verified on real hardware)
* improved V28/V30 mode switching during active display (verified on real hardware)
* improved interlaced mode 2 vertical scrolling accuracy (verified on real hardware)
* improved Mode 5 sprites parsing accuracy (verified on real hardware)
* improved Mode 5 sprites rendering timings (fixes "Overdrive" demo)
* improved FIFO timings accuracy (fixes "Overdrive" Demo)
* improved FIFO emulation (fixes potential lockup when switching between H32 & H40 mode during active display)
* improved H-Counter accuracy in H32 mode
* improved VDP status timing accuracy
* improved HBLANK flag timing accuracy (verified on real hardware)
* improved VINT timing accuracy in H32 mode (verified on real hardware)
* improved DMA timing accuracy during blanking (verified on real hardware)
* improved accuracy of Master System color palette brightness range (verified against real hardware)
* fixed misaligned buffer writes in Mode 4 when -DALIGN_LONG option is used
* fixed alpha channel for 15-bit (RGB555) and 32-bit (RGB888) color support
* fixed register #10 state on VDP reset (fixes GG Terminator 2: Judgment Day)
* fixed Game Gear VDP registers state on VDP reset (fixes The Terminator glitched Sega logo)
* fixed Mode 1 rendering (TMS99xx "text" mode)
* fixed Master System II extended video modes sprite parsing (fixes Mega Man 2 demo)
* fixed Game Gear display rendering regression when left/right borders were disabled
* fixed 315-5124 VDP zoomed sprites rendering (verified on real hardware)
* fixed address/code potential corruption by one-instruction execution delay after HV interrupts activation (fixes Pugsy's Pyramids stage boss)
* optimized tile caching
* reverted FIFO access timings hack when using invalid write code value

[Core/Sound]
---------------
* added DAC distortion emulation for discrete YM2612 chip model
* added accurate status & BUSY flag emulation for discrete and ASIC-integrated YM2612 chip models (verified on real hardware)
* added optional support for cycle-accurate YM3438/YM2612 & YM2413 cores from Nuked
* removed PSG boost noise feature & added optional high-quality PSG resampling
* rewrote optimized & more accurate PSG core from scratch
* replaced configurable YM2612 DAC quantization by configurable YM2612 chip model emulation (discrete, ASIC-integrated or enhanced)
* improved 9-bit DAC quantization accuracy for discrete and ASIC-integrated YM2612 chip models (verified on YM2612 die)
* improved YM2413 EG accuracy (verified on YM2413 real hardware)
* fixed YM2612 self-feedback regression introduced in 1.7.1
* fixed YM2612 one-sample extra delay on operator1 output
* fixed YM2612 LFO PM implementation: block & keyscale code should not be modified by LFO (verified on YM2612 die)
* fixed YM2612 Timer B overflow handling
* fixed YM2612 potential issue with SSG-EG inverted attenuation level on Key OFF
* fixed YM2413 carrier/modulator phase reset after channel Key ON (fixes Japanese Master System BIOS music)
* fixed YM2413 intruments ROM (verified on YM2413B die)
* disabled PSG output on Mark III hardware when FM output is enabled (verified with real FM sound unit hardware)

[Gamecube/Wii]
---------------
* added configurable BIOS & Lock-on ROM files
* added configurable NTSC filter
* added configurable FPS display & toggleable fast-forward key combo
  (HOME + MINUS with Wii controllers or R TRIGGER + START with Gamecube controller)
* added configurable menu key combo
* added configurable analog sticks sensibility
* added 50hz progressive mode (576p) support for emulation
* added WiiU GamePad Controller support on vWii (Fix94)
* added support for Sega CD / Mega-CD PRG-RAM and Word-RAM cheat codes
* added configurable overclock setting for M68K, S68K and Z80 CPUs
* reduced SRAM files size
* improved A/V Sync: when VSYNC is enabled, audio resampler output rate is now adjusted (+/-0,1 %)
  to always keep audio & video synchronized and input lag is reduced by one frame.
* improved GX video rendering (fixes screen tearing when VSYNC is disabled)
* improved ROM browser scrolling speed and added support for Classic Controller +/- buttons for page scrolling
* improved Cheats Menu 
* fixed bug with PICO pointer
* fixed lightgun crosshair & CD leds positionning when using NTSC filter
* fixed low-pass filter menu setting
* fixed random PNG snapshots corruption
* various code cleanup & optimizations

[Gamecube]
---------------
* improved progressive mode switch request on startup when component cable is detected
* disabled simultaneous multiple .ogg files opening (fixes crashes caused to RAM size limitation)
* fixed broken DVD support
* added low-mem DOL version with dynamically allocated ROM buffer (fixes loading issues with loaders using ARAM for temporary DOL storage)
* built with devkitPPC r47, libogc2 r2354.789670c and libdvm-extreme 9b3de4c (add exFAT support)

[Wii]
---------------
* added support for Wii U Pro Controller
* added Wiimote pointer calibration in Menu settings
* added configurable Wiimote timeout
* added game auto-load support through DOL args (compatible with "Wiiflow" plugin arguments) 
* fixed support for 3rd-party classic controllers with invalid calibration settings
* increased maximal ROM size to 15MB
* built with devkitPPC r47, libogc 2.14.1 and libfat 1.2.0

---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.4 (21/06/2013) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/SCD]
---------------
* fixed access to read-only registers on Main-CPU side ("Batman Returns" platform level freeze)
* fixed & improved emulation of PRG-RAM write protection register ("Lunar Eternal Blue" japanese version freeze)
* improved SUB & MAIN-CPU synchronization ("Dracula Unleashed" freeze when using US Model 2 BIOS)
* improved CPU polling detection
* improved CDD emulation & added CD drive access time for SEEK command ("Panic!/Switch" intro missing scene)
* added missing reinitialization of MAIN-CPU PRG-RAM bank on reset
* added .OGG audio tracks support through LIBTREMOR

[Core/Sound]
---------------
* fixed YM2612 configurable DAC depth emulation
* improved Low-Pass filter
* added optional "MONO" output mode

[Core/VDP]
---------------
* fixed FIFO access timings when using invalid write code value ("Clue" menu)
* fixed DMA Copy with undocumented code value ("Fatal Labyrinth" end sequence)
* minor code fixes & optimizations

[Core/CPU]
---------------
* optimized 68k stack read/write functions
* fixed broken 68k address error emulation
* fixed 68k interrupt behavior (prevents interrupts from being executed multiple time when 68k is halted)
* fixed Z80 registers initial state, added proper initialization when using PBC (verified on real hardware by Charles McDonald)

[Core/MD]
---------------
* fixed SRAM incompatibilities between BIG ENDIAN & LITTLE ENDIAN platforms (note: this breaks old .srm files with LITTLE ENDIAN platform ports)
* added support for a few recently dumped unlicensed games
* added auto-detection of byte-swapped ROM files

[Gamecube/Wii]
---------------
* fixed CD Leds positioning when using NTSC filter
* improved on-screen CD Leds (thanks to Iceknight)
* various code fixes & improvements

---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.3 (26/11/2012) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Gamecube/Wii]
---------------
* fixed broken input system initialization

---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.2 (24/11/2012) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/SCD]
---------------
* added default TOC for Shadow of the Beast II (prevent hangs when audio tracks are missing)
* fixed CD-DA fader muting
* fixed PCM channels panning on reset
* fixed backup RAM file management when using disc swap with Mode 1 cartridge
* incremented CD drive read latency: fixes Space Adventure Cobra (freeze when opening coffin at 2nd morgue scene)
* improved CDD emulation accuracy: fixes Snatcher (freeze at the end of Act 2) & various CD player bugs
* improved MAIN-SUB memory map mirroring in SCD mode (verified on real hardware by Charles McDonald)
* implemented cycle-accurate "stopwatch" register emulation

[Core/Sound]
---------------
* fixed broken PSG noise frequency
* fixed incorrect Game Gear PSG stereo emulation
* implemented cycle-accurate Game Gear PSG stereo

[Core/VDP]
---------------
* fixed broken VDP DMA from SVP ROM latency (graphic errors in Virtua Racing)

[Core/MD]
---------------
* added Super Mario World 64 (unlicensed) cartridge hardware emulation

[Core/Input]
---------------
* added automatic detection for CD games with Justifier/Menacer support
* improved Justifier/Menacer emulation

[Gamecube/Wii]
---------------
* fixed screen rendering when borders are disabled
* added configurable on-screen CD leds

[Wii]
---------------
* DVD light now indicates when virtual CD tray is open
* fixed automatic input settings detection
* improved lightgun crosshair positionning


---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.1 (13/10/2012) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/SCD]
---------------
* added support for CUE files
* added CD-DA tracks emulation (needs CUE+BIN or ISO+WAV images)
* added CD fader emulation
* added CDD "Fast FW" & "Fast RW" commands emulation
* improved CDD TOC emulation (random freezes in Sonic CD, Switch/Panic, Final Fight CD and probably many others)
* improved PCM chip synchronization with SUB-CPU (missing speeches in Willy Beamish)
* fixed PCM chip emulation (random hangs in Snatcher, missing sound effects in Switch/Panic, Final Fight CD, Wonderdog...)
* fixed Word-RAM memory mode on soft-reset (missing logo gfx effects)
* fixed SUB-CPU access to unused areas when using PC-relative instructions (Final Fight CD first boss random crash)
* fixed CPU idle loop detection on memory mode register access (Pugsy CD first boss slowdown)
* fixed Mode 1 emulation (cartridge boot mode)

[Core/Sound]
---------------
* replaced FIR resampler by Blip Buffer for FM resampling
* modified SN76489 core for use of Blip Buffer
* improved PSG & FM chips synchronization using Blip Buffer
* added Game Gear PSG stereo support
* fixed SG-1000 specific PSG noise
* fixed YM2612 LFO AM waveform (California Games surfing event)
* fixed YM2612 phase precision
* minor optimizations to YM2612 core

[Core/Game Gear]
---------------
* added support for CJ Elephant Fugitive (recently released by SMS Power)
* added Game Gear extended screen option

[Core/Genesis]
---------------
* added support for a few recently dumped (but unreleased) games

[Core/General]
---------------
* improved ROM & CD image file loading
* various code cleanup

[Gamecube/Wii]
---------------
* added automatic disc swap feature
* removed automatic frameskipping (no use)
* improved general audio/video sync
* various code cleanup & bugfixes


---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.7.0 (01/07/2012) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/SCD]
---------------
* added Mega CD / Sega CD hardware emulation (incl. Sub 68K, CDD, CDC, PCM, GFX rotation/scaling, etc)
* added .ISO & .BIN CD image file support
* added 512K backup cartridge RAM support
* added savestate support for CD games

NOTES:
~~~~~~
* to play CD games, original BIOS ROM files are required in /genplus/bios/ directory: unzip & rename them to bios_CD_U.bin, bios_CD_E.bin, bios_CD_J.bin 
* CD audio tracks (CD-DA) are not supported (yet)

[Core/CPU]
---------------
* modified 68k core for Mega CD / Sega CD support
* optimized 68k core using prebuild const tables

[Core/VDP]
---------------
* improved DMA accuracy
* improved accuracy of nametables register & VSRAM writes during HBLANK: fixes "The Adventures of Batman & Robin" (graphical issues during 2nd Boss fight).
* added support for 8-bit VRAM writes with undocumented code value (verified on real hardware by Nemesis)

[Core/Sound]
---------------
* improved synchronization between SN76489 & YM2162 cores.
* improved accuracy of SN76489 core timings.

[Core/MD]
---------------
* added support for some recently dumped unlicensed games.
* improved emulation of 32k bankswitch hardware used by a few unlicensed games.
* fixed behavior of Z80 banked reads from 68k RAM (verified on real hardware).
* fixed support for 128K Pro Action Replay ROM.

[Core/MS]
---------------
* added support for all recent korean ROM dumps by SMS Power.
* added emulation of korean multi-game mapper (4-Pak All Action)
* added pseudo-random RAM pattern initialization on Mark-III and Japanese Master System (fixes "Alibaba and 40 Thieves" & "Block Hole")
* added port $3E emulation & internal BOOTROM support (Master System & Game Gear only).

[Core/General]
---------------
* added an option to set VDP mode (PAL/NTSC) independently from console region.
* added an option to select original system master clock frequency (PAL/NTSC/AUTO), emulation will run at selected frequency when VSYNC is disabled.
* fixed 68k context loading/saving (Sol Deace).
* fixed C89 incompatibilities for better portability.
* removed use of "long int" type for portability on 64-bit platforms.
* moved savestate zlib compression out of emulation core (for ports that don't use it).
* various optimizations.

[Gamecube/Wii]
---------------
* removed ROM load device selection from Load Menu: default ROM device must now be configured in menu settings.
* added specific load buttons, browsers & saved paths for each systems, this also fixes slowdowns caused by screenshot loading when browsing from slow devices.
* added support for left/right buttons as page up/down keys in ROM browsers
* added right analog stick as default "return to menu" key for Gamecube controllers
* added alternate remappable menu key combo for Gamecube controllers
* added an option to disable VSYNC (emulator is synced with audio hardware instead of video).
* added an option to boot system from "BIOS", with or without cartridge.
* added Master System & Game Gear "BIOS" support (files should be named bios_U.sms, bios_J.sms, bios_E.sms & bios.gg and copied to /genplus/bios directory).
* replaced "Hard Reset" button by a Soft Reset for systems having a Reset button (Mega Drive / Genesis & Master System)
* State & SRAM files are now only compressed when saving to Gamecube Memory Cards
* various fixes & cleanup.
* compiled with devkitPPC r26 & libogc 1.8.11.

[Gamecube]
----------
* improved progressive mode support when component cable is detected (hold B during startup to switch menu video mode configuration)




---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.6.0 (07/08/2011) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/Sound]
---------------
* added YM2413 emulation in Master System compatibility mode.
* fixed SN76489 noise boost initialization.
* minor YM2612 core optimizations.

[Core/VDP]
---------------
* added accurate emulation of SG-1000, Master System (315-5124, 315-5246) & Game Gear VDP.
* added support for all TMS9918 rendering modes.
* improved Mega Drive VDP timings accuracy in Master System Compatibility mode.
* fixed color palette initialization.
* fixed shifted sprites rendering in Mode 4.
* modified pixel rendering support (pixel depth is now forced at compilation time).

[Core/CPU]
---------------
* optimized 68k core (rewrote 68k interrupt handling, removed multiple CPU types support & unused code) for 5~8% speed improvment

[Core/IO]
---------------
* added accurate emulation of Master System (315-5216, 315-5237, 315-5297) & Game Gear I/O controllers.
* added Terebi Oekaki tablet emulation.
* improved Mouse emulation (fixes mouse support in Cannon Fodder).
* improved Justifier emulation (fixes gun support in Lethal Enforcers 2).
* improved 6-Buttons control pad emulation (fixes Duke Nukem 3D)
* modified lightgun emulation to use common key inputs for all devices.
* 2-buttons controller is now picked by default for Master System games.

[Core/MD]
---------------
* added copy-protection hardware emulation for some new dumped games (Tiny Toon Adventures 3, Mighty Morphin Power Rangers & The Battle of Red Cliffs).
* added Game Toshokan in EEPROM database (verified on real cartridge).
* fixed Micro Machines 2 - Turbo Tournament EEPROM size (verified on real cartridge).
* modified SRAM banswitch hardware emulation to be more compatible with some hacks.

[Core/MS]
---------------
* added Cyborg Z to Korean mapper database.
*
[Core/GG]
---------------
* added 93C46 EEPROM emulation (Majors Pro Baseball, World Series Baseball & World Series Baseball 95).

[Core/General]
---------------
* added support for .mdx ROM format.
* added Game Gear & SG-1000 ROM support.
* added accurate emulation of SG-1000, Master System (I, II) & Game Gear hardware models for 100% compatibility.
* updated to new Genesis Plus license (see http://cgfm2.emuviews.com/)
* various code cleanup.

[Gamecube/Wii]
---------------
* IMPORTANT: cheats, screenshots & save files are now stored in console-specific directories (ex: /snaps/md, /cheats/ms, /saves/gg, ...)
* added 8-bit Action Replay & Game Genie codes support (for Master System & Game Gear games).
* improved audio/video synchronization for PAL games in 50Hz TV modes (now use VSYNC like NTSC games in 60hz modes).
* improved gun cursor positioning accuracy.
* improved horizontal scaling & screenshots rendering in H32 mode.
* fixed a bug with ROM file extension handling that would affect cheats, snapshots, sram & savestate files.
* removed ARAM/injected ROM support (unused).
* removed WPAD_ and PAD_ update from VSYNC callback.
* increased GCC inlining limits for some speed improvment.
* compiled with devkitPPC r24 & libogc 1.8.7.


---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.5.0 (31/03/2011) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/VDP]
---------------
* added support for Master System compatibility mode (Z80 ports access mode), incl. Mode 5 rendering.
* added Mode 4 rendering for both Genesis & Master System modes.
* added alternate BG planes rendering functions (should be faster on PPC architectures).

[Core/IO]
---------------
* added support for Master System compatibility mode (Z80 ports access mode).
* added Master System peripherals emulation (Control Pad, Paddle, Sports Pad & Light Phaser).
* added XE-1AP (analog controller) emulation.
* added Activator emulation.

[Core/Extra]
---------------
* added support for all known Master System cartridge mappers.
* added copy-protection hardware emulation for a few MD unlicensed games: fixes 777 Casino (crash when talking to bunny girls).
(NB: most of those unlicensed games seem to have been already patched by ROM dumpers, main purpose is documenting them)
* added support for Top Shooter arcade board controller. (A=Shoot, B=Bet, C/RIGHT=Coins, START=Start, hold UP on startup to enter service mode)
* improved King of Fighters 98 mapper emulation (registers address decoding is now 100% accurate)
* fixed Game Genie when several codes affect same ROM address.
* fixed EEPROM types for Brian Lara Cricket & NBA Jam TE (verified on real cartridges)

[Core/General]
---------------
* added Master System compatibility mode emulation (automatically enabled when loading ROM file with .sms extension).
* improved savestate stability & compatibility (support for old 1.4.x savestates is preserved)
* various code cleanup & comments.

[Gamecube/Wii]
---------------
* fixed cheat codes handling when several codes affect same ROM address.
* improved input controller detection on menu exit.
* improved key remapping dialog box to match emulated device
* changed Menu key for Gamecube controller to allow MODE button mapping
* fixed DVD not being unmounted on swap (memory leak)

[Wii only]
---------------
* added USB mouse support for Sega Mouse emulation
* compiled with latest libogc: improves USB compatibility & fixes stability issues with Wiimotes.


---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.4.1 (04/12/2010) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/VDP]
---------------
* improved VBLANK flag accuracy, as observed on real hardware.
* improved DMA operations accuracy, writes are now performed on a scanline basis: fixes Gaiares (flickering title screen).
* improved DMA Fill timing accuracy.
* fixed DMA with bad code values: fixes Williams Arcade Classics (corrupted gfx after soft reset).
* fixed horizontal resolution changes during HBLANK: fixes Bugs Bunny in Double Trouble (2nd stage).
* fixed Vertical Counter in interlace mode 1, as observed on real hardware.
* fixed horizontal border width, as observed on real hardware.
* various code improvments & optimizations.

[Core/Extra]
---------------
* improved savestate format: added DMA, SVP, cartridge mapping & internal registers state informations
* improved unlicensed ROM mappers emulation
* added Chinese Fighters III mapper support
* added Top Fighter mapper support
* fixed Barver Battle Saga mapper support
* fixed cartridge hardware soft-reset (Game Genie, SVP, ...)
* fixed Game Genie registers byte reads

[Gamecube/Wii]
---------------
* added message box when inputs config uses disconnected controllers.
* added message box when settings are reseted to default on startup.
* fixed default inputs configuration.
* fixed memory leak in Cheat Menu causing spurious resets.
* added an option to enable/disable automatic cheat activation
* increased max number of cheat codes
* optimized cheat codes requiring RAM patching.
* improved default horizontal scaling to better match output from a real Mega Drive

[Gamecube specific]
---------------
* fixed inverted keys in cheat menu.
* fixed audio input frequency, now use exact audio hardware samplerate, as measured on my Game Cube (~48044 Hz),
 (NB: Wii samplerate has been verified to be closer to 48000 Hz)

[Wii specific]
---------------
* added the possibility for any wiimotes to be used as input device, regardless of the connected expansion controller.
* fixed USB drive not being detected when application is loaded from USB (HBC), thanks to Tantric for the tips.




---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.4.0 (01/11/2010) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core/Sound]
---------------
* completely rewrote sound processing/mixing: sound chips are now clocked with exact output framerate
to ensure 100% smooth video & audio playback, with no lag or skipping, while rendering an accurate number
of samples per frame and keeping PSG & FM chips in sync.
* improved PSG & FM chips synchronization with CPU execution (fixed point precision).
* improved YM2612 core general accuracy (SSG-EG, CSM mode,...) (based upon Nemesis recent tests on real hardware)
* improved YM2612 LFO emulation accuracy: fixes "Spider-Man & Venom : Separation Anxiety" (intro)
* fixed YM2612 bug with Timer B: fixes "Langrisser Hikari II"/"Der Langrisser II" (Sega logo)
* fixed YM2612 context saving/loading.
* fixed YM2612 state on reset.
* removed outdated & less accurate Gens YM2612 core
* added configurable YM2612 DAC resolution emulation.
* added configurable & faster FIR resampler (thanks to Blargg & AamirM), removed libsamplerate support.
* added configurable Low-Pass filtering
* added configurable 3-Band Equalizer (thanks to Neil C).
* added an option to boost SN76489 Noise Channel.
* adjusted SN76489 cut-off frequency.
* implemented Blargg's blip buffer in SN76489 core (all channels are now lineary interpolated)

[Core/VDP]
---------------
* added support for CRAM writes during horizontal blanking (Striker, Zero the Kamikaze Squirrel,...)
* added support for 2-Cell vertical scrolling in Interlaced 2 mode
* added support for some undocumented mode register bits
* added proper emulation of HV Counter latch: fixes Sunset Riders intro
* added pixel-accurate emulation of mid-line display on/off (Nigel Mansell World Championship PAL, Ren & Stimpy's Invention PAL,...)
* improved 2-cell vscroll emulation accuracy, as verified on real hardware (Gynoug, Cutie Suzuki no Ringside Angel, Formula One, Kawasaki Superbike Challenge)
* improved FIFO timings accuracy: fixes Sol Deace intro
* improved sprite masking accuracy (thanks to Nemesis for his test program)
* improved sprites processing accuracy: fixes (un)masked sprites in Mickey Mania (3D level), Sonic 2 (VS mode).
* improved HBLANK flag timing accuracy: fixes Mega Turrican (Sky level)
* improved horizontal blanking & HINT/VINT occurence timing accuracy, as measured on real hardware.
* improved HCounter accuracy in 40-cell mode, as measured on real hardware.
* improved color accuracy in VDP highlight mode to match results observed on real hardware

[Core/CPU]
---------------
* updated Z80 core to last version (fixes interrupt Mode 0 timing and some BIT instructions).
* fixed some Z80 instructions timing.
* fixed state of Z80 registers on reset (sound issues with Defender & Defender 2 in Williams Arcade Classics)
* improved Z80 interrupt accuracy
* improved 68k accuracy (initial Reset timing + auto-vectored interrupts handling).
* improved 68k timing accuracy for DIVU/DVIS (thanks to Jorge Cwik) & MULU/MULS instructions.
* implemented 68k undocumented flags behavior for DIVU/DIVS instructions (Bloodshot / Battle Frenzy)
* improved Z80 & 68k cpu execution/synchronization accuracy by using Master Clock as common reference (now run exactly 3420 M-Cycles per line).
* modified Z80 & 68k cores to directly use external cycle count instead of intermediate counters.

[Core/Extra]
---------------
* added Game Genie hardware emulation.
* added Action Replay & Pro Action Replay hardware emulation (only preliminary Pro Action Replay 2 support).
* added Sonic & Knuckles "Lock-On" support.
* added Cartridge "Hot Swap" feature.
* added missing EEPROM support in more games.
* added VDP lock-out emulation (TMSS).
* improved emulation of copy-protection hardware found in some unlicensed cartridges (Mulan, Pocket Monsters II).
* fixed Realtec mapper emulation: fixes missing sound in Balloon Boy / Funny World.
* fixed lightgun auto-detection: fixes default cursor position in Lethal Enforcers II.
* enabled simultaneous use of multitap & J-CART (Super Skidmarks 6-player mode)
* lots of code cleanup, bugfixes & optimization.


[Gamecube/Wii]
---------------
* implemented custom FONT engine (uses internal IPL font & GX hardware rendering).
* implemented custom GUI engine (uses GX hardware rendering & multithreading) 
* implemented advanced menu interface (IR pointing, game snapshots, cheats & saves manager, visual & sound effects, BGM support, etc).
* improved audio/video synchronization to ensure 100% smooth video & audio playback.
* improved soft-reset button support, now works more like real Mega Drive / Genesis (model 1) reset button.
* improved lightgun cursors layout.
* added automatic ROM loading feature (last played game launches immediately when starting the emulator)
* added PAR codes and .pat files support
* fixed lot of stability issues and potential memory leaks.

[Wii specific]
---------------
* added Video Hardware "Gamma" control
* added Video Hardware "Trap Filter" control
* improved Mouse emulation through Wii remote
* compiled with devkitPPC r22 & libOGC 1.8.5 (includes SDHC & USB2 support through IOS58, removes DVDX support)




---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.3.1 (20/12/2008) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Gamecube/Wii]

* improved sound engine
* modified frame synchronization (now use audio DMA interrupt)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX 1.3.0 (14/12/2008) (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* YM2612 bugfixes (MAME core):
  .fixed EG Decay->Substain transition when SL & DR are minimals: fix tracks #3 and #9 in "Mega Turrican"
  .fixed a bug in SSG-EG emulation code: fix Level 1 music in "Alisia Dragoon"
  .modified SSG-EG Decay End Level: fix some sound effects (ChainSaw, Zap...) in "Beavis & Butthead"
  .improved Detune overflow accuracy: fix very high frequency sounds in many games
  .fixed registers 0x20-0x26 Reset state: fix intro music in "B.O.B"
  .reverted incorrect fix with KEY ON: fix "Flamethrower" sound effect in "Alien 3" and many others
* adjusted HCounter values: fixes line flickering in "Sonic 3D" bonus stage
* adjusted VINT timing: fixes hang-up in "V.R Troopers"
* improved HBLANK flag accuracy: fixes line flickering in "Gouketsuji Ichizoku"
* fixed broken Z80 access to WRAM: fixes hang-up in "Mamono Hunter Youko"
* modified JCART emulation: fixes corrupted tracks logo in "Micro Machines 2"
* added Blargg's NTSC Filters support (NTSC video artifacts emulation)
* optimized VDP rendering core, rewrote 68k interface (memory handlers, cycle execution, interrupts): greatly improved emulation speed

[Gamecube/Wii]

* remove slowest libsamplerate settings under "HQ YM2612" option, only keeps SRC_LINEAR (faster) and SRC_SINC_FAST (better)
* added an option to enable/disable bilinear filtering
* rewrote video engine: improved horizontal scaling (VI+GX), improved rendering speed (direct texture mapping)
* removed embedded font, (re)enabled IPL font support: now should works for Qoob users too (thanks to emukiddid)
* fixed "Reset" button behavior, now acts more like Genesis Reset button ;-)
* patched libfat for faster SDCARD accesses (thanks to svpe)
* SRAM and SaveState filenames are now based on the ROM filename (for FAT devices only)
* various bugfixes, menu tweaks and code cleanup

[Gamecube]

* added 480p support in menu

[Wii]

* implemented fast scrolling in menu using Wiimote D-PAD
* added "Power" button support
* added USB Storage support
* Widescreen menu fix
* *new* libogc 1.7.0 features: SDHC support, Wiimote shutdown button support



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 080826 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* YM2612(MAME): fixed LFO phase update for CH3 special mode: fix sound effects in Warlock & Aladdin (thanks to AamirM)
* YM2612(MAME): fixed EG attenuation level on "KEY ON": fix Ecco 2's splash sound
* YM2612(MAME): fixed SSG-EG emulation: fix Bubba'n Stix (Track 5) and many others
* YM2612(MAME): replaced sample interpolation with libsamplerate support, High Quality mode is now more accurate
* implemented cycle-accurate HINT timings: every timing sensitive games/demos are now *finally* working fine
* fixed a bug affecting CRAM/VSRAM DMA timings
* fixed Sprite Attribute Table address mask for VRAM writes 
* improved accuracy of 68k access to Z80: fix music in Pacman 2 when entering PAUSE menu
* disabled "Address Error" emulation when UMK3 hack is loaded: fix game crashing after a round ends up
* added support for some more unlicensed games: Pocket Monster, King of Fighter 98, Soul Blade (credits to Haze)
* improved Menacer emulation: fix lightgun support in Body Count & T2: The Arcade Game
* added Konami Justifier emulation: fix lightgun support in Lethal Enforcers 1 & 2
* added Sega Mouse emulation (Populous 2, Body Count, Shangai 2, Fun'n Games, ...)

[Gamecube/Wii]

* added Wiimote support for Menacer/Justifier/Mouse
* added DVD support in Wii mode (no modchip required)
* added "Gun cursor" option to enable/disable gun position display
* added "Invert Mouse" option to invert Sega Mouse vertical axe (required by some games)
* improved Controller options: Wiimote/Nunchuk and Classical Controllers can now be affected separately to ANY player



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 080716 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* adjusted (again) HINT timings: fix Double Dragon 2 (game freezed), hopefully does not break anything else
* fixed broken EEPROM support for Codemaster games
* modified input update timings: fix Dungeons & Dragons * Warriors of the Eternal Sun (thanks to Notaz)
* added support for "Ultimate Mortal Kombat Trilogy" hack (max. size supported is 10MBytes)
* added (VERY) preliminar support for PICO roms (credits to Notaz for his documentation)
* improved YM2612 emulation (credits to Nemesis for his tests on real hardware):
  .implemented phase overflow emulation: improved fix for special music instrument used in Comix Zone, Flashback, Ariel, Shaq Fu...
  .improved SSG-EG emulation in MAME core (also based on additional code from Alone Coder)
  .improved Timers emulation accuracy
  .improved Enveloppe Generator accuracy
  .fixed Channel 3 CSM mode emulation
  .implemented sample interpolation in MAME core to emulate the chip at original frequency (HQ YM2612 mode, from gens)

[Gamecube/Wii]

* added automatic alphabetical filesorting (Marty Disibio)
* added ROM History for faster ROM access (Marty Disibio)
* fixed a silly input bug in "ROM Infos" & "Game Genie" menus
* modified "Hard Reset" option
* improved display sharpness in original rendering mode (H40 cell mode only), filtering is now completely disabled
* enabled overscan emulation in "STRETCH" aspect mode also
* added support for horizontal wiimote handling in Menu (automatically used when the wiimote is not pointed towards the screen)
* improved Controller options
  .prevented keys reconfiguration if device is not detected
  .added support for up to 8 players (ISS Pro Deluxe, ...)
  .each player can be affected to a custom device (GAMECUBE Pad, WIIMOTE/NUNCHUK or CLASSIC)
  .added the ability to use classic controller & wiimote pad from the same port separately
  .modified "soft-reset" key on the Wiimote to avoid "accidental" resets (now press Buttons + & * simultaneously)
  .added MODE button mapping: use "START+Z" on gamepad or "Button Minus" on wiimote/classic (not reconfigurable)
  .added automatic configuration save for controller options



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 080601 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* improved HCounter accuracy: fix graphic glitches in "Striker (Europe)"
* improved HINT timing accuracy: fix flickering in "Zero The Kamikaze Squirrel (USA)"
* improved rendering accuracy when backdrop color is modified during HBLANK (Road Rash I/II/III)
* fixed broken Game Genie support

[Gamecube/Wii]

* added full horizontal scaling (up to 720 pixels) when using "stretch" aspect mode (use Xscale to increase width)
* added progressive mode support (480p) in menu also
* added automatic SRAM/FreezeState support (OFF by default, check "system options")
* added automatic configuration file support
* /genplus/saves is now automatically created if it does not exist
* use libfat automatic SDCARD detection: default slot is now always used when accessing SDCARD
* assigned Reset Button to Genesis Soft-Reset

[Wii]

* added automatic TV mode detection (from SYSCONF), no more PAL60 version needed
* added option to return to Wii System Menu
* fixed "TP reload" option: now compatible with HB channel
* removed SD-Gekko support (Wii slot becomes default slot)
* added Wii SD slot support for SRAM & FreezeState files
* added Wiimote, Nunchuk & Classic controllers support through libwiiuse (see User Manual for default keys)
* added customizable key mapping (for each configurations: wiimote only, wiimote+nunchuk or classic)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 080419 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* modified VINT timings a little bit: fix lockup during Desert Strike's intro
* corrected 68k interrupts handling: fix graphic glitches in Darius II/Sagaia

[Gamecube/Wii]

* fixed 60Hz "Bilinear" rendering mode (was broken in last release)
* fixed issue with the 1st file when browsing SDCARD through SD-Gekko
* fixed GX initialization: fix "freeze" issue that occured sometime when starting a game
* added "Wii Reboot" option
* added PAL 50hz support in menu (black borders)
* added progressive rendering mode support (480p) in Wii mode (not supported by the PAL60 version, use the other one !)
* compiled with a modified libogc: should definitely fix the PAL "red screen" issue for RGB-cable users (still use the PAL60 version !)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 080406 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* updated SVP core: fix some perspective issues in Virtua Racing (thanks to Notaz)
* added internal SAT update during VRAM Fill: fix unmasked sprites during Battletech's intro
* fixed m68k core issues with gcc 4.2.3: fix Xperts, Lemmings 2, M1 Abrams Battle Tank
* forced YM2612 Enveloppe update: fix intro music in Batman&Robin (thanks to Aamir)

[Gamecube/Wii]

* removed not working DVD features (Wii mode only)
* fixed Timers with PAL roms
* added EURGB60 TV mode support: fix "red screen" issue with PAL Wii when using RGB cable
* added PAL50 TV mode support (PAL and NTSC roms), see video options
* added "TP reload" option, use "System Reboot" (Wii mode only)
* added Front SD rom loading support with LFN & subdirectory browsing (Wii mode only)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 080301 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* added SVP emulation: Virtua Racing is now emulated (big thanks to Notaz and TascoDeluxe)
* fixed VDP registers behaviour when VDP Mode 4 is enabled: fix Bass Masters Classic Pro, Captain Planet & The Planeeters
* corrected a bug in DMA Fill operation: fix James Pond 3, Rockman World/Megaman Willy Wars (corrupted VRAM)
* corrected typo errors in CPU cycle counters update: fix optiom screen music in "College Slam" and probably others games.
* added preliminary support of undocumented YM2612 bug: fixes soundtracks of Shaq Fu, Spiderman, Comix Zone, Ariel and some others
* added support for mappers & copy protection devices used in many unlicensed/pirate cartridges (see cart_hw.c for details)
* rewrote memory handlers for better modularity and some (little) speedup
* reduced Savestate size

[Gamecube]

* compiled with last LibOGC (20080228): fix issues when unplugging controller, support for Wii mode (see release.txt)
* added "hard-coded" IPL font (no more direct access to BOOTROM): fix font problem for Qoob users
* added SDCARD Slot B support for loading Roms
* removed unused MAME PSG Core
* added 'Force DTACK' option for prototype games usually hanging on real hardware (example: Sonic Crackers)
* added an option to underclock SVP core (with default cycle count, Virtua Racing actually does not run fullspeed in GC mode)
* fixed frame timing in PAL mode
* fixed analog stick sensitivity



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 080107 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* fixed interleaved rom detection: roms with .smd extension should now work fine
* fixed a recently introduced bug in VDP registers writes: fixes bad colors in Toy Story (intro)
* updated list of games using EEPROM: added Sports Talk Baseball (internal memory check fixed) and Brian Lara Cricket
* fixed VINT flag update when VINT is disabled: fixes NCAA College Football
* adjusted DMA timings in H32 mode: fixes flickering in Out of this World, Kawasaki Superbike Challenge & Formula One
* adjusted line rendering and HBLANK timings: fixes flickering in Nigel Mansell's World Championship Racing, Deadly Moves/Power Athlete
* fixed unmapped ROM reads through Z80 Bank: fixes Zombie High (Proto)
* added support for custom ROM/RAM mapping used by Game no Kanzume Otokuyou

[Gamecube]

* fixed broken SDCARD support for SRAM and Savestate files



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 071230 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Gamecube]

* fixed ROM injector base address (DATA section 1)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 071228 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* many sourcecode cleanup and optimization
* completely rewrote EEPROM emulation: now support all known EEPROM types (24C01-24C65) and mappers (Sega, Acclaim, EA, Codemasters)
used in a few games (now use internal game database) as external RAM. This should at least fix save support in the following games:
  . NBA Jam (alternate Acclaim mapper)
  . College Slam, Frank Thomas Big Hurt Baseball (24C65 type)
  . NHLPA Hockey 93, Rings of Power (EA mapper)
  . Micro Machines serie, Brian Lara Cricket 96/Shane Warne Cricket (Codemasters mapper)
* external RAM is now initialized to 0xFF by default: fix Micromachines 2, Dino Dini Soccer 
* fixed SRAM 16-bits memory handlers: fix some Sega Sports and EA Sports games (NFL95, NBA Action 95, NHL97, NHL98,...)
* modified WRITE_xxx & READ_xxx macros for better portability and faster memory access on BIG ENDIAN platform 
* completely rewrote BIG ENDIAN support in render.c and vdp.c: rendering should be a little faster
* rewrote ROM bankswitch emulation (Super Street Fighter II): ROM access are faster, using memory pointers instead of reading ROM copy from ARAM 
* fixed leftmost Window/PlaneA column render and implemented Window bug (as described by Charles Mc Donald)
* improved "Sprite Limit" and "Sprite Collision" detection accuracy
* modified RGB565 Color Palette to use the full available color range (0-31;0-63)
* implemented "cycle accurate" HV Interrupt timings: fix Sesame's Street Counting Cafe, Legend of Galahad (intro)
* improved VDP access timings accuracy (added FIFO emulation): fix Double Clutch
* improved DMA timings accuracy: fix Winter Olympics (E), Arch Rivals and probably more
* fixed HCounter again: Road Rash serie (I,II,III) don't need timing hacks anymore
* fixed VCounter in Interlaced 2 mode: fix Combat Cars "VS-Mode"
* improved Interlaced 2 mode (double resolution) rendering: Sonic 2, Combat Cars ("VS-Modes") look far better
* added TMSS BIOS support (optional)
* rewrote part of the YM2162 MAME's core: fixed internal FM timers handling, removed non-YM2612 emulation code and unused multiple cpu support
* implemented "cycle accurate" FM timers & sound samples rendering
* improved Z80 Interrupt timing accuracy: fix Sonic 3 music slowdowns
* updated Z80 & 68000 cores to last MAME versions
* improved Soft Reset emulation: X-Men 2 and Eternal Champions (random character selection) now work more like on real hardware.
* added full overscan emulation (vertical & horizontal borders) for "pixel perfect" aspect ratio (tested against a real genesis)

[Gamecube]

* fixed rom checksum calculation (only used for rom information)
* some modifications in GX rendering code.
* added support for original Genesis/Megadrive NTSC & PAL video modes: this makes games looking exactly as on original hardware (progressive rendering with reduced resolution)
* added "Aspect" option to switch between ORIGINAL (aspect ratio is fixed and borders are emulated) and MANUAL SET (horizontal and vertical scaling can be manually configured, borders are not emulated)
* added "Overscan" option to disable the original borders color and always use black borders (only used when ORIGINAL Aspect mode is enabled)
* added support for up to 720 pixels horizontal resolution (needed for proper aspect ratio emulation)
* added "TV Mode" option to enable automatic switching to PAL(50Hz) TV mode when the Genesis runs in PAL mode
* added "Xshift" & "Yshift" settings to let you adjust display area position while keeping the original aspect ratio
* added option to disable/enable SSG-EG support in FM cores: this special mode is indeed not properly emulated and some games might sound wrong when enabled
* removed "CPU Type" option, you can also now force Region (JAP/EUR/USA) without reseting the game, choose USA or JAP for 60hz, EUR for 50hz, this can be useful to bypass game region protection at startup.


---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070720 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* corrected TeamPlayer support: fix multiplayer in Gauntlet 4 (Sept. version), Pengo and a lot of others
* added J-Cart support: enable multiplayer in Codemasters games (Pete Sampras, Micromachines games, Super Skidmarks)
* added serial EEPROM autodetection: fix games with bad SRAM informations in header (NBA Jam TE)
* added SVP faking: display 2D graphics in Virtua Racing (the game is however still unplayable)
* added support for more internal IO registers: fixe some unlicensed games (Wisdom Tree games...)
* added preliminary support for unmapped protection device: fix some unlicensed games with special built-in hardware (Squirell King, Lion King 2...)
* added "Soft Reset" combo (in game, use L+Z triggers): this should be like pressing the RESET button on a real Genesis and this is required
  in some games to enable special features or even complete the game (ex: X-Men).

[Gamecube]

* added separate configuration for PortA/PortB inputs (GAMEPAD, MULTITAP or NONE, see Joypad Config): this let you setting
  PORTB as unplugged, which is needed in some games to access special modes or enable cheat codes (Alien Storm, X-Men...)
* Freezestate & SRAM files are now compressed (using zlib)
* FreezeState & SRAM files can now be saved/loaded to/from SDCARD: located in /genplus/saves/ from the root of your SDCARD
* changed initial ROMS directory for SDCARD user: now looking for /genplus/roms/ from the root of your SDCARD
* added user-transparent SRAM autoload (detection order is MCARD then SDCARD, SLOTA then SLOTB)
* "System reboot" is now used for console reboot and SD/PSO reload (if detected)
* added new font: now use original IPL font, extracted from Bootrom
* modified controls when going into the rom selection menu (DVD or SDCARD):
   . use B button to go up one directory
   . use Z button to quit the file selection menu 
   . use L/R triggers to go down/up one full page
   . use Left/Right buttons or Analog stick to scroll the selected entry's filename when it can't be full displayed
* various menu rearrangment, minor bugfixes & sourcecode cleanup



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070621 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* added Multitap support (EA 4-Way Play and Sega Teamplayer): allowed up to four players in games supporting those peripherals
* added partial Sega Menacer lightgun support: automatically set when detecting the 6-in-1 Menacer game

[Gamecube]

* added 4.7GB DVD support for WII drives (the maximal allowed size for Gamecube DVD is still 1.35GB)
* removed MPAL video timings, always use 60Hz NTSC: fix display problems for PAL wii users (no more PAL50 version needed)
* added Console Reboot option in main menu (IPL Reboot)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070518 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* you can now switch between FM cores without reseting the game. FM registers  value are automatically restored when switching.
* removed the previous VINT timings modification because it brokes some games (Rocket Knight, Thunderforce III,...)
* added automatic Timing configuration (VDP latency, VINT timing & alternate Line Timing) at game loading, based upon specific romname detection.
This means you can still modify some of these options afterwards but they are now automatically set/unset when loading a game which need
special timing fixes. These fixes are also automatically desactivated when the current game doesn't need them.
For information, games that are actually detected and need special timings to run properly are:
 .Legend of Galahad & Road Rash series (single line not rendered properly)
 .Sesame Street Counting Cafe (don't boot)
 .Chaos Engine/Soldiers of Fortune (graphic glitches on scrolling)

[Gamecube]

* modified PAL framesync a little bit: the 20ms period is now applied between the start of 2 consecutive frames,
no more between the end of the previous and the start of the next one, which seems more correct to me



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070508 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* VINT timings are now a little more accurate: fixes Sesame's Street Counting Cafe
* SN76496 MAX_OUTPUT back to normal
* modified FB_WNOISE value in SN76496 core according to John Kortink's last informations 
* added support for Maxim's PSG core, same as used in SMSPLUS (it becomes the default PSG core)
* updated FM core to the latest MAME version
* corrected DAC output level (fixes voices and some special FX being too low)
* added support for Gens YM2612 (FM) core (MAME's one still remains default FM core)

[Gamecube]

* corrected L & R buttons assignment: fixes Genesis X & Z buttons being inverted
* added configurable preamplification for each sound cores (see Emulator Options)
* added some other configurable sound options (boost overall volume, FM improvment for Gens YM2612)


---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070411 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* corrected MAX_OUTPUT value in SN76496 core: fix PSG sound (SFX) volume
* removed unused sound buffer allocation



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070326 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Gamecube]

* added DVD automount: automatically call libogc DVD_Mount function if ISO PVD reading failed (idea taken from softdev's last neocdredux release). This may be useful for loading roms from a DVD after booting from SDLOAD or after stopping DVD motor.
* added "DVD motor off" feature, like in others emulators
* corrected Memory Card mounting function: EXI_ProbeReset() function was never called if the first mounting attempt failed. Should fix some of the "Unable to mount memory card" errors.



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070322 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Gamecube]

 * added SDCARD subdirectory browsing and LFN (255 char. max) support



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070317 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

 * Color RAM update now always reset color 0 to border color (fix color glitches in Mortal Kombat,...) (thanks to Noop's for the idea)

[Gamecube]

 * remove some rendering unused code (only used by DOS version of genesis plus) for little speedup
 * added an option to enable alternate line rendering timing (fix single line error in Road Rash series and Legend of Galahad's Intro)
 * added last Softdev's modifications (normalised memory access and ASM GU functions used intead of 'C' ones) for some speedup
 * updated gcaram.c to be compatible with last libogc version



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070309 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* little rendering code speedups
* modified HV counter tables (fix graphic glitches in Skitchin's sky, Lotus 2 Recs, Panorama Cotton, Dashin Desperados & maybe more)
* completely rewrote DMA timings emulation so that it works for all games (no more cpu freezing)
* added all DMA tranfer rates handling for each three DMA modes and added dma busy flag emulation
* modified interrupts handling on VDP register #0 and #1 writes (fix Lemmings status bar)
* added VDP RAM write latency  (fix Chaos Engine/Soldier of Fortune gfx glitches)
* modified FM timers handling a bit (fix Vectorman2 music)
* corrected Sprite Limit rendering (fix Sonic 1 & Micromachines 2 title screens)
* corrected IO Registers writes (fix Decap' Attack controls, no more need for alternate input)
* corrected 6 Buttons Pad emulation (fix 6buttons detection in Mortal Kombat 3, Comix Zone and other 6-buttons compatible games)
* modified sound mixing a bit according to Generator sourcecode (FM and PSG ratios seems more correct)
* added separate CPU Region (USA, Europe, Japan,...) & Speed (PAL or NTSC) choice in menu options
* modified main frame synchro in PAL mode (fix sound glitch in this mode), thanks to Softdev for the solution
* added savestates support (go to SRAM menu, memory card supports only)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX release 070207 (Eke-Eke)
---------------------------------------------------------------------------------------------------------

[Core]

* fm timers fixed (fix missing music in Castle of Illusion, Quackshot, Undead Line, Wonderboy in Monster Lair, Cal 50, Turbo Outrun, Thundeforce 4 and maybe more)
* added complete EEPROM emulation (save support now works fine in Wonderboy5, Megaman Willy Wars, NBA Jam...)  (credits to Notaz, adapted from Picodrive code)
* added preliminar dma timing emulation (fix bottom screen in Legend of Galahad) (credits to Notaz, adapted from Picodrive code)
* hack: clear Vint pending after Hint (INT level 4) acknowledge (fix Fatal Rewind)
* hack: modify read_bus16 to return a random value (fake fetch) (fix Time Killers)
* modified cpu execution timings, with more correct hblank and interrupts timing  (fix ISS Deluxe, Double Dragon 2 and certainly more) (Based on Gens code)
* modified busreq mechanism: better synchro between z80 & 68k (no need to dejitter anymore) (Based on Gens code)
* added sprite collision detection (fix Strider 2)
* modified dma fill operation for big endian platform (fix Contra Hardcorps gfx garbage)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX WIP 1.2 (Softdev)
---------------------------------------------------------------------------------------------------------

[Gamecube]

* Added partial zip support (unzip.c)



---------------------------------------------------------------------------------------------------------
Genesis Plus GX WIP 1.1 (Softdev)
---------------------------------------------------------------------------------------------------------

[Core]

* sio.c added
* Added six button pad support from x86 Gens
* Additional changes based on Charles MacDonald's gen-hw.txt



---------------------------------------------------------------------------------------------------------
Genesis Plus GX WIP 1 - 7 March 2006 (Softdev)
---------------------------------------------------------------------------------------------------------

[Core]

* Updated SN76496 driver

[Gamecube]

* Added GX Hardware Scaling



---------------------------------------------------------------------------------------------------------
Genesis Plus GX WIP 0 (Softdev)
---------------------------------------------------------------------------------------------------------

[Gamecube]

* initial port based on Genesis Plus 1.2a from Charles McDonald (http://cgfm2.emuviews.com/)
