bsnes/higan/sfc/coprocessor
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
..
armdsp Update to v102r02 release. 2017-01-23 08:04:26 +11:00
epsonrtc Update to v102r02 release. 2017-01-23 08:04:26 +11:00
event Update to v102r02 release. 2017-01-23 08:04:26 +11:00
hitachidsp Update to v102r02 release. 2017-01-23 08:04:26 +11:00
icd2 Update to v102r16 release. 2017-03-09 07:20:40 +11:00
mcc Update to v102r02 release. 2017-01-23 08:04:26 +11:00
msu1 Update to v102r16 release. 2017-03-09 07:20:40 +11:00
necdsp Update to v102r02 release. 2017-01-23 08:04:26 +11:00
nss Update to v102r02 release. 2017-01-23 08:04:26 +11:00
obc1 Update to v102r02 release. 2017-01-23 08:04:26 +11:00
sa1 Update to v102r25 release. 2017-06-15 01:55:55 +10:00
sdd1 Update to v102r02 release. 2017-01-23 08:04:26 +11:00
sharprtc Update to v102r02 release. 2017-01-23 08:04:26 +11:00
spc7110 Update to v102r02 release. 2017-01-23 08:04:26 +11:00
superfx Update to v102r02 release. 2017-01-23 08:04:26 +11:00
coprocessor.hpp Update to v100r14 release. 2016-07-30 13:56:12 +10:00