bsnes/higan/processor
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
..
arm Update to v102r25 release. 2017-06-15 01:55:55 +10:00
gsu Update to v102r02 release. 2017-01-23 08:04:26 +11:00
hg51b Update to v098r06 release. 2016-04-22 23:35:51 +10:00
huc6280 Update to v102r23 release. 2017-06-11 11:51:53 +10:00
lr35902 Update to v102r12 release. 2017-02-27 19:45:51 +11:00
m68k Update to v102r24 release. 2017-06-13 11:42:31 +10:00
mos6502 Update to v102r24 release. 2017-06-13 11:42:31 +10:00
spc700 Update to v100r15 release. 2016-07-31 12:11:20 +10:00
upd96050 Update to v099r12 release. 2016-06-28 20:43:47 +10:00
v30mz Update to v102r24 release. 2017-06-13 11:42:31 +10:00
wdc65816 Update to v102r25 release. 2017-06-15 01:55:55 +10:00
z80 Update to v102r24 release. 2017-06-13 11:42:31 +10:00
GNUmakefile Update to v102r24 release. 2017-06-13 11:42:31 +10:00
processor.hpp Update to v097r01 release. 2016-01-23 18:29:34 +11:00