Commit Graph

737 Commits

Author SHA1 Message Date
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
adelikat f234e15df6 Movie UpdateToolsBefore() earlier in the frame loop 2012-10-10 23:38:15 +00:00
adelikat d5885938de Update Statusbar slots when the emulator is loaded 2012-10-10 22:52:11 +00:00
goyuken 927fb7070c sound throttle now respects forced throttle off (user hits fastfoward button, etc) 2012-10-10 17:19:51 +00:00
goyuken 9417eac96c move NesCarts.7z to gamedb subfolder 2012-10-09 20:33:14 +00:00
goyuken 79731827f4 avoid using literal backslash in gamedb path loading 2012-10-09 01:54:15 +00:00
goyuken 8c24417f8d gamedb stuffed into gamedb subfolder 2012-10-09 01:34:21 +00:00
goyuken 3832352dbe add default RomStatusDetails (name, sha1, md5). add pcecd specific RomStatusDetails generated from the Disc 2012-10-08 20:37:41 +00:00
adelikat 0dfbfb592f Re-hook up Load Config, menu item got disabled at some point. Trace logger - update number of instructions when clear button is clicked, show OSD message when saving to disk 2012-10-08 00:27:21 +00:00
adelikat 8545f94315 Status Bar - right-clicking the status slots will invoke a savestate 2012-10-07 19:52:09 +00:00
adelikat 972d8f2f5b Status bar - make selected slot more obvious of a background color 2012-10-07 18:42:42 +00:00
adelikat 7fd74ecb04 dummy commit to mark the end of 1.1.1a and start 1.1.2 2012-10-07 15:41:22 +00:00
goyuken 3d52ed49e5 fix GBC input config tab
fix GBC savestate locations
fix GBC saveram locations
fix GBC screenshot locations
fix GBC titlebar text
2012-10-07 14:52:03 +00:00
adelikat 2a9c78220f Update interim version number, dummy commit to mark the beginning of 1.1.2 2012-10-07 01:28:16 +00:00
goyuken b9b2292a3f restore recently lost behavior where the system-specific mainform menu is called "SGB" when running SGB instead of SNES. this involves no changes to internal passed IDs 2012-10-07 00:00:23 +00:00
goyuken 329ca16bdf unbreak toolstrip menu and controller function for GBC 2012-10-06 23:53:05 +00:00
goyuken 5c4e147da3 fix loading a compressed archive containing a single .gbc file. the number of different places where you can find various extension lists is rather terrifying... 2012-10-06 22:14:10 +00:00
pasky1382 37b054ad43 Re-added the 'GBC' switch. 2012-10-06 22:02:24 +00:00
pasky1382 b1ba573695 Revert that fix, did not upload a GBC db (thought I did) 2012-10-06 21:58:44 +00:00
pasky1382 a52a9b0d44 Fixed a crash when loading a GBC rom (apparently there was no GBC case switch option) 2012-10-06 21:50:48 +00:00
goyuken a9ff371e63 mainform: add slightly informative error message to certain rom load exceptions 2012-10-06 20:59:44 +00:00
goyuken c51d3f787c fix crash in snesgraphicsdebugger when it is immediately moused over after load 2012-10-06 20:00:59 +00:00
pasky1382 d1248e0379 Imported movies retain their original extensions + .bkm 2012-10-06 18:52:33 +00:00
pasky1382 03e4403b9c Imported movie files are now automatically copied over to .\Movies directory and no longer keep their old extensions (i.e. movie.fcm2 is not longer movie.fcm2.bkm but movie.bkm) 2012-10-06 18:19:07 +00:00
adelikat b8070bc92f Lua - fix emu.registerbefore() and emu.registerafter() 2012-10-06 16:13:45 +00:00
adelikat 1c17f8dbed Lua Drawing - fix so that multiple scripts can draw at once 2012-10-06 14:36:02 +00:00
adelikat 644ed40f59 Move lua drawing to after the frame instead of before 2012-10-06 14:24:12 +00:00
adelikat 6aa9608a77 GGHawk - Hook up Highlight Active Display Region option, make this and Show Clipped Regions take effect on Core load 2012-10-06 12:37:38 +00:00
adelikat b88d5ffd5e GGHawk - add option to show clipped regions, show GG menu item, also show on SG-1000, cleanup of the sms/gg/sg menu 2012-10-06 12:27:56 +00:00
goyuken 2229b0ab93 add "FirmwareSHA1" to movie header for SGB and PCECD 2012-10-05 21:04:46 +00:00
zeromus a00081386d fix some things related to sgb movies 2012-10-05 18:20:27 +00:00
zeromus 96089026cd remove "SGB" systemid because its gonna cause a lot of trouble if we dont hook it up in a lot of places.. why can't we set it up as just a regular snes core? and run the sgb rom through the snes firmwares directory. 2012-10-05 04:47:45 +00:00
goyuken 6c723e6815 move ramsearch\ramwatch\hexeditor from toolsbefore to toolsafter. for live play, there is real change. for frame advance play, you now get the most current value when paused between frames. this also fixes a host of minor bugs where tools could have their values change while paused because something else triggered an update to the most current state. 2012-10-04 21:56:40 +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 c8849a8422 work around memory leak in captureOSD; probable original cause: SysdrawingRenderPanel 2012-10-02 21:28:14 +00:00
adelikat 13150961cb Controller Config - make input widgets work, also consistent namespace on hotkey dialog (no ((intended)) functional change) 2012-10-02 00:23:37 +00:00
goyuken d4f5ed2f50 Movie playback and recording will now set IEmulator.DeterministicEmulation = true; only snes core actually does anything with this. It hasn't been explained before in a log; so I'll do it now: When in deterministic mode, the snes core internally does exactly one savestate each and every frame. Then, if the frontend calls savestate at all, it always gets the same internal cached savestate. If the frontend doesn't call savestate, then the internal savestate is simply discarded. This way, the exact same number of RunToSave() calls occur every time. 2012-10-01 14:39:52 +00:00
goyuken 2e70656dde add bilinear filter display option (d3d only) 2012-10-01 02:30:25 +00:00
adelikat 64b3b73464 Bizhawk - progress on new controller config 2012-09-30 21:31:32 +00:00
adelikat 075a97f1c4 Checking in my 2nd attempt at an input config overhaul, currently not hooked up 2012-09-30 19:57:33 +00:00
goyuken 89cf8e75fe mainform: fix the bug where choosing a small size from the menu (typically 1x) would cause unexpected black bars 2012-09-30 14:18:21 +00:00
adelikat 247cef6835 Trace Logger - log to the window only up to the maximum number of lines, ability to set max lines, save window position option, show status and instruction count on window, don't autoload trace logger if core doesn't have it available, close trace logger if switching to a non-traceable core 2012-09-30 13:38:37 +00:00
adelikat e865790086 Trace Logger - Hook up autoload 2012-09-30 03:09:41 +00:00
adelikat 52b8161b39 Start a Trace Logger, currently only NES has the right hooks, but it crashes when used 2012-09-30 00:53:08 +00:00
goyuken ddf99f789c when attempting to load SGB, unset SGB config mode if we fail to load the bios file. this avoids a catch-22 where you can't load an SGB because you don't have a rom, and you can't reset to GB mode because you can't get the menu item. 2012-09-29 23:21:55 +00:00
adelikat ff117d2c49 Add a status icon and notification system for settings that require a core reboot, status bar icon if clicked performs the reboot. Hooked up to the GB/SGB set, SMS Enable FM Chip and overclock settings. May need to flag some other settings too 2012-09-29 23:03:51 +00:00
adelikat 486d621657 Status bar icons - actually hide conditional status bar icons when not relevant 2012-09-29 22:37:34 +00:00
goyuken a278015404 i never know where anything is in the input system 2012-09-29 20:30:27 +00:00
goyuken 7e34e7f88b multiclient: add saveram backup feature, similar to savestate backup feature, and config\menu items. defaults to ON.
at the moment, there's no way in the ui to choose to load a backup saveram.  not sure if this is desirable....
2012-09-29 15:32:44 +00:00
goyuken 0a0f4e86d8 MainForm.ClearSaveRam() no longer deletes a disk file.
From my reading of the code, this should not affect movie playback; the saveram from disk is not used when starting playback or recording of a clean movie.
If for some reason I'm wrong though, that problem should be addressed directly instead of deleting the file.
2012-09-29 14:55:11 +00:00
goyuken 6e31862d23 Support win+L \ win+R \ win+U 2012-09-29 14:43:35 +00:00
adelikat 965f0934e5 pointless commit to test bot 2012-09-27 17:53:00 +00:00
pasky1382 0eefabdd79 Zeromus is getting old and senile. 2012-09-27 13:41:20 +00:00
pasky1382 a69ee5fa81 Fixed a compile error, Zeromus's lack of sleep created a typo. 2012-09-27 08:06:22 +00:00
zeromus cee04551ad snes-firmwares-hook up to gui 2012-09-27 07:27:47 +00:00
zeromus d9a55fed37 snes-load firmware files from a CoreInputComm path, which must be named exactly right; show the requisite filename in a messagebox if it's missing; but theres no GUI for the firmware path hooked up yet. 2012-09-27 07:22:31 +00:00
goyuken fc8087c344 preliminary SGB support.
1) choose your SGB rom from the path config (should probably be an .smc file of about 256KB)
2) turn on Load GB as SGB from the GB menu.
3) load rom again.
To turn off, uncheck Load GB as SGB from the SGB menu.
2012-09-26 15:59:14 +00:00
adelikat 2f8ce5e1d1 SNES - hook up autofire controllers, also probably hooked up player 3 & 4 that were probably not working up to now 2012-09-26 01:20:11 +00:00
adelikat 2f8561a81d Lua - nes library - get/set methods for sprites and background display 2012-09-23 18:57:33 +00:00
adelikat 48d6ca1fa0 Dummy commit to mark the start of version 1.1.1 2012-09-23 17:53:41 +00:00
beirich 03ebcb7ba1 add .MD = gen. because of pasky. 2012-09-23 02:44:04 +00:00
adelikat a7cdc8b1e9 increment build number, this marks the beginning of the 1.1.1 release 2012-09-22 23:40:11 +00:00
adelikat 46ec39d7e3 Add gameboy/gbc to the open rom dialog, add gameboy palette folder to the build script 2012-09-22 20:19:39 +00:00
zeromus 03cb238ae3 snes-add scanline render callbacks and add scanline selector to graphics debugger 2012-09-22 05:03:52 +00:00
adelikat b7e8386af1 Add Capture OSD menu item in the screenshot submenu, when active, animated gifs and regular screenshots will show the OSD 2012-09-22 04:04:35 +00:00
goyuken dd4173cb3d the legacy gif writer is now also affected by Global.Config.AVI_CaptureOSD 2012-09-22 01:06:18 +00:00
adelikat 7bf325cb81 Add Capture OSD menu item to the AVI sub-menu, toggling turns on/off the OSD in AVI capture 2012-09-22 00:07:02 +00:00
goyuken e10e351e03 a\v dumping now uses a composited emu+osd+lua. (at the moment this is not toggleable; a setting must be added)
this needs a little work, but is functional...
2012-09-21 18:01:24 +00:00
goyuken 7e25a78566 disable previous commit when a\v dumping is active 2012-09-20 20:13:52 +00:00
goyuken 65cf5f842a MaxTurbo now tells the emulator to skip audio, if supported.
on my machine, gambattehawk goes from ~1600 to ~3200fps
2012-09-20 20:07:18 +00:00
goyuken 1b54e3c061 change previous revision to use default value param 2012-09-20 20:00:14 +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
adelikat 1402eb8470 Don't allow the Hard/Soft Menu Item/Hotkeys to be pressed while a movie is in playback mode (fixes issue #79) 2012-09-17 23:03:38 +00:00
goyuken c2bc20a729 add OSD messages when the menu power\reset items are used 2012-09-17 19:16:27 +00:00
goyuken 1fb75159ff reset menu items now work even when paused (note that you have to advance a frame before you'll see the effect).
i don't particularly like this, but it's the best non-intrusive fix for 1 week before release
2012-09-17 19:09:10 +00:00
adelikat 1c974fa5e0 Show error when trying to load a savestate slot that doesn't exist. (fixes Issue #86) 2012-09-17 01:52:17 +00:00
zeromus b33fc4982c remove derelict CoreVersion/Introspection stuff 2012-09-16 20:08:36 +00:00
adelikat ea08b9faa4 Don't reset the frame counter on Soft or Hard resets 2012-09-16 18:11:28 +00:00
adelikat 5d4b5e71c6 Add Hard Reset menu item (enabled conditionally per core) and hotkey 2012-09-16 17:10:33 +00:00
adelikat 77564c6daa TAStudio - change Reset button to Power on Gameboy Virtualpad, implement conditional Hard Reset menu item (dependent on the core implementing the power button) 2012-09-16 16:52:30 +00:00
zeromus 88fab46b21 fix error in snes Select and Start button binding (was using the NES bindings due to copy/paste error) 2012-09-16 16:23:10 +00:00
adelikat 7ce6a27da9 Change Power Cycle menu item and hotkey to Reboot Core since that is what it really does, and does not emulate a power cycle 2012-09-16 16:06:28 +00:00
goyuken 9a442d72f5 gambatte palette editor: save/load support 2012-09-15 23:50:18 +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 77d0ff8ac8 Hokeys - hotkeys for obj and bg toggles for snes (in a SNES tab) 2012-09-15 16:43:16 +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
adelikat b4a43c0d44 Hook up autohold-autofire fire pattern to the autofire config 2012-09-15 13:33:04 +00:00
adelikat a075f21af6 Implemented autohold for autofire keys 2012-09-15 13:11:29 +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 03caa3b32f gambatte dmg palette editor. blah. 2012-09-12 22:18:51 +00:00
brandman211 8a24de458f -Added the SNES formats to the Import dialog.
-Figured out how to get files from the .LSMV archive. Will write the input parser shortly.
2012-09-12 04:11:35 +00:00
goyuken 4e35cb566f functioning saveram support for gambatte 2012-09-10 23:40:53 +00:00
brandman211 f11a790e34 -Added ImportLSMV, ImportZMV. Neither do anything substantial yet.
-Added .int to the Rom Files list.
2012-09-10 21:35:56 +00:00
andres.delikat 33969fd8bd Oops, checked in a change to the interim flag, also updated the interim version to 1.1.0 interim while I was at it, change experimental status on some things in rom loader. Overall, this is a useless commit 2012-09-10 21:26:22 +00:00
andres.delikat be3b97ece0 SNES - Graphics Debugger - hook up the usual auto-load and save window position, added a menu, put disabled screenshot menu items todo, some UI niceness 2012-09-10 19:44:44 +00:00
andres.delikat b6d317e0a6 SNES - menu items to toggle bg and obj layers 2012-09-10 19:12:34 +00:00
andres.delikat 622c75545f Move SNES Graphics debugger to a SNES menu (dynamically shows/hides for SNES roms) 2012-09-10 18:32:36 +00:00
zeromus e87bddc2ee etc 2012-09-10 04:16:30 +00:00
zeromus 3cd5bfe375 stop blocking keystrokes from creating controller input when they match hotkeys 2012-09-10 04:13:02 +00:00