Commit Graph

1208 Commits

Author SHA1 Message Date
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
adelikat f447ab907b Bk2 mnemonic constants for some psx buttons, had to get creative on this one 2014-12-12 01:28:20 +00:00
zeromus 2a3a8a3124 psx - support loading exes 2014-12-11 08:30:37 +00:00
zeromus 5f6bb8d8fd octoshock! 2014-12-10 19:41:13 +00:00
zeromus e0c09a553b redo how subwcrev stuff is done, so that the subwcrev process doesnt have to run for every project. improves build times. 2014-12-09 19:20:22 +00:00
adelikat 21ae27dd94 Bk2/TasProj movies - don't crash if syncsettings, comments, or subtitles are missing 2014-12-08 19:02:22 +00:00
zeromus 08ae448257 start adding d3d9 display method, but.. it was more work than gdi+, as I expected. I'll finish it another time. 2014-12-08 02:15:42 +00:00
adelikat 1c179da80c MemoryCallback System - another refinement, make an IMemoryCallback and make that the argument for add methods 2014-12-07 19:09:36 +00:00
adelikat 2d1a43dc65 MemoryCallbackSystem - simplify by having a single Add method with a MemoryCallbackType parameter, and some simplifying of client code as a result 2014-12-07 18:53:56 +00:00
pjgat09 c2096d9a30 Lua: Fixed a bug with analog controls not being cleared 2014-12-07 07:39:01 +00:00
zeromus 556b7b0123 gdi+ display method! 2014-12-07 02:26:52 +00:00
adelikat 4a96e58a24 Start a generic Debugger tool, does nothing now except for open and have the standard ui options all tool forms have (such as autoload) 2014-12-06 00:03:36 +00:00
adelikat 0b84beec88 Move MemoryCallbackSystem from CoreComm to IDebuggable and refactor accordingly, Lua - tell the user when memory callbacks are not available for a given core 2014-12-05 01:56:45 +00:00
adelikat 11a8a009c5 AsDebuggable() 2014-12-05 01:01:58 +00:00
adelikat f5cc38c9cd AsInputPollable() 2014-12-05 00:59:00 +00:00
adelikat e2033c9d2e AsStatable() and also update statusbar saveslots on CloseRom() 2014-12-05 00:52:16 +00:00
goyuken 40416656a2 eliminate snowiy emulator option from CoreComm. this commit is a bit hackish 2014-12-05 00:39:02 +00:00
adelikat 04f9081943 in IEmulator extensions add methods such as AsMemoryDomains(), AsStatable() that do the service calling magic. In the client code replace appplicable casts of IMemoryDomains with AsMemoryDomains(), more commits of this nature for the other IEmulatorServices soon to follow 2014-12-05 00:32:29 +00:00
zeromus 29b217b587 big discsystem refactors and preliminary CCD handling. not to be considered stable, but ill start supporting it. 2014-12-04 05:40:10 +00:00
adelikat a07263c04e Move InputCallbackSystem from CoreComm to IInputPollable, and refactor all cores accordingly. Lua - OnInputPoll() - log to the user when attemping to add a callback of this type to a core that has not implemented input callbacks. Mark all unmanaged cores' implementations of the InputCallbackSystem as FeatureNotImpleented, won't have any effect on functionality, but will help us keep track of the fact that they still have a bit of work to do. Still todo: ActiveChanged event handler on the base implementation of IInputCallbackSystem 2014-12-04 00:43:12 +00:00
adelikat 4b321847a4 ugh, just disable all warnings in ArchiveUpdateCallback.cs 2014-12-04 00:02:01 +00:00
adelikat 471b73eb0b disable an annoying warning in 7z code, since we don't really maintain it, I won't fix it, just hide it 2014-12-03 23:57:26 +00:00
zeromus 26c35ca7b8 rough draft of file ID system. not ready to be used just yet, but I think it can go the distance. I'll have to hook it up later. 2014-12-03 06:14:59 +00:00
adelikat a83d714c42 Break off IsLagFrame and LagCount from IEmulator and put into its own interface IInputPollable, and refactor cores as necessary. EmuHawk - account for the possibility that a core is not an IInputPollable, and do things like disable the lag counter menu item. Still some front end todos. Also still todo, move the InputCallbackSystem from CoreComm to IInputPollable 2014-11-30 20:29:30 +00:00
adelikat 71c92cb87e don't freak out if someone attempts to rewind on a core that is not IStatable 2014-11-30 19:58:32 +00:00
adelikat 1e5474c345 SaveSlotManager - check HasSavestate() not IsNull() 2014-11-30 17:58:26 +00:00
adelikat eed16fafc8 TasStateManager - don't check for null emulator nor IStatable, fail catastrophically if a core is not IStatable, they shouldn't have gotten this far if it wasn't 2014-11-30 17:54:21 +00:00
adelikat 76148ae111 Break off savestate functionality from IEmulator into IStatable and refactor things accordingly. Still todo (a big todo): EmuHawk should gracefully handle a core that is not an IStatable by disabling functionality dependent upon it (Savestates, Rewind, Tastudio, etc) 2014-11-30 16:42:58 +00:00
adelikat 4681fef0c2 Add an IsNull() extension method to IEmulator (checks for null and if NullEmulator) and replace EmuHawk NullEmulator checks with this method instead 2014-11-30 14:18:44 +00:00
adelikat fdc9ea2aa9 fix issue 326 - Ram Watch, Ram Search showing actual value instead of frozen value on frozen addresses 2014-11-29 00:45:38 +00:00
adelikat 7c83b91e83 Ram Watch - fix a bug where loading a watch file with separators would throw a null reference exception 2014-11-29 00:28:48 +00:00
goyuken 70fc923d2c fix savestate speed regression accidentally introduced with r8117 2014-11-28 17:36:05 +00:00
adelikat 0e82fff3ff Clean out ClearSaveRam() calls since they are no longer used 2014-11-24 15:00:54 +00:00
goyuken ad1ca57163 comments! 2014-11-23 19:31:22 +00:00
goyuken 610ac0d4d2 correct lynx platform flamerate, fix bug in virtual boy platform flamerate 2014-11-23 19:25:47 +00:00
adelikat e6e2972e3d Make IMemoryDomains inherit IEmulator and simplify some code slightly as a result 2014-11-23 16:03:04 +00:00
adelikat be00dae474 Fix issue 316 - cancelling out of the core picker causes exception 2014-11-22 15:56:02 +00:00
adelikat d64be5ed76 SystemID is Lynx not LYNX, cuz I said so 2014-11-21 01:32:15 +00:00
adelikat 2041b15260 Tasproj loading - don't attempt to read from empty files if they exist but are empty 2014-11-20 00:14:33 +00:00
adelikat b4f7e13d1b Tastudio - in non-developer builds, set the minimum savestate frequency from 2 to 1 2014-11-19 16:22:03 +00:00
adelikat ea6966a911 Tastudio - fix loading of projects 2014-11-19 15:54:00 +00:00
adelikat 17c6a2c1f6 Snes - use the compatibility profile override option in the game db, note that it will be a temporary override for the game if detected, the user setting will not be permanently changed. This touched a bunch of things, and many other things had to be considered, there's a reasonable chance that this broke something 2014-11-19 00:32:51 +00:00
hegyak ce626011d4 Added SystemInfo and SystemId for Lynx 2014-11-18 12:09:11 +00:00
adelikat 5349affbc4 Tastudio - support "out of order savestating" using saveslot states. Experiemental, could have bugs particularly off by one issues 2014-11-15 21:49:58 +00:00
adelikat 410078081c Tastudio - fix lag lag to reflect the next frame 2014-11-15 14:55:44 +00:00
adelikat 80dae0d026 Tastudio - refactor lag log to be a list of frame,bool combinations instead of just a list of bools, note: this changeset reverts the list back to an "off by 1" where it corresponds to the current frame not the next frame, that will be solved in a later commit 2014-11-15 14:31:18 +00:00
adelikat aa38ad24a2 Bk2 movies - don't save when switching to play, note: when stopping a movie in play mode, the movie will not be saved unless there are changes, the Save() that was removed here masked problem with potential failure to save. As of this commit, bk2 movies rely on the Changes flag to be accurately set 2014-11-14 00:00:18 +00:00
adelikat 891d3933bd Don't increment the Rerecord counter with loading a bk2 or tasproj movie, fixes the obvserved issue in issue 303. However, a bigger concern is why loading a movie and stopping it is causing the movie to be saved in the first place 2014-11-13 23:49:58 +00:00
zeromus a7432a1e52 firmwaremanager now tracks filesizes, and filesizes of known firmwares are used to restrict scope of scanning 2014-11-13 00:09:16 +00:00
zeromus ba0eca8a69 do firmware hash calculation differently without needing a buffer, for users with GBs of roms in their firmware folder 2014-11-12 01:27:11 +00:00
zeromus 4d5b25600e add a GC.Collect() call to workaround a .net slow-GC problem, and fix an old bug related to firmware scans occurring several times actually every time you think it should happen once, which probably wasn't helping things 2014-11-12 00:04:08 +00:00
adelikat b0eb4ee791 When loading a movie that specified quicknes or neshawk (or bsnes vs snes9x), don't permanently override the user's core preference 2014-11-09 17:14:16 +00:00
adelikat 150dcae98d When importing snes movies, set the movie sync settings to Compatibility profile 2014-11-09 16:49:11 +00:00
adelikat 2f51331ca8 Fix a nasty bug in movie loadstate behavior 2014-11-09 15:48:06 +00:00
adelikat a932cef662 Add a description attribute for EmulatorLuaLibrary 2014-11-08 14:08:32 +00:00
zeromus 8c1eaf25ff system for more thorough tooltips in hotkey and controller config dialogs (so, for instance, the function of a key can be described) 2014-11-07 16:58:27 +00:00
adelikat 149a759a26 Tastudio - oops, fix major bug in r8145 2014-11-02 14:25:06 +00:00
adelikat 38f6661cc1 mnemonic constants for option 1 and 2 buttons on lynx 2014-11-02 14:11:14 +00:00
adelikat 2f3f3d29fc Tastudio - invalidate lag log when editing frame 0 2014-11-02 13:52:45 +00:00
adelikat 7f18d9ebc0 Fix bugs in last commit 2014-11-02 01:10:19 +00:00
adelikat f7460d1821 Tastudio - make green/red drawing for lag correspond with FCEUX's taseditor. Rather than show what the lag counter is saying, show what the next frame will be. The logic here is that green means a frame in which an edit will have an effect on emulation and red means it will not. 2014-11-02 00:39:53 +00:00
adelikat 8197f96c98 TasMovie - make a TasLagLog class to simplify some code 2014-11-02 00:22:04 +00:00
adelikat 01909dfb98 Tastudio - When creating a savestate-anchored movie from an existing movie, copy the previous input into VerificationLog.txt 2014-11-01 14:01:21 +00:00
adelikat 900ce76a3b TasMovie - add a VerificationLog.txt file in the tasproj, doesn't use it yet but it does properly save and load it, will save if there is any log entries, will load it if the file exists in the tasproj 2014-11-01 13:37:18 +00:00
adelikat 6611ddd9ba Some fixups to TasMovie - mostly code cleanup but also some subtle bug fixes 2014-11-01 12:50:36 +00:00
goyuken dc2ca1f010 remove the extra ISettable (non-generic argument) interface and corresponding crud from cores, and replace with a shim class 2014-10-31 15:46:13 +00:00
adelikat 549b948ffd Tastudio - add a context menu "create new project from here", it will take the currently selected frame and create a savestate-anchored project on this frame (keeping any input after this frame), and load this new project. 2014-10-30 23:29:21 +00:00
adelikat bd9a47f780 ToTasMovie() - apply the same hacky fix that ToBk2() received 2014-10-29 21:52:35 +00:00
adelikat 7ffe0805c1 When converting an IMovie to a TasMovie and auto-generating the filename, check that the file exists, and ensure a non-existent filename 2014-10-29 21:41:01 +00:00
goyuken ff95066672 quicknes: reject (with the appropriate unsupported exception) any bootgod positive euro rom 2014-10-29 18:58:43 +00:00
goyuken daf74eb91b framebuffer in movie anchor states 2014-10-27 01:14:47 +00:00
adelikat e3b6d29956 Refactor last commit and some other code so that reset happens in a singular place when loading a state from the state manager 2014-10-26 23:37:42 +00:00
adelikat 59494767f5 Tastudio - refactor TasStateManager GetStateClosestToFrame() to return a KeyValuePair (frame number and savestate data) so the calling code has a clue which savestate was returned, reset counters if a savestate-anchored movie's "anchor" was loaded 2014-10-26 23:26:43 +00:00
adelikat fa9971022b TasStateManager - GetStateClosestToFrame() - state savestate anchored movies into account 2014-10-26 23:17:20 +00:00
zeromus 5cf5894329 firmware importer now supports archives 2014-10-26 14:22:26 +00:00
adelikat 170bc4aab0 TasStateManager - Invalidate() - take savestate anchored movies into account 2014-10-25 19:33:28 +00:00
adelikat b301546237 TasStateManager - take starts from savestate into account in the HasState() method 2014-10-25 16:11:40 +00:00
adelikat 429b298dc1 TastStateManager - take starts from savestate into account when deciding if there are any states 2014-10-25 16:05:11 +00:00
adelikat c49e51d03f When converting a movie to a tasproj, properly capture whether it starts from savestate and make the appropriate marker 2014-10-25 15:47:15 +00:00
adelikat 7be7f3aba6 Fix putting sync settings into movies for some cores, broken by the change to ISettable 2014-10-23 22:30:47 +00:00
adelikat 53fa3b9ada Tastudio - fix crashing after using Export to Bk2, running out of memory on export though, a definite concern now 2014-10-23 01:32:27 +00:00
scepheo 28f21e1775 Lua:
- LoadState through Lua isn't counted for movie RerecordCount.
 - Added movie.setrerecordcount and movie.getrerecordcount for people who really want to count their bot loadstates.
2014-10-20 20:31:31 +00:00
adelikat d0aee55059 Tastudio - a bit of simplifying some code 2014-10-20 19:04:59 +00:00
adelikat 3593588d5f InputRoll - ColunReorder event handler, Tastudio - subscribe to this event handler and flag changes to the movie (since this information is saved into the tasproj file) 2014-10-19 14:46:01 +00:00
adelikat eb28732087 when setting IMovie.SyncSettingsJson, simply do not set it if the core is not an ISettable, rather than throwing an exception 2014-10-19 01:39:43 +00:00
jlennox a64017366c Create ISettable<T,T2>/ISettable interfaces. This checkin has not been extensively tested. 2014-10-19 01:22:47 +00:00
jlennox 01a994fe9c Break IDebuggable off from IEmulator 2014-10-18 22:13:25 +00:00
adelikat d6b4ce6dfe A fix to RunQueuedMovie, this doesn't seem to cause regressions, and I don't that the old code was behaving incorrectly, but the code was definitely wrong, and this is correct 2014-10-18 20:55:10 +00:00
adelikat ceb79a4c26 Tastudio - make a new project called default.tasproj rather than gamename, only use gamename when suggesting a movie in a Open/SaveFileDialog 2014-10-18 15:50:12 +00:00
adelikat e1b0544668 TasMovie - fix stop movie, if there were no changes to the movie file it was IGNORING the request to stop, that was bad and was the cause of various subtle oddities 2014-10-18 15:17:49 +00:00
adelikat 305dea53ab Tastudio - a dialog to change the default "greenzone" settings 2014-10-18 01:01:45 +00:00
adelikat 48eb40449c Make TasStateManagerSettings use default values from the config, next step: a ui to change the config values 2014-10-17 22:47:30 +00:00
adelikat f930622b5e Move TasStateManagerSettings to its own file 2014-10-17 22:39:40 +00:00
adelikat fe9dade094 tasmovie - don't capture information on GetInputLogEntry(), that is code that should have been been whaked when refactoring Everything ot UseGetInputState() instead. Still todo: get rid of this method alltogether 2014-10-16 23:11:29 +00:00
adelikat e58e911d7e Tastudio - when emuhawk is playing back frames, we must be logging lag and savestates in tasmovie if we do not have the information! This fixes a number of "spooky" bugs I've been finding! 2014-10-16 23:05:59 +00:00
adelikat b87177a0b5 Tastudio - implement the "Empty new Marker notes" menu item 2014-10-15 16:09:14 +00:00
adelikat 5436a7d24e BinarySavestates - add a HasLump() method, and use it to check for clientsettings in tasproj since it may or may not have it 2014-10-15 15:55:41 +00:00
adelikat 3be3264d60 TasStateManager - make frequency based on savestate size, formula should be tinkered with to get best results on all platforms, also dont' ever capture frame 0 on savestate-anchored movies since the anchor will be returned when 0 is requested 2014-10-15 15:47:04 +00:00
adelikat fc311c12e9 Tastudio - never remove the frame 0 savestate in non-savestate-anchored movies 2014-10-15 15:23:48 +00:00
adelikat e6cec0f52f Tastudio - Saving and loading of column info to the .tasproj file, loading is still problematic because it is being whacked by code that rebuilds the columns later, need to unspeghettify some things 2014-10-14 18:09:30 +00:00
adelikat ce58f0e803 Tastudio/TasMovie - simplify some more code 2014-10-14 13:31:14 +00:00
adelikat a639cfd275 remove some code in tasmovie that isn't necessary now 2014-10-14 13:24:15 +00:00
adelikat 9304283c03 Remove some unused config variables 2014-10-14 12:53:54 +00:00
goyuken 79f36198e9 play around with 7z a bit 2014-10-13 05:08:34 +00:00
goyuken 4539819156 internal improvements to 7z savestate writer 2014-10-12 04:57:49 +00:00
goyuken 4ee816e8bc code to use 7zip (unmanaged) to write archives, not active for the moment, still stuff to do 2014-10-12 04:24:31 +00:00
zeromus 4eeb48db13 block the use of the input stream length property by unmanaged 7z code. I think it was only using it for progress reporting. 2014-10-12 02:49:02 +00:00
zeromus 0303871ac5 sevenzipsharp - remove broken code which was requiring input streams to be seekable so that it could get their length so that it could produce a percent-based progress report 2014-10-11 21:26:39 +00:00
adelikat 2fb986715e tastudio - implement follow cursor 2014-10-11 19:43:05 +00:00
goyuken a09c488f5b add infrastructure to use alternate zipping libraries in savestate. use DotNetZip for some speedupzzzzzzzzzzzz 2014-10-09 23:39:13 +00:00
goyuken 277b277c2e benchmark savestate time to console 2014-10-09 01:49:44 +00:00
zeromus 45f7317b58 add exit program hotkey 2014-10-07 01:20:48 +00:00
goyuken c0beeb50b1 add atari lynx to pathconfig 2014-10-07 00:40:16 +00:00
adelikat 99e6b7ce27 Tastudio - for devleoper builds add a Greenzone Integrity Check menu item, runs through the movie and verifies the greenzone states are identical to the data gathered from emulating and replaying the movie and savestating 2014-10-05 14:11:30 +00:00
adelikat cfff19b808 TasStateManager - add an InitialState property, not used yet and has limited value, but might help with clarity 2014-10-05 12:59:12 +00:00
adelikat fda36d349d a fix to the fix of last commit 2014-10-02 23:50:50 +00:00
adelikat d0970c5ba4 fix last commit 2014-10-02 23:19:37 +00:00
adelikat 535ba7dc4a TasStateManager - don't delete frame 0 greenzone, todo: refactor to store this (for non-savestate anchored movies) separately 2014-10-02 23:10:36 +00:00
adelikat 4addd7fcbc Tastudio - implement a Clear Greenzone menu item 2014-10-02 22:58:36 +00:00
adelikat adf07367ad Support lynx .mcm importing, however it appears there are sync differences in the lynx cores 2014-09-29 22:39:06 +00:00
adelikat f4d3b70469 Ram Watch - fix issue with stale memory domains when rebooting a core, some cores were unaffected, cores like atari 2600 were affected by this bug 2014-09-28 16:39:53 +00:00
adelikat e00801d6f3 tasmovie - only save when stopping if there are changes 2014-09-27 23:56:23 +00:00
adelikat 734b8338bc Fix always getting a "movie was written to disk" message when stopping a movie, will now only say so if it actually was saved to disk 2014-09-27 23:44:59 +00:00
adelikat 1dc789eb02 Ram Tools - support poking frozen values, fixes issue 266 2014-09-27 21:52:15 +00:00
adelikat da7cb4ec59 when loading a movie, gracefully handle a movie/rom system id mismatch 2014-09-27 15:49:39 +00:00
adelikat 624ad32d4e Tastudio - fix some go to frame logic, but probably broke stuff too 2014-09-22 23:24:34 +00:00
adelikat ea3f86c11e Tastudio - Fix some erroneous StateManager logic 2014-09-22 22:52:34 +00:00
adelikat 0ef72d3ab2 Tastudio - fix a bug in tastatemanager 2014-09-22 14:44:32 +00:00
adelikat 8b212da594 tastudio/lua - implement tastudio.getmarker(), tastudio.setmarker(), and tastudio.removemarker() 2014-09-21 15:17:29 +00:00
adelikat 538c4632af Add a LuaLibraryAttributes attribute to lua libraries with a Released property, only register libraries that are released except in Developer Builds, set tastudio library Released flag to false 2014-09-20 01:00:50 +00:00
adelikat b3fffa99d3 Fix a bug in movie recording when the movie end action of "record" is picked, in that case, switching to record after a movie finishes was eating a frame 2014-09-18 22:54:15 +00:00
zeromus 81e1cfe549 satisfy my own comment about the " C " 2014-09-14 18:01:20 +00:00
zeromus 8447c46761 fix UDRL mutex. fixes issue #264 2014-09-14 01:43:42 +00:00
zeromus 7e3144fd07 support custom AR and display client size while resizing. fixes Issue #251 . 2014-09-14 00:51:30 +00:00
adelikat 1efaa896bc Add a N64 TAS profile in the profile config, has identical settings to TAS but also the Frame Advance skips Lag Frames option set to true 2014-09-13 01:21:55 +00:00
zeromus 2c8295ba76 Fix bug with core inventory launching n64 core with data that romgame had mangled in cases. todo: delete romgame. 2014-09-12 01:02:09 +00:00
zeromus 87e9d235f6 make some effort to support memdomain of full 32bits size, and use it for n64 system bus. make sure to check that its disabled in ramsearch engine and in hex editor. we could probably fix it to work in hex editor later. 2014-09-09 21:34:41 +00:00