Commit Graph

32 Commits

Author SHA1 Message Date
goyuken c026b2dc81 slightly optimize previous commit by avoiding 32k unmanaged=>managed transition calls per second when skipping audio 2012-09-20 20:36:44 +00:00
goyuken 176ecd8650 support for !rendersound in LibsnesCore
worth about 5-10% on my machine in secret of mana opening
2012-09-20 20:25:40 +00:00
goyuken 51fc8e695c add 'bool rendersound' to IEmualtor.FrameAdvance()
if false, the emulator is free to gain whatever speedup it can by not doing audio processing (shouldn't change anything sync related, though)
the core should still always call SoundProvider.GetSamples() after each FrameAdvance(), else DRAGONS
at the moment, only test-implemented in gambattehawk
2012-09-20 19:52:47 +00:00
zeromus 8cbc3ee2af snes-setup hard and soft resets 2012-09-16 17:15:53 +00:00
goyuken 83e145c36f change the IEmulator saveram interface.
i don't like doing this, but there were already two emus with special bandaid logic in MainForm.cs
i hope this doesn't break something, but if it does i'll fix it
2012-09-14 22:28:38 +00:00
goyuken d84f13275e add IsLagFrame, LagCount, Frame to Snes savestates 2012-09-11 01:50:55 +00:00
goyuken 578e247524 add lag counter to LibsnesCore
per ilari, this should work correctly on certain games that poll the input in a particular way.  however, it is completely non-functional on many other games.  core digging is required for anything better.
2012-09-11 01:36:12 +00:00
andres.delikat 286e5c9b08 SNES - make controllers 2-4 work 2012-09-10 18:40:39 +00:00
zeromus 8e42658702 completing the trifecta: fix the terrible nondeterminisms that made series of snes romloads act wacky 2012-09-09 21:19:54 +00:00
zeromus 285b9581f2 snes-work on graphics tools. can now render typical BGs for mode 1. SLOWLY!!!!! this is definitely getting turned into c++ code 2012-09-08 20:03:04 +00:00
goyuken 2a01e01e78 clean up resampler with rest of libsnes 2012-09-08 01:15:16 +00:00
andres.delikat d56c0c354b SNES - oops, hookup setting the frame counter as well 2012-09-07 20:31:05 +00:00
goyuken 71652b25dc cleanup/simplify SpeexResampler 2012-09-07 20:12:47 +00:00
andres.delikat afa27c1a26 SNES - hook up frame counter 2012-09-07 20:06:57 +00:00
goyuken 001b28c60e replace junk and bad license resamplers with libspeexdsp (using p/invoke). MIT licensed, sounds pretty decent.
the p/invoke wrapper class is a hackjob i was using for testing and will be replaced.
2012-09-07 18:49:18 +00:00
zeromus ad6910fd74 snes-some beginning steps on graphics debugging tools. nothing to see yet, move along 2012-09-06 08:32:25 +00:00
goyuken a85dadcf7d did a bunch of listening tests with libsnes and metaspu. switched to vecna metaspu
it seems to be the most stable when the system is fast enough to maintain approximately 100% speed.

also fixed up metaspu in dumping and switched it to vecna.  i can now have clean audio while running libsnes with lua script and ffmpeg dumping.
2012-09-06 00:07:37 +00:00
goyuken 41e2e5bced orphaned variable from r2898 2012-09-05 23:32:41 +00:00
zeromus ade89fe798 snes-fix bug where loading more than one snes rom would wreck the emulator 2012-09-05 23:16:08 +00:00
goyuken b0e3a332d8 abstract resampling functionality into IStereoResampler for testing purposes
add two example resamplers that implement this: LinearResampler and CubicResampler.  both are very basic and sound like shit compared to libresample4j
ultimately, a single good resampler with a better license than libresample4j should be selected and used
2012-09-05 21:21:35 +00:00
goyuken 0430ec91c8 add resampler based on libresample4j (LGPL)
hook that up to libsnes, so libsnes audio now goes through libresample4j and then metaspu
it sounds ok
2012-09-05 18:52:17 +00:00
goyuken fd5494a316 libsnes: dumb change to dumb code slightly lessens appearance rate of rice crispies in some situations 2012-09-05 01:30:09 +00:00
zeromus b2b1c8755c snes-apply lsnes patches 2012-09-04 20:23:18 +00:00
zeromus 4903ad240c snes-change libsnes color output to 32bpp to avoid having to uncrunch 16bpp pixels, for an indeterminate speedup 2012-09-04 19:25:09 +00:00
zeromus 9726b75ec4 snes-support layer toggles (needs gui hookups) 2012-09-04 19:12:16 +00:00
zeromus 76cfbc47c1 fix loading of non-snes games, and try to make snes core reset a little more reliable by reconstructing more 2012-09-04 18:04:06 +00:00
zeromus c8aa937f4f snes-memorydomains (but not systembus) 2012-09-04 17:29:20 +00:00
zeromus ea6c0b9378 snes-enable savestates. dont get your hopes up, its a bit bloated and weird, and we still need to asses the bsnesariffic savestate synchronization issues. but, it works. 2012-09-04 08:21:01 +00:00
zeromus f5c0965045 snes-support save ram 2012-09-04 07:09:00 +00:00
zeromus caed262122 snes-try and determine whether game is snes based on libsnes's internal heuristics, and use .SFC for it anyway 2012-09-04 06:08:46 +00:00
goyuken 25e213f157 libsnes sound is functioning. very quick, very dirty 2012-09-04 01:21:14 +00:00
zeromus 37e6f68370 bsneshawk step 1 of N - compile libsnes, make bsneshawk core, setup interop, support frameadvance, video, gamepad. games are playable, I think. 2012-09-04 00:20:36 +00:00