#CSpect V22.214.171.124 changes
Massive update, with virtually all rendering components touched to properly allow for blending modes. While there has been a concerted effort to beta test this, please report any rendering oddities that you see on the Spectrum Next discord channel.
Also in this version, is a major update to audio/video syncing, producing far smoother and more playable results. The recommended command line for gamers will now be "-60 -vsync [game]". This should give full audio, and nice smooth gameplay.
General timing has also been improved, so without audio running at 60hz and vsync in fullscreen, everything should "glide" nicely again - as it used to in the C++ version.
Plugin authors be aware of a change to the Plugin system. Due to the new Audio/Visual syncing system, the emulator "could" now be running on a different thread, and as such, you can no longer do GUI/OS work from callbacks. ALL UI/OS work must now be managed via the new OSTick()
callback. Like the Tick()
callback, but this is always called from the OS thread, allowing you to open windows, and refresh/draw them. Please see updated plugins on my github for further example code.
Hope you all enjoy this one, it's been some time in the making - thanks to all who helped beta test it.
- Fixed Timex Hires non-ULANext ink/paper orders
- Fixed Timex Hires ULANext ink/paper orders
- Added wildcard support in F_OPENDIR ($a3)
- Added better exception reporting to the LOG for loading plugins
- Fixed DeZog plugin building - DLL has been properly updated with new Plugin interface
- Fixed up keyboard cross threading issues
- Fixed up File open cross threading issue
- Added a new OSTick() call to plugins to allow UI/OS function calls - please note the changes in plugins to avoid crashes
- Fixed Timex hires with ULA Next ink/paper shift mode
- Added a "Standard Plugin Keys" section to the readme.txt file
- Fixed 2 profiler crashes, when clicking on the profile window in different states
- Fixed ULA last line drawing
- Fixed sprite in border bugs with new screen rendering
- Fixed L2 640x256 and 320x256 clipping
- Fixed Timex border colour issues
- New Audio/Video syncing system
- Fixed 320x256 window
If you want to support my work...
- Fixed a crash in Mode 6 and 7 when the tile window was larger than the screen
- Fixed blending of tiles to border when in Mode 6 and 7
- Fixed border when in Mode 6 and 7 when ULA is being used in blending
- Fixed an esxDOS emulator issue, when a game requests too many bytes than is left in the file, and it fills the extra space with 0s resulting in game crashes
- Timing fixed. 50hz and 60hz were both running slowly/weirdly both with and without sound. Should now be correct.
- -60 and -VSYNC should now be perfectly smooth again
- -fps added to show FPS on title bar
- -freerun disable all timers and run as fast as we can (must use -sound as well)
- ULA Y scrcolling fixed to use Yscroll value MOD 192 (instead of anything over 192 being 0)
- ULA+TILE Stencil mode added. Stencil will use any ULA mode (normal, timex, lowres)
- Mode6/7 blending can now be used with stencil mode (where ever the hardware allowed it)
Become a Patreon at: https://www.patreon.com/mikedailly
Or buy me a Ko-fi: http://ko-fi.com/mdf200
Main Website: https://lemmings.info