EmuCR Feeds
Email Us

EmuCR:OpenMSX OpenMSX Git (2016/02/18) is complie. OpenMSX is an open source MSX emulator which is free according to the Debian Free Software Guidelines, available under the GNU General Public License.For copyright reasons the emulator cannot be distributed with original BIOS ROM images. OpenMSX includes C-BIOS a minimal implementation of the MSX BIOS, allowing to play quite some games without the need to have an original MSX BIOS ROM image. You can also use your own BIOS ROM image if you please.

OpenMSX Git Changelog:
* Fix crash while reversing during progress message
During some long calculations (e.g. hash calculation or reverse-goto in a long
replay) we want to show some kind of progress indication. To do this we print a
clicomm message, and that gets shown in a OSD Tcl widget (a message box).
Those message boxes are obviously only shown if during that long calculation we
redraw the screen once in a while. Before this patch this was done by
periodically calling EventDistributor::deliverEvents(). This ensures that the
screen gets redrawn at a not-too-fast and not-too-slow rate.
However triggering the generic event mechanism also does a lot of other stuff.
Among other things it executes Tcl callbacks and it handles key bindings. Most
of these things are good, e.g. the Tcl callbacks will keep OSD animations or
timed Tcl scripts running. The hotkeys still allow some control over openMSX
while the long calculation is running.
But those hotkeys can also cause trouble. Probably the most problematic one is
'Pgup' (bound to reverse by default). This one will go back in time. This is
implemented by replacing the current MSX machine state by another version
(that's at an earlier point in time). But this is a problem when our long
running calculation is actually using that MSX machine (e.g. calculating a hash
for the harddisk image).
We probably could have protected against the scenario described above (reverse
with harddisk-hash). But it is only one (relatively easy to trigger) example of
what can go wrong. The events can trigger all kinds of Tcl scripts and in those
scripts you can do all kinds of weird things (e.g. removing the harddisk
extension or whatever). It wouldn't be practical to protect against all
possible problems. So instead of adding protections in the (already known)
problematic scripts, this patch tries to solve/eliminate the problem at a
deeper level
The fix is to no longer call EventDistributor::deliverEvents() during long
calculations but instead (only) call Display::redraw(). So this is barely
enough to show the progress message. It does makes openMSX less responsive
during the calculation, but it does eliminate a whole class of potential bugs
caused by running arbitrary Tcl scripts at 'unexpected' moments in time.
* Prevent warning to show up each reverse.

Download: OpenMSX Git (2016/02/18) x86
Download: OpenMSX Git (2016/02/18) x64
Source: Here

Random Related Topic Refresh Related Topic

Random Related Topic Loading...


  1. It's just a blue screen... How do I set up my game pad and stuff?


Can't post a comment? Try This!