I've been pondering what I should be focusing on for new development over the last few days, and I feel to stay true to the goals of this project, that has to be accuracy. This is mainly a housekeeping release, to clear the decks for bigger work to come. This release will include performance and usability enhancements, a few new features, and various assorted bugfixes. I'm keeping things low key for now, but I'll be putting out a new release very soon, possibly in less than 24 hours. At this stage I believe this will continue to be the case, and I'll be able to consistently move this emulator forward. Although I can't promise that won't happen again in the future, circumstances have changed, and I do find myself with the time to work on this project again. At the end of the day, this is just a hobby, and it has to move aside when real life issues require more of my time. EX-341 - Fixed BCD flag errors in M68000 core based on new researchĪfter a long hiatus (over 3 years!), I'm finally returning to give this project some love.EX-338 - Fixed DPI issue with dashboard drop targets.EX-337 - Fixed identified threading issues with system execution.EX-333 - Fixed disassembly display in trace log.EX-307 - Fixed the display of sprite pixels in palette column 15 when shadow/highlight mode is active.EX-332 - Fixed threading issue when removing breakpoints.EX-331 - Fixed access violation when generating savestate in S315_5313::GetScreenshot.EX-271 - Worked around redraw issues with lockable register edit boxes when docked.EX-328 - Fixed identified system deadlock case.EX-327 - Fixed main window appearing at incorrect size on startup when using saved layout.EX-325 - Fixed excessive VDP rollbacks and intermittent deadlocks.EX-323 - Fixed M68000 LINK opcode disassembly issue identified by ryanfaescotland.EX-322 - Incorporated remaining fixes identified by Francis during GCC compilation work.EX-314 - Fixed active disassembly end location appearing as zero on startup.EX-313 - Fixed bug in M68000 ABCD opcode.EX-312 - Fixed disposal of event handles in AudioStream library.EX-304 - Fixed the title of the system settings window.
Here's the full list of user-facing changes in this release: It's great for diagnosing those mystery single line or pixel errors you can get while making something. Give it a spin and let me know what you think. Being able to reverse the VDP render pipeline like this was relatively easy in Exodus because of how much info the VDP core holds on to, but it still took a bit of work to pull this off. It even works for CRAM writes during active scan. This plays nice with layer removal, so you can peel off a layer at a time and see what's behind it if you want to, and where that pixel came from. It's a pixel info dialog you can turn on via "Debug->Mega Drive->VDP->Debug Settings". Just float your cursor over any pixel, and it'll tell you exactly what caused it to appear there. I've made the VDP plane viewer a but nicer by making the window resizable and making the plane region zoomable, which is nice, but I'm particularly proud of this little nugget: I measure around a 30% speed improvement overall from Exodus 2.0.1, which is pretty substantial. There's also pretty good performance improvements. Job EX-303 in particular fixes a crash that could occur if you had a joystick or gamepad connected, which affected a fair number of people in the previous release. There's quite an impressive list of bugfixes in this release.
Note that you'll need to install the Visual C++ 2017 圆4 runtime too if you don't have it, which is available there too. Exodus 2.1 is now available in the downloads area.