adelikat
9751fd5a1a
Move interfaces and base implemenations from emulation to emulation.common
2013-11-04 01:39:19 +00:00
adelikat
7b03fc0bc0
Move Buffer.cs and Util.cs from BizHawk.Emulation to BizHawk.Common, and add 1234832983 usings
2013-11-04 00:36:15 +00:00
adelikat
fe7da7c5b5
move disc stuff out of BizHawk.Emulation into a new project BizHawk.Emulation.DiscSystem, updated namesspaces in those files, set up other projects with the right references and usings
2013-11-03 23:45:44 +00:00
zeromus
0acbb11e97
move HawkFile to BizHawk.Common along with a small web of dependencies and then add "using BizHawk.Common" to 100 files
2013-10-27 22:07:40 +00:00
goyuken
53f9e002f4
n64: disable certain debug messages for now as they're causing crashing problems.
...
fix audio, hopefully. sounds fine on diddy kong racing.
2013-05-02 00:33:44 +00:00
goyuken
6b350e58c9
n64: audio stuff, but all commented out for now
2013-05-01 22:26:08 +00:00
goyuken
e911a17a4e
nes: vrc6: clean up some comments of left over crud. no actual changes
2013-01-11 19:49:32 +00:00
goyuken
1666febbee
NES: savestates now function properly for "SUNSOFT-5B" board, only affects Gimmick (J)?
2013-01-09 16:42:00 +00:00
goyuken
1cdc51f789
dual gameboy: sound
2012-12-29 17:11:19 +00:00
goyuken
5f854466ab
sound: fudge up some parameters of BufferedAsync. the most noticeable difference is that PAL NES with clock throttle no longer sounds horrible
2012-12-23 20:26:43 +00:00
goyuken
ff6539d268
nes: related to the last commit, fix mapper 116, mmc5, vrc6
2012-12-18 03:17:10 +00:00
goyuken
0e0359613d
mmc5 audio: oops
2012-12-15 15:17:23 +00:00
goyuken
bab873fa13
mmc5: fix bug in pcm audio that i didn't even know about because nothing ever uses it at all. sunsoft 5b: implement audio. affects Gimmick(J). note that the audio emulation is rather incomplete.
2012-12-14 21:06:58 +00:00
goyuken
6ca1886933
MMC5: audio. PCM is untested because i don't know of anything at all that actually uses it.
2012-12-14 18:41:16 +00:00
goyuken
4e0796814d
VRC6 audio: restructure to send deltas directly to the NES apu, simplifying some things. This would be pointless masturbation by itself, but this method will also lead to easier emulation of MMC5 audio.
2012-12-14 15:17:14 +00:00
goyuken
3bcb00f9b9
vrc6 audio: fix off-by-one in frequency counts
2012-12-14 14:38:39 +00:00
goyuken
e31f4380e2
nes: vrc7: change patchset to one recommended by nesdev. i dunno... sounds better? maybe?
2012-12-14 01:36:01 +00:00
goyuken
a1065942ed
old VRC6 sound moved to attic/
2012-12-10 20:26:59 +00:00
goyuken
c3a74edd7f
VRC6 sound: cleanup, implement $9003
2012-12-10 16:09:49 +00:00
goyuken
49f16bcb20
nes: vrc6: new audio implementation. sounds awesome
2012-12-10 01:13:12 +00:00
goyuken
b9f37d7ed8
dcfilter: more correct algorithm. doesn't sound any different. speed unchanged.
2012-12-09 20:02:43 +00:00
goyuken
cb4288ada4
rearrange the api of DCFilter a bit to make it less dumb. nothing of real importance
2012-12-09 15:58:55 +00:00
goyuken
210d415e3d
Add Blargg's "blip_buf" as an unmanaged dll. license is LGPL; if I like the way it works, I'll rewrite it with MIT code. Implement it as the new resampling output track for NES. Small (~3%)? speedup. Should sound better, especially when the emulator can't quite keep speed.
2012-12-09 03:13:47 +00:00
goyuken
e6058e6bd8
break some stuff. FDS can eject and insert disk sides now
2012-10-26 18:51:08 +00:00
goyuken
b40897bb77
sound api changes. added a new ISyncSoundProvider, which works similarly to ISoundProvider except the source (not the sink) determines the number of samples to process. Added facilities to metaspu, dcfilter, speexresampler to work with ISyncSoundProvider. Add ISyncSoundProvider to IEmulator. All IEmulators must provide sync sound, but they need not provide async sound. When async is needed and an IEmulator doesn't provide it, the frontend will wrap it in a vecna metaspu. SNES, GB changed to provide sync sound only. All other emulator cores mostly unchanged; they just provide stub fakesync alongside async, for now. For the moment, the only use of the sync sound is for realtime audio throttling, where it works and sounds quite nice. In the future, sync sound will be supported for AV dumping as well.
2012-10-11 00:44:59 +00:00
goyuken
b28b677be2
dcfilter: reject out of range filterwidth
2012-10-10 11:56:49 +00:00
goyuken
19e5325afa
DCFilter: allow variable filterwidth. 2600 tia: use a rather aggressive (~172hz cutoff) dc filter. this coefficient is reasonably close to actual hardware behavior.
2012-10-10 00:56:48 +00:00
goyuken
b6e4d9996e
DCFilter: add a "push" mode more suited to being placed between a resampler and a metaspu
...
Gambatte: change the order of output from "GB => resampler => metaspu => DCFilter" to "GB => resampler => DCFilter => metaspu".
This doesn't change anything under most circumstances, except when playing the emulator in slow motion (for instance, 50% throttle). There, the metaspu sometimes adds silence to the output, which isn't actually silence if it has a different DC offset than the audio it's being mixed with. Well, 50% throttle sound output will always suck anyway...
2012-09-29 22:38:47 +00:00
goyuken
36df8e4aab
fix default patch set for VRC7
2012-09-24 17:34:17 +00:00
beirich
b04189b6b1
gen: rewind is working, savestates are not working [yet]. will fix more tomorrow
2012-09-17 05:48:24 +00:00
goyuken
1e6a9415c1
add Sound.Utilities.DCFilter and use it in gambatte
...
haven't decided yet whether i like the idea; it's mostly about playing nice with other audio mixing (from other applications)
well, it's not bad anyway...
2012-09-11 21:30:50 +00:00
goyuken
f18eb2fef2
gambatte now has sound! output from the core is original 2MEGAHURTZ audio, but libspeexdsp handles it fine.
...
seems to be a lot of DC offset at times; not sure if there's a good way to remove it
2012-09-09 00:41:11 +00:00
goyuken
408a4d6102
add comment to BufferedAsync explaining its value
2012-09-08 16:02:14 +00:00
goyuken
71652b25dc
cleanup/simplify SpeexResampler
2012-09-07 20:12:47 +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
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
2a2caa492c
add linear resampler (not activated in code). sounds about the same as the other two (ie, no major bugs) on the opening to Golden Axe
2012-08-19 17:46:13 +00:00
beirich
4ba8fcf227
ym2612: Implement detune. Implement a somewhat better resampler, still not a Good One.
2012-08-19 04:41:34 +00:00
beirich
f42b96ba7d
ym2612: fix EG Rate calculation. Fix Attack Rate exponential formulation.
2012-08-10 04:46:29 +00:00
beirich
32bc79be06
ym2612 mothaaaaafukkkkaaaaaaa
2012-08-07 05:48:30 +00:00
adelikat
e8e64bca62
NES - VRC6 sound!
2012-08-05 00:11:32 +00:00
adelikat
6e8d38fabe
NES - disable vrc6 sound for now
2012-08-04 00:57:26 +00:00
adelikat
70f07346b1
NES - start VRC6 sound, currently sounds terrible
2012-08-03 02:08:42 +00:00
zeromus
3a336b9ef4
nes-mapper 67
2012-06-11 06:32:44 +00:00
zeromus
cff7ba6d24
nes-fix lagrange point, including sound
2012-06-07 20:52:49 +00:00
goyuken
a313d3910d
Add sound output to sound card while dumping is occurring. Uses a proxy ISoundProvider (DualSound.cs) to guarantee emulation sound core and dumping routine are unaffected, while sending "best effort" sound to system output. Doesn't sound great, but simple and functional.
2012-05-09 20:21:23 +00:00
beirich
700ac116dd
ym2612: more ports processed, DAC now plays in stereo
2012-04-29 18:33:21 +00:00
beirich
239cb213f0
ym2612: some progress on operators
2012-04-29 17:41:39 +00:00
beirich
59eb4b4abe
ym2612: support TimerA and TimerB
2012-04-29 06:05:15 +00:00