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