mirror of https://github.com/bsnes-emu/bsnes.git
Update to bsnes v017r16? release.
Ok, reverted the SPCRAM initialization pattern, which should fix Kamen Rider SD. Verified DMA timing steps, I had them right. Still need to verify HDMA/HDMA init, but they're almost definitely the same anyway. Also, I noticed the spc700.txt doc by anomie on romhacking.net was more recent than mine, and had info on $00f0 - TEST o_O So, went ahead and added emulation for 5 out of 8 of these bits. Notably, the CPU speed control bits and the RAM write enable bit. The other three aren't well understood enough to add support for them just yet. Now, the CPU speed control in the S-SMP means the SMP core is taking a significant speed hit to support this register. ~5% total speed hit, though I can probably get that number down a little with some more optimizations. I know the register is never used by any games, but you know how I am. I added support for it anyway. Note that the WIP doesn't like my inlining combination and is taking a much more significant speed hit with global optimizations turned on, so the WIP is ~13% slower than the last one. > On a side note, kernel streaming method works with event > notification per audio packet you feed into it, and that > notification receives full precision time slices even without > setting the timer resolution manually. At least, when I was using > kernel streaming in my NES emulator, it didn't need vsync to output > almost a smooth 60fps, while WaveOut mode outputs in bursts and > requires vsync to smooth out the frames. If you wouldn't mind turning that into a compatible derived Audio class, I'd love to add this as an option into bsnes :) It'll be drop-in and compile, so you don't have to worry about me not adding the code this time. No problem if you don't have the time / desire / patience to do this. Although, I wouldn't want to do this if it requires 3rd-party libraries / loading a special .sys driver into the kernel space / Windows DDK to compile / something else crazy like that. [No archive available]
This commit is contained in:
parent
f4520d41ec
commit
ccf1c00b58