Commit Graph

3272 Commits

Author SHA1 Message Date
mjbudd77 6d54990580 Updated version to 2.4.0 in anticipation of upcoming release. 2021-05-18 20:19:56 -04:00
mjbudd77 d36a4b058b cppcheck warning fix for realloc return value handling. 2021-05-18 20:01:35 -04:00
mbudd02 91a45a216c cppcheck fixes. 2021-05-18 18:21:29 -04:00
mjbudd77 16bec45063 Increased max string sizes for load lua file dialog directory pathing for Qt GUI. Just incase users have long directory paths, set max path size to 2048 bytes. 2021-05-18 06:25:20 -04:00
mjbudd77 eae4dd8312 Added a minimum column pixel width to ensure that at least 6 characters can be displayed on name table viewer text fields. 2021-05-17 21:16:56 -04:00
mjbudd77 e60abba722 Set title for palette color selection window. Disabled unused context menu. 2021-05-16 15:25:21 -04:00
mjbudd77 c9c7a5105e Added palette color copy to clipboard functionality for Qt PPU viewer window. 2021-05-16 15:20:20 -04:00
mjbudd77 c1944fa25a Added active nametable and sprite palette export to ACT format option for Qt GUI. 2021-05-16 14:41:57 -04:00
mjbudd77 31608a5c6d Added logic to further ensure that changes to emulation video settings force an settings change on the Qt console viewer. 2021-05-15 07:03:53 -04:00
mjbudd77 6fda3ca0b3 Initialization fix for some of the Qt video settings at startup. 2021-05-14 22:22:30 -04:00
mjbudd77 8f245c9332 Changed Qt GUI screen shot function to use Qt image capture of the actual video viewport so that a higher resolution image that has the effects of the aspect ratio and scaler video selections in it. 2021-05-14 21:30:28 -04:00
mjbudd77 2f37a95e75 Added an nes palette export as adobe color table feature to Qt GUI. 2021-05-14 20:18:09 -04:00
mjbudd77 eab121801e Entry field improvements on Qt Debugger window. 2021-05-12 20:38:12 -04:00
mjbudd77 15a6584685 Further fixes for entry boxes in Qt Cheat Window. 2021-05-12 20:16:38 -04:00
sleepingkirby 884bf21d4d
For Qt version: Cheat codes with addresses ending in '0' are getting truncated. This … (#350)
* Cheat codes with addresses ending in '0' are getting truncated. This is due to the masking at line 141 (cheatAddrEntry->setInputMask( ">HHHH;0" );) combined with
cheatAddrEntry->displayText() on 860/934.
As per: https://doc.qt.io/qt-5/qlineedit.html#inputMask-prop

"When an input mask is set, the text() method returns a modified copy of the line edit content where all the blank characters have been removed.
The unmodified content can be read using displayText()."

So an address of "00B0" is returning as just "B"(as the mask as determined that 0 is a blank character. Which is what you want for an empty input
 field to have all 0;s.), which, when entered as an address, is just 0x000B. Fixing that by replacing text() with displayText() as
per documentation.

* same issue with cheatAddrEntry->text() exists with cheatValEntry->text(). Replacing those with displayText() as well
2021-05-12 19:30:08 -04:00
mjbudd77 e9a85d2e1c Ported FDS CDL fix to Qt GUI from win32. 2021-05-11 21:57:58 -04:00
mjbudd77 9b55e0a579 Added a color selection box on the palette editor to make it more obvious which box is being edited. 2021-05-11 20:10:17 -04:00
mjbudd77 f19016011e Bug fix for palette reset function on PPU viewer. 2021-05-10 20:00:00 -04:00
mjbudd77 3b81ff141f Added a palette color picker for changing tile background or sprite palette colors. 2021-05-07 23:22:01 -04:00
mjbudd77 2fee85444b Removed unused variables. 2021-05-07 21:16:43 -04:00
mjbudd77 f4d590dd83 Slight tweaks to ppu palette views to make more eye appealing. 2021-05-07 21:12:42 -04:00
g0me3 a4fa6225a0 little fix to more correct fds cdl 2021-05-07 20:11:01 +02:00
mjbudd77 0b689d65c4 Added WAV file recording capability to Qt GUI. 2021-05-05 20:25:34 -04:00
mjbudd77 d7ca6ccc18 Added code to save trace logger recording preferences to the config file (Qt GUI). 2021-05-04 21:06:28 -04:00
mjbudd77 e12e41a093 Minor pixel alignments to Qt hex editor. 2021-05-04 20:38:08 -04:00
mjbudd77 acde2c61d5 Added font selection option to Qt hex editor. 2021-05-04 06:49:13 -04:00
mjbudd77 225ba8a9e9 Qt Hex Editor color picker improvements. Added cursor row/column color highlight and alternate column coloring options. 2021-05-04 06:16:18 -04:00
mjbudd77 a0088e271b Added a cursor row/column color highlight option to Qt hex editor. 2021-05-03 21:51:51 -04:00
mjbudd77 68555d98ab Added config parameters to save PPU viewer tile focus policy preferences for Qt GUI. 2021-05-03 20:25:54 -04:00
mjbudd77 02e3c4e075 Added hot keys for AVI recording to Qt GUI. 2021-05-03 19:52:32 -04:00
mjbudd77 cfc91e2223 Commented out debug print statement. 2021-05-02 21:35:47 -04:00
mjbudd77 ac340e0a4c Added logic to immediately save the debug symbol table to disk after any change is made. For Qt GUI. 2021-05-02 21:28:14 -04:00
mjbudd77 974d2aefba Bug fix for segmentation fault when deleting all cheats. Instead of using callback based iterator function to delete each cheat, added a new function that will just cleanly delete all cheats without the need for a callback. 2021-05-02 20:49:08 -04:00
mjbudd77 b97bf287b2 Bug fix for Qt GUI when closing ROM while the emulation thread is haning on a breakpoint. Now the thread is allowed to complete its frame so that it is idle with a minimal call stack before the ROM is closed. This prevents the emulation thread from coming out of its breakpoint wait loop at attempting to continue running its frame with no ROM data loaded. This fixes a segmentation fault crash that was mentioned in the project Qt issues thread. 2021-05-02 19:45:36 -04:00
mjbudd77 a74c2ae80b Updated documentation for new Qt GUI AVI recording capabiliity. 2021-05-02 18:51:10 -04:00
mjbudd77 6283dc4687 Successful test of fully integrated avi recording in Qt GUI. 2021-05-02 18:36:34 -04:00
mjbudd77 4a498d20af Initial menu functionality added to GUI for avi recording. 2021-05-02 15:49:15 -04:00
mjbudd77 90e36c15c6 Hooked up video quality input from avi compression chooser. 2021-05-01 14:54:30 -04:00
mjbudd77 da4997ea9c Set default value for AVI video driver to be a safe choice that is supported by all platforms. 2021-05-01 01:32:17 -04:00
mjbudd77 e57e8f7e4c Memory leak fixes for VFW avi encoder. 2021-05-01 01:22:48 -04:00
mjbudd77 33d645f911 First successful test of VFW avi recording on Qt GUI. 2021-05-01 01:08:34 -04:00
mjbudd77 22523076de Added code to save avi files in base folder. 2021-04-30 16:26:54 -04:00
mjbudd77 b1638f7c07 Successful test of x264 encoder in linux. 2021-04-30 13:40:17 -04:00
mjbudd77 07776bc471 Initial integration of x264 codec for avi record. 2021-04-30 12:47:36 -04:00
mjbudd77 ce554b5e7b Added I420 (YUV 4:2:0) conversion option to avi recorder. 2021-04-30 11:57:23 -04:00
mjbudd77 b9f6bf281f Restructured Qt AVI writer to run is its own thread. 2021-04-29 21:50:45 -04:00
mjbudd77 e9dbe9428a Set avi fps based on region type. 2021-04-29 06:42:51 -04:00
mjbudd77 9b4b9b6549 Successful recording of small avi in RGB24 format. 2021-04-29 06:21:16 -04:00
mjbudd77 fb30f57bec Removed unistd.h include from file. 2021-04-29 04:51:05 -04:00
mjbudd77 366c8a8792 Removed rgbtorgb from build as it does not build in windows. 2021-04-28 21:59:19 -04:00
mjbudd77 b78003dc00 Initial add of avi recording code for Qt GUI. 2021-04-28 21:40:46 -04:00
mjbudd77 69ed92eada Indentation fixes in sdl-sound.cpp. 2021-04-27 20:50:56 -04:00
mjbudd77 9fc0237a01 Fixed constant limit to be in the correct base number system. 2021-04-27 20:22:39 -04:00
mjbudd77 0006cb265d Fix for re-arm buffer overrun warning on logging restart. 2021-04-27 06:45:54 -04:00
mjbudd77 4afb2ac2ac Changed linux Qt trace logger to use low level disk write functions to increase efficiency. 2021-04-26 21:41:22 -04:00
mjbudd77 f386dfb428 Changed Qt trace logger to use native windows file access functions to make disk access more efficient. 2021-04-26 21:10:55 -04:00
mjbudd77 84b900b73b Added logic to wait for trace logger disk thread to be ready for more data when logging to disk. This will slow down the realtime execution of the emulation but will ensure that all instructions are properly logged to the disk. 2021-04-25 23:28:51 -04:00
mjbudd77 f146a7f7f1 Added a separate thread to Qt trace logger whose job is to just write the logged instructions to disk (when disk logging is enabled only). This allows for bottle necks with disk I/O to not slow down the emulation. Also, buffer 4k blocks before writing to disk to make more efficient. 2021-04-25 22:07:59 -04:00
mjbudd77 aa5ce14c06 Added a debug message output for warn of buffer overruns when logging to a file with the Qt trace logger. 2021-04-24 19:13:46 -04:00
mjbudd77 e2716ae2c5 Fixed segmentation fault in Qt trace logger when changing from a large buffer size to a smaller buffer size. Ensure that buffer head and tail pointers are reset as well. Fixed memory leak with old trace log buffer not being freed when allocating the new buffer size. 2021-04-24 13:57:20 -04:00
mjbudd77 2169dd07fb Changed nametable scanline entry box to be a spin box instead of line edit widget. 2021-04-21 21:03:18 -04:00
mjbudd77 5fcad9507e Added nametable tile palette view widget. 2021-04-21 20:46:02 -04:00
mjbudd77 2ef01ec824 Added palette hex codes to ppu palette views. 2021-04-21 20:12:41 -04:00
mjbudd77 6fddbb3f41 Minor spelling fix. 2021-04-20 22:53:12 -04:00
mjbudd77 5ec2c5efdc Fixed small memory leak in Qt debugger asm viewer. 2021-04-20 22:26:28 -04:00
mjbudd77 867ad36a2d Change sprite viewer layout to be more compact. 2021-04-20 21:49:33 -04:00
mjbudd77 b8cb24499f Added logic to make force the default Qt style to be a known good value. This is windows style for windows platform and fusion style for linux and mac osx. Depending on which Qt style plugins are installed on the OS, certain ones are known to be unstable (such as gtk2 style). 2021-04-18 19:18:05 -04:00
mjbudd77 72588e0eec Minor adjustments to sprite preview resizing logic. 2021-04-17 09:02:18 -04:00
mjbudd77 922c34c00e Added sprite preview area sizing options to menu. 2021-04-17 07:25:44 -04:00
mjbudd77 a09121b28d Added logic to increase size of sprite preview area. 2021-04-17 07:11:29 -04:00
mjbudd77 838ba76284 Modified sprite viewer data field boxes to use monospace font for both ease of reading and calculating minimum pixel width to fully display data. 2021-04-17 06:48:30 -04:00
mjbudd77 83e2d36480 Added logic to allow the sprite preview area to be hidden if desired. 2021-04-17 06:32:14 -04:00
mjbudd77 53047762c4 Implemented first cut at sprite preview area. 2021-04-17 06:11:42 -04:00
mjbudd77 9d138bd8eb Added an option to show sprite X/Y coordinates in either decimal or hex. 2021-04-16 20:08:51 -04:00
mjbudd77 82b0bdbc4e Added a quick tile selection link from sprite viewer to PPU CHR viewer via context menu. 2021-04-16 15:51:55 -04:00
mjbudd77 76b82b289a Fixed sprite viewer crashes when no ROM is loaded. 2021-04-16 15:35:47 -04:00
mjbudd77 187522b4cc Hooked up sprite viewer window menu options. 2021-04-16 15:25:49 -04:00
mjbudd77 d7773c7b3d Added arrow key logic for sprite viewer. 2021-04-16 14:49:29 -04:00
mjbudd77 3613a7da4e Hooked up sprite info data fields. 2021-04-16 14:42:39 -04:00
mjbudd77 369459ba63 Added data fields sprite viewer. 2021-04-16 09:50:23 -04:00
mjbudd77 ad5c666268 Added sprite viewer mouse selection logic. 2021-04-16 09:09:30 -04:00
mjbudd77 42ac942e23 Fixed sprite viewer addressing errors. First successful viewing of sprite table. 2021-04-16 08:44:04 -04:00
mjbudd77 26e5e46da8 Sprite viewer in work. 2021-04-15 22:52:27 -04:00
mjbudd77 029cea534c Hooked up validity states for a few Qt main menu items. 2021-04-12 21:42:57 -04:00
mjbudd77 d84e4c3663 Fixed a few memory leaks caught by valgrind tool. 2021-04-12 20:40:55 -04:00
mjbudd77 1a8369f1b3 Added event accept lines for console window key events. Helps improve mac os responsiveness. 2021-04-12 20:06:49 -04:00
mjbudd77 5cea05d183 Changed default behavior of pausing when main menu is active to false. 2021-04-12 06:28:04 -04:00
mjbudd77 904652efa9 Changed GetModuleFileName calls to GetModuleFileNameA to ensure that the 8 bit character version is used. Fixes build errors with Qt6 using C++17. 2021-04-12 06:27:04 -04:00
mjbudd77 c1d6d7f4cf Another TCHAR substitution for char to fix Qt6 build error. 2021-04-11 22:36:54 -04:00
mjbudd77 eb1393367e Changed TCHAR to regular char type to fix build error in lua-engine for windows builds. 2021-04-11 22:11:31 -04:00
mjbudd77 229705f693 Updated Mac OSX appveyor pipeline to build against Qt6 2021-04-11 20:56:47 -04:00
mjbudd77 ca232c8b3c Added Qt6 build option to Cmakelists. 2021-04-11 20:34:43 -04:00
mjbudd77 806486e13d Build fixes for Qt6 on Mac OSX. 2021-04-11 17:39:37 -04:00
mjbudd77 27bb85f282 Added logic to make Qt GUI main menu access pause emulation functionality a configurable parameter. 2021-04-11 15:25:24 -04:00
mjbudd77 9e92e28419 Fix for mismatch class/struct declaration. 2021-04-11 14:05:40 -04:00
mjbudd77 c790f1481c Added logic to Qt GUI to produce an error message dialog in the event that an ambiguous activation of conflicting hot key sequences occurs. 2021-04-11 13:53:34 -04:00
mjbudd77 5f40358a06 Added code for Qt GUI to pause emulation when main menu is active. This feature is currently disabled. 2021-04-11 13:10:09 -04:00
mjbudd77 86edfd490a Changed Qt warnings to not display as error dialogs, instead just prints
to main log.
2021-04-10 09:40:20 -04:00
mjbudd77 7f85544e63 Bug fix for Qt GUI family keyboard conflicting with new hot key shortcuts. 2021-04-08 20:50:51 -04:00
mjbudd77 19891e1155 Bug fix for Qt GUI emulation speed up/down hot keys. 2021-04-06 22:54:29 -04:00