bsnes-libretro/nall
Tim Allen f5e5bf1772 Update to v100r16 release.
byuu says:

(Windows users may need to include <sys/time.h> at the top of
nall/chrono.hpp, not sure.)

Unchangelog:
- forgot to add the Scheduler clock=0 fix because I have the memory of
  a goldfish

Changelog:
- new icarus database with nine additional games
- hiro(GTK,Qt) won't constantly write its settings.bml file to disk
  anymore
- added latency simulator for fun (settings.bml => Input/Latency in
  milliseconds)

So the last one ... I wanted to test out nall::chrono, and I was also
thinking that by polling every emulated frame, it's pretty wasteful when
you are using Fast Forward and hitting 200+fps. As I've said before,
calls to ruby::input::poll are not cheap.

So to get around this, I added a limiter so that if you called the
hardware poll function within N milliseconds, it'll return without
doing any actual work. And indeed, that increases my framerate of Zelda
3 uncapped from 133fps to 142fps. Yay. But it's not a "real" speedup,
as it only helps you when you exceed 100% speed (theoretically, you'd
need to crack 300% speed since the game itself will poll at 16ms at 100%
speed, but yet it sped up Zelda 3, so who am I to complain?)

I threw the latency value into the settings file. It should be 16,
but I set it to 5 since that was the lowest before it started negatively
impacting uncapped speeds. You're wasting your time and CPU cycles setting
it lower than 5, but if people like placebo effects it might work. Maybe
I should let it be a signed integer so people can set it to -16 and think
it's actually faster :P (I'm only joking. I took out the 96000hz audio
placebo effect as well. Not really into psychological tricks anymore.)

But yeah seriously, I didn't do this to start this discussion again for
the billionth time. Please don't go there. And please don't tell me this
WIP has higher/lower latency than before. I don't want to hear it.

The only reason I bring it up is for the fun part that is worth
discussing: put up or shut up time on how sensitive you are to
latency! You can set the value above 5 to see how games feel.

I personally can't really tell a difference until about 50. And I can't
be 100% confident it's worse until about 75. But ... when I set it to
150, games become "extra difficult" ... the higher it goes, the worse
it gets :D

For this WIP, I've left no upper limit cap. I'll probably set a cap of
something like 500ms or 1000ms for the official release. Need to balance
user error/trolling with enjoyability. I'll think about it.

[...]

Now, what I worry about is stupid people seeing it and thinking it's an
"added latency" setting, as if anyone would intentionally make things
worse by default. This is a limiter. So if 5ms have passed since the
game last polled, and that will be the case 99.9% of the time in games,
the next poll will happen just in time, immediately when the game polls
the inputs. Thus, a value below 1/<framerate>ms is not only pointless,
if you go too low it will ruin your fast forward max speeds.

I did say I didn't want to resort to placebo tricks, but I also don't
want to spark up public discussion on this again either. So it might
be best to default Input/Latency to 0ms, and internally have a max(5,
latency) wrapper around the value.
2016-08-03 22:32:40 +10:00
..
beat Update to v099r15 release. 2016-07-04 21:48:17 +10:00
database Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
decode Update to v097r14 release. 2016-02-16 20:11:58 +11:00
dsp Update to v098r15 release. 2016-06-05 14:52:43 +10:00
emulation Update to v099r15 release. 2016-07-04 21:48:17 +10:00
encode Update to v098r10 release. 2016-05-16 19:51:12 +10:00
hash Update to v098r10 release. 2016-05-16 19:51:12 +10:00
http Update to v100r16 release. 2016-08-03 22:32:40 +10:00
image Update to v098r10 release. 2016-05-16 19:51:12 +10:00
mosaic Update to v099r15 release. 2016-07-04 21:48:17 +10:00
posix Update to v099r14 release. 2016-07-01 21:50:32 +10:00
string Update to v100r16 release. 2016-08-03 22:32:40 +10:00
vector Update to v098r10 release. 2016-05-16 19:51:12 +10:00
vfs Update to v099r14 release. 2016-07-01 21:50:32 +10:00
windows Update to v099r16 release (public beta). 2016-07-04 21:53:24 +10:00
xorg Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
algorithm.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
any.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
atoi.hpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
bit-field.hpp Update to v099r15 release. 2016-07-04 21:48:17 +10:00
bit-vector.hpp Update to v098r19 release. 2016-06-09 08:26:35 +10:00
bit.hpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
chrono.hpp Update to v100r16 release. 2016-08-03 22:32:40 +10:00
directory.hpp Update to v099r16 release (public beta). 2016-07-04 21:53:24 +10:00
dl.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
endian.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
file.hpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
filemap.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
function.hpp Update to v100r08 release. 2016-07-18 08:11:29 +10:00
GNUmakefile Update to v097r02 release. 2016-01-25 22:27:18 +11:00
hashset.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
hid.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
image.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
inode.hpp Update to v100r16 release. 2016-08-03 22:32:40 +10:00
interpolation.hpp Update to v098r14 release. 2016-06-01 21:23:22 +10:00
intrinsics.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
location.hpp Update to v099r16 release (public beta). 2016-07-04 21:53:24 +10:00
main.hpp Update to v099r15 release. 2016-07-04 21:48:17 +10:00
map.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
matrix.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
maybe.hpp Update to v099r11 release. 2016-06-27 23:07:57 +10:00
memory.hpp Update to v099r01 release. 2016-06-14 20:51:54 +10:00
mosaic.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
nall.hpp Update to v100r16 release. 2016-08-03 22:32:40 +10:00
path.hpp Update to v099r16 release (public beta). 2016-07-04 21:53:24 +10:00
platform.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
primitives.hpp Update to v100r14 release. 2016-07-30 13:56:12 +10:00
property.hpp Update to v099r09 release. 2016-06-25 18:53:11 +10:00
queue.hpp Update to v098r13 release. 2016-06-01 08:29:36 +10:00
random.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
range.hpp Update to v098r08 release. 2016-05-02 19:57:04 +10:00
run.hpp Update to v099r15 release. 2016-07-04 21:48:17 +10:00
serial.hpp Update to v098r08 release. 2016-05-02 19:57:04 +10:00
serializer.hpp Update to v100r15 release. 2016-07-31 12:11:20 +10:00
service.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
set.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
shared-memory.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
shared-pointer.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
smtp.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
sort.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
stdint.hpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
string.hpp Update to v100r16 release. 2016-08-03 22:32:40 +10:00
thread.hpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
traits.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
unique-pointer.hpp Update to v097r02 release. 2016-01-25 22:27:18 +11:00
utility.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
varint.hpp Update to v099r14 release. 2016-07-01 21:50:32 +10:00
vector.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
vfs.hpp Update to v099r05 release. 2016-06-20 21:00:32 +10:00