bsnes/higan/processor/r65816
Tim Allen a4629e1f64 Update to v102r21 release.
byuu says:

Changelog:

  - GBA: fixed WININ2 reads, BG3PB writes [Jonas Quinn]
  - R65816: added support for yielding/resuming from WAI/STP¹
  - SFC: removed status.dmaCounter functionality (also fixes possible
    TAS desync issue)
  - tomoko: added support for combinatorial inputs [hex\_usr\]²
  - nall: fixed missing return value from Arithmetic::operator--
    [Hendricks266]

Now would be the time to start looking for major regressions with the
new GBA PPU renderer, I suppose ...

¹: this doesn't matter for the master thread (SNES CPU), but is
important for slave threads (SNES SA1). If you try to save a state and
the SA1 is inside of a WAI instruction, it will get stuck there forever.
This was causing attempts to create a save state in Super Bomberman
- Panic Bomber W to deadlock the emulator and crash it. This is now
finally fixed.

Note that I still need to implement similar functionality into the Mega
Drive 68K and Z80 cores. They still have the possibility of deadlocking.
The SNES implementation was more a dry-run test for this new
functionality. This possible crashing bug in the Mega Drive core is the
major blocking bug for a new official release.

²: many, many thanks to hex\_usr for coming up with a really nice
design. I mostly implemented it the exact same way, but with a few tiny
differences that don't really matter (display " and ", " or " instead of
" & ", " | " in the input settings windows; append → bind;
assignmentName changed to displayName.)

The actual functionality is identical to the old higan v094 and earlier
builds. Emulated digital inputs let you combine multiple possible keys
to trigger the buttons. This is OR logic, so you can map to eg
keyboard.up OR gamepad.up for instance. Emulated analog inputs always
sum together. Emulated rumble outputs will cause all mapped devices to
rumble, which is probably not at all useful but whatever. Hotkeys use
AND logic, so you have to press every key mapped to trigger them. Useful
for eg Ctrl+F to trigger fullscreen.

Obviously, there are cases where OR logic would be nice for hotkeys,
too. Eg if you want both F11 and your gamepad's guide button to trigger
the fullscreen toggle. Unfortunately, this isn't supported, and likely
won't ever be in tomoko. Something I might consider is a throw switch in
the configuration file to swap between AND or OR logic for hotkeys, but
I'm not going to allow construction of mappings like "(Keyboard.Ctrl and
Keyboard.F) or Gamepad.Guide", as that's just too complicated to code,
and too complicated to make a nice GUI to set up the mappings for.
2017-06-06 23:44:40 +10:00
..
algorithms.cpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
disassembler.cpp Update to v102r12 release. 2017-02-27 19:45:51 +11:00
disassembler.hpp Update to v097r29 release. 2016-03-26 12:56:15 +11:00
instructions-misc.cpp Update to v102r21 release. 2017-06-06 23:44:40 +10:00
instructions-pc.cpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
instructions-read.cpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
instructions-rmw.cpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
instructions-write.cpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
memory.hpp Update to v099r16 release (public beta). 2016-07-04 21:53:24 +10:00
r65816.cpp Update to v100r07 release. 2016-07-17 13:24:28 +10:00
r65816.hpp Update to v102r21 release. 2017-06-06 23:44:40 +10:00
registers.hpp Update to v102r21 release. 2017-06-06 23:44:40 +10:00
serialization.cpp Update to v102r21 release. 2017-06-06 23:44:40 +10:00
switch.cpp Update to v098r19 release. 2016-06-09 08:26:35 +10:00