adelikat
e7a481e6c4
Lua - OnMemoryRead() and OnMemoryWrite() - support multiple events, hook to the registered functions system, add ability to name function, return a GUID.
2013-11-10 21:20:55 +00:00
adelikat
ea24f236fb
Lua - event.OnInputPoll() - allow multiple functions to be registered
2013-11-10 18:15:32 +00:00
adelikat
1061add64f
Refactor MemoryDomains in IEmulator, make a MemoryDomainsList object rather than IList<MemoryDomain>, remove MainMemory from IEmulator and make it a property of this new collection object, also add indexing by name. Refactor cores and tools as needed
2013-11-06 02:15:29 +00:00
adelikat
be547db4a1
Move MemoryDomain to its own file, and move the Endian enum into it, also clean up the class a bit, and refactor things as necessary
2013-11-04 02:11:40 +00:00
adelikat
348171bdc5
start Emulation.Common project and move the Emulation/Database folder files to it
2013-11-04 01:06:36 +00:00
adelikat
bbc12256b2
Rename IEmulator.ResetFrameCounter() to ResetCounts() as that is a more precise term since it resets frame and lag counter variables (and theoretically any other similar counters that could get implemented)
2013-11-03 16:29:51 +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
adelikat
3f410a771c
small code cleanups and deal with some warnings
2013-10-27 17:07:37 +00:00
zeromus
78603f1237
continuing...
2013-10-25 01:00:31 +00:00
zeromus
249ddea268
revert to pre-refactor state. its a WIP, dont judge
2013-10-25 00:34:01 +00:00
goyuken
5afcb1b168
gameboy - use blip_buf for audio resampling, like NES. this is also something that dual GB does, but i never got around to porting it back to single GB before. the speexresampler is very good for some things, like snes, but isn't appropriate for multi-megahertz audio downsampling.
...
big speedup.
2013-10-21 17:19:37 +00:00
goyuken
0803adc32a
add a "BoardName" to IEmulator that an emulation core can use to return useful information about how the rom is being emulated. meant to be mostly for informative purposes; shouldn't rely on it for too much. implemented in GB and NES cores
2013-08-24 16:54:22 +00:00
adelikat
7ac1da8c96
Set the right order of buttons, and good defaults for controllers and joypads for all consoles
2013-07-29 02:11:00 +00:00
goyuken
99615d9afd
GB: rtc is pegged to emulated elapsed time. maybe. don't know what to test it with. time at core restart is always 1970, or something like that, which isn't as bad as it sounds, because the GB rtc doesn't keep track of anything past days
2013-05-09 23:15:59 +00:00
goyuken
7b7b95e95d
add a new field to IEmulator: bool BinarySaveStatesPreferred { get; }. a core should set it to true to indicate that it would prefer to save and load binary savestates (but both types must be supported). set to true on 7800, gb, dgb, gba, n64, snes, saturn cores, as they all create text savestates that are simply dumps of the binary savestate. for the moment, frontend does nothing with this new information.
2013-05-06 20:51:28 +00:00
adelikat
cff1ff2940
Removing unused directives from a bunch of files because I was playing around with resharper, but that got boring so not every file
2013-04-14 20:39:19 +00:00
goyuken
7d21df6648
GB: fix movie "start from now" (it never worked before). this is a minimalist fix that's designed to not break compatibility with any existing savestates, but is kind of fragile.
2013-03-17 17:15:33 +00:00
goyuken
1cdc51f789
dual gameboy: sound
2012-12-29 17:11:19 +00:00
goyuken
166110c609
gambatte: more linkcable stuff. input isn't working, haven't figured out why yet. note: at the moment, any attempt to load a GB\GBC rom will bring up the dual core.
2012-12-29 15:48:30 +00:00
goyuken
63f9752ea2
rough in some stuff for game boy link cable recording. none of it is finished yet
2012-12-29 01:25:06 +00:00
goyuken
714292c77c
gambatte: change memory domain check to mod instead of and (because domains can be not power of 2 sizes)
2012-12-27 22:50:34 +00:00
adelikat
06bd1b979a
GB - mask peek and poke memory functions, fixes potential exceptions when calling on bogus addresses for that domain
2012-12-27 18:48:12 +00:00
goyuken
fd304e6cb4
fix regression in gameboy from corecomm merge
2012-12-10 01:33:09 +00:00
zeromus
a4b442abda
unify coreinputcomm and coreoutputcomm. there is a slight chance your console will be messed up until i fix a teeny tiny something, since i didnt test them all, since with more recent cores i dunno what roms are working anyway. let me know if i broke anything.
2012-12-10 00:43:43 +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
07ae382ac4
add a\v dump resize hints to gb, gba. other cores should probably get this treatment as well
2012-11-26 02:30:07 +00:00
goyuken
0094562d2a
per previous discussion, IEmulator.ResetFrameCounter() should reset lag frame related stuff as well
2012-11-25 15:41:40 +00:00
goyuken
5fc4b3f6c6
minor GB cleanup
2012-11-19 17:59:57 +00:00
goyuken
8d20c2e351
gambatte: fully implement cgb palette selection
2012-11-18 18:46:57 +00:00
goyuken
12844bbd7f
GB: gbc color change infrastructure. not hooked up to UI yet
2012-11-18 17:02:55 +00:00
goyuken
ad3e1bff21
gb gpu view: beautify and add scanline callback control
2012-11-06 17:54:04 +00:00
goyuken
ac1f9a90a1
libgambatte: switch the system bus read to use a much safer (100%?) deterministic peek. also implement core side stuff for scanline-based callback
2012-11-05 20:15:53 +00:00
goyuken
ef4bb14d59
gb gpu view: oam
2012-11-05 15:58:51 +00:00
goyuken
32a3d9db80
gbhawk gpu viewer: work correctly with palettes and CGB extended BG data
2012-11-05 04:09:04 +00:00
goyuken
271d4102e8
GB: add "GPU Viewer", similar to other gpu debugging tools. doesn't do much yet.
2012-11-05 01:34:11 +00:00
goyuken
3575eb849b
z80gb: add new disassembler
2012-11-03 18:17:55 +00:00
goyuken
944c8e412f
gbhawk: tracelogger shows disassembly now
2012-11-02 23:19:16 +00:00
goyuken
3eda4a90a6
gbhawk: tracelogger
2012-11-02 19:44:31 +00:00
goyuken
8d8e636450
libgambatte: add memory read\write callbacks, maybe? not sure how to test it...
2012-10-14 15:10:33 +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
b545d79fb6
lua: add emu.on_snoop()
2012-10-06 13:34:04 +00:00
goyuken
d3d2ce8893
gb: fix line breaks in rom annotation status details. fuck cr\lf forever.
2012-10-03 16:50:10 +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
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
a9304bef26
GB: memory domains now work correctly immediately after a loadstate
2012-09-29 13:03:14 +00:00
goyuken
e39d759d95
gambatte: some rom annotation status details
2012-09-26 03:24:00 +00:00
goyuken
b6f6b9a5db
gambattehawk: add slightly more intelligible error messages on bad mapper number load attempt
2012-09-24 20:20:21 +00:00
goyuken
71916f698d
i was going to fix gambatte savestates in a clever way, but i ended up just changing around a few things and then giving up
2012-09-23 16:56:11 +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