Commit Graph

2075 Commits

Author SHA1 Message Date
adelikat 29a6c7369b Hex Find - even more simple 2015-01-31 01:23:03 +00:00
adelikat 8b48bd3e26 Hex Find - simplify some code 2015-01-31 01:16:41 +00:00
scepheo bdfdd96686 RAM Poke: Pressing the "Poke" button now also closes the dialog. 2015-01-30 16:15:08 +00:00
scepheo 860227ee66 LuaConsole: Actually stop and restart script upon tool restart. 2015-01-29 14:50:09 +00:00
adelikat 6f2488aa57 Lua - clear out lua drawing surface on restart 2015-01-29 03:36:19 +00:00
adelikat 307845b3b5 Lua - recover from a locked drawing surface exception and log to the console, rather than crash the emulator 2015-01-29 02:14:39 +00:00
adelikat 24a517d293 Lua - properly re-inject core dependencies on restart 2015-01-28 14:38:06 +00:00
jdpurcell 8a0d73c155 SoundOutputProvider: Better rewind/fast-forward behavior especially with large buffer sizes. 2015-01-28 04:48:52 +00:00
jdpurcell 50849d0043 Fix TabIndexes in Sound dialog. 2015-01-28 02:21:21 +00:00
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