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
98d9f13600
change IEmulator.DeterministicEmulation to get-only; the old interface implies that a core should be able to take a change to the property at any time, which isn't feasable. most existing cores changed to return true all the time. SNES now takes determinism parameter in Load()
2012-10-03 15:31:04 +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
beirich
18f3da0f55
gen: add missing savestate vars. rewind seems stable now from the games I've tested.
2012-09-18 11:09:05 +00:00
beirich
b2e48d8749
gen: savestates work, though they're nes-style brittle savestates for now
2012-09-17 23:28:22 +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
zeromus
b33fc4982c
remove derelict CoreVersion/Introspection stuff
2012-09-16 20:08:36 +00:00
beirich
5742d69f6a
2012-09-16 19:03:44 +00:00
beirich
adee5befa5
Genesis ROM header parsing
...
and other stuff thats only committed because svn isn't decentralized!
2012-09-13 04:13:49 +00:00
beirich
90d1d12086
gen: fix some vram corruption issues
...
general: fix some build warnings
2012-09-09 21:15:20 +00:00
zeromus
f5c0965045
snes-support save ram
2012-09-04 07:09:00 +00:00
beirich
c9b3f7bedf
gen fixes: HINTs shouldnt fire during vblank, some DMA fixes, fix a render priority issue (albeit not the ideal fix), substantial rom compatibility testing
2012-09-03 16:01:56 +00:00
adelikat
1f128aeda4
Ram Search - small speedup on UpdateValues
2012-09-02 01:52:16 +00:00
adelikat
8c5d8741cb
Genesis - add Rom data memory domain
2012-09-02 01:33:12 +00:00
adelikat
2af24ba9fd
Genesis - add system bus memory domain
2012-09-01 19:49:40 +00:00
beirich
d586876f40
gen: implement H-ints
...
gen: implement Vram/Vram DMA copy (badly)
gen: fix dumb sprite rendering bug
gen: fix crash bug with certain WINDOW settings
2012-09-01 18:40:52 +00:00
beirich
e24f0962fc
gen: fix dumb tile priority bug (primarily affects Ghouls n Ghosts, which use the layers backwards from normal)
2012-08-30 04:29:33 +00:00
beirich
8ad3e72ffa
Allow easy swapping of active 68000 core the C# core, or Musashi... As we are likely to be swapping between versions rapidly for some period of time.
2012-08-26 14:39:06 +00:00
andres.delikat
a34bf45610
Add islag to savestates (now lagframe alert status updates when loading a state)
2012-07-30 14:42:52 +00:00
andres.delikat
daff01ad2e
Genesis - add lag and frame counts to savestates
2012-07-30 13:43:25 +00:00
beirich
db1bfcfdfc
very preliminary genesis savestate support
2012-05-22 02:25:41 +00:00
beirich
59eb4b4abe
ym2612: support TimerA and TimerB
2012-04-29 06:05:15 +00:00
beirich
7f1292d4f9
start on YM2612. DAC works. process port writes for FM channels. No FM channels output audio yet.
2012-04-29 01:09:06 +00:00
andres.delikat
b2748b7836
Genesis - hook up lag counter (shows all frames as lag currently), and hook core up to input config dialog (1 controller only currently)
2011-12-24 01:59:51 +00:00
beirich
f8564bf8a7
GEN: Preliminary sprite rendering. hook up MemoryDomains.
2011-10-16 06:23:15 +00:00
beirich
5b5c7c2890
68000: add MULU, MULS, DIVU, DIVS, MOVE to CCR
...
Some genesis source reorganization
2011-10-11 03:52:44 +00:00
beirich
1c38de023e
68000: implement BSET, BCLR, BCHG, and NOT
2011-10-08 23:26:29 +00:00
beirich
ccea71e74d
68000: interrupt support.
...
gen: fire vertical interrupt, now some games show sega logo before immediately crashing!
2011-10-08 15:44:41 +00:00
beirich
f2ca21759c
68000 timings and flags fixes, some new opcode handlers
2011-10-07 03:04:48 +00:00
beirich
8fb8a35317
Genesis core revive! Get it back to where loading a genesis rom doesnt crash everything immediately
2011-10-01 17:06:25 +00:00
beirich
f3dc6068ce
delete extra/external 68k core
2011-09-27 02:46:23 +00:00
beirich
b27673f26c
M-M-M-MONSTER COMMIT! change Game-load api stuff
2011-08-04 03:20:54 +00:00
andres.delikat
2e68314e01
Movies that start from savestate now supported. Record Movie dialog "Record from Now" option implemented. ResetFrameCounter() added to IEmulator and implemented in all existing cores
2011-07-30 20:49:36 +00:00
beirich
c8727ae01f
fix some gamedb stuff, add some genesis games to db, get genesis back to a state where it at least loads roms correctly
2011-07-10 04:54:18 +00:00
zeromus
c0988feaa3
add CoreInputComm/CoreOutputComm, remove Query system, hook up nes video config options
2011-06-11 22:15:08 +00:00
beirich
9283a9f37d
IEmulator now implements IDisposable; client now disposes cores
2011-06-02 02:59:18 +00:00
andres.delikat
f440f843dd
Add IsLagFrame bool to IEmulator and implement in all platforms. Make an alert font in Render panel and make input display use it when a frame is a lag frame
2011-05-01 16:04:53 +00:00
andres.delikat
bf93a936df
Change unimplemented lag counters to return -1 instead of 0 since that is more obviously not implemented. Make null emulator return 0 since by definition it would never lag.
2011-05-01 13:05:16 +00:00
andres.delikat
6732cd50ff
Make LagCount get/set in IEmulator and refactored emulators. Implemented the Lag counter in the NES core.
2011-05-01 12:59:26 +00:00
andres.delikat
2fa3561c45
Add LagCounter int to IEmulator, returns 0 on every emulator at the moment. Hook up RenderPanel's LagCounter display
2011-05-01 00:20:39 +00:00
zeromus
bc74d6c575
complete speed/skip/non60-throttle functionality and controllable vsync. maybe a bit rough, but i'll continue to support it.
2011-02-21 09:48:53 +00:00
beirich
577f249905
Misc code cleanup
2011-02-16 04:45:59 +00:00
andres.delikat
48bb648ff9
IEmulator now has a string type so that emulators can return a string representing the platform they emulate
2011-02-16 02:42:58 +00:00
beirich
2ec181e50f
cleanup some code after removing HardReset from IEmulator API
2011-01-21 07:14:42 +00:00
beirich
e62c1bc673
add memory API, remove HardReset from IEmulator
2011-01-21 03:59:50 +00:00
beirich
89e4c5a674
2011-01-11 02:55:51 +00:00