Commit Graph

6002 Commits

Author SHA1 Message Date
Alexey 'Cluster' Avdyukhin 773eaa868c Mapper 268, submappers 8,9 merged into 2,3 and fixed (https://www.nesdev.org/wiki/Talk:NES_2.0_Mapper_268) + refactoring 2022-12-12 17:48:56 +04:00
Alexey 'Cluster' Avdyukhin 0fb86b9740 Fixed broken UNROM-512 emulation + some refactoring 2022-12-07 20:04:27 +04:00
Alexey 'Cluster' Avdyukhin 689d763f67 Windows build fix 2022-12-07 09:42:05 +04:00
Alexey 'Cluster' Avdyukhin 853b2718b7 Removed debug messages 2022-12-06 22:51:41 +04:00
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 35c5fa36c1 Upgraded Qt/SDL win64 build dependencies to use SDL-2.24.1 and ffmpeg-5.1.2 2022-10-12 20:51:11 -04:00
harry 06c3473c29 Undo packaging of LUA DLLs for Qt Win64 GUI. Static lib seems to be more stable. 2022-10-10 22:04:48 -04:00
harry 83c529efb6 Package lua DLLs and auxlib.lua into Qt win64 zip for IUP functionality. 2022-10-10 09:54:52 -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 edae2d4f57 Updated download links for interim auto builds for new interim-build pre-release setup (uploaded from appveyor using github release deployment) 2022-10-01 17:33:17 -04:00
mjbudd77 7b007332c4 Updated access token. 2022-10-01 17:03:20 -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
Brad Smith 897491b3f5
how to find newer old releases 2022-09-25 20:36:54 -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