
2.1 / 08-01-2025
Bizhawk
Accuracy
Performance
Features
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.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 usingk001006_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.bin
is loaded, try synthesising a.cue
don'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
Atari2600Hawkfixed audio issues, affected ms pac man
Gambatteupdated 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
GBHawkupdated GBA startup state, affected Konami collection vol. 4
fixed link play, affected perfect dark
Genplus-gxadded support for SRAM larger than 8MB (#3073)
prevented crash when loading Debugger (#2769, #2958)
Handyfixed 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
MAMEstopped treating warnings as errors
set System Bus correctly
melonDSupdated core, adding experimental DSiWare support
enabled memory callbacks
fixed empty strings in firmware settings preventing roms from loading (#3030)
Mupen64Plusfixed haptic feedback causing movie playback to crash
enabled GLideN64's texture wildcard support (#3104)
NesHawkadded 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
VectrexHawkimplemented 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
Addedsa1_iram
memory 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
, andtxHiresTextureFileStorage
fixed #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
client
Lua library / IToolApi
Make sorting optional forforms.setdropdownitems
fixed #2844 - new lua functions for
memory
andmainmemory
:read_bytes_as_array / write_bytes_as_array / read_bytes_as_dict / write_bytes_as_dict
added
event.onconsoleclose
to Lua API
allow most of themmf
Lua library to be used without passing--mmf
on the command-line, and add some helper functions to it
fixed #2940 - madeclient.openrom
behave likeclient.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
LuaImplement 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
TAStudioSupport 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)
MoviesPass 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)
CDLFix crash on GPGX
Gambatte - fix 1st opcode byte. (#2551)
GBHawk - Fix domain names (#2552)