Commit Graph

6071 Commits

Author SHA1 Message Date
Andy Vandijck cde83851ba Fix build for newer targets
Fix build
2024-02-17 19:21:47 +01:00
Andy Vandijck 6332900833 Fix timestamp arm64
Fix timestamp arm64
2024-02-17 11:22:03 +01:00
harry ab46158f05 Added movie js function remaps 2024-02-17 04:23:11 -05:00
harry df12fa2a85 Added more movie JS interface functions. Hooked up lua joypad.getimmediate functionality for Qt GUI. 2024-02-16 22:52:04 -05:00
harry aaa519d29c Added initial framework for movie JS API. Still TODO implement rest of movie functions. 2024-02-16 07:12:25 -05:00
harry af9b53ba75 Added joypad button override functionality to JS API. 2024-02-15 22:04:11 -05:00
harry f85f93c5bd JS joypad API improvements. 2024-02-14 06:28:26 -05:00
harry 446763b232 Added JS joypad object functionality. 2024-02-11 14:56:58 -05:00
harry 6248b0ee64 Added ability to pass command line arguments to JS scripts. 2024-02-11 10:43:40 -05:00
harry 20a9c151be JS logging improvements. 2024-02-11 10:25:47 -05:00
harry 2229d32720 Added a QJSEngine wrapper class to maintain link to script instance and dialog window with new script objects. 2024-02-10 23:00:07 -05:00
thor2016 290c4ccd96
Merge pull request #706 from negativeExponent/patch-1
QT: Fix volume adjustment for APU
2024-02-10 08:49:11 -05:00
negativeExponent 8d0fe851bf
QT: Fix volume adjustment for APU
Volume adjustments for the apu channel has a range of 0-256. With a value of 256, this acts as a bypass (toggle) and skips the computation entirely when set. This fixes issues when the original signal is too low already that passing it through volume controls will attunuate the signal instead and silence it.

The main volume does not behave the same way and 256 is not a toggle, so left it as-is.

@thor2016 feel free to make it better if necessary, maybe a toggle instead of a 256 max value or something.
2024-02-09 10:19:47 +08:00
harry 8ebb560d1c Added emulator save state JS interface. 2024-02-06 22:44:08 -05:00
harry 2f2482e950 Minor null check fix. 2024-02-05 18:34:03 -05:00
harry 401110bae8 Added ppu interface functions to JS engine. 2024-02-05 18:29:25 -05:00
harry a5071f10f0 Implemented ROM JS interface object. 2024-02-05 06:43:27 -05:00
harry 61da515f11 Finished remaining JS interface functions for JS emu object. 2024-02-05 05:56:40 -05:00
harry 1fc813803e Added JS script monitoring thread to prevent bad scripts from hanging the gui. 2024-02-04 22:09:59 -05:00
thor2016 5495c7eddc
Merge pull request #699 from TheRealQuantam/luafixes2
Multiple Lua Implementation Fixes
2024-02-04 09:07:23 -05:00
harry 4fa0d0651a Added vsync timer logic to Qt OpenGL video driver. 2024-01-31 07:08:08 -05:00
harry 01358407fd For Qt GUI, changed onFrameFinished callback to only update video buffer. Don't do any input processing as this will mess up when running turbo mode. Added a draw timer to SDL video renderer to better align is scheduling with the next vsync. 2024-01-31 06:49:54 -05:00
harry d363d04dbb For Qt GUI, add video buffer mutex to ensure clean transfer between emulation and GUI threads. Use common FCEU::mutex wrapper for cleaner code. 2024-01-31 05:28:41 -05:00
thor2016 cb0edc5a21
Merge pull request #695 from negativeExponent/mapper413
Mapper413
2024-01-31 04:29:21 -05:00
TheRealQuantam f702b5b989 Retriggering checks 2024-01-30 14:25:06 -08:00
harry 19abb0b249 Fix for build break, QJSEngine::setObjectOwnership does not exist in Qt5. Only in version 6. 2024-01-30 06:50:40 -05:00
TheRealQuantam c56b234b85 Multiple Lua support fixes:
- Do not crash when a Lua script calls rom.gethash when no ROM is loaded
- Do NOT assume the error message from lua_pcall will always be in stack slot 1, as sometimes it won't be
2024-01-30 02:41:42 -08:00
TheRealQuantam c7330d4543 Revert bad fix for not terminating script on initial error 2024-01-30 01:41:13 -08:00
harry 6b96016047 JS scripting in work. 2024-01-29 23:17:15 -05:00
harry 813d4c0c4b Added nullptr check in the event QStyle factory fails. 2024-01-29 20:19:36 -05:00
TheRealQuantam 5ff4edbdad Multiple Lua support fixes:
- Move call to info_onstop from FCEU_LuaStop to FCEU_LuaOnStop so it will always get called
- Do NOT assume the error message from lua_pcall will always be in stack slot 1, as sometimes it won't be
- After calling HandleCallbackError ensure L still exists before calling lua_settop
2024-01-28 19:01:49 -08:00
negative 5631e488f4
fix indents 2024-01-29 07:57:43 +08:00
harry a85f348e50 For Qt GUI, edit frame throttling logic when using turbo mode or really fast emulation speed to not be so wasteful when emulation is paused. Don't make sense to waste CPU resources spinning on nothing. Fixes #681. 2024-01-28 08:15:00 -05:00
harry c50c1d570c Change linear filter checkbox text to not include OpenGL. This function not specific to OpenGL and works for all supported video drivers. 2024-01-27 19:35:01 -05:00
harry b03c9c9c8b Removed const qualifiers to fix Qt build. Different versions of Qt QJSValue don't allow the call method to called from a const object. 2024-01-27 01:04:48 -05:00
harry fe0496a6cf Bug fix for issue in new LUA memory hook scheme where the callbacks get unregistered from the x6502 while still running. Fixes #693 2024-01-27 00:39:23 -05:00
harry a02ae8d3e0 Added memory hooks to JS engine. 2024-01-26 22:57:54 -05:00
thor2016 4f604b7708
Merge pull request #690 from negativeExponent/fix_ntsc_clip
Clip Left/Right Sides option now taken into account when using NTSC s…
2024-01-26 22:04:15 -05:00
harry 23cf99afe5 Added source listing to gdb debug output. 2024-01-26 22:00:20 -05:00
harry 3e8978c2aa Added debug script to aid in getting crash callstacks from users. 2024-01-26 20:33:40 -05:00
negative 82a99060e5
Use macro and minor offset adjustment 2024-01-25 18:10:48 +08:00
negative 8e935a05a6
Clip Left/Right Sides option now taken into account when using NTSC scaler 2024-01-24 14:52:45 +08:00
harry 2fce5ffe74 Added memory access functions for JS script interface. 2024-01-19 16:54:56 -05:00
harry 7a0be296fa Added logic to realtime update js global variable viewer. 2024-01-17 07:14:10 -05:00
harry 1dde9e7e75 Minor fixes for JS global variable viewer. 2024-01-16 22:04:00 -05:00
harry dc2d3c26aa Added global JS property tree to allow exploring of engine data. 2024-01-16 21:48:13 -05:00
harry 9a9f9541d6 Build fix for systems without Qt QML installed. 2024-01-15 20:09:25 -05:00
harry 198cdafbf8 Qt JS script engine interface in work. 2024-01-15 14:17:13 -05:00
harry 8e7e5e8c05 Minor refactor of script memory hook interface so that both lua and js script can coexist nicely. Script engines now register themselves with the CPU module for their functions to be called. 2024-01-15 09:31:53 -05:00
harry f90a269386 Build fix for Qt6. 2024-01-15 05:57:24 -05:00