Commit Graph

71 Commits

Author SHA1 Message Date
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 926cf64fe7 dual GB: tweak frame timing. dual GB frame timing closely resembles that of lsnes-gambatte; with more than one console, there's no point trying to precisely sync to the v-timing of just one of them. 2012-12-30 17:38:44 +00:00
goyuken 87a36128e3 dual gb: fix edge case frame boundary timing thingy 2012-12-29 18:55:10 +00:00
goyuken 8715f2bb2a dual gb: memorydomains 2012-12-29 18:06:39 +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 ab8af9f73e remove some unused junk from last commit 2012-12-29 02:07:01 +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 e69307276c gb: implement new CGB color preset "GBA" 2012-11-21 21:09:01 +00:00
goyuken 4ccf2412b4 GB: gambatte saved a thumbnail of the framebuffer to savestates internally, which was only used with some core-internal "UI" stuff that we don't bother with. disable that feature. does not break old savestates. 2012-11-21 13:43:58 +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
goyuken a87a9c1cd5 add "Default CGB" button to gambatte color chooser for default CGB grayscale
if no palette at all is available, the core will internally default to the "bsnes improved" palette
2012-09-16 17:09:52 +00:00
goyuken 727e441bb4 change gameboy control "Reset" virtual button to "Power" virtual button
some consoles have both "Reset" and "Power" notions, so this is to be more consistent
i'm not sure that i got all references...
2012-09-16 16:25:54 +00:00
goyuken a7bdd745c6 move ColorChooserForm to the MultiClient
also disable its menu item if the emulator is currently in CGB mode (since it doesn't do anything)
2012-09-15 18:30:11 +00:00
adelikat 644f7415b9 Remove some delete controller images from the .sln file, GB Palette Config - misc dialog tweaks 2012-09-15 17:44:17 +00:00
goyuken cfe73b292d add gambatte boot flags to menu and config. i don't like all that stuff in mainform, but it works anyway...
TODO: these flags must also be added to .chickenfucker file header
2012-09-15 16:14:03 +00:00
goyuken 27b5d29f0c Gambatte: soft resets (all 3 lines of code!)
Internally, Gambatte implements this as a full hard reset of everything except saveram.  There are comments in the code to suggest that this is appropriate real console behavior...
2012-09-15 02:36:19 +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 4101efb92d implement ClearSaveRam in gambatte core, and fix a bug with using memory domains before any frames have been run 2012-09-14 21:29:35 +00:00
goyuken 1697e77042 gambatte: leave CoreOutputComm strings empty since we have nothing to say (for the moment) 2012-09-14 15:50:35 +00:00
goyuken 6053d1bf89 add ability to save to gambatte-style palette files 2012-09-14 00:35:31 +00:00