Commit Graph

56 Commits

Author SHA1 Message Date
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
goyuken c05c9ebda7 add loading of gambatte-style palette files to the palette selector (includes drag and drop) 2012-09-14 00:02:37 +00:00
goyuken f5d37cf73b the world would end if microsoft ran it 2012-09-13 23:09:03 +00:00
goyuken c72ac19037 gambatte pal editor: use system color picker dialog
... but something about the customcolors isn't working right?
2012-09-13 22:20:05 +00:00
goyuken bf5625655d rename gambatte memory domains per todo list 2012-09-13 21:19:26 +00:00
goyuken 12d06a2c94 add system bus memory domain to gambatte
in order to guarantee correct resolution of mappings and mmio every time, all calls go straight to the core and are not cached
this makes this domain slower in performance than the other ones.  it can also be more difficult to use in some cases because you have to resolve mappings that you may not care about.
there is also the possibility of side-effects on reads, although i do not believe that this actually happens in any situations.  still, use at your own risk.
2012-09-13 21:03:34 +00:00
goyuken 76c68bf6d5 add "interpolate" button to dmg color select
idea shamelessly ripped from bgb
2012-09-12 23:45:42 +00:00
goyuken 03caa3b32f gambatte dmg palette editor. blah. 2012-09-12 22:18:51 +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 d57e195e52 gambatte: add oam, hram to memory domain list 2012-09-11 19:05:44 +00:00
goyuken 25c34d2ca6 significant speedup in gambatte MemoryDomains by keeping shadow copy of native memory
not quite sure at the moment what each of the domains actually is, though
2012-09-11 17:37:17 +00:00
goyuken ed2b690f75 add memory domains to gambatte
appears to work, but i don't really have much of anything to test on it
ramwatch is horribly slow
2012-09-11 15:28:38 +00:00
goyuken f2ce38851a add IsLagFrame, LagCount, Frame to Gambatte savestates 2012-09-11 01:46:57 +00:00
goyuken 4e35cb566f functioning saveram support for gambatte 2012-09-10 23:40:53 +00:00
goyuken 62f2771a8e gambatte: lagframe stuff is hooked up and appears to be working 2012-09-09 21:57:15 +00:00
goyuken a6caa8680d fix up rom loading routines for libgambatte to use memory block directly (and not file) 2012-09-09 21:15:54 +00:00