bsnes/higan/processor/v30mz
Tim Allen d0ddd87e9c Update to v097r06 release.
byuu says:

Man, the 80186 is taking a lot longer to implement than I thought it
would. So far I'm 18 hours into this emulator. Whereas I had Super Mario
Bros fully playable (no sound) in 12 hours for the NES >_>

I refactored all the byte/word variant functions to single functions
that take a size parameter. Cuts the amount of code in half.

Also implemented repz/repnz + movsb/movsw, so Riviera now gets 299
instructions in before dying. Nobody really bothers to explain how the
CPU actually implements these instructions, but I think I have it right:
ignore non-string opcodes that follow rep, invoke the string operations
inside the rep opcodes to prevent interrupts from triggering between the
two (which will be even more fun for segment selector overrides ...)

The next opcode needed is 0xC7, which ... throws ModRM on its head. In
this mode, ModRM is only used to determine the target operand (and it
doesn't use the middle bits for that at all), and the source is an
immediate that follows it. Gonna have to waste a few more hours thinking
about how best to handle that.

Also, disabled HiDPI for higan as well on OS X.
2016-01-31 18:59:44 +11:00
..
algorithms.cpp Update to v097r06 release. 2016-01-31 18:59:44 +11:00
disassembler.cpp Update to v097r06 release. 2016-01-31 18:59:44 +11:00
instructions.cpp Update to v097r06 release. 2016-01-31 18:59:44 +11:00
memory.cpp Update to v097r06 release. 2016-01-31 18:59:44 +11:00
registers.cpp Update to v097r06 release. 2016-01-31 18:59:44 +11:00
v30mz.cpp Update to v097r06 release. 2016-01-31 18:59:44 +11:00
v30mz.hpp Update to v097r06 release. 2016-01-31 18:59:44 +11:00