OpenMSX Git (2016/01/05) 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:
* Saving a replay on windows triggered a crash on exit
Thanks to Max Feingold for figuring out what was going on:
- Inside the XmlOutputArchive constructor we create a FILE handle
(via FileOperations::openFile()).
- We pass the underlying file descriptor to gzdopen() (obtained
via fileno())
- When the file is written, gzclose() closes the file descriptor.
- BUT the libc FILE object is never fclose()'d
This triggers a diagnostic in the windows CRT on exit, but it's a bug
on any OS.
In retrospect, the zlib manual mentions this use case and recommends to use
dup() on a file descriptor coming from fileno() that's being passed to
gzdopen(). So that's the approach I took in this patch.
An alternative fix suggested by Max is to create a
FileOperations::openFileDescriptor() function that directly returns a file
descriptor instead of a FILE handle. Though that requires duplicating the
unicode stuff (open() vs _wopen), so I preferred the current approach.
Download: OpenMSX Git (2016/01/05) x86
Download: OpenMSX Git (2016/01/05) x64
Source: Here
2016-01-05
Random Related Topic
0 Comments
Post a Comment