OpenMSX Git (2016/05/09) 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 gcc-6 -Wmisleading-indentation compiler warning
The code was correct, and was even intentionally formatted like this. I added a
'if (1) ... ' in front to silence the warning.
OpenMSX now compiles warning-free on Linux with gcc-6.
* Same as previous, but for v9990
* Possibly fix(?) excessive delay on 'reverse goto' with ram-watch enabled.
During fast-forward we would trigger 'after frame' events for every
skipped-over frame. This patch suppresses those events.
* Fix possible crash on reset when there was still a VDP cmd executing
The VDPCmdEngine::reset() method does among other things the following:
- Set 'scrMode' = -1. This indicates a screen mode in which no command can be
executed (e.g. text mode on V9938).
- Reset registers and abort the current command by writing 0 to all command
registers. Writing 0 to R#46 is the ABORT command.
This is fine except for the order in which these things happen. Writing the
command registers is done from low to high (R#32 -> R#46). So the command is
only aborted on the last write. Thus the earlier writes are processed with a
command that's possibly still in progress. That's all fine because no
(emulated) time is passing during this sequence. However the assignment
scrMode=-1 has also already happened. So during processing the early register
writes the invariant
scrMode == -1 ==> no command is executing
can be temporarily violated. And this can trigger an assert in some (rare)
circumstances. In a non-assert build everything would be fine.
Once the problem is understood it's easy to fix by changing the order of the
items mentioned above. Basically one of the first things we do now is to
actually abort the command.
* Use guess_rom_device instead of guess_title for mapper type probing.
Fixes regression introduced in 34b86327781a45081b9b05cfef3755719a20aca0
Download: OpenMSX Git (2016/05/09) x86
Download: OpenMSX Git (2016/05/09) x64
Source: Here
2016-05-09
Random Related Topic
0 Comments
Post a Comment