bsnes/higan
Tim Allen b73d918776 Update to v102r25 release.
byuu says:

Changelog:

  - processor/arm: corrected MUL instruction timings [Jonas Quinn]
  - processor/wdc65816: finished phase two of the rewrite

I'm really pleased with the visual results of the wdc65816 core rewrite.
I was able to eliminate all of the weird `{Boolean,Natural}BitRange`
templates, as well as the need to use unions/structs. Registers are now
just simple `uint24` or `uint16` types (technically they're `Natural<T>`
types, but then all of higan uses those), flags are now just bool types.
I also eliminated all of the implicit object state inside of the core
(aa, rd, dp, sp) and instead do all computations on the stack frame with
local variables. Through using macros to reference the registers and
individual parts of them, I was able to reduce the visual tensity of all
of the instructions. And by using normal types without implicit states,
I was able to eliminate about 15% of the instructions necessary, instead
reusing existing ones.

The final third phase of the rewrite will be to recode the disassembler.
That code is probably the oldest code in all of higan right now, still
using sprintf to generate the output. So it is very long overdue for a
cleanup.

And now for the bad news ... as with any large code cleanup, regression
errors have seeped in. Currently, no games are running at all. I've left
the old disassembler in for this reason: we can compare trace logs of
v102r23 against trace logs of v102r25. The second there's any
difference, we've spotted a buggy instruction and can correct it.

With any luck, this will be the last time I ever rewrite the wdc65816
core. My style has changed wildly over the ~10 years since I wrote this
core, but it's really solidifed in recent years.
2017-06-15 01:55:55 +10:00
..
audio Update to v102r16 release. 2017-03-09 07:20:40 +11:00
data Update to v097r06 release. 2016-01-31 18:59:44 +11:00
emulator Update to v102r25 release. 2017-06-15 01:55:55 +10:00
fc Update to v102r24 release. 2017-06-13 11:42:31 +10:00
gb Update to v102r22 release. 2017-06-09 00:08:02 +10:00
gba Update to v102r24 release. 2017-06-13 11:42:31 +10:00
md Update to v102r24 release. 2017-06-13 11:42:31 +10:00
ms Update to v102r22 release. 2017-06-09 00:08:02 +10:00
obj Update to v096r01 release. 2015-12-30 17:54:59 +11:00
out Update to v096r01 release. 2015-12-30 17:54:59 +11:00
pce Update to v102r22 release. 2017-06-09 00:08:02 +10:00
processor Update to v102r25 release. 2017-06-15 01:55:55 +10:00
resource Update to v100r14 release. 2016-07-30 13:56:12 +10:00
sfc Update to v102r25 release. 2017-06-15 01:55:55 +10:00
systems Update to v102r03 release. 2017-01-24 08:18:54 +11:00
target-tomoko Update to v102r22 release. 2017-06-09 00:08:02 +10:00
video Update to v102r22 release. 2017-06-09 00:08:02 +10:00
ws Update to v102r22 release. 2017-06-09 00:08:02 +10:00
GNUmakefile Update to v102r06 release. 2017-02-11 10:56:42 +11:00