Commit Graph

1873 Commits

Author SHA1 Message Date
zeromus 07ad0acdbe displaymanager experiments for superior vsync 2012-06-10 20:48:04 +00:00
zeromus 2b5fd9e8d9 display manager speedup-dont use any gdi+ unless absolutely necessary (d3d renderer less sensitive to window size) 2012-06-10 19:52:54 +00:00
brandman211 7d23581764 Set lastchange to Value in Watch's explicit value constructor to match the change to prev. 2012-06-10 19:33:11 +00:00
adelikat a2a98415bf Ram Watch - show initial value of a watch when it is initially added (from adding it or loading a file). Fixes issue 74 2012-06-10 17:45:20 +00:00
adelikat 81198cc89f Hex Editor - add a save as binary option (in addition to the text option) 2012-06-10 17:28:38 +00:00
adelikat bac863aa70 Hex Editor - add Copy/Paste functions 2012-06-10 16:34:35 +00:00
brandman211 646a6c1c58 -Fixed my GetMnemonic crash fix. It's "Null Controller", not "NULL Controller".
-Made it so that each new search zeroes out the change count.
--This prevents all non-zero items from starting out with 1 change.
--A similar fix needs to be applied to Ram Watch (Filing issue...).
-Allowed changing data size, endian, and unaligned address setting in the middle of the search and maintaining valid values, fixing Issue 72 (The last open Ram Search issue until my "Difference" idea is hopefully accepted).
--Unlike my previous model, this does not align unaligned addresses; all it does is change the size / endian and PeekAddress.
--It does remove unaligned addresses, however, if you have it set to.
--This version converts System Bus instantly whereas the previous version stopped responding.
2012-06-10 04:32:25 +00:00
zeromus 51547d208a no blurry presentation on ati cards by setting minify filter to point. to be honest, i cant fathom why this fixed it, since we're magnifying, not minifying. maybe its auto-aniso heuristic was getting triggered. further research: setting card to fixed 2x aniso disables heuristics and would have fixed this issue, since the correct mag filter (point) would get chosen as we specified. however this fix is still technically correct. 2012-06-10 03:53:32 +00:00
zeromus 5b86a9c375 emergency measures to return display thread stuff to the way it was before (i think? i hope?) as a reasonable baseline when no video pipeline fanciness is called for (no lua overlay, for instance) so that this is useful for gaming again. also add a toggle for the entire HUD system which bypasses some extra work for people stuck in sysdrawing mode who need more speed. 2012-06-10 02:19:36 +00:00
goyuken 966509858d disable old debug code in FFmpegWriter.cs 2012-06-10 02:09:37 +00:00
goyuken 32d163e409 add FFmpegWriter, pipes data to ffmpeg for encoding. Only handles video directly; audio is saved as .wav file separately (via WaveWriterV).
ffmpeg parameters cannot be set at the moment,  defaults to x264 rgb lossless in mkv
2012-06-10 00:53:19 +00:00
adelikat 3451d3391e Refactor readword/dword similarly to Ram Search 2012-06-09 22:56:08 +00:00
adelikat e025ca99bf Hex Editor - Find - start searching from highlighted value so that multiple find calls go to the next value. Show highlighted value in input box by default. 2012-06-09 22:45:24 +00:00
goyuken e2bc6db3a4 new build of ffmpeg from http://ffmpeg.zeranoe.com/builds/
supports rgb x264, which can be quite useful for emulator dumps
2012-06-09 22:18:44 +00:00
brandman211 2580489986 Refactored previous parameter in CompareTo and ComparePrevious from strings to enums. 2012-06-09 22:10:39 +00:00
adelikat b2c9171b90 Hex Editor - Find option, allows you to enter a series of hex values and search ram for this combination 2012-06-09 22:04:09 +00:00
adelikat c0d5437ff4 Ram Watch - revert "fix" to watch count display, make watch list count update in appropriate places, don't count separators in watch count, fix cosmetically be showing "watch" instead of "watches" when there is 1 address 2012-06-09 21:57:00 +00:00
brandman211 376ffd3ba4 -Refactored what zeromus wanted me to and nothing more.
-The number of watches in Ram Watch is now updated in UpdateValues instead of LoadWatchFile, meaning that it's updated every time items are added / removed.
--Also noticed that separators count as watches. Filter these out and exclude them from the count, adelikat?
2012-06-09 21:43:02 +00:00
adelikat 14b5a4204b Ram Search - specific value box - only show hex in uppercase 2012-06-09 16:37:03 +00:00
adelikat 45fb9571eb Play Movie - fix browse button and drag & drop 2012-06-09 16:28:01 +00:00
adelikat 0eae1a07fc Watches - cleanup PeekAddress() some 2012-06-09 14:18:28 +00:00
zeromus 1fbf9940c9 make peek/poke word/dword make some semblance of sense 2012-06-09 08:44:27 +00:00
brandman211 1c5a5a5ac3 Seemingly fixed the casting problem.
-UGLY REDUNDANT UGLY REDUNT UGLY REDUNDANT (Especially for DoSpecificValue() and DoPreviousValue()).
-I tested every possible scenario for the aforementioned abomination and it seems to work.
-I applied SignedVal and UnsignedVal to the comparison functions for sorting, the ToString functions, and specific value and previous weedings. I don't think there's any other places where this is an issue.

TODO:
-Try my mid-search data size conversion code again.
--Use it on System Bus and see if it is as slow (Not Responding) as it was previously now that 3 lists have been removed.
--Try allowing unaligned addresses and see if that makes any difference.
-Convince adelikat that moving "Prev value as change" to its own data item and column ("Differences" seems more appropriate) is the only sensible way.
-Maybe move all of the previous definitions from Ram Search to Ram Watch (With the exception of "Since last Search" of course.
-Perhaps allow the viewing / hiding of more columns on Ram Watch / Search.
2012-06-09 08:29:31 +00:00
brandman211 06d4017b07 Unsigned / signed conversion for the Specific Value now works for word / dword.
-Well, dword is broken in general because of casting, which will hopefully be fixed soon...
2012-06-09 06:52:04 +00:00
brandman211 720193b50f -Cleared the sorted column whenever the previous definition, data size, data type, or endian changes because these options might place the values out of order.
--Well, data size and endian don't, but they will once these changes take effect in the middle of a search.
-Previous can now be defined as the last change, fixing the enhancement shown in Issue 73 (Ram Watch equivalent might come later).
-Fixed unsigned sort.
2012-06-09 06:40:11 +00:00
adelikat f02d28fb38 Ram Search/Watch, Hex Editor - improve some code efficiency, tiny speedups if any 2012-06-09 05:34:01 +00:00
brandman211 f716caeae5 Temporary fix for the ROM loading crash issue. Will report if it crashes again. 2012-06-09 02:24:19 +00:00
brandman211 3b54bd268a -Useful refactoring!
--prevList, undoPrevList, and redoPrevList removed. All of the definitions for previous are now stored in separate data items.
---Should yield small speed increases.
---Makes it easier to port these definitions to Ram Watch eventually.
---Auto-aligns data, making it impossible for issues, such as the original values not aligning with the correct values because the prevList wasn't recreated, impossible.
---Makes it possible for the field to automatically update when the definition is changed (Implemented).
--Value/PrevToString() now use the same code.
--Reduces redundancy.
---This was a problem as PrevToString wasn't taking into account the data type, whereas Value was. This is now fixed.
-Watch now stores the data for the "last change" previous definition. Now I just have to set up the option in the GUI.
2012-06-09 01:56:56 +00:00
brandman211 eefb41f0b3 -Added message saying that the data type has been converted when you change the data type.
-Moved the "Included mis-aligned" box to data size where it should be.
2012-06-08 18:59:20 +00:00
brandman211 e5972f1368 Fixed Issue 44. I created two new lists, undoPrevList and redoPrevList which are updated / restored in the same places as their counterparts with prevList instead of searchList. 2012-06-08 06:23:33 +00:00
brandman211 3aaf57802c Fixed Issue 43. In hindsight, the problem was very obvious: "Since last frame" uses searchList while the other options use prevList, and only the former ever got sorted! 2012-06-08 05:15:07 +00:00
brandman211 4a6fed75d9 ConvertListDataType now converts all of the lists. 2012-06-08 02:25:24 +00:00
brandman211 67a9f86c78 -Fixed GetSpecificValue(), which means that signed searching works now.
-Upon changing data type, the contents of the specific value box converts accordingly.
2012-06-07 23:17:22 +00:00
zeromus cff7ba6d24 nes-fix lagrange point, including sound 2012-06-07 20:52:49 +00:00
brandman211 38d22b8549 Exlude => Exclude. >_< 2012-06-07 20:24:29 +00:00
brandman211 5a678f96d8 Fixed Issue 69 by properly chucking the invalid lines out of watch files instead of trying to get out of range substrings and parsing non-numbers as integers. Also, as the newly stored SystemID has yet to be accounted for in any way, I made the parser skip those lines. Not sure if there's something Ram Watch should do with this data as it seems like the SystemID is more accurately defined by the core currently running. 2012-06-07 18:41:39 +00:00
phillip.grimsrud cb4c45eb70 1. Upgraded insert and delete functions in tastudio to support multiple selection.
2. Fixed issues with the light blue current frame pointer in tastudio
3. Removed a totally useless index that was being kept seperately in the movie log.
4. Moved the tastudio update after the check to see if the rest of the saved state list is valid.
5. Changed some function/variable names related to the movie log for clarity.
2012-06-07 04:47:54 +00:00
adelikat 93b266838c Add drag & drop for lua and luases files to main window. Allow multiple lua script drop to console and main window 2012-06-07 03:41:45 +00:00
adelikat c8d07a5078 Ram Watch/Search - add System ID to .wch files 2012-06-07 03:16:25 +00:00
beirich 7e1ccc4faf Update gamedb entries for Neutopia 1 & 2 2012-06-04 22:25:43 +00:00
adelikat a9eeac6d64 Lua - fix bug that was causing lua functions to duplicate each time a lua script was toggled or opened, eventually causing crashes. 2012-06-04 02:33:34 +00:00
beirich fe369e0455 pce: alter handling of reading $1FF402 irq status port, fixes Aldynes intro freeze 2012-06-03 20:09:09 +00:00
beirich 775845184c update ROM header detection algorithm. Fixes some homebrew roms which have no header and aren't padded to a multiple of 1024 bytes. 2012-06-03 05:39:30 +00:00
phillip.grimsrud c7db5fd543 1. Fixed an issue that prevented going into the movie finished state properly.
2. Relegated a memory leak to tastudio.
2012-06-03 04:04:13 +00:00
adelikat 1275744b14 Disabling unchecked greenzoning for now 2012-06-03 01:18:13 +00:00
adelikat 8ca6b24614 Cheats, Lua, Ram Search/Watch - flag changes when adding a separator, default to SaveAs if saving a new file, allow Save in menu item in this scenario 2012-06-02 22:06:00 +00:00
adelikat 393dd9dcfe Ram Watch/Search, Hex Editor - set endian based on the endianness of the memory domain by default 2012-06-02 21:48:09 +00:00
adelikat 0a0c4b43ae Hex Editor - add Go to Address to the context menu 2012-06-02 21:18:21 +00:00
adelikat a74fbb84fe Fix Ram Poke for Ram Watch/Search dialogs 2012-06-02 21:07:29 +00:00
adelikat 6578371bca Hex Editor - remove poke context menu item, since there is no need for it, just type in the values! 2012-06-02 18:49:06 +00:00
adelikat 2e5547806d Ram Search - add View In Hex Editor menu item to the context menu 2012-06-02 14:38:35 +00:00
phillip.grimsrud d6479e5613 These changes are TAStudio related.
1. Added a list of save states to the movie log.
2. Added corresponding support functions for the save states.
3. Added double click to the list view to load a previous frame.
4. Added a context menu to the list view with insert and delete.
5. Fixed some issues with the green zone of valid state history.
6. Fixed an input bug that I had unwittingly created, as well as issues with the nes log format.
2012-06-01 05:49:26 +00:00
adelikat 986774f5ee Multiclient menu - moved many toggles from the GUI to the Enable submenu. Also fixed a taborder mistake in the hotkey config dialog 2012-05-31 01:51:47 +00:00
adelikat 820875fbae Multiclient menu - disable the movie, avi, and screen shot menus when no ROM is loaded 2012-05-31 01:13:25 +00:00
adelikat 9d5e4d9451 Fix so that rewind only sends bizhawk into play mode if it was in record mode previously 2012-05-30 00:52:08 +00:00
phillip.grimsrud c813cd853b Fixed a rewind buffer problem. A recent hack started the rewind buffer by saving the state after frame 0 to the start of the rewind buffer. This fix saves the state to LastState at the end of the rom load. This way the rewind buffer starts with a diff between the state after rom load and the state after frame 0. 2012-05-28 04:59:22 +00:00
phillip.grimsrud 9a1e18045e Fixed rewind to still work if there is no active movie. 2012-05-28 03:32:27 +00:00
adelikat 0118b34b41 Slight UI fixes - show mapped hotkey for Open TAStudio on TAStudio menu item, fix alignment of a few boxes in the hotkey config 2012-05-28 03:09:47 +00:00
phillip.grimsrud bf325ec082 Fixed TAStudio read-only mode button to change the movie mode instead of changing the read-only flag which has a different meaning. 2012-05-28 01:50:16 +00:00
adelikat 520dfcb37b Revert SetReadOnly() function 2012-05-28 01:29:43 +00:00
phillip.grimsrud f7ee1dbbf3 Added an image for the TurboFastForward button which was entirely forgotten in my previous commit. 2012-05-28 00:56:51 +00:00
phillip.grimsrud fc0ec832ae These changes are for TAStudio upgrades. If I've broken other stuff please yell at me.
1. Hooked up Fast Forward, Fast Forward to End
2. Made a placeholder for Turbo Fast Forward.
3. Fixed rewind to not stomp on the previous frame with new input.
4. Fixed rewind to stop at the beginning of the movie instead of freaking out.
5. TAStudio now shows data from the most recent frame.
6. CommitFrame is called even if not recording so played back frames also show up in TAStudio.
7. Play mode only stops at the end of the movie if you tell it to. Your emulator normally continues to play with no input after the end of the movie.
8. TAStudio is now updated after a rewind (even though the rewind doesn't play a new frame).
9. Split the tools update into before and after updates.
10. Going into read-only mode adjusts the movie mode.
11. Implemented New, Open, Save, and Save As for TAStudio.
12. Fixed an issue where frames past the end of the log would default to the input from the last frame of the log.
13. Fixed a problem where you couldn't rewind to frame 0.
14. Fixed a scrolling issue in the TAStudio list view.
15. Fixed an issue with the TAStudio virtual NES controller not matching up with the log.
16. Fixed an issue where the NES reset button would get held in when rewinding.
17. Added/Modified a couple of button graphics.
2012-05-28 00:44:27 +00:00
adelikat bd3e576614 Move Help menu back to its intended location 2012-05-20 15:37:01 +00:00
adelikat 147caec758 GameboyHawk - Skip BIOS menu option 2012-05-19 15:17:32 +00:00
adelikat b08d338761 Gameboy - make debugger useful by connecting it to the multiclient events 2012-05-19 13:33:45 +00:00
adelikat abba87738f Fix input config for Gameboy, some small random work on ColecoHawk 2012-05-18 22:57:05 +00:00
zeromus 42715fdca7 rehabilitate the GB core: fix videoprovider and input system 2012-05-18 18:28:12 +00:00
adelikat 9c5f56308b Gameboy - fix the assigning of the active controller/autofire controller when loading a gameboy core (fixes crash when attempting to run a gameboy game) 2012-05-16 03:14:50 +00:00
brandman211 7ab8fe087a Fixed drop down labels in RAM Watch and Search. 2012-05-12 07:07:34 +00:00
brandman211 23b3cedf7d Removed the now redundant TargetZoomFactor scaling for drawRectangle. Drawn shapes now scale nicely. Whether or not text should be drawn this way is a worthwhile discussion IMO, but as zeromus has said, it would require text to be drawn in the same way like shapes. 2012-05-11 21:11:29 +00:00
goyuken 78a0494708 add WavWriter, writes standard WAV files for capture. For the moment, only available as its own IVideoWriter (that discards all video frames). Choose by selecting .wav format in the start avi capture file select dialog. 2012-05-11 17:00:44 +00:00
goyuken b35ab0d936 Add JMD to config.cs, and fix whitespace on JMDWriter.cs.
My editor whitespace settings are correct now, I promise!
2012-05-10 00:38:26 +00:00
goyuken a313d3910d Add sound output to sound card while dumping is occurring. Uses a proxy ISoundProvider (DualSound.cs) to guarantee emulation sound core and dumping routine are unaffected, while sending "best effort" sound to system output. Doesn't sound great, but simple and functional. 2012-05-09 20:21:23 +00:00
goyuken 35a9edc018 Refactor JMDWriter to be a bit less painful to read 2012-05-09 15:08:57 +00:00
goyuken d0ada9dbb3 AviWriter.cs: be informative if worker thread dies 2012-05-09 01:00:16 +00:00
goyuken d70a4e0a9c clarify some comments and add more comments to JMD code 2012-05-09 00:15:59 +00:00
goyuken 1980011952 Add user interface to select compression options (level and number of threads) for JMD dumper. 2012-05-08 22:19:12 +00:00
goyuken 037870eb43 Select between JMD and AVI at save file dialog. 2012-05-07 23:18:08 +00:00
goyuken ab6f9b175f Add JMDWriter.cs, dumps to JMD format. No 2G limit, and single segment even across multiple resolutions. Can use a bunch of cores, but still not terribly fast. Hasn't been hooked in to the UI yet; for testing, change MainForm.cs:2669 2012-05-07 21:45:25 +00:00
zeromus de0cdf1c3c add sharpziplib for gzip so we can make portable JMD dumping without relying on the native 7z.dll 2012-05-07 18:42:43 +00:00
goyuken cdd82cbb06 Rename VideoWriter IVideoWriter per zeromus 2012-05-06 22:18:16 +00:00
goyuken 02ca0e82e9 Create new interface VideoWriter, which AviWriter inherits from. Sets up for other video dumping systems. 2012-05-06 22:08:47 +00:00
zeromus 857d0a5b39 voila, "emu" resolution lua drawing, hacked in place of the native resolution drawing because rolanmen1 decided to destroy my surface management paradigms (i can tell because the earth is scorched with spaces instead of tabs) 2012-05-06 07:09:04 +00:00
brandman211 05157997f1 -Added a very basic fix to the graphics scaling issue per adelikat's advice.
--Gets worse as the scale increases.
--For x3, the box doesn't increase size, but the box still changes position. I think there might be a difference between the TargetZoomFactor and the actual screen size, so perhaps we should tie this to something else.
-Working on very small optimizations to the NES PPU with CorruptedSyntax...this is more fun, so we'll do this first.
--Eliminated an entire loop.
--Branched to two loops instead of branching for every iteration in one loop.
--Got rid of some redundant instructions using temporary variables.
--This may be completely premature, but I seem to have gained a few FPS from doing this. For me, I get 38-39 FPS where I'd previously get 33-34.
2012-05-06 04:09:28 +00:00
adelikat 059aebec8e ColecoHawk - set up ROM loading (bind .col to Coleco), set up preliminary controller garbage in 85 places for coleco 2012-05-06 00:54:13 +00:00
beirich 604a774118 Add 2 SMS homebrew and a GG prototype to gamedb 2012-05-05 22:43:11 +00:00
goyuken d964558856 Multithreaded AviWriter.cs
Moves calls to AVIStreamWrite() to a separate worker thread.  They are where all of the cpu time for video compression is used, so can give a decent speedup.  Could conceivably go slower on pathetic single core machines due to synchronization and copy overhead.
2012-05-05 14:52:23 +00:00
Rolanmen1 9b9a8546a5 Deleted the ClearDisplaySurface functions. If you just need to clear the graphics, call gui_ClearGraphics function in LuaImplementation. 2012-05-01 15:15:19 +00:00
Rolanmen1 2799d55f4a Now gui.drawNew and gui.drawFinish doesn't need to be invoked via Lua Scripts. However they are invoked every frame. Basically, this means that graphics are drawn and cleaned every frame. So, if you Pause/Stop a script, the graphics gets cleaned right away. 2012-05-01 14:43:17 +00:00
adelikat 22eec9c4d7 Archive Chooser - put (U) [!] roms at the top of the list 2012-04-30 01:26:37 +00:00
adelikat 54d1c873df Fix when guitext gets cleared, reduces most of the flickering and inconsistencies with ram watch on screen and lua gui.text, fix punchoutstats lua script 2012-04-30 01:14:23 +00:00
adelikat e60ba05e66 Gui.text - fix inverted default fore/back colors, fix lua scripts to use new gui.text parameter scheme 2012-04-30 00:45:37 +00:00
adelikat e0dc96abdc GUI Text / Ram Watch on screen display - fix inverted foreground and background colors 2012-04-30 00:30:44 +00:00
adelikat fffe30f4f9 Atari - add a version of Magicard to the gamedb 2012-04-29 19:40:28 +00:00
adelikat 25c2e45da8 movies - use Global.Game.System not Global.Emulator.SystemId for the System header when recording a new movie 2012-04-29 14:18:10 +00:00
adelikat 38dd7889b3 Input Config - hide Enabled checkbox since we have no intention of supporting the disabling of a controller at this time. 2012-04-29 14:06:24 +00:00
adelikat 5e91cc2a7e TAStudio - clear holds menu item & context menu item, clears all buttons pressed on the virtual pads 2012-04-29 13:25:35 +00:00
adelikat 8df4ac18bd Play Movie Dialog - show warnings on mismatches for system, movie version, and emu version 2012-04-29 13:11:33 +00:00
adelikat d9134ac6ce TI-83 add a bunch of rom versions to gamedb, mark bad dumps accordingly, and display the version number when displaying the rom name 2012-04-29 03:58:06 +00:00
adelikat 3d10431a2b Atari - implement console switches (as menu items) 2012-04-29 02:48:33 +00:00