Commit Graph

79 Commits

Author SHA1 Message Date
adelikat dd3df013fb cleaning up some Bizhawk.Emulation namespaces 2013-11-13 03:32:25 +00:00
goyuken e5c569f818 support register reading on GB core. untested as i can't compile at the moment. flags are exported as part of register "F", as is usual for z80. 2013-11-11 18:05:29 +00:00
adelikat fb78215590 Lua - Implement emu.getregister() and emu.getregisters(). Only implemented in NESHawk right now 2013-11-11 03:20:33 +00:00
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