This is just a quick update to address some issues in the previous v0.3 release.
Make FM Debugger More Compact
The FM debugger was a bit ‘verbose’ in v0.3…
As you can see, each channel was given its own window, which meant that it was a lot of effort to simply switch from one channel to another without just having all windows open at the same time, which would take up a lot of the screen.
Since it’s unlikely that a user would ever need to see more than one FM channel’s registers at a time, these windows have all been merged into a single tabbed window:
Fix DPI Support
Unfortunately, after hyping it up so much in v0.3’s release, the default window sizes were broken on DPIs that weren’t 150% the standard. I was expecting Dear ImGui to handle DPI differences like this automatically like it usually does, but that’s not the case here.
I’ll have to remember to test this frontend at alternate DPIs before each release to prevent a repeat of this mistake.
Add a Horizontal Scrollbar to the Plane Debugger
As the result of yet another strange quirk of Dear ImGui, horizontal scrollbars do not exist by default, even in windows that need them. This affected the VDP’s Plane A/B debuggers, which only had a vertical scrollbar. By explicitly telling Dear ImGui to create a horizontal scrollbar, this issue is no more:
User-Friendliness Improvements to Keyboard Rebinding
Sometimes it’s the small things that matter most.
When the user is repeatedly adding key bindings, the newly-extended binding list would push the ‘Add Binding’ button off-screen, requiring the user to scroll down to be able to press it again. This is a small annoyance, but an annoyance nonetheless, so it has been corrected by automatically scrolling the window down after a new binding is added.
Additionally, when selecting an action to bind to a selected key, the selected key is displayed to the user. This extra feedback allows the user to verify that they selected the correct key, instead of them being left in the dark.
Fix Phantom Keyboard Inputs After Rebinding
Sometimes, after rebinding the keyboard inputs, the emulated Control Pad would behave as if certain buttons were held when they are not. This was due to edge-cases in how the key-binding system works. For instance, if a key’s binding were changed after it has been pressed but before it is released, then the emulator would ‘forget’ which Control Pad button to release when the key is released. This should no longer be the case.
Fix Ugly Seams Around Tiles in VRAM Debugger
Depending on the display’s DPI, odd artifacts could appear around the tiles in the VRAM viewer:
This was the result of some accidental fractional image scaling. This has been corrected to use the proper integer image scaling, eliminating the seams.
With this much-needed polishing complete, hopefully the next update will include some improvements to the core emulation: Window Plane, SRAM, LFO, SSG-EG, YM2612 Timers – there are plenty of things left to add.
Download here: https://github.com/Clownacy/clownmdemu-frontend/releases/tag/v0.3.1