Commit Graph

5970 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
Alexey 'Cluster' Avdyukhin 62b72b6141 Minor comments fixes 2023-05-08 15:17:53 +04:00
Alexey 'Cluster' Avdyukhin e95e1d1095 Mapper 342 fixes 2023-05-08 13:46:43 +04:00
harry f660f132af Added GNU profiler instrumentation build option to Qt GUI. 2023-05-07 07:37:48 -04:00
thor2016 94f2696a83
Merge pull request #626 from bbbradsmith/ppu_internal_memory_init
Memory initialization settings for PPU internal memory
2023-05-04 20:58:47 -04:00
thor2016 2265f3effe
Merge pull request #643 from fmahnke/mem-reg-read
Implement LUA function memory.registerread
2023-05-04 20:55:07 -04:00
Fritz Mahnke 150372eeca Remove some code that was ported to FCEUX from gens, but isn't used. 2023-05-04 14:50:11 -07:00
Fritz Mahnke 17e04a9b74 Implement LUA function memory.registerread. 2023-05-04 14:50:11 -07:00
Alexey 'Cluster' Avdyukhin f8b8e93eaf Mapper 342 memory optimization 2023-05-02 14:35:08 +04:00
harry 201cb50d89 Updated README and macOSX build from source instructions to include optional dependency libarchive. 2023-04-30 09:16:59 -04:00
Alexey 'Cluster' Avdyukhin 8b37ad91e5 Commit 8857f99d rollback 2023-04-28 17:33:05 +04:00
Alexey 'Cluster' Avdyukhin d72d9daebb Merge branch 'master' of github.com:TASEmulators/fceux 2023-04-28 15:02:22 +04:00
Alexey 'Cluster' Avdyukhin 8857f99dd0 Using 8KB of CHR RAM memory for UNROM-512 by default (required by some games), use NES 2.0 to override 2023-04-28 15:02:04 +04:00
harry f4c88411b0 Added libarchive to Qt GUI macOS build. 2023-04-25 21:21:40 -04:00
harry e1e88b7298 Added libarchive to Qt win64 build. 2023-04-25 04:14:30 -04:00
harry 99bc0fa17f Add nullptr check to ensure that libarchive version strings are valid before printing. They will be null when a particular format or filter is not supported. 2023-04-24 23:14:43 -04:00
harry 02baa1dfaa Added libarchive to linux build pipeline. 2023-04-24 23:11:20 -04:00
harry b7bc8a29f0 Added libarchive version info to Qt GUI about window. 2023-04-24 23:08:05 -04:00
harry 45b0ea6f8d Added cross-platform libarchive interface to allow Qt GUI to use 7zip ROM archives. Code is setup to allow for libarchive to be an optional dependency and will fallback to regular minizip if unavailable. 2023-04-24 22:49:30 -04:00
harry 084b2b9ccc Added snap by number of frames (instead of by time) option for Qt state recorder. 2023-04-22 15:56:31 -04:00
thor2016 0942d160ca
Merge pull request #636 from fmahnke/cheat-fix
Fixes for updating the cheats list.
2023-04-20 21:18:55 -04:00
Fritz Mahnke dbb688ec41 Fixes for updating the cheats list.
Update the cheats list after adding a new cheat from the Game Genie window. With
this change, the new cheat is shown immediately in the cheats window, if it's
open.

Fix an issue where the cheats list isn't always immediately updated after a
change. For example, clicking Add while an item is already selected might not
show the item until some other user action is taken. This change updates the
cheats list QTreeWidget viewport explicitly after making changes to its items.
This causes changes to be shown immediately.

Remove unused GuiCheatsDialog_t::actvCheatRedraw member.
2023-04-20 13:11:27 -04:00
thor2016 7666f1f7aa
Merge pull request #635 from fmahnke/ppu-viewer-fix
Don't divide by 0 when PPU/sprite viewer windows are small.
2023-04-20 06:23:36 -04:00
Fritz Mahnke 783aa5f38c Don't divide by 0 when PPU/sprite viewer windows are small.
Some of the views are proportional to window dimensions. This caused division by
0 where window dimensions round down to 0. This change avoids that, instead
setting those views' sizes to 0 in these cases.
2023-04-19 01:41:44 -04:00
thor2016 50d4d58276
Merge pull request #634 from fmahnke/no-scroll-pc
Don't always scroll to PC when updating debug window assembly view.
2023-04-17 21:26:54 -04:00
thor2016 b3d2a5f230
Merge pull request #633 from fmahnke/null-fix
Don't index into empty QString in HexEditor.
2023-04-17 21:26:34 -04:00
harry da7c7761a2 Added breakpoint editor address validity checking to Qt GUI. 2023-04-17 21:21:59 -04:00
Fritz Mahnke 39bb749f5d Don't always scroll to PC when updating debug window assembly view.
Change ConsoleDebugger::updateWindowData and updateAllDebuggerWindows to support
two different types of updates: UPDATE_ALL and UPDATE_NO_SCROLL. The new
"no scroll" type lets callers request the assembly view be updated without
scrolling the view to the PC line.

Change the hex editor and trace logger calls to updateAllDebuggerWindows to use
the no scroll update. The user may use these functions with the current
disassembly position in mind and not want to lose it.
2023-04-17 17:41:24 -07:00
thor2016 46054d190c
Merge pull request #632 from fmahnke/focus-fix2
Remove redundant setFocus call, which actually removes focus.
2023-04-17 19:49:18 -04:00
Fritz Mahnke f885abb71b Don't index into empty QString in HexEditor.
QKeyEvent::text may return an empty string in some environments for some keys,
such as modifier keys. This can cause a cause a crash. Add a check for the
hex editor to skip the editing code, which assumes the keyboard event is a
printable character and depends on a non-empty keyboard event text.
2023-04-17 08:28:37 -07:00
Fritz Mahnke 46ad7bbd38 Remove redundant setFocus call, which actually removes focus.
Under i3wm 4.21.1/Qt 6.4.1, the existing code actually removes keyboard focus
from the newly-activated window. Removing the call to setFocus in these cases
fixes the problem. The call to activateWindow is enough to put keyboard focus on
it.

The documentation for activateWindow implies the same.
2023-04-17 08:13:09 -07:00
thor2016 771bccd820
Merge pull request #631 from negativeExponent/m227_chrr_protect_fix
Mapper 227: Fix CHR-RAM protect check
2023-04-17 07:16:43 -04:00
negative c4ce3ac3fd Mapper 227: Fix CHR-RAM protect check 2023-04-17 17:53:42 +08:00
harry 8649a38ef9 Removed old commented out method in Qt debugger. 2023-04-16 21:41:49 -04:00
harry 259c5754ee Code cleanup of conddebug.cpp. Make functions that are not externally used static. Changed condition to have a constructor/destructor and allocate via std new/delete. Fixed a small memory leak. For Qt GUI, refactored debugger breakpoint editor window so that it has its own class to allow for more detailed error checking methods to be added. 2023-04-16 21:38:50 -04:00
harry 5adbc1fcf2 Minor initialization fix for state recorder. 2023-04-15 15:53:17 -04:00
thor2016 c5182aacce
Merge pull request #629 from thesamesam/gcc13
Fix build with GCC 13
2023-04-10 06:59:19 -04:00
Sam James 6ad3837eeb
Fix build with GCC 13
GCC 13 (as usual for new compiler releases) shuffles around some internal includes and so etc is no longer transitively included:
```
In file included from /var/tmp/portage/games-emulation/fceux-2.6.5/work/fceux-2.6.5/src/drivers/Qt/AboutWindow.cpp:33:
/usr/include/x264.h:40:4: warning: #warning You must include stdint.h or inttypes.h before x264.h [-Wcpp]
   40 | #  warning You must include stdint.h or inttypes.h before x264.h
      |    ^~~~~~~
/usr/include/x264.h:127:5: error: uint8_t does not name a type
  127 |     uint8_t *p_payload;
      |     ^~~~~~~
```

See https://gnu.org/software/gcc/gcc-13/porting_to.html.

Bug: https://bugs.gentoo.org/900611
2023-04-10 05:20:23 +01:00
harry 4cb6d97183 Added state recorder config dialogs to Qt GUI that prompt user to apply selected settings and to restart recorder for changes to take effect. 2023-04-03 21:42:24 -04:00
harry 47f795b04b For Qt GUI, added state recorder status display to config window. 2023-04-02 07:39:00 -04:00
harry b4efaa91d8 Changed memory_savestate and compressed_buf buffers in state.cpp to be static file scope. No reason to export these to the linker with global scope. 2023-04-02 06:01:37 -04:00
harry 55bcb3d41a Added a load prev and next state functions for state recorder. 2023-04-01 21:17:34 -04:00
harry 99aefa563a Fix for state recorder load state function. Set EMUFILE_MEMORY read position back to beginning of memory block before calling FCEUSS_LoadFP. 2023-04-01 19:39:37 -04:00
harry e95c0fe86b For Qt GUI, hooked up state recorder pause on load options. 2023-04-01 18:22:54 -04:00
harry 86c6d3e56c Qt GUI state recorder config window updates. Added estimated state save CPU time display. Pause on load time widgets in work. 2023-03-31 06:55:59 -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 b6a8b46de0 For Qt GUI, added feature that allows save state files to be loaded via window drag n drop from a file dialog. 2023-03-26 17:05:19 -04:00
Brad Smith 46654ed585
ignore 7z_64.dll in output folder 2023-03-26 15:48:26 -04:00
bbbradsmith 4774a773a8 Apply memory initialization settings to nametable, palettes, and sprites. 2023-03-26 15:40:30 -04:00
harry 4b8528588d Added code to save/load state recorder config parameters for Qt gui. 2023-03-12 20:46:45 -04:00