Commit Graph

1144 Commits

Author SHA1 Message Date
adelikat fd1621a536 pass in an Emulator instance to QueueNewMovie() 2015-02-22 19:57:24 +00:00
adelikat 1d3e0471d7 Remove references to Global.MovieSession in MovieSession itself 2015-02-22 19:47:14 +00:00
adelikat 7e92f38eb3 AutofireController - pass in an instance of an emulator rather than use Global.Emulator 2015-02-22 18:02:56 +00:00
adelikat 36f4eff0f6 add ByteSize to MemoryDomain with a default of 1, set it to not 1 on appropriate domains (I probably missed some, or got some wrong). Have RamSearch use that instead of SystemInfo, remove ByteSize from SystemInfo since it is no longer needed 2015-02-22 15:19:38 +00:00
jdpurcell 730694644d Add option for OpenAL on Windows. 2015-02-19 03:22:20 +00:00
jdpurcell c56edd6e93 Add OpenAL sound output.
XAudio2: Some stuff I forgot to dispose.
2015-02-19 02:30:55 +00:00
adelikat 5183a8e20d Nothing to see here 2015-02-17 22:58:25 +00:00
goyuken 72ca2d15f8 add .bmp extension to the savestaten screenshot filename, because that's waht it is 2015-02-17 02:32:52 +00:00
goyuken 30fea2e6a7 screenshot: add optimized hotpath for original size screenshots 2015-02-17 02:31:56 +00:00
goyuken ad08c0abfb minimally connect up new screenshot code 2015-02-17 02:08:08 +00:00
adelikat 0316fa9817 some rom loading stuff 2015-02-08 21:51:15 +00:00
adelikat 5626473fbf When adding firmware info to movies, don't attempt to add duplicate keys 2015-02-08 20:28:57 +00:00
adelikat 5e07ab3ec3 for an unknown disc, default to psx instead of pce-cd, since that is far more likely to be what they are attempting to open 2015-02-08 18:31:16 +00:00
adelikat e020574b8d Store served firmware information in movie headers 2015-02-06 00:16:53 +00:00
goyuken a782fdb315 take 2 2015-02-05 23:53:25 +00:00
goyuken 995f670d36 frontend tracks loaded firmware: proof of concept 2015-02-05 23:25:28 +00:00
adelikat 6fb2599320 Disable new movie import system, since I won't be attempting that seriously any time soon 2015-02-05 22:34:41 +00:00
adelikat 124ee7b236 start a movie import refactor, and start implementing a new fm2 importer as a proof of concept, does not do anything useful yet (such as SyncSettings and input) 2015-02-05 02:19:46 +00:00
adelikat 60ed815b68 add some plumbing for a PJM importer 2015-02-03 00:24:38 +00:00
adelikat 1202305a47 move MovieImport.cs into an import folder in preparation to break it up 2015-02-03 00:15:36 +00:00
goyuken 450e4b60cd fix broken movie savestates 2015-02-02 22:43:15 +00:00
goyuken f956b3257f savestate framebuffer as bmp with customizable size 2015-02-02 00:25:50 +00:00
goyuken b3b37c46c3 possibly fast light bitmap saver with resize, TODO hook up to something 2015-02-01 22:49:53 +00:00
zeromus 62d781b960 add load last rom hotkey 2015-02-01 04:52:02 +00:00
zeromus 213da3a74c when adding a hotkey, the ordinals... i have to set over 9000! theres no way that can be right! 2015-02-01 04:48:03 +00:00
jdpurcell 5eee1cd306 Add UI for choosing between DirectSound / XAudio2.
Always use new sound output buffering (remove option).
2015-01-31 06:40:14 +00:00
jdpurcell 83e8abc963 XAudio2! There's no UI for it yet. 2015-01-31 04:49:53 +00:00
adelikat 22c62d16a9 better catching of error in lua callbacks 2015-01-31 02:25:23 +00:00
adelikat 4ee4c449aa Lua - memory read/write callbacks - oops, specify them as read and write, not execute 2015-01-31 01:45:45 +00:00
adelikat b1b94da6ef Lua Sessions - make scripts relative to the lua session instead of relative to the .exe, note: this wrecks existing luases files 2015-01-29 02:08:12 +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 9757709242 Lua - check if memory callbacks are implemented before attempting to remove memory callbacks 2015-01-27 21:48:18 +00:00
adelikat 8371c23830 WatchList - use the new watch to string method, did not wire up the from string, since the load code while very poorly coded, both works and supports legacy formats including older rerecording emulators 2015-01-27 02:55:31 +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 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 0d54298f02 Lua - memory domain - if a domain isn't writable, error when attempting to write to it 2015-01-25 20:20:43 +00:00
adelikat 1235246d19 Multitrack recording - support analog input 2015-01-25 19:21:50 +00:00
jdpurcell 8fe850ba1b Rewind speed setting.
Add comment to clarify the various methods of unthrottling.
2015-01-25 18:34:53 +00:00
adelikat 033b576cd3 some useless csproj snazziness 2015-01-25 17:50:54 +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 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
adelikat 779d7c0cee Lua - memory library - default to main memory if user did not specify a domain 2015-01-24 21:33:52 +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 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
jdpurcell 0ca93f35ba Rewinder - small fix to memory allocation limit. 2015-01-19 19:48:04 +00:00
adelikat 4c47ef2f3f Watch.cs - an remove an int cast I missed when converting domain size to long 2015-01-19 02:58:18 +00:00
jdpurcell 6da53b535b Use threaded rewind by default on multi-core/processor machines. 2015-01-18 21:20:21 +00:00
adelikat 515a41592c Convert a whole bunch of ram stuff from int to long 2015-01-18 18:59:23 +00:00
adelikat 12c3cb0b40 oops, and that todo 2015-01-18 17:28:26 +00:00
adelikat 71438b2de6 remove a todo 2015-01-18 17:28:02 +00:00
jdpurcell 45ae0bb207 Fix potential (but rare) rewind savestate corruption when threaded option is enabled. 2015-01-18 15:38:49 +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 423376835c Rewinder - when reallocating buffer, make sure we have released all references to the old buffer first to free up memory for the new buffer. 2015-01-18 00:56:32 +00:00
jdpurcell bcb6b20ec2 Rewind - if memory allocation fails, back off the size until successful. 2015-01-18 00:20:49 +00:00
jdpurcell 40bfe91238 Rewinder - small optimization to previous bugfix and rename misleading method name. 2015-01-17 20:53:01 +00:00
jdpurcell c23e60ac62 Fix several pre-existing bugs (doubt they were triggered often). 2015-01-17 20:37:00 +00:00
jdpurcell 0a9b07ac32 Small cleanup. 2015-01-17 19:22:21 +00:00
jdpurcell 4a40408f1d Use variable length integers for the rewind state deltas to reduce size. 2015-01-17 19:16:22 +00:00
jdpurcell f11158ac86 Would be nice if it compiled though. 2015-01-17 06:20:00 +00:00
jdpurcell 112d794f11 More optimization. 2015-01-17 06:19:13 +00:00
jdpurcell b4a4c04844 Remove unnecessary bounds check. 2015-01-17 04:13:05 +00:00
jdpurcell f99338dc2e Optimization (25% faster or so). 2015-01-17 03:55:41 +00:00
adelikat ec9bc9462b fix slowdown in movie finished mode 2015-01-16 17:56:56 +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
goyuken f69718f57e provide intelligent message on trying to load CD from archive. this causes no change in functionality, as following that codepath would fail 100% anyway 2015-01-14 18:07:03 +00:00
jdpurcell 36d98f28a6 Always use Low CPU clock throttle mode; remove option. 2015-01-14 04:49:18 +00:00
adelikat 9358e24213 IMemoryDomainList - downgrade from IList to IEnumerable, refactor a spot that needed something more than that 2015-01-14 00:34:50 +00:00
adelikat 418d80b0e8 Lua - Memory library - simplify some code 2015-01-14 00:25:25 +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 21f5209726 oops, fix movie recording that was busted by revision 8761 2015-01-12 22:48:57 +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
jdpurcell 3d37e3dc5a Option to make rewind speed proportional to rewind frequency. 2015-01-12 05:30:27 +00:00
adelikat c8c563153c Bk2 input display generation - don't generate the mnemonic string twice, one time per function call will do 2015-01-11 15:50:01 +00:00
adelikat d560eb80b4 BK2 mnemonics - support up to 8 players by default (without the need for a platform override) 2015-01-11 15:44:12 +00:00
adelikat 5e73e82b29 Fix the "pause" movie end option 2015-01-10 15:49:31 +00:00
adelikat 57023ffcb7 Movie playback - fix issue 358, duplicate input after a movie ends, note: this commit could be a breaking change for other movie related things (such as alternate movie end types other than the default of "finished") 2015-01-10 15:12:58 +00:00
adelikat fdc290cc14 Roll back last commit, nevermind. 2015-01-06 02:29:30 +00:00
adelikat f88b5389c1 Break everything. Seriously, a total cock-up. But also: Fix issue 358, duplicated input after a movie ends. Movie recording isn't obviously horribly busted from this, but just about anything movie related is now possibly busted, if you are looking for some mysterious regression in some movie feature, here's a good place to start! 2015-01-06 02:10:21 +00:00
jdpurcell 8c41af53d1 Option to automatically check for and notify of new versions. 2015-01-04 15:04:44 +00:00
adelikat 6c4a32d517 Virtualpads - when right-click auto-firing - take lag frames into account 2015-01-04 13:45:43 +00:00
adelikat 6835da1e45 VirtualPad - basic buttons - when right-clicking for autofire, respect the frame that autofire started on 2015-01-03 20:05:04 +00:00
adelikat 2f8a59a219 When the "Pause" movie end option is selected, fix bug where unpausing keeps repausing the emulator, now it will pause on movie end, and advancing further will stop and close the movie 2015-01-03 03:27:17 +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
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
adelikat 3c83911c4f Ram Search - don't allow undo to the original list, a user can easily start a new search to get to that state, and allowing it means undo already starts out with a full list eating a lot of RAM for no benefit 2015-01-02 22:18:53 +00:00
adelikat 6f4b01417f Lua - convert SNES library to service injection system 2015-01-01 20:37:31 +00:00
adelikat 01019686cf lua - convert memory libraries to use service injection 2015-01-01 20:19:20 +00:00
adelikat b6e33d010a Lua - gameinfo library - convert to using service injection 2015-01-01 20:08:03 +00:00
adelikat f6c2b4e897 Lua - event library - convert to service injection system, fix OnInputPoll() to return a GUID like every other event 2015-01-01 20:01:37 +00:00
adelikat 58616ff001 lua - Emu library - convert to service injection model, fix emu.getregister(s) that was broken when refactoring core methods for better debugger support 2015-01-01 19:52:53 +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
adelikat 1ee7cfc153 Convert Virtualpads to IToolFormAutoConfig 2015-01-01 18:42:08 +00:00
adelikat 6ce93c0496 TAStudio - move some settings from Config.cs to the dialog using [ConfigPersist] 2015-01-01 18:24:35 +00:00
adelikat 6fb88a0105 TAStudio - convert to IToolFormAutoConfig 2015-01-01 18:10:07 +00:00
adelikat b8d667812b convert Lua Console to IToolFormAutoConfig 2015-01-01 17:48:25 +00:00
adelikat 54b7a1c50f Convert Hex Editor to IToolFormAutoConfig and [ConfigPersist] 2015-01-01 14:54:26 +00:00
adelikat 89fcceecfc ToolManager - support autoloading from custom settings that inherit ToolDialogSettings, Ram Search - convert recent files to ConfigPersist 2015-01-01 02:08:45 +00:00
adelikat 3c09e25b82 move a variable in Config.cs to a more sensible place 2015-01-01 01:22:22 +00:00
adelikat 6440c9c44b Ram Watch - convert to ConfigPersist, and do column stuff the new way 2015-01-01 00:47:22 +00:00
adelikat ace8192c8a Cheats dialog - refactor and simplify how column info is saved and loaded 2014-12-31 23:28:50 +00:00
adelikat d809da1e8d Cheats dialog - convert to using ConfigPersist, and simplify some code 2014-12-31 22:16:22 +00:00
goyuken 757ca11e98 gba gpu view: IToolFormAutoConfig 2014-12-31 19:22:39 +00:00
jdpurcell eacadc8e09 Apparently UserControls that are created dynamically need AutoScaleMode.Font. UserControls placed via the designer should use AutoScaleMode.Inherit. Actually it seems possible to get around the problems of dynamically created UserControls (including the need to manually scale the positions/sizes) by moving their creation into the constructor after InitializeComponent, adding SuspendLayout before InitializeComponent, and adding ResumeLayout after UserControl creation. But I don't want to risk moving the code around too much. 2014-12-31 05:34:21 +00:00
jdpurcell 7b4c5636bd Improve scaling. Still needs some work but it's better than it was. 2014-12-28 23:58:45 +00:00
jdpurcell 9a1108e9f7 Fix control positions/sizes in the cases where auto scaling doesn't apply (e.g. dynamically created controls). 2014-12-28 21:59:53 +00:00
goyuken 4d78052961 pce sound debugger: auto config 2014-12-28 17:22:58 +00:00
goyuken 87c064c6ac snes graphics debugger: use autoconfig 2014-12-28 17:15:36 +00:00
goyuken 3ff067d426 IToolFormAutoConfig: add restore defaults 2014-12-23 01:01:37 +00:00
adelikat 67d03c12c7 Debugger - convert to IToolFormAutoConfig 2014-12-22 23:57:03 +00:00
goyuken 401c40fe8a don't show file picker twice on fallback to different core 2014-12-22 22:21:51 +00:00
goyuken 7e51289003 pce cdl: change settings system 2014-12-22 21:38:57 +00:00
goyuken 5ac505d582 SMS vdp viewer: settings 2014-12-22 19:15:56 +00:00
goyuken 808e17c3f7 tracelogger settings 2014-12-22 19:01:21 +00:00
adelikat 8a64bb3ee7 remove an unused config variable 2014-12-22 01:35:06 +00:00
adelikat 6d0a764a72 Tastudio - quick fix for crashing on startup, a better solution is needed eventually but this will work fine, it just isn't conceptually how we want to do things anymore 2014-12-21 23:53:40 +00:00
goyuken 66b557ce93 update some pce tools to use autoconfig/configpersist 2014-12-21 16:59:36 +00:00
goyuken ed6082cab3 NES: set NT and PPU viewers to use the new settings stuff 2014-12-21 08:17:56 +00:00
goyuken ff8922bb08 itoolform custom config infrastructure; not complete 2014-12-20 21:49:53 +00:00
goyuken 62cb922a81 change GB gpu to work with IToolFormAutoConfig and fix un-resizable window behavior 2014-12-20 17:20:56 +00:00
adelikat 7bebb66589 IDebuggable - refactor GetCpuFlagsAndRegisters to be IDictionary<string, Register> where Register is a value and a bitsize 2014-12-20 03:19:33 +00:00
goyuken 360ca02b93 tool setting stuff. WIP 2014-12-19 23:33:05 +00:00
zeromus 4dc4745122 psx - revise disc swapping method. way cooler now, you get a list of discs in the virtualpad box, and changing between them maps to physical operations more logically. 2014-12-19 03:24:48 +00:00
adelikat 42b454a562 Rip out the Atari 2600 debugger 2014-12-18 18:51:22 +00:00
zeromus 786cf97f0a psx - scribble some notes about framerate 2014-12-18 03:36:40 +00:00
goyuken cfaf59f887 lua: internal infrsatructure changes to nes library 2014-12-17 23:03:58 +00:00
hegyak d8e319b250 Let's let the user know they are Emulating a PlayStation. The ByteSize may be wrong. 2014-12-17 19:14:21 +00:00
zeromus 275c72d0c2 psx - framerate definitions 2014-12-17 01:22:25 +00:00
scepheo 14e2b280ac Removed reference to Global.Emulator from RamSearchEngine. 2014-12-16 01:50:22 +00:00
scepheo 77be509e44 RAM Search: Implement previous type "last change". Fixes issue 331. 2014-12-16 01:19:29 +00:00
scepheo 528b7ea104 RAM Search: Fix issues with signed values. Resolves issue 340. 2014-12-16 00:41:47 +00:00
scepheo 53ea2caeac ^Really^ fix cheats not working (forgot WordWatch & DWordWatch) 2014-12-15 23:57:56 +00:00
goyuken ea47246658 remove the IEmulator inheritance from some services, and fix code as needed 2014-12-15 22:25:06 +00:00
adelikat 8648e6ba0a Remove the nes debugger tool 2014-12-14 14:56:16 +00:00
zeromus 2d56514fde load m3u files. still no disc switching 2014-12-14 10:36:03 +00:00
zeromus ede9620446 psx - settings framework and implement mednafen-compatible display mode 2014-12-14 08:48:23 +00:00
adelikat 14008fbcb0 don't show a "No core could load a rom" nag if the user cancels out of the platform chooser 2014-12-14 02:13:06 +00:00
scepheo 5179a3379f Fixed cheats not working. 2014-12-14 01:51:55 +00:00
zeromus 24526669fe emuhawk - add options for display of various window components (menu,frame,caption,statusbar). add --chromeless commandline argument and logic for folks embedding in frontends 2014-12-14 01:43:46 +00:00
adelikat 4985b3853d PSX mnemonics -> Square = Q not S 2014-12-13 14:57:03 +00:00
adelikat 45809ab73f move an attribute in Wonderswan core that was on the constructor on accident, added an AttributeTargets attribute on it that would have caught such an error, add AttributeTargets on some other attributes to help clarify their usage 2014-12-13 02:31:31 +00:00
adelikat 4304aa9d01 that was a bad idea 2014-12-13 02:26:15 +00:00
goyuken 10dee85cdb comments! 2014-12-12 23:11:49 +00:00
adelikat 536964bac2 a squarish mnemonic constant that is ascii 2014-12-12 02:07:46 +00:00