Commit Graph

4170 Commits

Author SHA1 Message Date
Alexey 'Cluster' Avdyukhin b6bf83db7f Mapper 268, submappers 8,9 2022-12-06 17:59:26 +04:00
Alexey 'Cluster' Avdyukhin a70bc4c72c Mapper 268, submappers 4,5 2022-12-05 23:25:49 +04:00
Alexey 'Cluster' Avdyukhin 92c0417783 Mapper 268 refactoring 2022-12-05 23:15:09 +04:00
Alexey 'Cluster' Avdyukhin d6d5b44a35 Mapper 268, submappers 2,3 fix 2022-12-05 21:56:50 +04:00
Alexey 'Cluster' Avdyukhin 7a64e06b88 Mapper 268, submappers 1,2,3 2022-12-05 21:55:38 +04:00
Alexey 'Cluster' Avdyukhin 856a19352f Forgot to update CMakeLists.txt 2022-12-05 17:50:11 +04:00
Alexey 'Cluster' Avdyukhin 90aecc0543 COOLGIRL mapper (mapper 342) 2022-12-05 14:56:31 +04:00
Alexey 'Cluster' Avdyukhin 328e351255 Typo fix 2022-12-05 14:09:21 +04:00
Alexey 'Cluster' Avdyukhin d075c2b46a COOLBOY fixes and self-writable feature 2022-12-05 13:54:50 +04:00
harry 900305b587 For Qt GUI, added option to use palette background color as video background color. This option can be accessed from via main menu -> option submenu. 2022-10-09 21:09:52 -04:00
harry 06467ce73a Fix for Qt GUI OpenGL blending parameters. 2022-10-09 20:11:54 -04:00
harry 1ad9a3d857 For Qt GUI, added logic to prevent controller buttons that are bound to the keyboard from being active when family keyboard is enabled. Controller buttons that are mapped to physical gamepad or joystick are unaffected. For issue #572. 2022-10-08 09:56:49 -04:00
mjbudd77 99eb406b1a Added appveyor github release functionality. Master auto builds are now uploaded to a rolling interim-build pre-release. Release tag builds will upload official release builds from appveyor automatically. 2022-10-01 16:29:02 -04:00
zeromus 06b53e912e fix initialization of xdbuf and xdbackbuf 2022-09-10 15:31:48 -04:00
harry eaa5d6f88f For Qt GUI, added code to update debugger window ASM view when RAM or ROM edits are made from the hex editor. Fixes #508. 2022-09-01 20:32:51 -04:00
zeromus 6b0d1a52ca winport - apply ROM file pasting as a single undoable action using the multi-byte capability already in ApplyPatch. Fixes #394 2022-08-28 17:15:05 -04:00
zeromus 069727c191 fix a bug in applying some IPS files 2022-08-28 04:41:45 -04:00
zeromus 60f7b875f8 winport - support loading ips files on top of already loaded roms. I guess this could be factored to an FCEUI_TestFileIsPatch and an FCEUI_ReloadWithPatch?? well, that's for whoever does this on other platforms to do. 2022-08-28 04:33:38 -04: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 9d831d8b8b ok, I realized we need to realloc buffers allocated by FCEU_malloc (why didn't I guess that..) which makes the fact that they're aligned be horrible. so I added FCEU_amalloc and FCEU_afree instead to do aligned allocs and frees. 2022-08-28 04:31:34 -04:00
zeromus 1798fca76a proper deemph handling for win32 aviout. used 57ec344b1f from 7 years ago as a reference (when the png writing was fixed). fixes #429 2022-08-23 22:58:18 -04:00
zeromus d5a073741a ModernDeemphColorMap const args 2022-08-23 22:56:47 -04:00
zeromus ff633d5acd add new function FCEU_abort() for calling abort() with a message; use it when memory allocation fails instead of exit() 2022-08-23 22:01:29 -04:00
zeromus 96e570ae44 don't doubly memzero new allocations 2022-08-23 21:48:32 -04:00
zeromus 179a5f0ffa fix the size parameter of newly-introduced aligned_alloc call to be properly aligned (as the api requires) 2022-08-23 21:28:15 -04:00
harry d0add7a609 For Qt GUI added separate hot keys for soft and hard reset functions. Changed soft reset to be default Ctrl+R and hard reset to Ctrl+Shift+R. 2022-08-23 18:36:39 -04:00
harry b97b24a5e9 Fix for unix build, aligned_free does not exist in unix should use plain free instead. 2022-08-23 18:18:25 -04:00
zeromus 892e7cb5f5 change how memory is allocated to clean up a lot of messed up junk (mainly strange alignment adjustments which didnt completely make sense and frees which didnt match the allocation function that was used).
In case there are problems on other platforms (a few seems probable), here's the idea
1. Get rid of all manual alignment adjustments
2. use FCEU_malloc or malloc, as you see fit
3. use FCEU_free (or FCEU_gfree) if you use FCEU_malloc or FCEU_gmalloc. There's no real reason to need FCEU_gfree; this rule might be eliminated in the future (at which time FCEU_gfree will be removed)
4. If you need more alignment, increase it in FCEU_malloc. It's unlikely more alignment will ever be needed.

On windows, since the FCEU_*malloc functions now use aligned_alloc, we will catch instances where free() is used to free them (which happens frequently). allocates and frees should be matched. fix the free call if you ever observe this happening.

also

5. In general, remove crufty error handling for allocation failures. This just gunks up the code. If allocation fails, the application terminates.
2022-08-22 22:53:09 -04:00
zeromus 41feba2074 newppu - process grayscale (and maybe deemph, not sure) on a per-pixel basis to fix the FF1 polygon effect (fixes #529) 2022-08-22 22:53:09 -04:00
harry 77b18ba989 Added keyboard state feedback to lua input.get() function for Qt GUI. Returned key codes are slightly different but at least it does something. Issue #536. 2022-08-21 22:43:35 -04:00
zeromus 7806b24388 winport - fix prefix checking on memwatch addresses (fixes #496) 2022-08-21 15:40:03 -04:00
zeromus 5230d2eacd winport - change memwatch addresses to support lower case (partial revert of f0396ef980) 2022-08-21 15:40:03 -04:00
zeromus f6f13d6843 winport - change input filter functions to take an index so they can search for a prefix (at index 0 perhaps) and use it on the memwatch. it's better to do these things based on strings and not chars but that's just how we have it setup for now 2022-08-21 15:40:03 -04:00
zeromus 26c3919358 winport: tidy edit control sanitization 2022-08-21 15:40:03 -04:00
harry 319b365787 Cheats config improvements for Qt GUI. Added global cheat enable/disable hotkey functionality. Added code to raise and set focus on cheat dialog when attempting to open it when it is already opened. Add code to update/refresh cheat dialog when loading a new ROM. 2022-08-21 14:57:03 -04:00
zeromus 6b8387b849 fix compile errors on linux, probably 2022-08-20 21:49:30 -04:00
zeromus f7e7773b5a add a hotkey to disable active cheats (windows port only, but adding elsewhere would be easy now). fixes #504 2022-08-20 20:19:10 -04:00
harry f3b33a628f Minor fixes for warnings found by gcc undefined behavior sanitizer. 2022-08-19 22:33:09 -04:00
harry f4ea336349 Qt GUI fixes for recent changes to fceu core cheats API. 2022-08-19 19:57:27 -04:00
zeromus c37f86dbd1 change cheat system name buffer management to use std::string to avoid issues caused by returning the name buffer to the user who could then use it in ways the cheat system didn't expect ultimately leading to invalid strcpy(X,X) calls and possible use of buffers after freeing. this will break all frontends probably (except for windows which I fixed at this time). fixes #512 2022-08-19 12:41:28 -04:00
harry 3eddaf8052 Fixed Qt GUI --help command line option when no window system is present (X11/wayland). There is now a pre-gui initialization sweep of command line options. Also added a --version command line option and a warning that the --no-gui option is not supported (should someone try to use it). Fixes issue #528. 2022-08-17 21:59:48 -04:00
zeromus 32bd9a7f49 supper mapper218 (fixes #447) 2022-08-11 23:16:39 -04:00
harry d834ac4e53 Qt trace logger optimization. Added code to flush data to disk when emulation is paused. This allows the file to updated with latest data when hitting breakpoints during debugging. 2022-08-09 21:28:58 -04:00
zeromus 11f903d363 change built-in palettes to be bit-shifted properly so that whites are pure FF. fixes #540 2022-08-07 20:54:11 -04:00
zeromus bb1fc08d8e rename all iNES Header Editor to NES Header Editor (re #519) 2022-08-04 21:23:34 -04:00
harry 0e9ad2f400 Bug fix for mismatched allocation/deallocation calls. Memory allocated with malloc should use free (not delete) to deallocate memory. 2022-08-04 21:15:59 -04:00
harry 0c36a3575e Bug fix for missing va_end on stdarg list. According to online documentation, vfprintf does not call va_end. This was caught by cppcheck. 2022-08-04 21:15:59 -04:00
harry 44c8e15503 Fix for small memory leak in GetBackupFileName(). strdup allocates memory and returns a char pointer to it. However std::string allocates its own memory already. Since FCEU_MakeFName returns a std::string already, there is no reason to use strdup in between the assignment of one std::string to another. 2022-08-04 21:15:59 -04:00
harry 02bf3dbb4d Added cmake command line option to build with clang/gcc address sanitizer enabled. 2022-08-04 21:15:59 -04:00
harry 1b32752800 Removed redundant chunk size field from auds header in Avi RIFF viewer. 2022-08-04 21:15:59 -04:00
harry 9d18523731 Fix for heap read overflow in Qt Avi Riff viewer when reading avi files created by ffmpeg. Caught by running with clang/gcc address sanitizer. 2022-08-04 21:15:59 -04:00
harry 3fed0331cc Fix for global variable SFCPU read overflow error when running with clang/gcc address sanitizer. The code that writes the save state to disk expects the parameter description to at least be 4 bytes. 2022-08-04 21:15:59 -04:00
negative 14c215208e Fix Apple Town Story (FDS) crash
Fix https://github.com/TASEmulators/fceux/issues/487

fceumm and mednafen-nes has similar placement for SIRQStat
2022-06-05 16:18:07 -04:00
negative 2c85cc53c5 FDS: Update IRQ based on latest hardware notes
- IRQ updates based on latest notes. Verified with test rom.

https://www.nesdev.org/wiki/Family_Computer_Disk_System#IRQ_control_($4022)

Discussion and test rom file:
https://forums.nesdev.org/viewtopic.php?f=3&t=16507
test rom: https://forums.nesdev.org/viewtopic.php?p=205052#p205052

- Puff Puff Golf is still problematic and unplayable. added notes for
  it.

- Fix typo for a previous commit.
2022-06-05 16:18:07 -04:00
Dwedit dd35f4b12a Add size limit of 32768 to strings to guard against corrupt files
Add count limit for bookmarks and bookmark shortcuts
2022-06-03 16:18:06 -04:00
negative 2e70e27ba0 Mapper 235: Update support for 260-in-1 and add UNROM mode
- Using Soft-reset with switch between multicarts or the extra PRG rom
  which loads Contra game.

Fix: https://github.com/TASEmulators/fceux/issues/489
2022-06-03 16:16:57 -04:00
harry 971d7212ee Minor optimization of openGL alpha blending for Qt GUI. 2022-05-31 22:56:52 -04:00
harry 0287395bee For Qt GUI, added logic to raise and shift focus to hex editor window when opening from debugger. Fixes issue #509. 2022-05-31 22:56:52 -04:00
harry fc9f89dafc For Qt GUI build, make timestamp UTC based for reproducible builds. Patch from debian. 2022-05-31 22:56:52 -04:00
harry a87902b427 For Qt GUI, enable openGL GL_BLEND and set blend function to GL_ONE_MINUS_SRC_ALPHA. Fixes openGL driver issue #513 for running on wayland. 2022-05-31 22:56:52 -04:00
zeromus b912004f69 oops, we've got to stub FCEUD_FlushTrace on these other platforms 2022-04-26 14:08:37 -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 9ce4b081e3 Fix for Qt iNES header editor mapper index. Account for mapper array not being continuously sequential. For issue #480. 2022-03-14 07:28:40 -04:00
mjbudd77 9b6ab85424 Minor compiler warning cleanup 2022-03-11 06:58:16 -05:00
mjbudd77 a4dbabfcc5 More debug print clean up for Qt. 2022-03-11 06:38:13 -05:00
mjbudd77 49590c40bb Commented out more debug print statements in Qt GUI. 2022-03-11 06:29:32 -05:00
mjbudd77 97465f0266 Commented out debug print statements for Qt window closure. 2022-03-10 20:59:47 -05:00
mjbudd77 2ded6783f3 Bump version number to next patch level to differentiate from previous release. 2022-03-10 20:00:44 -05:00
mjbudd77 93a084caad Updated about text. 2022-03-10 19:55:33 -05:00
mjbudd77 f57ea9cf49 Commented out a couple unused variables for Qt GUI. 2022-03-09 20:51:14 -05:00
mjbudd77 795173b662 Added logic to force raise of Qt family keyboard dialog to top of window stack after key map dialog closes. Fixes irregular window focus issue on mac OS. 2022-03-09 19:42:30 -05:00
mjbudd77 3bc0af149b Changed family keyboard key map dialog logic to prevent premature deletion of object during close. 2022-03-08 20:08:03 -05:00
mjbudd77 c175086cbf Added logic to limit maximum font point size for Qt Family Keyboard Text. Prevents crash if user enters an excessive value. 2022-03-06 22:06:29 -05:00
mjbudd77 2b26c041d5 Added logic to allow resizing of Qt Family Keyboard Dialog to minimum size via GUI 2022-03-06 22:02:19 -05:00
mjbudd77 3acbdc1c5a
Merge pull request #473 from negativeExponent/m225_extra_ram
Mapper 225: Implement extra RAM
2022-03-06 21:49:01 -05:00
mjbudd77 3e7dc3474a Added enable/disable button for Qt family keyboard dialog. Added button mapping save, recall and reset to default functions for Qt FKB. 2022-03-06 21:47:36 -05:00
negative 7f4eb7e14f Mapper 225: Implement extra RAM
Some multicarts are buggy without extra ram implemented,

Fix https://github.com/TASEmulators/fceux/issues/467
2022-03-07 09:11:52 +08:00
mjbudd77 bef4e80e08 Merge branch 'master' of github.com:TASEmulators/fceux 2022-03-06 12:47:59 -05:00
mjbudd77 3510b5801c Added logic to save/load key bindings for family keyboard for Qt GUI. 2022-03-06 12:47:46 -05:00
negativeExponent 3bd6da8e83
FDS: Improve IRQ emulation (#469)
Fix https://github.com/TASEmulators/fceux/issues/468

Co-authored-by: negative <negativeExponent@users.noreply.github.com>
2022-03-06 19:39:17 +02:00
mjbudd77 aaa66388de Minor tweaks to key names and labels for Qt virtual family keyboard. 2022-03-06 07:41:25 -05:00
mjbudd77 a9a8898677 Added logic to display family keyboard key binding tree view for Qt GUI. 2022-03-06 07:17:24 -05:00
mjbudd77 0f25a40b93 Added logic to show shifted key characters on Qt virtual keyboard when shift is held down. 2022-03-06 05:46:20 -05:00
mjbudd77 540b62f487 Added logic to save/recall Qt family keyboard window location and size. 2022-03-06 04:59:13 -05:00
mjbudd77 6c42f9588c Qt virtual family keyboard is now functional. 2022-03-05 22:08:40 -05:00
mjbudd77 a6c6dd048c Successful test of virtual family keyboard. 2022-03-05 19:15:20 -05:00
mjbudd77 db10fcb6bc Virtual family keyboard in work. 2022-03-05 18:28:56 -05:00
mjbudd77 7d3f0690e6 Virtual family keyboard in work for Qt GUI. 2022-03-05 15:18:30 -05:00
mjbudd77 96f4c6a712 Added additional windows modifier key checks for windows Qt GUI. 2022-03-02 22:22:38 -05:00
mjbudd77 ddaa20f171 Bug fix for windows Qt GUI left/right modifier key determination. 2022-03-02 21:42:51 -05:00
mjbudd77 c97a36ae2b Bug fix for Qt GUI mac OSX command and control key mappings. 2022-02-28 20:44:12 -05:00
mjbudd77 c4d9a70fc3 Bug fix for Qt GUI mac OSX command and control key mappings. 2022-02-28 20:44:02 -05:00
mjbudd77 6d74be0b21 Added support for left/right modifier virtual key codes for mac OSX. 2022-02-28 06:38:04 -05:00
mjbudd77 c0dff9bbfe Qt Keyscan update for left/right meta keys. MacOSX menu accelerator fix. 2022-02-27 20:41:25 -05:00
mjbudd77 5e6fd870fe Added code to differentiate left vs right modifier keys on windows and linux. Cannot do this yet on mac OSX. 2022-02-27 12:38:57 -05:00
mjbudd77 187ee9646c Bug fix for Qt GUI family keyboard shift key issue. Family BASIC appears to not like when both shift keys are down at the same time. For issue #464 2022-02-24 07:06:14 -05:00
mjbudd77 98f3e57ac2 Bug fix for odd SDL scancode returns in Qt GUI. For issue #464. 2022-02-23 05:37:23 -05:00
mjbudd77 d767153531 Bug fix for family keyboard mapping of caret character. Fix for family keyboard potential data tearing on key state. For issue #464 2022-02-23 04:55:43 -05:00
mjbudd77 04e39e4fc9 Added logic to Qt key scanner to fix key scancodes for characters that are only accessible via the use of the shift key (dual function keys). Should help issue #464. 2022-02-21 21:17:01 -05:00
Alexey 'Cluster' Avdyukhin 8e6d99a1ac Meta keys combinations fix (win32) 2022-02-13 22:32:05 +03:00
mbudd02 a00ce315b8 Version bump to differentiate interim git from latest release. Bump MacOSX pipeline SDL2 versionto 2.0.20 2022-02-13 08:04:22 -05:00
negativeExponent c96a802904
Update 8237.cpp (#457)
Fix incorrect address mask for UNL8237A write registers. The game Lion Kings writes to 0x5010/0x5080.
2022-02-13 14:08:23 +02:00
mjbudd77 442f4e8934
Merge pull request #461 from negativeExponent/bus_conflict
Only enable bus conflict for submapper 2 (mapper 2, mapper 3)
2022-02-11 07:06:18 -05:00
negative f7dd4430fb Only enable bus conflict for submapper 2 (mapper 2, mapper 3)
Fix https://github.com/TASEmulators/fceux/issues/460

https://wiki.nesdev.org/w/index.php?title=NES_2.0_submappers#002.2C_003.2C_007:_UxROM.2C_CNROM.2C_AxROM
2022-02-11 19:16:19 +08:00
Alexey 'Cluster' Avdyukhin 0e04da81b3 Fix for release config 2022-02-09 22:04:24 +03:00
Alexey 'Cluster' Avdyukhin 132e062d77 Debugger address validation, fix for #444 2022-02-09 20:06:22 +03:00
mjbudd77 a75c27d517 Removed a couple unused variables from Qt Tas Editor. 2022-02-09 05:44:05 -05:00
mjbudd77 20f852eb26 Set minimum width on misc ROM entry field in iNES header editor for Qt GUI. 2022-02-09 05:23:34 -05:00
mjbudd77 6d942379d6 Bug fix for mapper 16 submapper 4, allow writes to address range 6000 - 600D. For issue #458. 2022-02-08 19:01:32 -05:00
mjbudd77 2dde684af4 Merge branch 'master' of github.com:TASEmulators/fceux 2022-02-07 18:15:19 -05:00
mjbudd77 c3b8a4b92f Updated compiler strings for Qt/SDL GUI. Added more detail for msvc and added clang check. 2022-02-07 18:14:55 -05:00
Alexey 'Cluster' Avdyukhin 50ed1b6cfb Fixed windows debugger bug introduced by commit 129fbe3c32 2022-02-07 07:24:18 +03:00
mjbudd77 7e3191d801 Default disable PPU sprite limit config option to false (Max sprites = 8) for Qt GUI. 2022-02-01 20:36:03 -05:00
mjbudd77 6d35018b9a Zero MMC5 WRAM size on close. 2022-01-31 21:35:08 -05:00
mjbudd77 2d4fa02bbd Minor change to MMC5 mapper to only call memory init on WRAM if it exists. 2022-01-31 21:29:46 -05:00
mjbudd77 93f3260a98 Bug fix for VROM size needing to be a power of 2. Fixes issue #455 2022-01-31 21:23:02 -05:00
mjbudd77 dc3408205e Fixed deprecated QKeySequence::key()[] int operator usage for Qt6 2022-01-29 20:07:31 -05:00
mjbudd77 e4908b5a2e A few Qt6 deprecation fixes for use of QMouseEvent::globalPos. 2022-01-29 19:14:41 -05:00
mjbudd77 3062cadb84 Build fixes for Qt6 use. Specifically Qt version 6.2.2 2022-01-29 19:00:32 -05:00
mjbudd77 3bcb9888dd Change Qt Hex editor cursor blink logic to be a function of refresh rate so that blink rate is consistent. Also, added a 50hz update rate option. 2022-01-29 16:04:33 -05:00
mjbudd77 44f81dedc3 Bug fix for Qt Hex editor row/column highlighting in ROM view. 2022-01-29 15:36:13 -05:00
mjbudd77 1f20021946 Bump patch level to differentiate interim dev builds from last release. 2022-01-29 14:21:19 -05:00
mjbudd77 f87602f703 Merge remote-tracking branch 'mjbudd77/master' 2022-01-29 12:58:35 -05:00
mjbudd77 95d2ca7982 Added auto hide main menu on fullscreen functionality to Qt GUI. Issue #454. 2022-01-29 12:55:41 -05:00
Alexey 'Cluster' Avdyukhin c8a0f4ca78 Added WRAM support for OneBus mapper (mapper 256) 2022-01-25 21:44:49 +03:00
mjbudd77 e42a966afc Added GPL header to splashscreen.cpp file. 2022-01-22 21:10:36 -05:00
mjbudd77 3e577b014e Added logic to Qt Hex Editor to wrap cursor to next line after entering data at the end of a line. Fixes issue #451. Also, added memory read/write protections to ensure that ROM patches cannot go beyond the valid ROM memory block. 2022-01-22 13:05:07 -05:00
mjbudd77 91e530aa99 Fix for Qt hex editor viewport getting out of sync with vertical scroll bar. Force line offset to come directly from scroll bar value during paint event. Issue #450 2022-01-21 23:10:17 -05:00
mjbudd77 41df815cf6 Added a constructor to GUIMESSAGE struct to ensure memory is initialized in a consistant way. 2022-01-21 18:41:09 -05:00
mjbudd77 c4010846e1 For Qt/SDL, added logic to make GUI message video overlays optional via video config dialog. Issue #448. 2022-01-21 18:23:49 -05:00
mjbudd77 ed4bb30ffe Bug fix for SDL sound on FreeBSD OS (Issue #449). Force audio spec sample set size to be a power of 2 per SDL documentation. 2022-01-21 16:57:56 -05:00
mjbudd77 b1f62d694c Reduced fade out rate of splashscreen. 2022-01-16 11:27:32 -05:00
mjbudd77 cb5bb3446d Made custom Qt GUI splashscreen that fades out when initialization is finished. Showing splash screen at startup is now a configuration parameter and defaults to off. Can be turned on in GUI config dialog. 2022-01-16 11:12:13 -05:00
mjbudd77 47098b2b8c Bump patch version number for upcoming maintainence release. 2022-01-16 10:02:00 -05:00
mjbudd77 2a1c529231 For Qt GUI. Added logic to show busy cursor when closing out an AVI recording. Fix for overloading GUI cursor, always call QGuiApplication::restoreOverrideCursor() to reset cursor to default. 2022-01-16 07:08:37 -05:00
mjbudd77 1acdb31490 Changed Qt RAM search logic to skip over RAM mirrors. Changed GUI to allow for searching of RAM, SRAM, and ROM regions to be individually selectable. Issue #446. 2022-01-15 23:47:42 -05:00
mjbudd77 1f1ca26d83 Cleaned up a few compiler warnings. 2022-01-15 22:11:17 -05:00
mjbudd77 f6e184952b Applied cmake SOURCE_DATE_EPOCH patch for reproducible builds. 2022-01-15 21:12:02 -05:00
mjbudd77 bb4b88d00e Fixed inverted vertical scroll on Qt Trace logger. Added page up/down key shortcuts for Trace logger viewport. 2022-01-15 20:06:10 -05:00
mjbudd77 77c946734a Added optional compile time option to build in a splash screen during Qt application startup. 2022-01-15 18:17:34 -05:00
mjbudd77 494c7ca5b5 Bug fix for Qt GUI crash upon a 2nd CDL window open. 2022-01-15 14:31:46 -05:00
mjbudd77 1ca8b8e9d0 Hot fix for reversed scroll direction when dragging input above or below Qt piano roll view. 2022-01-12 19:46:37 -05:00
mjbudd77 25a239b39f Added TAS project loading progress dialog for Qt GUI. Added busy mouse cursor during TAS project save/load. 2022-01-11 06:57:30 -05:00
mjbudd77 26386b8483 Added logic to animate Qt branch view cloud in the Y axis. 2022-01-10 21:42:23 -05:00
mjbudd77 91a4f05314 Logic change to scale cloud Y position with height of grid. 2022-01-10 21:34:47 -05:00
mjbudd77 de7300c06d Qt branch view vertical grid scaling fixes. 2022-01-10 20:58:38 -05:00
mjbudd77 e976ffac5b Changed playback pauseFrame variable and accessor functions to be static in PLAYBACK class so that they are thread safe for Qt GUI. 2022-01-10 19:49:04 -05:00
mjbudd77 a673ee4a26 Added logic to protect against TAS seek overruns in Qt/SDL emulation thread. 2022-01-10 07:16:52 -05:00
mjbudd77 d380fc7f50 Ensure that Qt TAS piano roll recalculates line width for horizontal scroll bar when reset is called. This fixes incorrect horizontal scroll bar behavior when loading new projects that have a different controller count. 2022-01-10 06:31:20 -05:00
mjbudd77 c890f6c1bb Another fix to ensure that Qt TAS piano roll frame number width is at least 9 chars wide. 2022-01-09 16:31:31 -05:00
mjbudd77 020e1e208a Minor vertical text placement changes for Qt bookmarks view. 2022-01-09 16:23:58 -05:00
mjbudd77 686f9d27bb Ensure piano roll font is always forced to bold before calculating font pixel sizes. 2022-01-09 15:59:21 -05:00
mjbudd77 01e16837ef Minor syntax cleanup. 2022-01-09 15:48:36 -05:00
mjbudd77 a77cb754bf More minor vertical adjustments to Qt piano roll text placement. 2022-01-09 15:39:35 -05:00
mjbudd77 0d84862d93 More text placement adjustments to Qt TAS piano roll. 2022-01-09 15:36:59 -05:00
mjbudd77 93ee0efe3b Minor vertical adjustments to Qt piano roll text placement. 2022-01-09 14:56:03 -05:00
mjbudd77 80a7afd7f5 Account for font bearing in centering of text number in Qt branch cards. 2022-01-09 14:42:42 -05:00
mjbudd77 1e5a1eddd0 Slight adjustments to text placement in Qt branch view cards. 2022-01-09 14:22:35 -05:00
mjbudd77 2b88e96814 Added playback progress bar to Qt TAS editor. 2022-01-08 15:05:52 -05:00
mjbudd77 72af0270a3 Added a progress dialog for saving Qt TAS projects to disk. 2022-01-08 14:40:12 -05:00
mjbudd77 a28bbb3ce3 Fixed Qt advanced hotkey gamepad bindings also be able to handle escape characters. 2022-01-08 06:56:03 -05:00
mjbudd77 97e509b8ef Added code to escape keyboard gamepad bindings if the key name interferes with the config file syntax. Fixes save/load of comma key gamepad bindings. For issue #443 2022-01-08 06:37:55 -05:00
mjbudd77 94eab8f8ef Replaced all calls to clock() in Qt TAS editor. Clock was giving inconsistent time stamps since it actually returns CPU use time, not actual time. Instead use SDL_GetTicks() to get actual time in milliseconds. 2022-01-08 05:31:15 -05:00
mjbudd77 ed29139b87 Draw fix for italic text not being turned off when it should in drawing of Qt TAS piano roll. 2022-01-08 04:41:22 -05:00
mjbudd77 3db26d3fb0 Logic fix for Qt TAS piano roll ensure line is visible. 2022-01-08 04:30:15 -05:00
mjbudd77 f135fd2888 Added Qt TAS turbo seek functionality. 2022-01-08 04:17:16 -05:00
mjbudd77 2dfa98ac9f Coming back full circle on Qt TAS branch view text placement. Original implementation works best across all platforms. 2022-01-07 09:07:06 -05:00
mjbudd77 9cafd99e16 More Qt TAS branch view text placement adjustments. 2022-01-07 07:15:32 -05:00
mjbudd77 cf31b874ed Adjusted Qt TAS branch view text placement to better center text into card. 2022-01-07 06:11:46 -05:00
mjbudd77 71c5ebc133 Changed Qt TAS piano roll grid draw logic to always make header grid lines darker. 2022-01-07 06:00:11 -05:00
mjbudd77 c6293af030 Qt TAS project save compact bug fixes. 2022-01-06 06:48:44 -05:00
mjbudd77 d1fa388846 Bug fix for cut & paste errors in Qt TAS saving options dialogs. 2022-01-06 05:44:27 -05:00
mjbudd77 0badec6124 Added a custom window splitter for Qt Tas editor to better control sizing of right panel. 2022-01-05 20:17:17 -05:00
mjbudd77 ede8c5fc7e Commented out unused block of code in Qt branches view paint. 2022-01-04 21:19:21 -05:00
mjbudd77 66971b7e6b Calcation fix for is line visible in Qt TAS piano roll. 2022-01-04 21:11:49 -05:00
mjbudd77 975632856f Added Save As TAS project file overwrite warning dialog for Qt GUI. 2022-01-04 20:55:03 -05:00
mjbudd77 734ec96269 Added logic to ensure playback cursor is visible when follow cursor option toggles from false to true. 2022-01-03 21:48:04 -05:00
mjbudd77 b04ddd3fbb Uninverted Qt TAS piano roll vertical scroll appearance. Code was getting unnecessarily complicated with that implementation. 2022-01-03 21:43:36 -05:00
mjbudd77 ec663196c1 Increased fade in/out rate for Qt bookmark preview popup window. Change instantly if already up. 2022-01-03 20:51:53 -05:00
mjbudd77 b4734ac45f Disabled Qt/SDL mutex lock debug code. 2021-12-31 07:01:57 -05:00
mjbudd77 4291c104d7 Bump dev version number to 2.6.0. The Qt TAS editor is far enough along that it is time to differentiate from previous 2.5.0 version. 2021-12-31 06:25:48 -05:00
mjbudd77 c198739c30 Implemented missing warning dialogs in Qt TAS project loader. 2021-12-31 05:59:51 -05:00
mjbudd77 31e6578877 Set minimum branch view height to be smaller so that scroll bar is less likely to be required and in view. 2021-12-31 05:27:36 -05:00
mjbudd77 bb6f149e4d Minor updates to Qt branches view. 2021-12-31 05:22:04 -05:00
mjbudd77 90a7dd9a0d Qt branch view grid spacing logic updates. 2021-12-31 05:03:30 -05:00
mjbudd77 5fc47dce6a Added logic to force orderly close of Qt TAS editor any time a ROM is closed or the application is quit. 2021-12-30 21:38:23 -05:00
mjbudd77 8ee625c473 Added project reset call after SaveAs function completes to ensure that project shows no changes before removing * from window caption. 2021-12-30 21:17:24 -05:00
mjbudd77 dbcc485e24 Cleaned up a few annoying compiler warnings. 2021-12-30 20:36:45 -05:00
mjbudd77 309f417c6d Custom vertical scroll wheel event modifications for robustness. 2021-12-30 20:16:25 -05:00
mjbudd77 71977ef15d Set Qt TAS piano roll grid width back to 1 pixel. Value is now stored in a variable which can be later be a configuration parameter if desired. 2021-12-30 19:52:00 -05:00
mjbudd77 952c3918b9 Implemented a custom vertical scroll bar widget for the Qt TAS piano roll to allow for overriding of default mouse wheel scroll behavior. 2021-12-30 18:51:15 -05:00
mjbudd77 f3897c69d3 Changed text draw functions in Qt TAS piano roll to use a defined rectangle and center justification. Instead of manually computing center, let QPainter determine center. 2021-12-30 12:53:33 -05:00
mjbudd77 4d3716c741 Minor changes to Qt TAS piano roll grid and selection grid coloring logic. 2021-12-30 12:29:15 -05:00
mjbudd77 0ad291df75 Added logic to reuse existing preview popup window when switching quickly between bookmarks (for Qt GUI). 2021-12-30 10:47:36 -05:00
mjbudd77 04b8d8a789 Bug fix for stack overflow error that can occur when calling QCoreApplication::processEvents() and not guarding against recursion on calling parent function. 2021-12-29 22:23:00 -05:00
mjbudd77 199a3d8d72 Efficiency fix for Qt TAS history view. Only redraw if it is visible in tabbed widget. 2021-12-29 21:48:53 -05:00
mjbudd77 52792378c0 Qt TAS branch view background fill bug fix. Only draw in the visible area. 2021-12-29 21:34:12 -05:00
mjbudd77 a891b080c5 Added message guard to not spam terminal with mutex warnings when GUI thread is blocking emulation thread from executing. 2021-12-29 21:11:02 -05:00
mjbudd77 9fd2bf559c Simplified CLOCKS_PER_SEC calculations for Qt GUI. 2021-12-29 21:02:00 -05:00
mjbudd77 be81d1870c Swapped out time int types for proper clock_t type. 2021-12-29 20:33:13 -05:00
mjbudd77 96c1f588e4 Bug fix for bookmark preview popup window placement. Now is always placed left of scrollable area viewport. 2021-12-29 19:52:54 -05:00
mjbudd77 d55d2c3f8a Fixed branch view bookmark text placement inside scrollable region. 2021-12-29 19:42:25 -05:00
mjbudd77 ec6cfb1e40 Commented out debug abort call. 2021-12-29 16:11:39 -05:00
mjbudd77 68693ca29d Added FCEU_WRAPPER_LOCK macros to allow for tracking of critical section mutex locking. 2021-12-29 15:56:47 -05:00
mjbudd77 425e3104de Slight speed increase to fade in/out effect for TAS bookmark preview popup for Qt GUI. 2021-12-28 22:11:30 -05:00
mjbudd77 57ed6d8ecc Reimplemented Qt bookmark preview popup window to allow for alpha fade effect. 2021-12-28 21:52:10 -05:00
mjbudd77 fd1f33f27e Added lower marker note focus on quick double click for Qt TAS editor. 2021-12-27 23:23:33 -05:00
mjbudd77 df7bedd349 Implemented different marker drag and drop scheme to support fade away effect and fix windows instability using QDrag. 2021-12-27 23:09:36 -05:00
mjbudd77 f1bf200d5d Default TAS piano roll grid color to mid-level gray. 2021-12-27 21:04:27 -05:00
mjbudd77 e4c8dee040 Ensure that cloud position is initialized properly in Qt TAS branch view. 2021-12-27 21:01:57 -05:00
mjbudd77 7f97f2fd4b Implemented piano roll drag vertical scroll line shifting logic for Qt GUI. 2021-12-27 20:11:48 -05:00
mjbudd77 58b093e549 Added call to close all windows on application close. 2021-12-25 20:39:41 -05:00
mjbudd77 4006bb500f Added screen snapshot capture message to Qt GUI. 2021-12-24 07:06:08 -05:00
mjbudd77 79d989a798 Added newline character to end of region log message. 2021-12-24 06:55:26 -05:00
mjbudd77 b05e210982 Minor order of execution changes to Qt GUI application quit to prevent crash on MacOS. 2021-12-23 23:27:46 -05:00
mjbudd77 571caf3234 cppcheck and valgrind code hardening for Qt Tas editor. 2021-12-23 21:02:16 -05:00
mjbudd77 ceaa04b0f4 Minor draw fix for branches text. 2021-12-23 14:32:29 -05:00
mjbudd77 0c1c338ce7 Changed Qt piano roll single wheel detent to move by 6 lines. 2021-12-23 14:14:55 -05:00
mjbudd77 f4181e799b Added logic to allow for customization of Qt TAS piano roll grid coloring. 2021-12-23 14:04:25 -05:00
mjbudd77 bdd0bda016 Force Qt TAS bookmarks/branches font to bold. 2021-12-23 13:44:42 -05:00
mjbudd77 86e7f7a889 Added TAS config parameter load/save logic for Qt GUI. 2021-12-23 13:29:48 -05:00
mjbudd77 4c7b8bf64c Minor marker drag code changes for robustness. 2021-12-23 12:57:13 -05:00
mjbudd77 b4735a1aea Added missing follow playback cursor if needed function in Qt TAS GUI. 2021-12-22 23:54:14 -05:00
mjbudd77 a442354ef6 Added a short delay to TAS marker drag n drop setup in the event that the mouse button is quickly released. 2021-12-22 23:41:07 -05:00
mjbudd77 1e0b2f37ce Added piano roll marker drag n drop logic for Qt GUI. 2021-12-22 23:29:16 -05:00
mjbudd77 c51b545fbf Added middle button double click logic for Qt TAS piano roll. 2021-12-22 21:35:27 -05:00
mjbudd77 c0495bd62b Added Qt TAS piano roll double click handling logic. 2021-12-22 21:30:53 -05:00
mjbudd77 772901cfa7 Bug fix for Qt TAS editor allowing cross columns during drag with alt held. 2021-12-22 20:47:13 -05:00
mjbudd77 f3fd0a8016 Bug fix for inverted vertical scroll bar on Qt TAS piano roll view. 2021-12-22 20:31:34 -05:00
mjbudd77 a4d25deaf5 Changed Qt TAS playback buttons to trigger on press instead of release. 2021-12-20 21:59:41 -05:00
mjbudd77 d0bdab8c63 Added press and hold logic to Qt TAS editor playback push buttons. 2021-12-20 21:55:45 -05:00
mjbudd77 f1eb0a94fe Reduced number of characters in Qt piano roll frame cell. 2021-12-20 21:33:52 -05:00
mjbudd77 6d81529b4c Bug fix for close event on Qt TAS editor. Ignore event if save project dialog returns false. 2021-12-20 21:14:51 -05:00
mjbudd77 e79de93c18 Directional fix for Qt TAS piano roll vertical scroll bar page step 2021-12-20 20:57:13 -05:00
mjbudd77 ef8e076bba Added logic to Qt TAS editor to allow for delayed history widget updates to be scheduled so that update can occur in GUI thread 2021-12-20 20:42:47 -05:00
mjbudd77 1fa028b6e6 Increase Qt video transfer buffer size to further reduce possibility of buffer overrun when transfering frames from emulation to GUI threads. Added input device update code to emulation frame finished callback to ensure that input devices are always updated before screen is redrawn. 2021-12-17 06:30:29 -05:00
mjbudd77 c35b18751d Added a triple buffer for video frame data to ensure clean transfer of that data between emulation and Qt GUI threads. 2021-12-13 21:16:53 -05:00
mjbudd77 74a48e92d6 Added a vertical sync test pattern to Qt GUI. 2021-12-13 20:48:30 -05:00
mjbudd77 c72eac9970 Fixed mouse wheel scroll direction on Qt trace logger and TAS piano roll. 2021-12-12 15:42:37 -05:00
mjbudd77 c596593fd0 Added hot changes coloring to Qt piano roll. 2021-12-12 14:52:29 -05:00
mjbudd77 0ad04f819e Draw fixes for Qt Tas piano roll arrows and bookmark labels. 2021-12-12 14:13:54 -05:00
mjbudd77 a3b3cf563b Changed marked frames to be unbold and italic in Qt TAS editor. 2021-12-12 13:57:47 -05:00
mjbudd77 6f3b25646d Put branches viewport into a scrollable area. 2021-12-12 13:40:23 -05:00
mjbudd77 8ab19f64f6 Changed piano roll marked frames to show in italic. Set all other text to bold. For Qt GUI. 2021-12-12 13:14:09 -05:00
mjbudd77 465f7d725d Moved TAS history view to tabbed widget with branches/bookmarks for Qt GUI. 2021-12-12 13:05:26 -05:00
mjbudd77 53d721b560 Added TAS editor project save compact dialog to Qt GUI. 2021-12-12 11:58:13 -05:00
mjbudd77 4187b8a9b1 Added logic to Qt TAS piano roll to toggle inputs on selected lines when buttons are clicked in the header. 2021-12-12 11:10:56 -05:00
mjbudd77 79d2005495 Fix for Qt TAS piano roll left click and drag functionality. Force column selection to always be what it was at initial button press. Ensure that all row frames are not skipped between mouse events. 2021-12-12 07:59:59 -05:00
mjbudd77 dd9b911b60 Added video vertical sync refresh option to Qt GUI. 2021-12-12 06:35:42 -05:00
mjbudd77 9e1564df0d Ensure to lock emulator with accessing bookmark preview popup. 2021-12-11 21:18:25 -05:00