bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Go to file
Tim Allen 92fe5b0813 Update to v100r08 release.
byuu says:

Six and a half hours this time ... one new opcode, and all old opcodes
now in a deprecated format. Hooray, progress!

For building the table, I've decided to move from:

    for(uint opcode : range(65536)) {
      if(match(...)) bind(opNAME, ...);
    }

To instead having separate for loops for each supported opcode. This
lets me specialize parts I want with templates.

And to this aim, I'm moving to replace all of the
(read,write)(size, ...) functions with (read,write)<Size>(...) functions.

This will amount to the ~70ish instructions being triplicated ot ~210ish
instructions; but I think this is really important.

When I was getting into flag calculations, a ton of conditionals
were needed to mask sizes to byte/word/long. There was also lots of
conditionals in all the memory access handlers.

The template code is ugly, but we eliminate a huge amount of branch
conditions this way.
2016-07-18 08:11:29 +10:00
higan Update to v100r08 release. 2016-07-18 08:11:29 +10:00
hiro Update to v100 release. 2016-07-08 22:04:59 +10:00
icarus Update to v100r03 release. 2016-07-10 15:28:26 +10:00
libco Update to v096r02 (OS X Preview for Developers) release. 2016-01-07 19:17:15 +11:00
nall Update to v100r08 release. 2016-07-18 08:11:29 +10:00
ruby Update to v100 release. 2016-07-08 22:04:59 +10:00
shaders Update to v095r02 release. 2015-11-10 22:07:34 +11:00
.gitignore Update to v097r27 release. 2016-03-19 18:35:25 +11:00