Commit Graph

227 Commits

Author SHA1 Message Date
harry 5847c0c364 Initial add of execution profiling debug code. This code is only included in the build if the __FCEU_PROFILER_ENABLE__ macro is set. 2023-05-08 07:50:26 -04:00
harry 3e9398f973 Added a timed pause state for use by the state history loader. When the user backs up to a previous state, give the option of temporarily pausing to give the user time to visually process the state before resuming game play. When in this state, an unpause count down can also be optionally shown on the upper left of the video display. Also, setting pause during this state down will cancel the count down and put the emulation into full pause. TODO add GUI config hooks to control video overlay and duration config options. 2023-03-31 05:34:32 -04:00
harry d7c23fa92e FCEU state recorder in work. 2023-03-04 16:34:21 -05:00
harry 2d81c9c7b2 Added frame advance delay config parameter to Qt GUI and set delay default to 40 frames to match win port timing. Also, reset frameAdvance_Delay_count to zero before setting frameAdvanceRequested flag to avoid possible race condition where emulation thread can miss seeing zero count and not temporarily pause when it should. 2023-02-01 01:06:48 -05:00
harry f815c849c2 Added FCEU printf format specifier macros to enable compiler checking of format strings for custom printf style functions. 2023-01-29 19:38:30 -05:00
harry 7c3c3caf93 More int comparison sign mismatch compiler warning fixes. 2023-01-28 20:24:17 -05:00
harry 2f7b4abab2 Reset std::strings lastSavestateMade and lastLoadstateMade using clear method. 2023-01-20 23:42:05 -05:00
harry 8fc3ea8ba2 Added FCEU_UNUSED and FCEU_MAYBE_UNUSED macros to help silence certain unused variable and function warnings. Used FCEU_MAYBE_UNUSED to silence unused static function warnings (until it can be deemed that these functions will never be needed). Also, cleaned up a few other unused variable warnings. 2023-01-20 21:50:26 -05:00
harry 4c9a0ad7cf Increased array size of LoadedRomFName buffer to allow for max unix filepath length. Remove duplicate extern definitions in cpp and instead include ines.h header which contains official extern definition. 2023-01-16 08:42:33 -05:00
harry 210069b78a Change temp stack variable that holds full ROM path from fixed char array to std::string. This will allow for larger file paths. 2023-01-14 22:43:45 -05:00
zeromus 20d03d4434 minimum framework to support loading ips files on top of already loaded roms 2022-08-28 04:32:23 -04:00
zeromus def5768b9e remove fflush call on every single instruction trace, which can make modern SSD go totally dysfunctional. attempt to recover from this by flushing once a frame and whenever emulation pauses, so that you have a flushed trace file while debugging or whenever the main menu is interactive. 2022-04-26 13:22:22 -04:00
mjbudd77 dbcc485e24 Cleaned up a few annoying compiler warnings. 2021-12-30 20:36:45 -05:00
mjbudd77 79d989a798 Added newline character to end of region log message. 2021-12-24 06:55:26 -05:00
mjbudd77 e0f9754e80 For Qt GUI, implemented a new method of timing frame advance hold delay so that the delay time is more constant with changing emulation speed. 2021-10-05 06:49:16 -04:00
mjbudd77 672dcac6b2 Bug fix for frame advance delay when using emulation speeds other than normal. Scale delay count by ratio of the actual frame rate over the nominal base rate. 2021-09-27 20:14:23 -04:00
Alexey 'Cluster' Avdyukhin 701541432c More achive improvements/fixes 2021-06-18 02:50:15 +03:00
mjbudd77 596c27ea5e Changed autofire algorithm to not require using a static array. Now just does an on/off frame calculation based on where it is in the overall duty cycle of the square wave. 2021-05-21 06:27:35 -04:00
mjbudd77 ffc7e70b0d For Qt GUI fixed region auto detection logic to preserve dendy mode if an NTSC game is loaded. Also, added an option to enable/disable region auto detection functionality. This allows for the users selection via the GUI to be strictly enforced. Also, added a region select sub menu to the emulation main menu. Fixes issue #335. 2021-02-25 19:36:08 -05:00
mjbudd77 bf17e53335 Fix for mismatched fceu.cpp free()/malloc() error flagged by valgrind. 2021-02-21 21:04:02 -05:00
mjbudd77 35bb4be6f6 First successful build of Qt windows fceux. 2021-02-06 12:15:28 -05:00
Alexey 'Cluster' Avdyukhin ddf3fb631e Refactored loader code for better error messages 2020-12-21 02:19:48 +03:00
owomomo 8388d4025f Input Barcode is neither supported by movie recording nor TAS, disable the menu when using them. 2020-08-31 23:27:15 +08:00
Matthew Budd 35b0227809 Added logic to initialize the video PAL combo box with proper config value at window creation. 2020-07-11 22:37:29 -04:00
Matthew Budd 7ba7ef4b82 Include path fixes for qmake incorrectly marking sdl folder for heading includes. 2020-06-27 20:07:24 -04:00
Matthew Budd 7919071a25 Cleaned up gcc compiler warning : ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 2020-06-19 23:58:12 -04:00
owomomo 8a3edc18e3
Merge pull request #11 from TASVideos/master
Sync code to the newest
2019-06-24 20:30:17 +08:00
Nathan Tolbert 5a59e8522d fixes https://github.com/TASVideos/fceux/issues/60 - only prompt about cheats on windows build 2019-06-21 11:25:06 -05:00
owomomo d138a01860 1. Add popup tip for "Auto load / save with game" checkbox, because its tri-state may be perplexed for some reason.
2. Fix a bug, when the cheat editing controls lost focus, but editing mode is still there, which makes case EN_UPDATE triggered when user is not typing in them, that's an inappropriate circumstance. It might make the cheat editing control shows nothing when selecting a cheat.
3. Re-arranged some controls in resource file.
4. Changed some directory dialog logic, use defined ID rather than hard-code the actural number.
5. Detail.
2019-06-21 19:59:57 +08:00
owomomo fb1d489cfa Cheat console:
1. Added a global switch for all cheats, it is checked by default. Check or uncheck it can quickly tweak all cheats enabled or disabled. It's not game specific and effective to all games.
2. Added a checkmark to check behaviour of automatically load cheats.
3. Fixed a wierd bug in loading names of cheats from file.
iNES Header Editor:
4. Disable iNES header editor menu when currently loaded game is not in iNES format.
Others:
5. Some of the checkbox passed parameter MF_CHECKED, the right one is BST_CHECKED, though they have the same value.
6. Code/Data Logger is created by CreateDialog(), but destroyed by EndDialog()? A non-modal window should be destroy by DestroyWindow(), EndDialog() is for DialogBox(). It seems nobody noticed this bug for years.

Currently there are some opposite tweaks in the config file for the new feature in cheat console, for example the unchcecked state is 1 in config file, that's for backward compatibility.
The iNES header editor might not quite stable as newly baked from the oven, there might be some improvements to its code.
2019-06-12 22:16:01 +08:00
owomomo 9369bed6ec New feature: iNES head editor 2019-06-10 14:27:57 +08:00
owomomo 959c94fcdf Attempt to fix Issue #52 2019-05-23 18:59:30 +08:00
owomomo 91c408468a Attempting to fix Issue #43. 2019-05-11 00:06:43 +08:00
owomomo 885bc1e889 1. Fix freeze ram in Hex Editor doesn't refresh the related window.
2. detail
2019-05-08 17:24:45 +08:00
owomomo 9adcbf16cb 1. Fix crash when add multiple watches in RAM Search window, and adding multiple watches here can be batch named.
2. New cheat list box 0.0.0.3 Alpha, changed the possibilities box to a CListCtrl rather than a simple CListBox, use a map for its buffer. It may not quite efficient currently, but I personally think it's much better than adding and deleting the items repeatedly every frame, and now its item can be selected while emulation is running, although there's not much usage for this...
3. added several context menus to possible list, now you can directly add address to memory watch or ram watch, or go to hex editor from here, currently it's still a single select list.
2019-05-08 13:55:53 +08:00
owomomo a3280d664d 1. New cheat list box 0.0.0.1 alpha, changed the toggle cheat from double click to selecting checkboxes in the item. It can show the code and name in the same time.
2. Fixed an ancient bug of cheat dialog that importing new cheats makes old existing cheats uneffective.
3. Restructured some cheat searching type to macros since the meaning of the mysterious number is unclear. Maybe the switch case was more efficient than if else... or not?
4. Use a temporary variable rather than a global one to indicate whether the null file pointer is cased by user clicking the cancel or close button of the open archive dialog or a loading error.
5. When recording a movie with cheats, show warning to the user and asking for disabling them.
6. Removed some seems like unused variables, hope this didn't break compiling crossing platforms.
2019-05-02 03:13:05 +08:00
g0me3 60b314feb3 vrc5 mapper update, prepare to add extra ppu render for it
cheats.cpp int converions warnings fix
change default tool index for vc project. if you have problem with it, feel free to revert. but i can't compile with just "8.1" in there sadly...
2019-04-27 21:35:59 +03:00
zeromus 3a14fc724c fix merge conflict 2019-03-18 00:14:12 -04:00
zeromus afbb4fe37f
Merge branch 'master' into master 2019-03-18 00:08:52 -04:00
zeromus abed13c392 Revert "Fix for the interframe-pause-skips-updating-next-frame bugs, mostly noticeable when dumping AVIs."
This reverts commit c7710ae244.

fixes #39
2019-02-22 20:48:59 -05:00
zeromus e72202f3b8 fix linux build (probably) 2019-02-22 15:01:12 -05:00
owomomo d3e5d7dee9 1. Fix Map Hotkey dialog list header and add sort icon to the header of Map Hotkeys.
2. Fix Nametable Viwer checkbox state mismatch when closing and opening again.
3. Fix linux build error.
2019-01-08 00:42:57 +08:00
owomomo d9d3f1b56b 1. Further reconstruct the hotkey menu item code, menus belongs different parent menus with the same id can be defined in one struct rather than four. Removing the repeated menu hotkey update, only update the needed range. I wish this is not too complicated.
2. Map Hotkey dialog items now can be sorted by click on the column header.
3. Fix a logic bug when user cancels open archive dialog.
4. Trying to fix Linux build (not sure).
2019-01-03 20:38:33 +08:00
zeromus 5eb6cc31c9 Revert "Revert "Some ui interface logic changes and improvements.""
This reverts commit d48105e97d.
2019-01-01 15:45:32 -05:00
owomomo 274ac1b770 1. When cancel from archive loading dialog, don't show loading error boxes and the current playing game doesn't close.
2. Completely rewrite shortcut key displaying logic, now it is not only shown in main menu, but also in context menu.
3. Fix bugs that TAS Editor tooltips shown shortcut keys were not sync when hotkey was changed.
4. If cheat is activated when loading a movie, confirm to disable them as they could cause playback problems.
5. When switching to new ppu with overclocking enabled, prompt to user that new ppu doesn't support overclocking.
6. Other minor details about the UI.
2018-12-28 23:55:24 +08:00
aquanull@gmail.com 08c602a3f2 Registered Lua callbacks via gui.register() are now only called at frame boundaries. 2018-12-24 12:01:32 +08:00
aquanull c7710ae244 Fix for the interframe-pause-skips-updating-next-frame bugs, mostly noticeable when dumping AVIs. 2018-04-12 22:43:39 +08:00
aquanull 23c7ce7342 Adds new command to toggle movie Recording/Playing directly.
Adds new command to truncate movie in Read+Write mode.
Adds new command to insert/delete 1 frame in Read+Write mode.
2018-04-04 21:13:42 +08:00
Brad Smith 5be92d3ee5
Propagating memory initialization option to WRAM (#13)
1. Including WRAM in the RAM initialization options. Since it was usually initialized to zero by default, the "default" setting must do that as well, the explicit settings should follow the others.

2. unif.cpp extending memory randomization of 4-screen VRAM to match ines.cpp version, except it had no explicit initialization before: static array should initialize to 0, so its default will still do this

3. MALEE WRAM never initialized, replacing a few existing explicit (non gmalloc) WRAM clears with MemoryRand, removing a few memsets now unneeded because of gmalloc clear.
2018-06-26 22:11:01 -04:00
zeromus 0307e3b827 migration tidying (build master from trunk) 2018-04-08 17:35:15 -05:00