bsnes-libretro/nall
Tim Allen ffd150735b Update to v101r07 release.
byuu says:

Added VDP sprite rendering. Can't get any games far enough in to see if
it actually works. So in other words, it doesn't work at all and is 100%
completely broken.

Also added 68K exceptions and interrupts. So far only the VDP interrupt
is present. It definitely seems to be firing in commercial games, so
that's promising. But the implementation is almost certainly completely
wrong. There is fuck all of nothing for documentation on how interrupts
actually work. I had to find out the interrupt vector numbers from
reading the comments from the Sonic the Hedgehog disassembly. I have
literally no fucking clue what I0-I2 (3-bit integer priority value in
the status register) is supposed to do. I know that Vblank=6, Hblank=4,
Ext(gamepad)=2. I know that at reset, SR.I=7. I don't know if I'm
supposed to block interrupts when I is >, >=, <, <= to the interrupt
level. I don't know what level CPU exceptions are supposed to be.

Also implemented VDP regular DMA. No idea if it works correctly since
none of the commercial games run far enough to use it. So again, it's
horribly broken for usre.

Also improved VDP fill mode. But I don't understand how it takes
byte-lengths when the bus is 16-bit. The transfer times indicate it's
actually transferring at the same speed as the 68K->VDP copy, strongly
suggesting it's actually doing 16-bit transfers at a time. In which case,
what happens when you set an odd transfer length?

Also, both DMA modes can now target VRAM, VSRAM, CRAM. Supposedly there's
all kinds of weird shit going on when you target VSRAM, CRAM with VDP
fill/copy modes, but whatever. Get to that later.

Also implemented a very lazy preliminary wait mechanism to to stall out
a processor while another processor exerts control over the bus. This
one's going to be a major work in progress. For one, it totally breaks
the model I use to do save states with libco. For another, I don't
know if a 68K->VDP DMA instantly locks the CPU, or if it the CPU could
actually keep running if it was executing out of RAM when it started
the DMA transfer from ROM (eg it's a bus busy stall, not a hard chip
stall.) That'll greatly change how I handle the waiting.

Also, the OSS driver now supports Audio::Latency. Sound should be
even lower latency now. On FreeBSD when set to 0ms, it's absolutely
incredible. Cannot detect latency whatsoever. The Mario jump sound seems
to happen at the very instant I hear my cherry blue keyswitch activate.
2016-08-15 14:56:38 +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 v101r02 release. 2016-08-09 21:07:18 +10: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 v101r02 release. 2016-08-09 21:07:18 +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 v101r02 release. 2016-08-09 21:07:18 +10:00
vector Update to v098r10 release. 2016-05-16 19:51:12 +10:00
vfs Update to v101r02 release. 2016-08-09 21:07:18 +10:00
windows Update to v101r02 release. 2016-08-09 21:07:18 +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
array.hpp Update to v101r07 release. 2016-08-15 14:56:38 +10:00
atoi.hpp Update to v101r02 release. 2016-08-09 21:07:18 +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 v101r02 release. 2016-08-09 21:07:18 +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 v101r02 release. 2016-08-09 21:07:18 +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 v101r02 release. 2016-08-09 21:07:18 +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 v101r07 release. 2016-08-15 14:56:38 +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 v101r05 release. 2016-08-13 09:47:30 +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 v101r02 release. 2016-08-09 21:07:18 +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 v101r02 release. 2016-08-09 21:07:18 +10:00
string.hpp Update to v101r02 release. 2016-08-09 21:07:18 +10:00
thread.hpp Update to v101r02 release. 2016-08-09 21:07:18 +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 v101r02 release. 2016-08-09 21:07:18 +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