Commit Graph

2116 Commits

Author SHA1 Message Date
jdpurcell 58cd9796f2 Allow CPU throttle to catch up for more than 3 missed frames if the user has configured a large sound buffer size.
SoundOutputProvider: Better workaround for cores whose audio output goes dead (0 samples) at times. Better underrun handling. Different threshold for samples surplus vs. deficit.
2015-01-28 00:53:49 +00:00
adelikat 09072acb3b Lua Console - immediate box - in some situations wrap the text in a console.log(), such as if the user simply types a variable name 2015-01-27 23:27:44 +00:00
adelikat 3b13ea4a8f spaces to tabs, good ol whitespace commit 2015-01-27 23:18:48 +00:00
adelikat d61f1dd058 Do cheat saving magic on close rom, not close emulator 2015-01-27 22:23:56 +00:00
zeromus 8491be66ba add --dump-frames commandline to control which frames get dumped by the auto-dumping feature 2015-01-27 04:05:20 +00:00
zeromus fc699590f5 add ImageSequenceWriter AVDumper 2015-01-27 04:04:53 +00:00
adelikat 5636c1b6a1 Ram Search - support copy similarly to ram watch 2015-01-27 03:09:13 +00:00
adelikat f547dfbb21 some fixes to last commit 2015-01-27 02:53:57 +00:00
adelikat bb2cd1b476 Ram Watch - support copy and paste (generates and receives the same text as would be in a .wch file) 2015-01-27 02:37:18 +00:00
adelikat 82bda9006a Cheats dialog - never ask to save changes, the cheat system is independent of the dialog and makes intelligent decisions already, no need to annoy the user 2015-01-27 00:44:13 +00:00
jdpurcell c038ed0ed7 Sound/SoundOutputProvider - avoid buffer reallocation. 2015-01-26 15:00:11 +00:00
jdpurcell 0f5fc96410 Only trigger reload of rewind settings when something important changed, so we don't unnecessarily lose the rewind history. 2015-01-26 04:22:07 +00:00
adelikat 8246de14aa IMemoryCallbackSystem - add a flag to indicate whether execute callbacks are available, in lua and the debugger, take this flag into account, also improve some availability checking in Lua memory callbacks. Flag N64 as not having execute callbacks available 2015-01-25 22:14:58 +00:00
adelikat e1f59363f2 Debugger - on refresh, check for new non-debugger made breakpoints and display them 2015-01-25 19:50:54 +00:00
jdpurcell 8fe850ba1b Rewind speed setting.
Add comment to clarify the various methods of unthrottling.
2015-01-25 18:34:53 +00:00
jdpurcell 47956e6d86 Try to make the volume level better match the perceived loudness. 2015-01-25 17:00:08 +00:00
adelikat d4d966680d Debugger - tweak positioning of register labels when registers are not settable 2015-01-25 16:56:18 +00:00
adelikat e1811371e4 Cheats - only allow writable domains in the domains dropdown 2015-01-25 16:20:53 +00:00
jdpurcell 984edda62f Fix sound not being completely silent at level 0. 2015-01-25 16:08:28 +00:00
adelikat e51ffd95d8 Ram Watch/Search - disable poke and freeze toolbar items based on writability of a domain, also smarter enabling/disabling of them in general 2015-01-25 16:07:15 +00:00
adelikat 4a39b5a619 Hex Editor - if a domain is not writable, switch to a "read only" mode 2015-01-25 15:42:07 +00:00
adelikat 71d7c2537a Ram Watch/Search - also disable freezing if a domain is not writable 2015-01-25 15:15:56 +00:00
adelikat 7ed8704555 add a CanPoke() extension method for memory domains, checks for a null or not implemented Poke Poke delegate, use it to disable Poke on Ram Search and Ram Watch, still todo - hex editor and lua 2015-01-25 14:37:37 +00:00
adelikat d200c1be38 HexEditor.cs - fix line endings 2015-01-25 13:24:18 +00:00
adelikat 0d43688138 Change default savestate compression level to 0, I haven't seen a situation where 5 is better 2015-01-25 13:00:01 +00:00
jdpurcell 9b9ef1de0c Tweak threshold for sound stuff. 2015-01-25 06:10:00 +00:00
jdpurcell e69dcfc167 Change minimum sound buffer size from 80 ms to 60 ms. 2015-01-25 05:33:56 +00:00
jdpurcell b66dc6ba1b SoundOutputProvider tweak. 2015-01-25 05:03:21 +00:00
jdpurcell 69c66d12b1 Configurable DirectSound buffer size.
A bunch of changes in Sound / SoundOutputProvider to support this and behave nicely.
2015-01-25 03:33:45 +00:00
jdpurcell a04982bc84 SoundOutputProvider: Small improvements to resampling (round instead of truncate and noise shaping) - probably inaudible. 2015-01-24 21:52:27 +00:00
adelikat e4800cb8f3 debugger - fix ability to set write and execute breakpoints 2015-01-24 19:50:18 +00:00
adelikat d9c7e09445 Debugger - fix sound stutter on add breakpoint dialog pop up 2015-01-24 18:23:04 +00:00
adelikat 7b87f666a1 MemoryDomains - rename CheatDomain to SystemBus 2015-01-24 15:49:02 +00:00
jdpurcell 28cc91a0c4 Yet another N64 sound fix. 2015-01-24 04:48:41 +00:00
jdpurcell 219d10fd7c SoundOutputProvider: Proper fix for cores with weird audio timing (e.g. N64). 2015-01-24 03:49:22 +00:00
adelikat f89f8fc457 add a PauseChanged event to mainform, have the debugger subscribe to it and refresh instead of refreshing every frame, add a refresh menu item with F5 hotkey just in case 2015-01-24 03:10:21 +00:00
adelikat 027706be70 Debugger - to PC button 2015-01-24 02:50:22 +00:00
adelikat 652640d580 Debugger - disassembler - support ctrl+C to copy selected rows to the clipboard 2015-01-24 00:02:22 +00:00
adelikat 5d2eb17771 debugger - fix scrollbars on register panel 2015-01-23 23:51:37 +00:00
adelikat 19450e50f7 Debugger - Register box - make label spacing dynamic based on the largest register name 2015-01-23 23:17:24 +00:00
adelikat fd99a6edf9 Core Features dialog - better ordering in the all cores tab 2015-01-23 21:59:23 +00:00
adelikat 5db5b063d0 Core Feature Tool - clean up what types are shown 2015-01-23 21:40:50 +00:00
zeromus 773826049f fix bug in disassembler 2015-01-23 20:29:07 +00:00
jdpurcell 6a81746636 Temporary fix for N64 sound problems with new sound provider. 2015-01-23 05:39:19 +00:00
jdpurcell 5026d39da1 Fix divide by zero in SoundOutputProvider. 2015-01-23 05:02:31 +00:00
jdpurcell e3e5ae4934 New SoundOutputProvider class which takes the place of BufferedAsync. This should be far less prone to audible glitches and reduces latency. 2015-01-23 04:16:25 +00:00
zeromus 566107e12e rewind & states config - use of lowercase kb and mb as compared to KB MB offend me 2015-01-23 02:47:16 +00:00
jdpurcell 3b524cdbf2 Sound - mostly just cleanup and preparation for some future changes. 2015-01-23 02:09:25 +00:00
zeromus 2a1f40982c dont know how valuable it will be, but just in case.. 16.16 fixed point support 2015-01-22 01:24:20 +00:00
zeromus 3a8fcec1bf HexEditor: add a bit of a hacky n64 matrix viewer test code to context menu 2015-01-22 01:15:06 +00:00
zeromus c445dcf183 HexFind: respond to escape key 2015-01-22 01:14:49 +00:00
adelikat aff2e9544e Ram Search - change "Add to Ram Watch" hotkey from ctrl+R to ctrl+W for consistency 2015-01-21 23:20:58 +00:00
adelikat 69b2e51e7c Debugger - add a cancel seek button 2015-01-21 23:04:47 +00:00
goyuken af451143bf a bit of memory domain cleanup 2015-01-21 17:36:22 +00:00
adelikat 4b2d116738 Debugger - implement the Seek To button 2015-01-21 02:12:59 +00:00
adelikat 1fadcdd9f0 Debugger - add a SeekTo button/textbox, doesn't do anything yet, other than intelligently enable/disable based on availability and set the textbox properties based on the properties of the PC register 2015-01-21 00:46:13 +00:00
jdpurcell 85d6e985a0 Fix DPI scaling in Platform Chooser dialog. 2015-01-20 03:06:43 +00:00
adelikat 2e737e66be NES - remove some more unnecessary partial class usage 2015-01-19 13:38:08 +00:00
adelikat 5462e16b91 Hex Editor - fix a bunch more int to long conversions 2015-01-19 02:42:58 +00:00
adelikat a8b1fc609a Ram Poke - handle the case of an absurd amount of addresses picked 2015-01-19 02:04:04 +00:00
adelikat 1c6d6f57bc Hex Editor - better location for the poke dialog, don't attempt to highlight non-visible addresses (fixes some bad drawing when highlighting and scrolling) 2015-01-19 01:49:56 +00:00
adelikat ebf7273cbe Hex Editor - open poke dialog in a logical location, update the hex editor when Poke is clicked on the Poke pop up dialog 2015-01-19 01:39:47 +00:00
adelikat 0620246ef4 Hex Editor - fix highlighting of addresses greater than 7FFFFFFF in 32 bit domains 2015-01-18 20:15:03 +00:00
adelikat f647f16592 Ram Watch - add/edit watch - support 32 bit domains 2015-01-18 19:50:31 +00:00
jdpurcell ac4e197e22 Fix trackbars in Display config having different background color than their container (workaround applied only at runtime to avoid breaking designer). 2015-01-18 19:44:51 +00:00
adelikat 7859e17503 add PSX and Lynx to the platform chooser 2015-01-18 19:25:03 +00:00
adelikat f6b757e7fd Add Breakpoint dialog - fix a slight logic error 2015-01-18 19:08:25 +00:00
adelikat 515a41592c Convert a whole bunch of ram stuff from int to long 2015-01-18 18:59:23 +00:00
adelikat 89b3c31872 Hex Editor - more long conversion, highlighting will now work until the scrollbar value itself overflows 2015-01-18 18:13:38 +00:00
adelikat 6507fa5d92 Hex Editor - convert addresses from int to long, fixes Go to address on 32bit domains, highlighting on addresses after 7FFFFFFF is still busted though 2015-01-18 18:01:27 +00:00
adelikat 27d30df0cf Rip out the MemoryDomain.Size hack, and fix up the hex editor. Hex editor now works for N64 System bus, but will very much fail as soon as we have a domain greater than 32 bits 2015-01-18 16:00:20 +00:00
adelikat 91ffc17aae Refacotor MemoryDomain.Size to be long instead of int, still some small todos, but it compiles and seems to work 2015-01-18 15:25:47 +00:00
jdpurcell f1480740e3 Detect and recover from buffer underflow, i.e. resynchronize the write position so that our writes always end up just before the play cursor. 2015-01-17 01:56:23 +00:00
jdpurcell 1470add91d Get rid of magic number. 2015-01-16 06:05:25 +00:00
jdpurcell 264063d8ac Few more cleanups. 2015-01-16 05:53:44 +00:00
jdpurcell 1a34ec6a2e Cleanup/fixes/etc. 2015-01-16 05:04:44 +00:00
jdpurcell 1862ddd927 Even if no samples are currently needed for writing out to the DirectSound buffer, we still must request 0 samples from BufferedAsync so that it can queue up samples from its base sound provider. 2015-01-16 04:57:55 +00:00
goyuken 45ab3a8bbd core features: show all uncaught pokeymans 2015-01-16 01:25:41 +00:00
goyuken d09af7eff2 corefeatureanalysis: stuff 2015-01-16 00:55:50 +00:00
goyuken c5daf82a3b some changes to corefeatureanalysis 2015-01-16 00:48:40 +00:00
adelikat 19abc2d12b Core features list - gut the All tab to only show IEmulator, since the others are no longer reliable since instances of cores register implementations now 2015-01-15 22:11:18 +00:00
jdpurcell 798f882457 Redo r8309. Try a different fix for vsync not taking effect at startup. 2015-01-15 15:56:23 +00:00
jdpurcell 4272a954cf Revert r8309. Fixes VSync not taking effect at startup. 2015-01-15 15:42:29 +00:00
adelikat a46b213054 Core Features dialog - make 2 tabs, on the first show information about the currently instantiated core, this will show all registered services and their current state of implementation, 2nd tab will show all cores. Still todo: gut the functionality of the 2nd tab since it is no longer reliable information 2015-01-14 22:56:08 +00:00
goyuken 82fcd0bc5e refactor IVideoProvider into a service. uses in mainform and friends are still hacky 2015-01-14 22:37:37 +00:00
adelikat fbdb29b64c refactor IMemorydomains to be a domain list instead of having a domain property, refactor cores to register an IMemoryDomains instead of being one 2015-01-14 21:55:48 +00:00
jdpurcell 36d98f28a6 Always use Low CPU clock throttle mode; remove option. 2015-01-14 04:49:18 +00:00
adelikat 9c8bb5ff1f Hex Editor - remove some bad code, still plenty to be found in here, but this should be better at least 2015-01-14 00:08:20 +00:00
adelikat d62ba4e2b4 Change IMemoryDomains to have an IMemoryDomainList instead of a MemoryDomainList, this is an incremental step into eventually having IMemoryDomains take over the properties of IMemoryDomainList, still todo: reduce the amount of needed functionality in IMemoryDomainList from old and not good code 2015-01-13 22:18:07 +00:00
jdpurcell 0a345b0084 Issue 368: Set all platform targets to x86, rename build platforms to match, and remove unused build platforms. 2015-01-13 15:28:58 +00:00
jdpurcell 28f1ad1c0e Allow clock throttle to take over for audio / vsync throttles during fast forward or rewind for proper speed control. 2015-01-13 04:21:32 +00:00
adelikat d4155081d2 Cheat dialog - cheat editor - fix bug where it was using main memory to make size decisions 2015-01-13 01:51:02 +00:00
adelikat c1cbad1b30 rename MemoryDomain.SystemBus to MemoryDomain.CheatDomain to better describe its intent 2015-01-12 23:54:16 +00:00
jdpurcell e66fe70365 Proportional rewind speed is now always enabled - revert user-configurable setting.
Fix fast rewind with proportional rewind speed.
2015-01-12 15:09:27 +00:00
zeromus 9b5a5e69d4 psx - improve behaviour of initial disc state at frame=0 2015-01-12 07:32:52 +00:00
jdpurcell 3d37e3dc5a Option to make rewind speed proportional to rewind frequency. 2015-01-12 05:30:27 +00:00
adelikat 3b44451754 Issue 364 - fix Copy All button line formatting 2015-01-11 14:24:30 +00:00
adelikat 4e8069a9fb When dropping a movie with no rom loaded and the user cancels the open rom dialog, don't throw an error message, simply quietly cancel the drop 2015-01-10 15:59:15 +00:00
adelikat 67da2c511f Allow drag and drop of a movie while another movie is active, fix feature where if no rom is loaded on movie drop it does the open rom dialog for you, fix drag and drop logic for importable movies to match that of regular movies instead of some illogical vestigial code 2015-01-10 15:57:47 +00:00
adelikat 5d07cff19f Tastuduio - issue 359 - fix issues with Asking to save changes on close combined with threaded saving, not the prettiest work around but it should work 2015-01-06 16:35:22 +00:00
jdpurcell a3c9ac642a Cleanup HTML decoding fix. 2015-01-06 01:20:19 +00:00
adelikat c03fc0be81 Tastudio - fix issue 356, don't crash when clicking a float column when the movie has no input yet 2015-01-05 00:43:02 +00:00
jdpurcell 3438039c5e Low CPU Throttle: Different sleep timing on OS X. 2015-01-04 21:52:44 +00:00
jdpurcell c81bb3e50e Little cleanup (extension method for BeginInvoke). 2015-01-04 18:22:17 +00:00
jdpurcell 1d7e9bd80a Cleanup profile saving. 2015-01-04 18:07:54 +00:00
jdpurcell cd9c9d62d9 Move update notification setting to profile config. 2015-01-04 17:54:13 +00:00
jdpurcell 8b60878a57 Update notification: Fill in actual URL and workaround for HTML encoding. 2015-01-04 17:00:13 +00:00
jdpurcell 891998be12 Fix "Sound On" checkbox always showing as checked even when sound is off.
Fix null reference exception when opening homepage from update notification.
2015-01-04 16:48:11 +00:00
jdpurcell bd6b7fcd43 Fix this comment for testing the update notification. 2015-01-04 15:06:36 +00:00
jdpurcell 8c41af53d1 Option to automatically check for and notify of new versions. 2015-01-04 15:04:44 +00:00
christoph.boehmwalder 99f9d91671 LuaConsole - Fixed tooltip of Duplicate button. 2015-01-03 22:40:11 +00:00
jdpurcell fd4a523fd6 Scaling fix for scrollbar positioning. 2015-01-03 21:52:33 +00:00
christoph.boehmwalder 7f6e651c08 A little more elegant (and secure) solution for the bug fixed in r8728 2015-01-03 14:03:13 +00:00
jdpurcell dcda3ff393 Add detailed comments. 2015-01-03 05:26:18 +00:00
adelikat 7577702f83 don't disable movie play/record options when a movie is active, this was locked down before the queued movie fix, it is safe to do these operations while a current movie is playing now 2015-01-03 04:19:27 +00:00
christoph.boehmwalder 29923329e9 Fix NullReferenceException when aborting TAStudio movie conversion while recording. 2015-01-03 03:30:34 +00:00
adelikat feef0e7e4c rollback the playbackbox changes in last revision, we have deemed it working 2015-01-03 02:54:38 +00:00
christoph.boehmwalder c3f51f8b39 Made saving a little more convenient by putting it in its own thread. Might be very buggy still.
Also temporarily disabled reading TAStudio settings in PlaybackBox because of a NullReferenceException
2015-01-03 02:29:55 +00:00
adelikat c10682b147 Controller Config - use AutoScroll on tab pages, and fix anchoring of the Misc. button 2015-01-02 23:04:02 +00:00
jdpurcell d9bb7390be Add menu option for low CPU clock throttle.
Enable use of Stopwatch for clock throttle timing on non-Windows platforms (seems safe enough).
2015-01-02 22:57:27 +00:00
goyuken 2abd8c8dd1 partially revert r5408 to fix designer mayhem 2015-01-02 22:02:44 +00:00
jdpurcell cf7815adc9 Fix anchoring of new textbox. 2015-01-02 22:02:00 +00:00
adelikat ab518e9e7c Ram Search - Issue 342 - add an "Account for lag" option to the auto-search feature, on by default because I decided that you probably really want that most of the time and don't realize that you do 2015-01-02 21:53:39 +00:00
jdpurcell 7abad21467 Cleanup and experimental (disabled for now) low CPU mode. 2015-01-02 21:50:46 +00:00
adelikat 153e823f78 Ram Search - a minor code refactor - remove a functional call that is only used once in another function and just do the code there 2015-01-02 21:33:03 +00:00
adelikat 698e080312 Tastudio - fix in the designer 2015-01-02 21:25:10 +00:00
adelikat 6fad387840 Cheats - don't start a new list on Restart(), the mainform manages the cheat list, the cheat dialog is merely a UI for that list 2015-01-02 20:33:30 +00:00
christoph.boehmwalder 879302710e Lua Console - Attempt to fix scaling horror 2015-01-02 20:01:01 +00:00
christoph.boehmwalder e11811e2f8 Lua - Added an input box to the script console for on-the-fly command input
Set ImageScaling to None for all buttons in the toolbar in order to fix scaling issues
2015-01-02 19:36:32 +00:00
adelikat e54693fedb clean up NES tool icons and titles 2015-01-02 18:26:42 +00:00
adelikat 581df3157c Genesis Game Genie - restrict to the GPGX core so it isn't available on non-genesis systems 2015-01-02 17:41:56 +00:00
adelikat a075435ce8 Tastudio - fix loading 2015-01-02 17:28:51 +00:00
adelikat 7923f4d131 Ram Watch and TAStudio - fix default filename generation when doing a save as 2015-01-02 17:22:17 +00:00
adelikat aea17282cc ToolManager - remove CloseIfDisposed, it was only being called when a tool is specifically told to restart by client code, seems like a vestigial hack workaround to cleanup improperly closed things if they are called upon. Add in the Ram Watch hack to UpdateValues<T>. All of this fixes Ram Watch autoload when the on screen display option is checked 2015-01-02 15:27:54 +00:00
adelikat 38c1ffa1e9 Fix autoloading of Ram Watch 2015-01-02 15:19:18 +00:00
adelikat 47d1e480da Ram Watch - a null check 2015-01-02 14:40:18 +00:00
jdpurcell 4ae3060ae5 Fix/cleanup override X/Y stuff. 2015-01-01 22:20:19 +00:00
jdpurcell 260176e458 Fix NES Zapper target being 210 pixels tall instead of 240.
Fix max X/Y value of target being high by 1.
2015-01-01 22:14:03 +00:00
adelikat 4e0e5958ed Lua - Convert Gui library to service injection system 2015-01-01 21:44:49 +00:00
goyuken 3710e6c1ca itoolformautoconfig: fix save position 2015-01-01 21:01:42 +00:00
adelikat a7c91ddcdd Lua - convert to the Client library to the service injection system 2015-01-01 20:58:57 +00:00
adelikat bcfdc755bb Program.cs - disable warning and use a non-deprecated method, props to HackerCow for pointing this out 2015-01-01 20:54:01 +00:00
adelikat 036e1cab8d Tastudio - oops, instantiate Settings 2015-01-01 20:48:14 +00:00
adelikat 72893a10f3 EmuLuaLibrary - remove some commented code that should have been deleted 2015-01-01 19:19:51 +00:00
adelikat 29117dadbe remove an unused function in ToolManager 2015-01-01 19:16:50 +00:00
adelikat bdae0c359b VirtualPad - use an IEmulator service and remove references to Global.Emulator 2015-01-01 19:15:32 +00:00
adelikat 5bba86e23a GB Game Genie - convert to IToolFormAutoConfig 2015-01-01 19:07:57 +00:00
adelikat bb5b20cc33 Gensis Game Geneie Encoder/Decoder - convert to IToolFormAutoConfig, fix a bug that would have made it never be available, make it available on non-interm builds (I think the issue keeping it unreleased was a core endian issue that was resolved), add a menu item for it in the Genesis menu 2015-01-01 19:02:00 +00:00
adelikat 93fe387311 NES Game Genie - convert to IToolFormAutoConfig, also fix a bug that would have made it never show up as available 2015-01-01 18:51:24 +00:00
adelikat 1854544f01 convert SNES Game Genie encoder/decoder to IToolFormAutoConfig 2015-01-01 18:45:14 +00:00