
2.11 / 21-09-2025
Performance
Features
Bizhawk
Accuracy
BizHawk is a multi-platform emulator written in C# which focuses on core accuracy and power user tools. Its main features are TASVideo (Tool-Assisted Speedrunners) for full recording and debugging tools as well as Lua scripting. The consoles covered include but are not limited to Apple II, Atari 2600/7800, ColecoVision, DOS, Game Boy/Game Boy Color/Super Game Boy, MSX, Nintendo Entertainement System, Super Nintendo, Gameboy/Color, Sega Master, Sega Genesis, Sega 32X, Sega Saturn, Sega GameGear, ZX Spectrum, Atari 2600/7800, Commodore 64 and a few more!
--
Windows: 7+
- .NET Framework 4.6.1, Visual C++ Redists (2010 SP1, 2012, 2015) & Direct3D 9 required. 
- They provide a pre-requisite package 
Linux: As stated by the authors, support is a work-in-progress
Most Recent Changes
--2.11--
New cores
- DSDA-Doom for Doom/Heretic/HexenWarning: Analog Weapon Selection does not work at all! Wait for 2.11.1! 
 DOSBox-X for DOS and early Windows
 Opera for 3DO
 
Atari2600Hawk
- Fixed #4176 - [C64, 6502] Incorrect behavior for "undocumented" CPU functions 
 
A7800Hawk
- Fixed #4176 - [C64, 6502] Incorrect behavior for "undocumented" CPU functions 
 
BSNES
- Update to latest upstream version 
 Enhancement #3813 - Value from mem address is not passed to read callback
 Fixed #4119 - BSNESv115+ SNES Mouse out of sync
 
C64Hawk
- Merged #4192 - [C64] 1541 disk drive emulation facelift 
 Merged #4177 - [6502] Pass Lorenz C64 tests
 Fixed #4176 - [C64, 6502] Incorrect behavior for "undocumented" CPU functions
 
Encore
- Fixed local timezone being used to offset RTC (UTC is now always used) 
 Prevent "Update" CIAs being booted
 Update/DLC CIA installation exception is now friendlier (simply states the Update/DLC CIA was successfully installed)
 System Bus domain is added (super important for pointers!)
 Loading a savestate will restore the framebuffer again
 Fixed #4374 - Encore fails to create savestate
 
Faust
- Fixed #4278 - Earthbound (SNES) crashes in Faust when trying to record input 
 
Gambatte
- Fix minor sound issues in GBA mode (non-sync change, purely audio output fix) 
 Enhancement #3813 - Value from mem address is not passed to read callback
 Fixed #4394 - BizHawk crashes when using FFmpeg writer
 
GBHawk
- Enhancement #3813 - Value from mem address is not passed to read callback 
 
Genplus-gx
- Update to commit 956fdba 
 Enable PC address error checks for gpgx. Needed for a speedrun glitch in Spider-Man that allows for skipping to the next level
 Enhancement #3813 - Value from mem address is not passed to read callback
 Fixed #4206 - [Genplus GX] Sega CD game, After Armageddon Gaiden malfunctions in 2.10
 Fixed #4371 - XJ220 Sega CD doesn't run in Bizhawk 2.10.
 Fixed #4324 - [GEN/MD] BizHawk crashed without error reporting after opening Demons of Asteborg newer versions
 Fixed #4293 - Crash without error when Loading MegaCD Games in EU
 Fixed #4229 - Demons of Asteborg does not work in 2.10
 Fixed #3862 - Weird mem callback issue with high address locations under genplus-gx
 
MAME
- fix crash for view names containing commas 
 sort views according to their index
 Enhancement #3725 - MAME: disable archive opener fallback for OpenAdvanced
 Fixed #4288 - [MAME] blitz99 won't launch, throws a GBL load error
 
melonDS
- Updated to post 1.0 (commit 8a6fa3a 
 Loading a savestate will restore the framebuffer again
 melonDS JIT is now supported
 DLDI and DSi SD Card is partly now supported (for a simple blank SD card given, required for some homebrew)
 DSi NAND apps that are not DSiWare can now be loaded in (considered DSiWare for purposes of the movie header)
 Enhancement #3813 - Value from mem address is not passed to read callback
 Fixed #4414 - System.NullReferenceException upon loading NDS ROM
 Fixed #4344 - DS games unable to save, saveram overwritten upon reloading game
 Fixed #4317 - MelonDS game printf is formatted weirdly
 Fixed #3840 - DSiware games do not works
 
mGBA
- Update to commit cef7dde 
 
Mupen64Plus
- Fixed #3155 - Pokemon Snap - Broken, fixed in upstream 
 Fixed #4233 - N64 - NTSC versions of Paper Mario do not boot on BizHawk 2.10
 
NesHawk
- Merged #4309 - Fixed incorrect behavior of SHA, SHX, SHY, and SHS in NesHawk 
 Merged #4307 - Fix NesHawk APU Status open bus behavior
 Fixed #4402 - Glitched graphics in NES Beauty and the Beast
 Fixed #4176 - [C64, 6502] Incorrect behavior for "undocumented" CPU functions
 
Nymashock
- Fixed #3436 - Bizhawk stops working in about half an hour of playing 
 
O2Hawk
- Fixed #4391 - '.' key mnemonic in .bk2 is indistinguishable from "not pressed" 
 
PicoDrive32x
- Fixed #4419 - The SEGA 32x Games don't work on Bizhawk, the screen is always Black. Please fix it (I prefer the Kega Fusion core, better than gen-plus). 
 
QuickNes
- Merged #4211 - QuickerNES NES 2.0 header read fixFixed #4186 - Crash when loading Digital Devil Story: Megami Tensei 
 Merged #4429 - [Fix] Adding a fix to QuickerNES to support certain games with submapper > 0
 Fixed #4368 - QuickerNES only loads MiG-29 by codemasters on a black screen
 Fixed #4402 - Glitched graphics in NES Beauty and the Beast
 Fixed #4246 - QuickNES crashed when I tried to switch games (Bizhawk 2.10)
 Fixed #4244 - Incorrect MMC5 emulation on QuickNES on Bizhawk 2.10.
 Fixed #4243 - [quickerNES] Blacklist FDS Titles.
 Fixed #4240 - Glitched battle screen in Lagrange Point English Translation on QuickerNES
 Fixed #4239 - Super Mario All-Stars NES does not work on quickerNES core.
 
SameBoy
- Update to v1.0.2 
 Enhancement #3813 - Value from mem address is not passed to read callback
 Fixed #4343 - Sameboy core no way to turn off rumble when pressing a or b
 
Saturnus
- Fixed #4314 - Saturnus runs FMV sequences slow on Linux 
 
Snes9x
- Fixed #4260 - Sound cracks during Star Fox gameplay on Snes9x core 
 Fixed #4194 - Snes9x Core issue - Brawl Brothers - Bizhawk 2.10 x64
 
Stella
- Merged #4178 - [A26][Stella] Adds support for the console Select switchEnhancement #4175 - [A26][Stella] Select switch is not implemented 
 Enhancement #3203 - Various A2600 games need B&W toggle changed during gameplay
 
TIC-80
- Fixed #4391 - '.' key mnemonic in .bk2 is indistinguishable from "not pressed" 
 Fixed #4190 - Graphical error in a recent TIC-80 title
 
UAE
- Enhancement #4213 - AmigaHawk - Add the option to have "Empty" ports in Sync Settings 
 Enhancement #4204 - UAE Core - May need more PAL Overscan
 Fixed #4270 - UAE A1200 profile running slower than expected
 
Virtu
- Fixed #4392 - Virtu: keyboard state is incompletely restored when loading a savestate 
 Fixed #4391 - '.' key mnemonic in .bk2 is indistinguishable from "not pressed"
 
DiscoHawk
- Sped up chd writing by an order of magnitude 
 
- EmuHawk 
 Support relative mouse input (- RMouse)To bind to analog input, just bind regular mouse input (- WMouse) twice.
 Does not work in frame-by-frame mode!
 - Toggle Stay on Tophotkey
 Fix crashes on startup with certain old Intel iGPUs
 Fixed JumpList (Task bar recent items list) items not launching correctly
 Merged #4452 - Ensure absolute paths in HawkFile
 Merged #4403 - Fix input/hotkey bugs
 Merged #4337 - usable movie sram
 Merged #4210 - Add more courier font sizes instead of upscaling the 16px one
 Merged #4191 - Update author/source metadata for several cores where it's missing
 Merged #4450 - Fix libretro "no game" loading
 Enhancement #3573 - [F.Rq.] Mouse cursor capture toggle (bound to Middle-Click by default)
 "Mouse Capture Forces Topmost" option (Config -> Display -> Window)
 Enhancement #4325 - [Suggestion] Update OpenAL-related dlls may bring better performance.
 Enhancement #3734 - Savestate/bk2 `Framebuffer` isn't easily user-accessible
 Enhancement #4168 - Unreleased cores aren't included in- Help>- About...Enhancement #4081 - OOTB haptic feedback binds for GB, GBA, and PSX
 
 Enhancement #4009 - Option for double sized Messages
 Enhancement #3960 - Preferred Cores picker is opaque and inflexible
 Enhancement #3707 - Rewind should increment rerecords
 Enhancement #3419 -- sync -fafter every- .SaveRAMand- .bk2backup write
 Enhancement #3309 - Confusing "Desired frame length" option name in Rewind configuration
 Enhancement #2926 - [Feature Req.] Play sound when movie playback is finished
 Enhancement #2308 - StatusBar icon when Rewind is active
 Fixed #4448 -- config.ReplaceKeysInBindingsisn't taking effect until binding a new key or restarting
 Fixed #4436 - Rare access violation when loading a rom while RamWatch is open
 Fixed #4396 - [🐧] Hang when playing Need for Speed Carbon - Own the City
 Fixed #4379 - [🐧] Open [anything] in Browser button does not work, instead closing the app.
 Fixed #4376 - [🐧] Label for SOCD setting cut off in Controller Config dialogue
 Fixed #4358 - Latest dev build win 64. Can not change preferred core
 Fixed #4346 - Movie fails to switch to record after loading a last-frame save state.
 Fixed #4339 - doesn't recognize L and R of controller
 Fixed #4312 - CLI launch fails with RCheevos-Hardcore Mode + Autosave
 Fixed #4281 - Arch Linux - Sound not working
 Fixed #4277 - xml games are loaded twice
 Fixed #4208 - Use- IDialogParent(instead of- CoreComm) for UI in- RomLoaderFixed #4202 - Attempting to record movie with Libretro core throws NRE
 
 Fixed #4197 - Play Movie dialog crashes with- OverflowException: "unable to convert from decimal..." when a MAME movie is present
 Fixed #4182 - "Autostart RetroAchievements" crashes emuhawk when offline
 Fixed #4116 - Having "Input cycle" axis input set to 0 in SubGBHawk core with Audio Throttle with Unthrottled option enabled while using the XAudio2 output crashes BizHawk
 Fixed #4082 - XMLGame file generated in Windows fails to load in Linux
 Fixed #3989 - TAStudio modifies global "On Movie End" setting
 Fixed #3962 - Auto-generated (sync-)settings descriptions are cut off
 Fixed #3582 - Loading movies with nonexistent core name header doesn't fall back
 Fixed #3496 - NRE from- IGL_SlimDX9.FreeRenderTargetFixed #3053 - Rewinding while the emulator is paused has much worse performance.
 
 Fixed #2907 - v2.6.1 or Latest - Fail to play with 2 controllers simultaneously
 Fixed #2741 - LogWindow something causes crash on Mono
 Fixed #2090 - BizHawk crashes when trying to load a savestate made with different sync settings
 Fixed #1930 - [🪟] Windows' UI scale still causes problems w/ WinForms
 
 TAStudioposition restore logic was missing when drawing analog
 Merged #4433 - Seek fixes
 Merged #4382 - Undo redo
 Merged #4381 - Fix a situation where copy/paste hotkeys don't work.
 Merged #4377 - Add some hotkeys for markers, and display them in tool tips.
 Merged #4347 - Fixes to seeking and auto restore
 Merged #4341 - Don't save when the user says no.
 Merged #4330 - Respect the user's "ancient" savestate interval
 Merged #4319 - Make the number of frames per TAStudio rewind configurable.
 Merged #4272 - TAStudio marker lua
 Enhancement #4172 - TAStudio export to bk2: specify name
 Enhancement #3376 - TAStudio "new project" (Ctrl+N) cannot be rebound
 Enhancement #2449 - QoL suggestion for Columns menu in TAStudio
 Enhancement #2373 - TAStudio: scroll to a specific numbered frame
 Fixed #3401 - TAStudio projects for the wrong game can be loaded, crashing on loadstate
 Fixed #4430 - [TAStudio] Exception when truncating with markers
 Fixed #4375 - [🐧] TAStudio "Clone # Times" doesn't work
 Fixed #4184 - Cannot stop Bizhawk advance in TAStudio
 Fixed #4103 - TAStudio child dialogs aren't parented correctly, and will be shown behind when "Always On Top" enabled
 Fixed #3708 - TAStudio horizontal layout problems
 Fixed #2622 - Make "Autopause at end of Movie" work in TAStudio
 Fixed #2332 - [TAStudio] Certian error window prevents bizhawk from closing.
 Fixed #2329 - Clicking the left column in TAStudio should pause when it reaches the target frame
 
 Lua Console
- Fixed #4271 - BizHawk crashes when opening lua console on Void Linux 
 Fixed #4252 - Apparent Lua bug, something about the call stack when using- pcallFixed #4248 - [🐧] Lua Console: select all, Clear Output leads to NRE in Mono WinForms internals
 
 Fixed #4167 -- genesisLua library not included in autodocs until core loaded
 
 RAM SearchEnhancement #2974 - Don't reset RAM search results when changing value size
 
 Log WindowFixed #2741 - LogWindow something causes crash on Mono
 
- Lua API/scripting 
 Merged #4335 - Add more Lua functions for TAStudio markersFixed #1161 - TAStudio branches/markers lua functions
 Merged #4445 - Fix error when creating empty Lua form dropdowns
 
 Merged #4188 - Add a method to the- commLua library to allow setting- ExpectContinueFixed #4187 - Lua- Comm.httpPostfails when posting to servers that don't support- Expect: 100-ContinueMerged #4256 - implement
 - emu.setrenderplanesin- EmulationApifor snes9x
 Merged #3821 - Memory hook improvements (GPGX)
 Merged #4283 - Memory Hook Improvements (Return value)
 Enhancement #3035 - [Lua request] Read bytes as string (- memory.read_bytes)
 Fixed #4387 - IndexOutOfRangeException with Virtu core and Lua- joypad.get()/- joypad.getimmediate()Fixed #4356 - Lua
 - memory.write_bytes_as_arraymay not preserve order, keeps non-integer keys
 Fixed #4252 - Apparent Lua bug, something about the call stack when using- pcallFixed #4219 -
 - tastudio.onqueryitembg,- tastudio.onqueryitemiconbroken in release 2.10 and latest build
 Fixed #3796 - Lua script sees different working directory when re-entered via callback
 Fixed #2310 - Lua- joypad.setanalogsets analog indefinitely
 
APIHawk
- Fixed #3796 - Lua script sees different working directory when re-entered via callback 
 Fixed #4187 - Lua- Comm.httpPostfails when posting to servers that don't support- Expect: 100-Continue
 
Multiplatform
- Fixed #4082 - XMLGame file generated in Windows fails to load in Linux 
 Fixed #2741 - LogWindow something causes crash on Mono
 
Movie importers
- Fixed #3596 - - .bkmimporter is missing systems
 Fixed #3555 -- .dsmimporter problems
 Fixed #3909 - There was an error importing the bkm Movie program
 
gamedb
- Enhancement #2939 - Refactor gamedb 
 Fixed #4268 - [SNES Autodetect] Ace o Nerae / Aim for the Ace fan translation being detected as BS-X
 
RetroAchievements
- Fixed #4182 - "Autostart RetroAchievements" crashes emuhawk when offline 
 
Libretro
- Fixed #4202 - Attempting to record movie with Libretro core throws NRE 
 Fixed #3538 - Libretro analog controls don't work
--2.10--
New cores
- Encore (Citra) for 3DS 
- UAE for AmigaBased on libretro-uae 5.0.0 
- Stella for Atari2600 
- ChannelFHawk 
A7800
- HawkFixed #3895 - Change A7800Hawk's default peripherals to 2xProLine (from 2xJoystick) 
Ares64
- Fixed #3710 - Pull Ares64 from upstream to fix Rareware games 
BSNES (v115)
- provide proper OAM memory domain 
- update to latest upstream commit 
- update included sameboy (used for SGB emulation) to ~0.16.5 
C64Hawk
- Warning: SaveRAM is incompatible to previous versions! 
- Merged #4162 - Fix Domark/HES/MagicDesk cartridge mapper bank loading 
- Merged #4161 - Fix filter stage passing sound when no filters are enabledFixed #4153 - SID: Filtered voices are audible when no filter output is selected 
- Merged #4160 - EasyFlash overhaul 
- Merged #4152 - Fix memory performance issuesFixed #4151 - DeltaSerializer allocates tons of memory with disk drive active 
Genplus-gx
- update to latest upstream version 
- implement paddle controller 
- disasm: limit pc to 24 bits, not just disasm address 
- Merged #3889 - Update Genesis Plus GX CoreEnhancement #3655 - Bad audio output from Genplus-gx 
- Enhancement #3608 - Add "Always Sprites On Top" option for Genplus-gx 
- Merged #3902 - Wiring up GPGX as core for SMS, GG, and SGEnhancement #3896 - #3214 
- Fixed #3955 - Jeopardy for Sega CD crash 
- Fixed #3942 - SMS - Pause button missing in controller config 
- Fixed #3919 - SMS Paddle games don't load and use SMSHawk instead 
- Fixed #3906 - Enabling BIOS does not launch the game after the startup sequence. 
- Fixed #3850 - SegaCD: Dungeon Explorer broken in Bizhawk 
- Fixed #3662 - CRAM memorydomain is scrambled 
- Fixed #2901 - Manually editing CRAM in Genesis does not work correctly 
- Enhancement #4120 - Unable to shoot outside the screen to reload (Menacer et al. for MD) 
- Enhancement #4069 - swap A and D regs in gpgx_getregs() 
- Enhancement #3905 - option for overscan 
- Enhancement #3917 - "VDP mode" option (to eliminate region lockups / megakey behavior) 
- Enhancement #2230 - Add TMSS to Genesis Core 
MAME
- Add soft reset input 
- add driver source code file to dump info 
- mnemonics for Robotron 2084, Jurassic Park, defenderFixed #3721 
- Allow view selectionEnhancement #3715 - option to hide the gear hud in certain games 
- Fixed #3704 - crashes when trying to record some games that have duplicate / mirrored controls 
melonDS
- Add many more missing TMDsFixed #4028 - Can't launch 2 iQue DSiWare Titles due to missing TMD 
- Fixed #3535 - Error when creating any NDS cheats 
- Fixed #3534 - MelonDS: screen rotate doesn't work correctly with window size 2x and higher and "Maintain aspect ratio" set 
- Fixed #3397 - Hotel Dusk - Room 215, Chapter 8 puzzle is impossible 
mGBA
- updated to interim version after 0.10.4 
- Fix desync due to light counter not being correctly serializedFixed #4118 - Solar Sensor Desync 
- Fixed #4094 - RNG desyncs occurring during rewind 
Mupen64Plus
- Fixed #3929 - [Security] Sandbox escape in Mupen64Plus core 
- Fixed #1862 - non-VI lag frames doesn't work 
NesHawk
- Merged #3964 - Neshawk Tracelogger no longer prints incorrect addresses if a branch would overflow/underflow the PCFixed #3963 - Tracelogger shows a 32 bit address when a branch wraps around address $FFFF 
- Fixed #3856 - NESHawk initial RAM pattern override length must be a multiple of 2, otherwise changes cannot be applied 
- Fixed #3664 - NullReferenceException on Gimmick! (JP) (NesHawk, Mapper 69) 
- Enhancement #3854 - NESHawk: missing palette RAM memory domain 
QuickerNes
- Merged #3839 - Replace QuickNES core with QuickerNES 
- Fixed #3703 - NES with QuickNES Graphic Bug 
- Fixed #3668 - QuickNes has color deviation 
- Enhancement #3676 - CIRAM (nametables) is read-only 
Sameboy
- Update sameboy to ~0.16.5 
Snes9x
- Merged #3729 - Update snes9x to 1.62.3Fixed #3817 - #3787 - Snes9x doesn't let P2 go left, but new BSNES does 
- Fixed #3788 - SNES9X Core Doom dots issue corrected years ago upstream 
SubGBHawk
- Fixed #3693 - SubGBHawk settings can't be opened through GB -> Settings 
- Fixed #3692 - SubGBHawk doesn't record IsCGBMode 1 to movies 
SubNesHawk
- Fixed #3949 - SubNesHawk doesn't recognize FDS disk operations 
TIC-80
- Fixed #3938 - TIC-80 mouse inputs not working as expected 
- Fixed #3726 - TIC-80 floating point error (Super Meat Boy demake) 
TurboNyma
- Fixed #3663 - pce bug Lady Sword - Ryakudatsu Sareta 10-nin no Otome (Japan) (Unl) 
DiscoHawk
- Fixed #3859 - Discohawk About Page has Google Code link 
EmuHaw
- kvarious performance improvements related to movie recording 
- fixed subtitles button in the Play Movie dialog 
- fixed movie loading duplicating subtitles in movies 
- allowed editing subtitles and comments from the Play Movie dialog 
- optimized the lsmv importer (other importers may also be faster) 
- include debug information in binary: this will improve reported exception messages 
- fixed a possible crash when savestating while recording a movie by disabling savestates past movie end 
- updated core preferences picker 
- prefer ideal over acceptable firmware when both exist 
- improved axis input value calculation (420cf323a) 
- fixed some default axis controls incorrectly having deadzone 
- fixed potential exception when an invalid path was set in the Path Configuration 
- fixed middle mouse button input bind not working 
- rework firmware icons, better tooltip for ideal bind 
- video dumper: mention dependency for AVC AVI (x264vfw or ffmpeg based decoder) 
- fixed GmvImport's six button controller handling 
- Add support for game controller touchpads (i.e. on PS4/PS5 controllers) 
- Fixed #4144 - SaveRAM filename collision when using Libretro 
- Fixed #4159 - Movies preserve old input text 
- Fixed #3966 - Config > Save Config doesn't save core settingsFixed #3797 - #4109 
- Merged #4087 - order firmware groups in the dialog and in the code 
- Merged #4029 - Main window auto-size fixesFixed #2850 - Window Size & position incorrectly adjusted when exiting Fullscreen 
- Merged #4027 - Cheat load/save fixesFixed #3085 - tool savefile paths doesn't track current rom 
- Merged #4024 - Fix Sega CD/Saturn disc hashing 
- Merged #4022 - Disk Drive Activity LED ToolTip enhancement 
- Merged #4011 - Add option to disable automatic resize of main windowFixed #1560 - Window is spontaneously moved/recreated during Yoshi's island's opening 
- Fixed #3039 - N64 Graphics Plugin's "graphics resolution" shouldn't govern the size of the application Window 
- Fixed #3410 - Nymashock changes emulator window size between each game resolution change, no matter the settings 
- Merged #4010 - Fix movie header values being potentially outdated upon starting a movie recordFixed #3980 - GB: Default settings don't properly save the boot ROM in movie settings 
- Merged #4008 - Change OnMovieEnd default to 'Pause' instead of 'Finish'Fixed #4007 
- Merged #3987 - Make external tools path independent of working directory 
- Merged #3981 - movies: normalize loaded hashes to upper caseFixes https://github.com/TASEmulators/BizHawk/issues/3979|#3979] - Hashes in movie headers should not be case-sensitive 
- Merged #3975 - Fix Uzebox framerate 
- Merged #3751 - Dispose disks in Nyma coresFixed #3750 - EmuHawk 2.9.1 doesn't release file after closing game 
- Merged #3935 - Refactor IControlMainform handling in Mainform 
- Merged #3914 - Expanded color palette object inside Nes PPU Viewer 
- Merged #3913 - Updated Amstrad CPC Non-Sync Settings nameFixed #3845 - CPCHawk - Incorrect Text Label Under "Other Non-Sync Settings" 
- Merged #3869 - Replace SortedSet with SortedList<T> in InputRoll (better performance) 
- Merged #3876 - Remove DInput input adapterEnhancement #3770 - Consider removing DirectInput+XInput backend 
- Enhancement #2319 - Switch pro controller not supported 
- Merged #3872 - Add some larger sizes to View -> Window SizeEnhancement #3826 - Add more window size option? 
- Merged #3747 - Set inputdisplay correctly on LoadStateFixed #3741 - Input display doesn't update when loading states in read-only mode 
- Merged #3733 - Allow migrating non-SHA1 hashes on movie importFixed #3727 - BizHawk handles imported SNES9x CRC32 incorrectly 
- Merged #3728 - Change Odyssey 2 framerateEnhancement #3709 
- Merged #3691 - Update CurrentlyOpenRom before Tools.RestartFixed #3527 - Hex editor shows wrong "File on Disk" when switching games 
- Merged #3690 - Add StringFormat to pixeltext DrawString parametersFixed #3669 - gui.pixeltext is misaligned when message starts with too many spaces 
- Merged #3684 - Sanitize text pasted into hex text boxesEnhancement #3682 - Allow pasting 0xHHHH-formatted numbers in a HexTextBox (e.g. in WatchEditor) 
- Fixed #4136 - Duplicate firmware filenames 
- Fixed #4086 - Auto-Hide Mouse Cursor Doesn't work 
- Fixed #3986 - GameInfo is not cleared when rom loading fails 
- Fixed #3983 - Opening/closing tools from Lua can crash BizHawk 
- Fixed #3957 - N64 Background analog input being read even when turned off 
- Fixed #3842 - Key priority setting doesn't compare individually mapped keys to key combinations 
- Fixed #3833 - Freezing many values in hex editor, then choosing not to freeze will still freeze the first value (Bizhawk 2.8) 
- Fixed #3779 - fm2 movies for FDS games cause an IndexOutOfRangeException 
- Fixed #3776 - Problems when adding padding to the EmuCore drawing surface 
- Fixed #3679 - FFmpeg custom commands can mess up video output extension 
- Fixed #3567 - NES cheats compare byte changes every core reboot 
- Fixed #3523 - Cheat serialisation is borked 
- Fixed #3341 - Crash when any of cropping parameters are set to very high negative value (ex. -1000000) 
- Enhancement #4132 - Display keyboard keys at the end of input OSD 
- Enhancement #4108 - Mapping Analog to dpad gives too narrow diagonals when using XInput controllers 
- Enhancement #4070 - Rename "AVI/WAV" in menus 
- Enhancement #4017 - When Dumping Create a Warning if/when Closing the Program 
- Enhancement #3915 - Bump up FFmpeg Writer above AVI Writer 
- Enhancement #3900 - Restore Default Current Tab in Hotkeys 
- Enhancement #3835 - Make the Admin privs warning less useless for the user 
- Enhancement #3763 - Movie creation: GB firmware defaulting is unintuitive 
- Enhancement #3737 - EmuHawk consumes extra GPU while paused 
- Enhancement #3644 - BizHawk does not inhibit display or system sleep while running 
- Enhancement #3570 - Movie importing requires a rom to be loaded 
- Enhancement #3532 - "IOException: The device is not ready" when loading .cue 
- Enhancement #3481 - Hotkey to accept background input 
- Enhancement #3177 - [import Movie] .smv import on BSNES Core, when Snes9X core selected 
- Enhancement #2605 - OSD not affected by system UI scale 
- Enhancement #1879 - Add low-level support for the Nintendo GameCube Controller Adapter drivers (on host) 
- Enhancement #1482 - Request: CHD file format support 
Linux port
- Fixed #4145 - Host audio stops when MainForm dragged 
- Fixed #4021 - BizHawk 2.9.1 crashes when trying to encode with FFmpeg 
- Fixed #3972 - Hang when using "Hide Lag Frames" on Linux 
- Fixed #3912 - Problems on drag-and-drop of lua script 
- Fixed #3843 - Random crashes when playing PS1 games on Manjaro Linux 
- Fixed #3828 - Crashing when open any rom file 
- Fixed #3678 - LUA Console instant crash on startup 
Debugger
- Improved startup speed 
- Fixed #3524 - Fix (or at least provide a workaround for) mGBA System Bus domain implementation 
- Fixed #4157 - Bizhawk immediately crashes after opening a new Genesis ROM while having debugger window with breakpoint enabled 
Hex Editor
- Merged #3998 - HexEditor "File on Disk" fixes 
MultiDisk Bundler
- Enhancement #3950 - Support drag'n'drop in multidisk bundle 
- Enhancement #3947 - Allow bundler to edit currently loaded xml 
Lua Console
- gui.draw* calls now use the GPU instead of the CPU to draw (speedup) 
- Fixed #3810 - Lua console.log doesn't output null/nil like it used to 
- Enhancement #3814 - Allow loading of multiple Lua Scripts/Sessions from the command line 
- Enhancement #3650 - Remove quick create file button from Lua Console 
Lua
- improved bundled input display script's handling of unsupported systems 
- Fixed #3897 - Script using tastudio.onqueryitemtext gets IndexOutOfRangeException after updating from 2.8 
- Enhancement #3651 - Lua functions search filter doesn't search through description 
- Enhancement #2600 - Unable to fully display two .lua scripts at the same time in 2.6 
Ram Search
- Improved speed of "Detailed" watch mode 
- Fixed #4001 - "Changes" column is broken in certain cases in RAM watch 
- Fixed #3724 - RamSearch dialog is initialized twice on load 
- Enhancement #3954 - Refactor RamSearch to increase speed and improve functionality 
Ram Watch
- Fixed #4044 - 8 character limit when poking a 4 byte binary value 
- Fixed #4045 - Invalid input produces no error when poking 4 byte binary values 
- Fixed #4001 - "Changes" column is broken in certain cases in RAM watch 
- Enhancement #4046 - "New watch" window layout 
- Enhancement #4051 - Context menu for RAM Watch separator rows has split, poke, and un/freeze options 
- Enhancement #3688 - Input display seems to use hardcoded 0 instead of AxisSpec.Neutral when under specific circumstances 
- Enhancement #3802 - Add setting to control what happens when double-clicking RAM watch 
RetroAchievements
- Merged #4085 - Fixes for PlayStation RetroAchievements hashing 
- Fixed #3863 - [PSX][Octoshock+Nymashock][Gex - Enter the Gecko] BizHawk 2.9.1 locks up when attempting to load Gex - Enter the Gecko for PSX for both included cores 
TAStudio
- bump default undo count to 1000 
- removed unused tastudio menus and config params 
- use normal control BG color for tastudio color editor 
- don't let branch screenshot appear below screen edge 
- allowed TAStudio to save cycle count in bk2 export 
- optimized performance and reduced memory allocations 
- sped up the state history integrity checker by more than an order of magnitude 
- improved autofire / autohold handling (15ff0ec2c) 
- Fixed #4068 - TAStudio does not handle movie start failures gracefully 
- Fixed #4065 - TAStudio will save even when you press "no" in certain cases 
- Fixed #3675 - Deleting too many frames is massively inefficient 
- WIP #3708 - TAStudio horizontal layout problems 
- fix axis value editing logic: specifically allow typing without immediately clamping to the min value when the user isn't finishedFixed #4115 - GunCon unable to type any aY value besides 16X (and 16) 
- Merged #3936 - Fix possible TAStudio NREFixed #3499 - TAStudio NullReferenceException after movie playback 
- Fixed #4125 - Right-clicking TAStudio Frame# column header causes exception 
- Fixed #4068 - TAStudio does not handle movie start failures gracefully 
- Fixed #4058 - Recording mode gets extremely slow for longer movies 
- Fixed #3968 - Opening a .tasproj file and reordering branches would cause exception 
- Fixed #3933 - TAStudio suggests to save tasproj changes on every bk2 import 
- Fixed #3899 - Marker changes to branches can save even when the branch itself isn't saved 
- Fixed #3870 - Loading a tasproj does not dispose the rewind buffer 
- Fixed #3685 - TAStudio axis cell is set to 0 instead of AxisSpec.Neutral under specific circumstances 
- Fixed #3500 - TAStudio recording mode may get toggled on erroneously 
- Fixed #3478 - Max Undo Level keeps resetting to 100 
- Fixed #3220 - Possible Bug With Lag Log / Follow Cursor / TASProj Loading 
- Fixed #2292 - TAStudio records extra frames at the end during playback 
- Fixed #2081 - Turbo seek doesn't render the proper frame 
- Fixed #734 - Auto-adjust input according to lag 
- Enhancement #3992 - Add a hotkey for "Clone # Times" in the TAStudio tab 
- Enhancement #3969 - Improved Clear Frame performance 
- Enhancement #3714 - marker edit dialogue box spawns in bad locations 
- Enhancement #3504 - TAStudio .bk2 export is disabled until a .tasproj is saved 
- Enhancement #3124 - Add tooltip to TAStudio column headers w/ full name of button/axis 
- Enhancement #2369 - context menu spawns a bit too close to the cursor 
- Enhancement #2144 - Painting input on TAStudio's tiles should disable recording mode 
ApiHawk
- meta: The .NET 8 SDK is now required for working with BizHawk. The VS installer will automatically include this with VS2022 updates. 
- Fix confusing failures when an ApiContainer prop is accidentally marked with [RequiredApi]/[OptionalApi] 
- Ext. tools now receive ToolFormUpdateType.General events regularly while paused (and while unpaused! you should have been checking the enum anyway)If you're subclassing ToolFormBase, this will have no impact on your existing code, but you can choose to override GeneralUpdate to make use of it 
- Fix signature of IMemoryApi.WriteFloat (the value param is now float and not double—the implementation was converting it to a float anyway) 
- Add an overload IGuiApi.WithSurface(DisplaySurfaceID, Action<IGuiApi>) and deprecate the old oneFor the time being, there will be no difference between using the lambda parameter as instructed, and discarding it and continuing to make calls to whatever IGuiApi instance you were using. 
- Remove the deprecated IGameInfoApi library 
- Remove the deprecated attributes [RomWhitelist], [SingleRom(CoreSystem, string)], and [SingleSystem(CoreSystem)] 
- Rewrite most of GuiApi (the implementation of IGuiApi). Parity with the old implementation is a goal, but there may be bugs 
--2.9.1--
Linux
- portfixed last issue in #2951 properly 
 
AppleII / C64
- fixed states sometimes crashing when a disk change actually happens 
 
BSNESv115+
- fixed #3638 (snes_get_board returns empty string) 
 fixed #3643 ("No PPU sprite limit" option doesn't seem to work)
 
Gambatte
- fixed #3648 ([GameBoy Link] Buzzing noise when one of the Players is muted) 
 
MAME
- fixed BIOS selection menu 
 added emulation issues and ROM info to RomDetails dialog
 report emulation status via ROM info icon and text
 fixed #3631 (bgaregga locks up the process)
 hide settings for optional dip switches (for now)
 use 0x3ffffffc as framerate numerator, like actual MAME does since 0.254 (fixes MP4 processing on YouTube)
 fixed #3565 (kinst + kinst2 = crash)
 fixed #3615 (rom loading regression)
 fixed crash with games using- k001006_device(e.g. windheat)
 
NES
- Hawkfix open bus execution following write instructions (#3633) 
 
Octoshock
- fixed exe load crash 
 
SMSHawk
- fix noise audio channel on SMS VDP (LFSR is 16 bit wide) (#3602) 
 
EmuHawk
- fixed #3268 ("Unthrottled" setting burns cpu when paused) 
 If a PSX- .binis loaded, try synthesising a- .cuedon't keep multidisk flag on after it was set once
 
 speedup the PlayMovie dialog
 Prevent annoying waits when using firmware manager with DSi NANDs present
Lua
- fixed #3616 (error loading module in lua (socket.dll)) 
TAStudio
- speedup column drawing 
 fixed bugs with entries in patternsform (#3649)
RetroAchievements
- fixed RetroAchievements rich presence not working 
 fixed Jaguar CD homebrew hashing wrt retroachievements
 disabled leaderboard list form
 fixed various crashes and deadlocks
--2.9--
Lots of updates and fixes to existing cores and to EmuHawk.
New Cores
- Arcade-only build of MAME 0.252 
- Ares64 
- Interim version after v130.1 
- Angrylion-rdp for RDP and VI emulation 
- Transfer Pak support and N64 Mouse support 
- Debugging features: disassembler, get registers, System Bus domain 
- SIMD RSP implementation 
- N64DD support 
- VirtualJaguar 
- Jaguar and Jaguar CD emulation 
- TIC-80 
- core for the TIC-80 fantasy computer, using nesbox's own reference implementation 
- SubBSNESv115+ 
- subframe capable variant of the BSNESv115+ core (#3281) 
Linux port
- fixed various file pickers using case-sensitive file extensions 
- added short-circuit to Mupen64Plus loading to avoid error messages and any strange failure state 
- enabled menu mnemonics (Alt+X) for MainForm 
- fixed inconsistent application of colours from GTK theme when Mono is able to use it 
- added Gentoo to Linux run script 
A2600Hawk
- fixed crash when pushing Select on Karate title screen 
BSNESv115+
- made this core default in places where the old BSNES core was 
- reworked Payload peripheral and fixed Virtual Pads 
- improved peripheral selection for P1 
- reimplemented MSU1 properly 
- added fast DSP and fast coprocessor settings 
- fixed crash when loading a savestate after a reset (#3173) 
- added region override setting 
- added overscan and aspect ratio correction settings 
- implemented an ExtendedGamepad controller which acts like a normal gamepad with 4 extra buttons 
- fixed justifier controller 
- added option to disable ppu sprite limit (#3440) 
- implemented SNES graphics debugger 
- updated internal sameboy version for SGB by linking it to the standalone sameboy core, fix SGB saveRAM 
- fixed CARTROM and CARTRAM memory domain names (#3405), provide SGB memory domains, set MainMemory and SystemBus domains properly 
- fixed lag detection in certain games 
- implemented bsx + bs memory loading (#3457) 
- added RTC support (#3577) 
(old) BSNES
- fixed graphics debugger exception when freezing a tile (#3195) 
- fixed apossible IndexOutOfRangeException in the graphics debugger (#3399) 
- also fixed a potential DivideByZeroException (#3398) 
C64Hawk
- various savestate fixes 
- added SaveRAM support 
CPCHawk
- removed redundant AmstradCpcPokeMemory tool 
- renamed some bundled firmware files (#3494) 
Cygne
- allowed .pc2 (Pocket Challenge v2) files to be loaded 
Faust
- updated to Mednafen 1.29.0 
Gambatte
- improved MBC1/MBC1M emulation 
- improved HuC1 emulation and implement HuC1 IR support 
- improved HuC3 emulation and implement support for mapper sound (HuC3 is currently the only use case) 
- implemented MMM01 emulation 
- implemented M161 emulation 
- improved heuristics for various multicart mappers and remove the multicart detection setting (now effectively always true) 
- implemented remote control controls, expanded remote control emulation for HuC1 IR and CGB IR (previously only HuC3 IR had this implemented, using a hardcoded value) 
- cleaned up the mapper internals, IR, and RTC code 
- made various optimizations to the CPU loop and read/write code (around 10-15% performance increase) 
- trimmed down initial time settings to a single setting, using total number of seconds 
- implemented quirk with bit 4 of rLCDC, fixes cgb-acid-hell testrom compliance 
- fixed sprite priority in CGB-DMG mode 
- prevent crashes due to "negative" numbers being added to the sound buffer pointer (#3425) 
- fixed audio output being too quiet (#3338) 
- added a CGB color correction option using the same formula as SameBoy, and made that the default 
- time fixes (long periods of pausing causing rtc overflows in real time mode; time incorrectly advancing when loading in a save file) 
GBHawk
- fixed Code-Data Logger crashing due to typo'd mem domain name (#3497) 
- fixed wrong MBC5 mapper being given a battery 
Genplus-gx
- stopped byteswapping Z80 domains (#3290) 
- changed default peripheral to 3-button Genesis gamepad (#2775, #3262) 
- added option to disable ppu sprite limit (#3440) 
- prevent svp dereferences when not using an svp cart (#3297) 
- give NHL 96 (Genesis) SRAM (#3300) 
- fixed disc swapping, re-enabled the disc buttons 
- fixed disabled layers being wrongly re-enabled on a load state (#3388) 
- fixed pattern cache invalidation (#3363) 
HyperNyma
- updated to Mednafen 1.29.0 
Libretro
- rewrote Libretro host implementation, fixing some crashes, adding memory domains, and slightly improving performance (#3211, #3216) 
- fixed input display (#3360) 
- implemented needed environment functions for resolution changes 
- added reset support (#3482) 
melonDS
- updated to interim version after 0.9.5 
- fixed SaveRAM not getting written to disk when unloading/reloading core (#3165) 
- implemented threaded renderer support 
- replaced darm with a new DS centric disassembler, fixing various issues with tracing/disassembly 
- r13/r14/r15 reported as sp/lr/pc for tracelogs 
- split ARM7/touch screen polls to an "alt lag" variable and added a setting for whether to consider this "alt lag" (#3278) 
- reduced state size a bit 
- improve audio resampling; get rid of libspeex dependency 
- added missing TMD for Zombie Skape, improved error message when TMD cannot be found 
- ensured firmware settings match up with sync settings if real firmware is not used (#3377) 
- did various internal cleanups 
- add TCM memory areas for melonDS core (#3420) 
- added Clear NAND setting 
- added dsiware saveram support 
mGBA
- updated to interim version after 0.10.0 
- fixed a softlock in Hamtaro: Ham Ham Heartbreak (#2541) 
- implemented save override support with EEPROM512 and SRAM512 
- correctly account for multiboot GBA ROMs (#3421) 
Mupen64Plus
- always savestate expansion pak regardless of settings, resolves some desyncs/crashes due to shoddy no expansion pak implementation (#3092, #3328) 
- fixed changing expansion pack setting 
- added angrylion as yet another graphics plugin 
- fixed mistake in angrylion implementation (#3372) 
NeoPop
- updated to Mednafen 1.29.0 
NesHawk
- relaxed restriction on VRC1 PRG registers, so they can be larger than the original VRC1 chip allows (for rom-expanding hacks) 
- fixed PGR writes for VRC1 not using mask for address 
- fixed SXROM detection (#3168) 
- fixed crash for Namco 163 mapper (#3192) 
- "un-implemented" ICycleTiming so that NesHawk no longer tries to use the cycle timing intended for SubNesHawk 
Nymashock
- updated to Mednafen 1.29.0 
- fixed disc switching 
- fixed light guns (#3359) 
- wired up rumble support 
- improve analog input range (#3528) 
SameBoy
- updated to interim version after 0.15.7, fixing some bugs (#3185) 
- added GB palette customiser (#3239) 
- wired up rumble support 
- exposed audio channel enable/disabling 
- .GBS support 
Saturnus
- updated to Mednafen 1.29.0 
- fixed disc switching 
- fixed light guns (#3359) 
SMSHawk
- fixed InvalidOperationException when using SMS peripherals (#3282) 
- fixed screechy/static audio during Sega logo in Ys (Japan) (#3160) 
Snes9x
- fixed typo in sound settings bitfield (#1208) 
T. S. T.
- updated to Mednafen 1.29.0 
TurboNyma
- updated to Mednafen 1.29.0 
Virtu
- fixed some internal state not being overwritten by savestates 
- changed RTC to use deterministic time when recording instead of (host) system time 
- changed up AppleII's "main ram" domain, added aux ram domain 
- added SaveRAM support 
VirtualBoyee
- refactored core to use the same Nyma system as the other Mednafen ports 
- updated to Mednafen 1.29.0 
ZXHawk
- removed redundant ZXSpectrumPokeMemory tool 
- renamed some bundled firmware files (#3494) 
EmuHawk
- fixed keybinds not working after waking from lock screen on Windows (#3161) 
- added warning when current firmware customization does not match the one specified in the movie header (#2498) 
- refactored memory poking, allowing negative values for fixed-point watches and fixing other bugs (#3175) 
- fixed .gmv importer not setting the core name in the .bk2 header 
- fixed regression where screenshots from some cores were transparent (#3166) 
- fixed Lua referencing a core after it's unloaded, making scripts crash (#3226) 
- made DirectX optional on Windows (it's still in the prereq installer because it's usually faster) 
- fixed opening roms from "jump list" in Windows shell / file manager (#3224) 
- improved UX of loading a savestate from an older (or newer) version 
- fixed shaders' height being used for width 
- finished UX for merging/unmerging LShift+RShift and other modifier keys (#3184, #3257) 
- fixed .dsm importer which relied on non-deterministic Dictionary (hashmap) ordering for axis names, also parse RTC in DsmImport 
- stopped offering to remove missing file from recent roms when it's not actually missing, just failed to load (#3006) 
- fixed hotkeys triggering accidentally in Virtual Pad on Windows (#3087) 
- increased precision when tweaking axis sensitivity/deadzone (#3038) 
- fixed category radio buttons being cut off in Messages config 
- restored "priority" option for U+D/L+R policy, and made it the default again (#2752) 
- refactored firmware config so the acceptability status icons make sense (#3157) 
- fixed Screenshot (raw) -> Clipboard not showing keybind hint 
- added UI for editing any* core's settings/syncsettings without it being loaded 
- fixed strange behaviour when trying to extract archive which contains folders 
- bumped FFmpeg to 4.4.1, added auto-download to Linux port (#3259) 
- reordered Config -> Preferred Cores submenu 
- removed some unnecessary prompts to reboot core 
- moved "Save Window Position" for main window to Config -> Display... -> Window and added a "Stay on Top" 
- fixed Windows version detection and enabled warning for unsupported versions (#2972, #3194) 
- fixed some systems not having a name to display in the window title 
- fixed MSX rom loading 
- made file extension check for disc images case-insensitive 
- added warning dialog when running as Superuser/Administrator 
- fixed overlapping UI elements in Config -> Controllers... when Windows UI scale is not 100% (#2605) 
- fixed overlapping UI elements in Record Movie dialog when Windows UI scale is not 100% and on Linux (#2605) 
- fixed the autoselection of a movie when opening the Play Movie dialog 
- fixed %recent% being expanded to the wrong path 
- fixed window title being blank when chromeless mode is enabled 
- improved handling of host sound init failure 
- added prompt for if you start movie playback while cheats are enabled (#3389) 
- improved cheat editing UX 
- removed default bindings for virtual keyboards 
- updated virtualpads immediately when the movie status changes between read-only and record mode 
- fix key releases not getting handled correctly when modifier keys are pressed (#3327) 
- fix a crash when selecting user shaders (#3495) 
- fix gamedb loading not blocking when loading a rom, potentially causing a miss with a slow hdd (#3489) 
- fix crashes when setting absurdly large padding values (#3321) 
- make DisplayConfig defaults button set padding back to 0 
- add auto save state on close (#1861) 
- zstd compression is used instead of deflate compression where possible (rewind, .wbx cores, internal resource files, binary blobs in movies, savestates, etc) 
- hardware accelerated CRC32 and SHA1 algorithms are used if the user's hardware allows it 
- add hash for newly discovered GBC-GBA bootrom 
- removed gongshell, added "simple" code for opening win32 context menu (gongshell's only actual use) (#2261) 
- fixed firmware fields with a dummy checksum using the wrong firmware info (#3159) 
- fixed "Toggle All Cheats" hotkey behaviour 
- did minor refactors to byteswapping (N64 rom loading and Lua bit library) 
- implemented RetroAchievements support (#3407) 
- fixed pause at end of movie when playing a tasproj without tastudio 
- fixed NaN values displaying in RewindConfig, use system's canonical framerate for rewind duration estimate 
- various NES PPU viewer fixes 
- updated Windows version check to reflect 8.1 EOL 
- fix audio not getting muted when opening modal dialogs (see #3545) 
- added hotkey for toggling on-screen messages 
- renamed quicksave slot 0 to 10 
- strip "SHA1:" and "MD5:" when copying lines in the log window 
- have TAS profile also enable NDS BIOS 
- improved DisplaySurface performance (#3517) 
- fix malformed PC Engine gamedb entry ("Sounds" was interpreted as the sysID) 
- add N64 to multidisk bundler list 
- add some sort of documentation for B/V gamedb flags 
- hide debug tools from Tool Box and add ext. tools 
- added Magnum (FBX) and Wavebeam NES palettes 
- added --userdata CLI flag 
- added .cdi support 
- fixed window title after loading rom via FW config (#3581) 
- clear MovieSession._queuedMovie if rom load fails (#3582) 
- .bin file Mode2/2336 support (#3387) 
- added keybind (hardcoded) for MainForm context menu 
- persist A/V settings to disk properly (#1226) 
- fixes and improvements to SNES lightguns 
- RAM Watch 
- fix CTRL+A not working properly 
- RAM Search 
- added Select All/None 
- switch _watchList from a List to an Array (faster) 
- fix hang with "Go to Address" dialog in RamSearch (#3384) 
- Hex Editor 
- fixed incorrect handling of big / little endian (#3516) 
- disabled "Save to rom file" when not looking at rom 
- TAStudio 
- fixed "Select between Markers" hotkey not working 
- fixed .tasproj headers being written differently based on locale (i.e. ',' instead of '.') 
- don't autorestore if current frame remained valid 
- refactors for selection in InputRoll, standardising behaviour of Select All and Insert Separator buttons 
- resolve some inputs showing ! in Nymashock and hide some columns by default 
- when starting new .tasproj from SaveRAM, don't clone SaveRAM twice 
- fixed modifier key check in TAStudio.TasView_MouseDown 
- added 'Edit marker frame' feature 
- fixed ArgumentOutOfRangeException when loading TAStudio with cheats 
- improved input copy/paste behavior (#3506) 
- fixed incorrect behavior when switching systems and improve handling of default.tasproj (#3462) 
- improved clarity of label texts in custom color dialog (#2119) 
- fix KeyLog not being respected in TAStudio and custom LogKey getting discarded (#2843) 
- Lua 
- replace the two lua engines with an updated version of NLua, backed internally by native lua 5.4.4 
- update lua documentation in reflection of new lua features 
- rely on a system provided lua 5.4 .so (or lua 5.3 if needed) when on Linux, resolving issues due to providing our own lua 
- various changes due to real integer support in new lua 
- deprecate bit library functions which have direct operator counterparts in new lua 
- add in a migration helper for lua bitwise ops (put bit = (require "migration_helpers").EmuHawk_pre_2_9_bit(); at top of file) 
- added arguments to memory callback functions (cb will be called with addr, val, flags)—check event.can_use_callback_params("memory") when writing polyfills 
- fixed setting size of Lua Forms (#3034) 
- fixed encoding bug which caused e.g. Japanese text to become mojibake/garbled (#190, #2041) 
- fixed the forms.* functions for LuaPictureBoxes erroneously affecting every form instead of the one specified (#3395) 
- renamed (deprecated) event.onmemory{read,write,exec,execany} to event.on_bus_{read,write,exec,exec_any} (#759) 
- added bizstring.pad_{start,end} convenience functions 
- changed Lua Console to trigger a clear of drawing surfaces and the OSD when removing a Lua script, and to reset padding when removing the last script 
- fixed require not looking in Lua dir on Linux 
- added "Clear Output" button to Lua Console 
- fix documentation error in client.gettool 
- set Form.Owner to MainForm for Lua-made forms 
- fixed wiki export, add more notes to fill in some of the holes 
- documented frameadvance loop 
- documented socket response format 
- fixed possible crash in print (#3513) 
- fixed mainmemory lib keeping reference to unloaded core's memdomain 
- suppress updates while rebooting core (#3424) 
- fixed various things in the LuaConsole (#3476) 
- fixed unwrapped lua exceptions not being correctly thrown 
- properly handle errors when running a lua script, using Resume/Yield methods added to the LuaThread class (see https://github.com/TASEmulators/NLua/commit/f904fa0d53b06c67dd8e9b409dcbb9fa8aa721f2) 
- fix mainmemory.write_bytes_as_dict 
- Pass through input/hotkeys while Lua form is focused (to restore previous behaviour, call forms.setproperty(form_handle, "BlocksInputWhenFocused", true);) 
- fix PictureBox when width or height is null 
- use LuaPictureBox' custom resize in all cases 
- CloseRom acts like rebooting the core, so make it just reset Lua libs (fixes #3226) 
- fix detaching registered functions 
- support marshalling arrays of length 0 through BizInvoker, fixing a crash with lua 
- fixed event.onmemoryread behaviour under mGBA (#3230) 
- improved how removing callbacks from within a callback is processed (#1823) 
- have MemoryDomain inherit IMonitor, which can be used to avoid waterbox overhead for many nonsequential memory accesses (already used internally to speedup RAM Search and some lua functions; no-op for non-waterbox cores) (#3296) 
- ApiHawk 
- improve error message for IToolFormAutoConfig ext. tool missing menu 
- merged IGameInfoApi into IEmulationApi, and some other minor API method signature changes 
- changed injector to include non-public properties when looking for ApiContainer 
- deprecated some ExternalToolApplicability.* attributes 
- added IMovieApi.PlayFromStart/movie.play_from_start (#384) 
- added saveChanges parameter to IMovieApi.Stop/movie.stop 
- fixed edge cases for MemoryApi.{Read,Write}ByteRange/{memory,mainmemory}.read_bytes_as_{array,dict}/{memory,mainmemory}.write_bytes_as_array 
- added IUserDataApi.Keys/userdata.get_keys 
- fixed trying to load tool Forms when services aren't satisfied, causing NREs (#3329) 
- fixed HTTP and sockets not being initialised in time for tools autoloaded on startup 
- added "memory" of which ext. tools the user has vetted so the prompt does not appear when restarting EmuHawk 
- added length prefix to ICommApi.Sockets.SendScreenshot/comm.socketServerScreenShot to match SendString/socketServerSend 
- return success bool from OpenRom APIs (#3514) 
- have IMovieApi.Stop implementation use MainForm.StopMovie 
- fix --open-ext-tool-dll 
- made ext. tool build and run scripts pass args through to dotnet 
- deprecated `IGuiApi.DrawText` in favour of new method `PixelText` to match Lua 
- made `ApiContainer` props `MemoryEvents` and `MemorySaveState` return `null` if req. services unavailable 
- Use bulk peek in IMemoryApi.{ReadByteRange,HashRegion} 
- Basic Bot 
- added warning when loading a .bot into the Basic Bot which was made on a different game or system, or on an older version 
- increased max frames from 999 to 9999 
- added NOT operator 
- fixed anchor points and a misaligned label 
- fixed code logic error for 3 way tie breakers 
- refactor BasicBot.IsBetter 
- fixed issue where the Copy button was not toggled on/off properly 
- change addresses to ulong? (fixes empty address fields being saved as 0x0) 
- Debugger 
- fixed the "To PC" button not updating the disassembler view 
- fixed breakpoint crash with mGBA (#3287) 
--2.8--
This release sees BSNESv115+ and MSXHawk graduate from experimental, and the addition of 5(!) new cores emulating GB/C, N64, PSX, and TI-83.
Misc. changes to EmuHawk
- fixed various bugs with the Paths config dialog 
- fixed "Close and reload ROM" in Firmware Manager crashing if it was opened from missing FW dialog (#3054) 
- fixed hotkeys triggering accidentally when typing in Virtual Pad fields (#3087) 
- fixed typos which broke INTV, NES, and PSX gamedb lookups 
- fixed known good Saturn BIOS choices marked as unknown (#3095) 
- updated list of Sega CD / Mega CD BIOSes in firmware database 
- many gamedb additions and updates 
- fixed RAM Search difference fields can't fit all possible values (#3117) 
- fixed `File` > `Load State` > `Auto-load Last Slot` breaking movie recording/playback (#2384) 
- fixed .dsm importer 
- fixed .smv importer nagging about core choice thousands of times (#3022) 
- fixed .vbm importer 
- made OSD message duratin (time to fade) 
- configurable in UI, and allow API calls to override it 
- added option to split RAM Watch entries (#1024) 
- fixed drag+drop bug (#1483) 
- made `Config` > `Customize...` > `Pause when menu activated` behave consistently 
- fixed overlapping UI elements in Debugger (#3026) 
- tidied up numbering of save slots and TAStudio branches (#3112) 
- fixed `ObjectDisposedException` when triggering single-instance passthrough 
- fixed throttle edge cases 
- fixed edge cases where post-frame tool updates would run twice after a frame advance 
 added more logging and warning dialogs for edge cases
 many smaller fixes and even some frontend speed optimisations (not sarcasm, this is a first)
 
Linux port
- added support for PSX (see Nymashock below) and technically N64 and TI-83 (see Ares64 and Emu83 below) 
- fixed various problems w/ alignment and size under Mono 
- added Nix expression for reproducible EmuHawk (and DiscoHawk) builds without dependency issues 
TAStudio
- re-enabled editing of movie comments (#3063) 
 added an edit dialog for TAStudio palette (#2119)
- fixed branch screenshots (#1513) 
- fixed weird edge case putting TAStudio in an unaccounted-for state (#3066) 
- fixed error when autoloading a rom and TAStudio AND a .tasproj for a different rom 
- fixed incorrect behaviour when jumping to frame 0 
 
Lua/ApiHawk
- added support for `"#RRGGBB"` format when parsing colours ("luacolor" in docs) in Lua API 
- fixed `joypad.setfrommnemonicstr` not working without reinitialising MovieSession (#2525) 
 
DiscoHawk
- fixed deadlocks (#3128) 
- New and graduating cores 
- Nymashock:new PSX core ported from Mednafen (like Octoshock, though this is newer and more easily updated, which also means it has more peripherals) 
 
SameBoy
- new ported GB/C core with comparable accuracy to Gambatte and GBHawk (not to be confused with the SameBoy SGB core in older releases) 
Emu83
- new TI-83 core 
BSNESv115+
- BSNESv115+ (the "new BSNES port") is no longer experimental 
- fixed Hex Editor and others using read instead of peek (#3060) 
- implemented memory callbacks 
- fixed ram and rom memory domains 
- increased MmapHeapSize to prevent crashes, affected 
Star Ocean
- refactored latching to improve dumping/verification 
- reduced savestate size (increased frequency for 
- TAStudio/rewind) 
- improved speed of fast ppu check 
 
MSXHawk
- MSXHawk is no longer experimental 
- implemented more hardware/mappers 
- added Linux port 
 
Ares64
- 2 new experimental cores ported from Ares: one for casual play which is slow and desync-prone ("Performance"), and one for TASing which is even slower but will sync ("Accuracy") 
 
 
Other cores:
          A7800Hawk
- fixed nondeterminism caused by incorrect savestate code 
- fixed Basketbrawl and summer games 
- fixed off pixel detection in write mode, affected baby pac man 
 
 Atari2600Hawk
- fixed audio issues, affected ms pac man 
 
 Gambatte
- updated core 
 fixed error when attempting to write to some registers e.g. with the Debugger (#3028)
 fixed crash on Linux
 refactored GambatteLink to be more modular and add support for 3x/4x
 added proper memory callback scopes for link play
 enabled disassembly in link play
 allowed linking w/ GBC cart IR
 stopped using fine-grained timing for link play when the link is disconnected
 added more scopes for memory callbacks
 
 GBHawk
- updated GBA startup state, affected Konami collection vol. 4 
 fixed link play, affected perfect dark
 
 Genplus-gx
- added support for SRAM larger than 8MB (#3073) 
 prevented crash when loading Debugger (#2769, #2958)
 
 Handy
- fixed crash on Linux (#2425) 
 
 IntelliHawk:
- adjusted sme timings and fixed accesses to registers, affected motocross 
 cleaned up CPU, fix trace logger and throw less exceptions
 fixed intellicart, affected various homebrew roms
 fixed MOBs with x-coord 0 being visible, affected bowling
 fixed overflow flag calculation, affected checkers and reversi
 more compatibility work
 
 MAME
- stopped treating warnings as errors 
 set System Bus correctly
 
 melonDS
- updated core, adding experimental DSiWare support 
 enabled memory callbacks
 fixed empty strings in firmware settings preventing roms from loading (#3030)
 
 Mupen64Plus
- fixed haptic feedback causing movie playback to crash 
 enabled GLideN64's texture wildcard support (#3104)
 
 NesHawk
- added mapper for Pokemon bootlegs 
 fixed not parsing iNES v2 headers (#3082)
 other small accuracy improvements and bugfixes
 
 O2Hawk:
- fixed blobbers and Popeye 
 
 PCEHawk:
- fixed crash related to framebuffer resizing (#3018) 
 
 SMSHawk:
- fixed sprite collision inaccuracy (#1611), affected Ecco the Dolphin 
 fixed Fray (vert lock update)
 fixed SMS backdrop colors
 fixed ys (JPN) by emulating VRAM masking bit
 improved SG-1000 8kb ram adapter emulation
 
 VectrexHawk
- implemented 64K bank switching 
 
--2.7--
New Core melonDS!
Linux
- Lua support! 
 
Fix Basic Bot
SGB
- Sameboy is removed; Gambatte is the new default SGB core 
 
Gambatte
- fix Cart Bus Pullup setting 
- update gambatte upstream 
 
GBHawk
- Set bk2 movie CGB flag properly 
- Fix GBHawk settings dialog not appearing 
NesHawk
- Increase IRQ delay in mapper 48 to fix graphics glitch in Jetsons 
- Fix Zelda SaveRAM (#1623) 
- Give Jump II initial SRAM of 0xFF 
- Fix Tsuri Kichi Blue Marlin Hen 
Atari7800Hawk
- Fix nondeterminism issues (reported for Choplifter) 
Atari2600Hawk
- game db updates 
SMS
- Balance audio better (#2814) 
- Add SRAM to Terminator (#2966) 
 fix pop breaker
PCEHawk
- Improve memory domains 
PSX
- Update octoshock to Mednafen 1.27.1 (#2989) 
Bsnes-v115
- Fix snes graphics debugger getting permanently hidden (til app is restarted) (#2950) 
- EmuHawkGroup SGB in with GB/C in PathConfig (#2992) 
 Encode screenshot as JPEG when it has the extension (#2982)
- TAStudioFix TAStudio not loading saved branches (#2640) 
 Add confirmation modal when launching TAStudio during casual play
 Do not seek when needing to load greenzone on paint
 Fix Frame Number Hover (#2811)
- Luaimplement client.get_approx_framerate() 
 implement save_image_to_disk() to Lua canvas (#2744)
 
Discohawk
- Fix HAWK Commandline option (#2947) 
 Fix freezing when extracting music (#2952)
 Multi-thread audio extracting
 
ApiHawk
- Implement client api GetApproxFramerate() 
 
--2.6.3--
- Updated nyma cores to Mednafen 1.27.1 
TurboNyma
- fixed #2873 - Mnemonic display for PCECD shows ! instead of the II, III, IV and VI buttons as well as the mode "buttons" 
 
BSNES
- Fixed #2856 - SNES Super Scope gives an exeption error 
 Added- sa1_irammemory domain for new bsnes
 Fixed #2942 - Adaptating the bsnes gamma ramp shader
 
Mupen64Plus
- Added haptic feedback passthrough (with rumble pak enabled in controller settings, look in keybinds after analog) 
 Fixed #2808 - Support null (any) address for N64 breakpoints
 Updated GLideN64
 Added new GLideN64 settings:- BackgroundsMode,- txEnhancedTextureFileStorage, and- txHiresTextureFileStoragefixed #2864 - N64 PAL roms in .n64 format are treated as NTSC
 
 
Octoshock
- Fix fast forwarding 
 
NESHawk
- Fix mapper 88 mirroring. Closes #2847 
 Improve power on state accuracy
 
mGBA
- Fixed #2805 - memory hooks ( - event.onmemorywrite) not being removed properly
 Fixed #1112 and #1870 - Add Game Overrides as a Sync Setting (including rtcEnabled)
 
ZXHawk
- Overhaul datacorder and cassette loading code. This should now be more accurate and fixes a number of loading isues with particular games and loading schemes. Fixes #1446 
 
Gambatte
- BizHawk changes mainlined into upstream gambatte-core, which is now split from gambatte-speedrun 
 Linux support added
 full HLE SGB mode implemented in Gambatte, better than SameBoy
 no BIOS accuracy improvements and HLE of CGB-DMG colors (restoring to original Gambatte behavior of hacking in the post BIOS state)
 Expose isCgbDmg + add isCGBDMGMode instead of isCGBMode to movie headers if active
 Tracelogger fixes #2710 #2701 #2902
 Open Bus Emulation
 Use dumped uninitalized AGB WRAM for AGB instead of CGB initial RAM layout
 fix rare crash when changing window when the LCD is disabled and an hdma was requested within that lcd disabled period, #2919
 initialize controller once on core construction and require core reboot to change it, #2921
 automatically create missing BIOS files by patching files you already have (GBC<->GBA, DMG<->MGB, and SGB2<->SGB1)
 various other improvements to accuracy, savestate consistency, and stability
 
VirtualBoyee
- Update to Mednafen 1.27.1 
 Added options for virtualboy to only show left or right screen
 
ColecoHawk
- fixed Virtual Pad schemata 
 
Libretro
- Add to Linux port 
 
EmuHawk
- Fixed #2747 and #2077 - improper handling of file paths 
 fixed #2787 - unable to open roms in EmuHawk via File Explorer on Windows
 fixed #2759 - strange behaviour of minimised windows on Windows
 fixed #2435 - tab labyrinth in `Config` > `Paths...`
 fixed #2643 - include frame numbers when copying rows in TAStudio
 fixed #2784 - xbone or gamepads pretending to be xbone are detected as two gamepads
 prevent crashing when unplugging gamepads using DirectInput+XInput method
 rewrote most of the OpenTK gamepad code and some of the DirectInput+XInput gamepad code, probably fixing obscure bugs
 respect system chosen for file ext. (i.e. `Config` > `File Extensions...`) when loading an archive containing a single file
 Fixed Basic Bot
 
RAM Watch
- Added HandleWatchSizeSelected() to allow user-initiated watch size changes to be ignored if they reset the setting to the same value. fixes #2857 
 
 
Rewinder
- fixed #2463 - config option for rewinds every fixed number of frames 
 Fixed #2826 - bad interaction between rewind+movie+savestates when using delta state rewinder
 Fixed #2877 - rewinds sometimes drifting 1 frame forward when loaded
 
Lua
- allow loaded ext. tools to be queried via - clientLua library / IToolApi
 Make sorting optional for- forms.setdropdownitemsfixed #2844 - new lua functions for
 - memoryand- mainmemory:- read_bytes_as_array / write_bytes_as_array / read_bytes_as_dict / write_bytes_as_dictadded
 - event.onconsolecloseto Lua API
 allow most of the- mmfLua library to be used without passing- --mmfon the command-line, and add some helper functions to it
 fixed #2940 - made- client.openrombehave like- client.reboot_core
 
Debugger
- fixed #2760 - prevent crashes when minimizing and other cases 
--2.6.2--
Set all cores to update Frame counter post-emulation. NOTE: This is a sync breaking change for MGBA movies using RTC, as the time sent to the core was the pre-incremented time.
mGBA
- update to 0.9.1 
 
Gambatte
- Fix RTC on Hard Reset 
 MBC3 Fixes
 Support setting inital RTC state during a movie recording
 Fix layer masking
 Move layer masking to sync settings (these settings affect sync)
 Block toggle layer hotkeys when movie recording
 Update GBA modeswitch timing and testROM accuracy
 Fix autodetection of console mode
 Add wisdom tree mapper suport
 clarify sync settings (#2688)
 
GBHawk
- Fix OAM DMA Bus Conflict emulation (#2709) 
 #2715 , still needs vram open bus fix but that's seperate
 
NesHawk
- Add missing mapper variable to state for some pirate games 
 
O2Hawk
- Fix PAL time calculation (#2684) 
 
PCE
- Fix default PCE gamepad bindings (fixes #2720) 
 Fix crashes in PCE debugger
 
N64
- Add N64 plugin categories (#2729) 
 Fix memory.read to allow addresses 0x80000000..0xFFFFFFFF (#1734)
 
GPGX
- Add missing menacer keys (#2718) 
 
Intellivision
- Fix aspect ratio (#2670) 
 
SMS
- Fix system Id (#2650) 
 
C64
- Implement memory hooks (#2726) 
 
EmuHawk
- Fix FormatException on startup on certain locales (#2716) 
 Fix GB Layers not toggling (#2491)
 Add utvideo to ffmpeg dumper
 Movies - respect LogKey of loaded movie
 Firmware Config - don't treat known-but-bad as good (#2224)
 
 
Rewinder
- Fix bug where nothing happens on the first press when frame interval is 1 (#2667) 
 Add delta compression option (Good size reduction for some cores, less useful for others)
 Ram Watch - fix autoload
 Hex Editor - .tbl file loading - clear table before loading a new one, ignore empty lines in file
 Debugger - Add rgbds syntax for GB/C disassembly (#2706)
 CDL - Fix SNES core crash on load (#2662)
 Fix Log Window (#2694)
 
 
Lua
- Accept all 4 colour formats in all Lua functions (#2602) 
 Support swapping input using joypad.set() and joypad.get()
 client.seekframe - Prevent hangs from trying to go backwards
 lua socket fixes (#2194, #2671)
 MovieClock.lua - use cycle based time for Gambatte/SubGBHawk (#2708)
 
 
TAStudio
- Fix auto-restore bug where auto-restore position was not set correctly the first time using it after auto-restore usage earlier in the movie 
 Fix broken tastudio when selecting "New from the File" menu item and saving changes when asked
 Fix autoload
 Fix Converting to bk2 resulting in unsaved changes never asterisk appearing (#2583)
 
 
Branches
- Fix branch loading (#2640) 
 Fix hotkeys
 Fix right-clicking a branch when the contextmenu was already open would throw an exception
 Branch view will now scroll to the updated branch when using hotkeys to update a branch
 Fix exception, scroll to branch on updating branch and fix #2645
 Make load branch hotkey deselect all but one branch
 Add initial marker in frame 0 when loading older tasprojs (#2693)
--2.6.1--
Linux
- Fix trying to use DIrectInput (2607) 
 
EmuHawk
- Fix single instance mode (#2577) 
- Update default hotkey bindings to use new names (#2576) 
- Limit attempts to dearchive to files with extension .zip, .7z, .rar. (#2587) 
- Rename and clarify Alternate Sync (#1398) 
- Fix clock throttle being 60fps for all systems (#2580) 
- Fix multi-disk bundler 
- Fix resizing controller config dialog 
 
Tastudio
- Fix savestate corruption bug introduced in 2.6. This bug causes desync issues on most cores! 
- Refresh view when pausing with middle-click 
 
 
Lua
- Fix client.reboot_core() 
- Fix drawing during onframeend() event handler (#2595) 
 
Vectrex
- HawkReport 50fps in the Play Movie dialog 
 
GPGX
- Fix VDP Viewer screenshot feature (#2596) 
 
NesHawk
- Fix Wagyan Land 2 Graphical Bugs 
- FIx mapper 90 
--2.6.0--
New Core! Odyssey2 core is offically released
Update nyma cores to Mednafen 1.26.1
Saturnus
- Fix cart detection (#2513) 
- Fix independence Day soft lock (Fixes #2162) 
- Fix .xml loading Fixes #2557. 
 
mGBA
- Update to 0.9 
 
Gambatte
- Update libgambatte to r729+ 
- Support GB layer toggling 
- Add GB object viewer 
- Various updates from gambatte-speedrun 
 
PSX
- Add System Bus memory domain 
- Fix debugger window crashes when adding a breakpoint 
- Use Octoshock's built-in disassembler 
- Support memory execute callbacks 
- Have memcbs include actual values 
- Fix can't accept PSX rom converted from DiscoHawk (#2478) 
 
GBHawk
- Accuracy improvements 
- HDMA fixes 
- Implement reads for GBC visualizer 
- Change initial ram state 
- Double Speed mode fixes 
- Properly fade to white in GBC mode 
- Mode 1 overhaul, fixes several bugs 
- Update bad SRAM access emulation 
- Open bus behaviour on locked SRAM 
- Multi-cart check for bomberman selection 
- Window timing bug fixes 
- Sprite timing bug fix 
- Add Game DB entry for Litti's Summer Sports 
- Fix debugger disassembler 
- Implement LCDC write glitch for gbc-acid-hell 
 
SubGBHawk
- Save audio cycles in SubGBHawk where it's needed, fixes state integrity checker in TAStudio 
 
bsnes
- Make ROM memory domain writeable (Use at your own risk) 
- add CARTROM-DB and CARTROM-D blocks to CDL 
- Fix PAL detection (#2503) 
 
NES
- HawkChange NES framerates (#2460) 
 
GPG
- XAllow writing to rom memory domains 
 
EmuHawk
Linux
- Fix Xbox one controller stops working, (#2429) 
- Fix overlapping/duplicate controls in FirmwaresConfig's 
- menu 
- Fix crash when clicking on column headers in 
- FirmwaresConfig 
- Support Oem102 keyboards 
- Fix alt-keyboard-layout mode crashes 
- Add an option to capture the Lua without capturing the full OSD, when AV recording 
- Don't clear input when changing ROM (#2453) 
- Fix GBA Game Shark code conversion (#2545) 
- Cheats - Fix Changing selected row with arrow keys doesn't update side pane (#2550) 
- GB GPU Viewer - Bounds check tile drawing for OBJ window, seems to resolve random crashing 
- Fix SyncSettings type cast error during Rom load 
- Ram Search - fix crash when deleting addresses 
 
 Lua
- Implement joypad.getwithmovie() 
- Deprecate emu.getluacore in favour of new func client.get_lua_engine 
- Fix reverting current directory 
- Fix client.reboot_core() (#2571) 
- Fix MovieClock.lua ui, also use current frame count instead of movie length 
 
 TAStudio
- Support drive states 
- Fix state gap when frame advancing and painting input 
- StateManager fixes 
- Do not attempt to report >100% seek progress (This could happen if the user starts a seek which results in loading a savestate past the frame previously being seeked) 
- Fix scrollbar behavior 
- Cell selection fixes 
- Fix opening TAStudio after starting a .tasproj 
- Undo history fixes 
- Debugger: Fix scrolling in disassembly view 
- Virtual Pad analog stick: Fix changing x axis name (#2467) 
 
 Movies
- Pass SRAM to emulator before state is made 
- Fix playing a movie when core is not specified and core is not one we support switching of (#2466) 
 
 CDL
- Fix crash on GPGX 
- Gambatte - fix 1st opcode byte. (#2551) 
- GBHawk - Fix domain names (#2552) 

