Commit Graph

3506 Commits

Author SHA1 Message Date
KrimtonZ 0baf3ef263 Fix Trap Interpreter Functions, add recompiler trap functions 2019-12-17 09:08:15 -06:00
KrimtonZ 4f23b39bb3 remove incorrect assumption that all of Cartridge Domain 2 Address 2 is for save data 2019-12-16 15:19:01 -06:00
KrimtonZ 0e5c771408 remove HaveDebugger requirement, remove redundant code 2019-12-16 14:59:40 -06:00
KrimtonZ b9be612ac5 add remaining trap instructions, properly implement traps for the interpreter core 2019-12-16 14:15:26 -06:00
shygoo d76d3e82c1 [Debugger] Optimize interpreter breakpoint and callback checks 2019-12-01 04:10:36 -06:00
shygoo 5c2aa06f7c [Debugger] Rewrite memory viewer
replace the list control with a custom hex editor control
add ability to select/copy/paste/delete multiple bytes
add byte group size option
make window resizable
fix DPI-related issues
speed up auto-refresh
remove option to disable auto-refresh (new control's cpu usage is insignificant)
move the dump and search buttons into the context menu
change colors of breakpoints to match the command window's
highlight CPU read and write targets while stepping
move address info into a status bar
allow window to open before MMU is initialized
add shortcut keys for various actions
add "follow pointer" feature
add "safe mode" feature
add copy gameshark code feature
add copy with row/group addresses feature
add tabs feature
add jump menu for hardware regions
fix cartridge ROM addresses not being viewable
allow writes to cartridge ROM
use thread-safe functions for reading/writing memory
2019-11-30 11:48:46 -06:00
oddMLan d3f69997b1 [Audio] Move SetTimerResolution() to InitiateAudio
Enforces a timer of 1.0ms without conflicting with other plugins that might reset it unknowingly
Fixes VI drop when changing settings in GLideN64
2019-11-28 17:22:35 -07:00
zilmar e71598edaf [Project64] make sure m_pDiskInfo is initialized in RomInformation 2019-11-10 07:04:24 +10:30
Tim Wanders cc353a4712 [appveyor] fix x64 packaging 2019-11-01 14:24:06 +01:00
Cranky Supertoon 3d24d7fa2c push rpc 2019-10-23 17:12:12 -04:00
zilmar 4e2c5949dd
Merge pull request #1660 from mrexodia/sipi-randomization-setting
Implement Randomize SI/PI interrupts setting
2019-10-07 09:26:29 +10:30
Duncan Ogilvie 18686e710c
Implement Randomize SI/PI interrupts setting
closes #1656
2019-10-03 11:39:46 +02:00
oddMLan 25fe58bfb9 Actually fix Zip file name
Get the correct version string from SetGitProperties.cmd
2019-10-02 23:32:16 -07:00
oddMLan ac0a9258bd Pass Platform solution parameter to UpdateVersion.cmd and package_zip.cmd
This adds the ability to package x64 builds if requested.
2019-09-29 19:20:42 -07:00
oddMLan b323e9cf2f [build] Try to find 7z.exe on PATH first
This ensures compatibility with AppVeyor without breaking the Jenkins buildbot
2019-09-29 19:20:42 -07:00
shygoo 1ede902abb [Debugger] Fix register UI problems 2019-09-26 11:07:28 -05:00
zilmar a7710229be Fix up cheat menu language strings 2019-09-20 04:19:13 +09:30
LuigiBlood f43201fdea [App] Add "Open Combo" File Menu for Combo N64 + 64DD Loading.
Also added seperate functions for generic game loading, N64 ROM loading, and 64DD Disk loading.
2019-08-22 13:44:30 +02:00
LuigiBlood 3cca0e5549 [App] Add Command Line Combo N64 + 64DD Image Loading
With --combo <Disk Image> <ROM Image>
2019-08-22 13:16:58 +02:00
zilmar c78260ce54 Fix some warnings/errors in android build 2019-08-21 18:57:50 +09:30
LuigiBlood 01ae9450fc [Disk] Undo changes to compile 64DD Settings Page 2019-08-21 09:25:16 +02:00
zilmar 3079edfd95
Merge pull request #1644 from LuigiBlood/ddrevamp
[Disk] Add Disk Drive Settings file
2019-08-21 16:46:24 +09:30
LuigiBlood 5eb8c8715f [Disk] Add Disk Drive Settings file 2019-08-21 08:50:47 +02:00
zilmar 95a0659e8d
Merge pull request #1643 from shygoo/exc-bp-intr-float
[Debugger] Add breakpoints for specific interrupts and FP exceptions
2019-08-21 09:28:48 +09:30
zilmar 081541cf64 Fix compile error 2019-08-21 09:28:19 +09:30
shygoo 2137b365bb [Debugger] Add breakpoints for specific interrupts and FP exceptions 2019-08-20 17:20:49 -05:00
zilmar b57250427b
Merge pull request #1641 from LuigiBlood/ddrevamp
[64DD] Updated 64DD emulation
2019-08-21 07:08:37 +09:30
Julio C. Rocha 05c2b59c3a Use _Pairib in VC versions below 14.2. 2019-08-17 00:59:45 -07:00
Julio C. Rocha 1ad1f71d2f Make code base compatible with Visual Studio 2019.
- Allow building with the MSVC 14.2 toolset.
- Removed explicit reference to deprecated typedef std::map::_Pairib.
2019-08-16 20:46:11 -07:00
LuigiBlood ddaff077b2 [Disk] Add more failsafe in case of invalid offsets 2019-08-14 16:32:13 +02:00
LuigiBlood 3951fbe828 [Disk] Perform Filesize check for D64 files, remove useless check 2019-08-14 16:18:31 +02:00
LuigiBlood 0587f06317 [Disk] Handle D64 RAM Save (expand RAM Area internally) 2019-08-14 00:04:20 +02:00
LuigiBlood 97be800889 [RomList] Properly Byteswap a Development Disk 2019-08-13 22:08:38 +02:00
LuigiBlood 239c8f1128 [Rom] Use Base Game Save File if loaded both a disk and cart 2019-08-13 21:34:55 +02:00
LuigiBlood c7bbd12b41 [Rom] Do not load ROM settings if a disk is loaded
It will prioritize the settings from disk if one is loaded.
2019-08-13 20:26:23 +02:00
LuigiBlood 63d0410d79 [Disk] Make sure to avoid Saving RAM file if there's no RAM Area available + fix D64 Save Area 2019-08-12 23:50:02 +02:00
LuigiBlood affc694149 [Core & UI] Add RAM Area Only (*.ram) Disk Save Type
- It's a bit hacky but it works for *.ndd files.
- For *.d64 files, it might be more problematic for now
2019-08-12 23:07:33 +02:00
LuigiBlood bfd793c184 [UI] Add 64DD Tab in Options 2019-08-12 19:55:10 +02:00
LuigiBlood bbabf5d98d [RomBrowserClass] Fix "Play Game with Disk" to stop appearing for Disk games. 2019-08-12 18:13:34 +02:00
LuigiBlood 0c6936d67e [Core] Perform more thorough disk validity checks & change DiskIdent for Config/RDB
- It didn't detect NUD-4567-JPN dump.
2019-08-12 17:50:04 +02:00
LuigiBlood 0cee922767 [Disk & N64Class] Handle Combo Loading with development disks without TOOL IPL
- You don't actually need the Development IPL for that purpose as games will never actually check.
2019-08-12 14:16:16 +02:00
LuigiBlood cf576246e1 [Core & UI] Handle and Select IPLs depending on Disk Country Code
- Removes 64DD IPL loading when not found, so the user has to either load the IPL ROMs once or set them in the settings
2019-08-12 13:39:56 +02:00
LuigiBlood 53da2eca49 [Disk] Fix Loading Disks without Disk ID 2019-08-12 13:35:30 +02:00
LuigiBlood c8947e93ea [Disk] Perform heuristics to find System Data and Disk ID for *.ndd 2019-08-12 11:40:44 +02:00
LuigiBlood 075c82a3e3 [Disk] Support D64 Master Disk Format 2019-08-11 18:13:52 +02:00
LuigiBlood ce868c57f8 [Rom] Enable 64DD hardware when using 64DD IPL standalone 2019-08-11 18:12:41 +02:00
LuigiBlood b2f0623746 [Rom] Use IsLoadedRomDDIPL 2019-08-11 13:35:49 +02:00
LuigiBlood 3bd5595e77 [Rom] Support CRC calculation for 64DD IPLs 2019-08-11 13:30:51 +02:00
LuigiBlood 053ef11c5a [Disk] Treat 64DD TOOL IPL as seperate 2019-08-11 11:45:52 +02:00
LuigiBlood db35bd6518 [Disk] Handle Sector & Sector Size in AddressBlock function (for future D64 support) 2019-08-11 11:45:05 +02:00
LuigiBlood 444a8a6d1a [Disk] Fix Disk Header Allocation 2019-08-11 11:31:39 +02:00
LuigiBlood 90d4bf0df8 [Disk] Remove MAME Format Conversion Code, support SDK format on its own
Use LBAToByte & LBAToPhys for SDK addressing
2019-08-10 21:18:17 +02:00
shygoo e7e91b878f [Debugger] Add copy buttons to memviewer popup menu 2019-08-04 17:50:52 -05:00
Azimer 84c164ff66 Fix for Windows XP compatibility
I neglected FreeLibrary and have multiple calls to LoadLibrary without freeing.  This is fixed by moving it to the class member level and allocating and deallocating through the class constructor/destructor.
2019-08-01 09:39:39 -05:00
Azimer a972773b6a Windows XP Fixes?
Does this actually work?
2019-07-31 23:28:49 -05:00
zilmar cabef36f91 [Project64] Do not load cheat enhancements if not enabled. 2019-06-26 21:46:12 +09:30
zilmar eace1a7ba1
Merge pull request #1627 from shygoo/fix-regtabs
[Debugger] Make register tabs stable
2019-06-15 20:50:11 +09:30
shygoo 946284a09a [Debugger] Make register tabs stable 2019-06-15 06:04:37 -05:00
Kimberly J Ortega 9315c31fb2
Fix C-buttons and DPad button bindings 2019-06-08 07:19:35 -07:00
oddMLan 3b9cafc058 [Debugger UI] Try to handle spaces in Mem Viewer address editbox
FormatClipboard() doesn't seem to be doing anything for some reason.
2019-05-13 01:32:00 -07:00
oddMLan 2bbd724b91 [Debugger UI] Fix address text box size
It was 2 pixels too small to hold 10 characters (head + address)
Also added ES_AUTOHSCROLL just to be extra careful in case the user has custom UX Style with a different font.
2019-05-13 00:31:54 -07:00
oddMLan 82df61d9ce [Debugger UI] Tweak Commands window size
Avoids the registers from being cut off in HIDPI
2019-05-10 10:17:42 -07:00
oddMLan 06d0e27af6 [Debugger UI] Fix TLB window in HDPI configs 2019-05-10 09:23:41 -07:00
zilmar 9c68405238
Merge pull request #1622 from shygoo/nrage-improve-bginput
[N-Rage] Make background input stable
2019-05-05 17:03:00 +09:30
shygoo c8ab33eb3c [N-Rage] Make background input stable 2019-05-05 00:10:57 -05:00
Joe Eagar 9c7f58d476 Merge branch 'master' of https://github.com/project64/project64 2019-04-28 23:29:29 -07:00
Joe Eagar 82463fbdd8 Fixed a few bugs with the scripts system. I suspect there are more; the
threading code needs some refactoring.  List of changes:

* Script threads no longer call the debugger UI (e.g. refresh) nor do
  they call the script system's cleanup function
  (deleteStoppedInstances).
* Changed API.js Server.on method to queue calls to nativeAccept if .listen()
  hasn't been called yet (otherwise winsock gives errors).
* Added various paranoia thread locks.
* Forced termination of script threads now works.  The (commented) call
  to TerminateThread didn't work because getCurrentThread() doesn't return
  a "real" HANDLE.  The solution is to pass the result of getCurrentThread
  to DuplicateHandle to get a "real" handle.
2019-04-28 23:28:12 -07:00
zilmar 7a964b058e Check for recompiler in SysEvent_ResetRecompilerCode 2019-04-29 06:26:07 +09:30
Joe Eagar 83f445f050 Fixed heap overrun error 2019-04-28 00:38:35 -07:00
zilmar 352dcff301 Have cheats to record in project64.cfg 2019-04-24 15:17:09 +09:30
zilmar bf269454dd Automatically combine cheat files on build 2019-04-23 14:46:36 +09:30
zilmar a3d9249fdb
Merge pull request #1613 from oddMLan/restore-oc-gamesettings
Restore Overclock modifier in Game Settings panel
2019-04-23 13:30:53 +09:30
zilmar ffc24d4e7d Fix up DisplayMessage for android 2019-04-23 07:01:10 +09:30
oddMLan cfbc2ee75e [Status Bar] Tweak duration of some messages
Makes debugging with CPU profiling much more pleasant
2019-04-20 13:35:05 -07:00
oddMLan 61465ce2a5 [Frame Rate Counter] Shrink it a little bit
Prevents "Show CPU Usage" from cutting off in HIDPI configurations
2019-04-20 13:17:42 -07:00
oddMLan ead4d9311e [Game Settings] Restore Overclock Modifier 2019-04-20 11:57:33 -07:00
zilmar cad17b23a0
Merge pull request #1614 from shygoo/nrage-bginput
[N-Rage] Add background input option
2019-04-20 16:27:39 +09:30
shygoo abbfb0361f [Debugger] Adjust font/size of some controls 2019-04-20 00:39:14 -05:00
shygoo 1b53acad89 [N-Rage] Add background input option 2019-04-19 23:44:04 -05:00
zilmar 34aeb0ab8f
Merge pull request #1607 from oddMLan/ux-improvements
Minor UI improvements
2019-04-20 10:07:30 +09:30
oddMLan c7a6e51d62 Make Rom Browser DPI Aware 2019-04-19 17:08:24 -07:00
oddMLan b1e950be20 Move CListViewCtrlVarDPI class code into ATL 2019-04-19 16:48:53 -07:00
oddMLan de29d0c157 [Icon] Add 256x256 size
It should be XP-compatible. XP is just going to take the 48x48 and ignore this one.
2019-04-19 14:41:13 -07:00
oddMLan 05f98f8c09 Make Status Bar, About Dialog and Language Selector DPI Aware 2019-04-19 13:51:42 -07:00
oddMLan 2f9529a2cf [Cheats] Improved UI layout 2019-04-18 22:41:49 -07:00
oddMLan b9025667f8 [Debugger UI] Save window size only when the window is resizable.
Prevents some dialogs from becoming clipped at high DPI
2019-04-18 18:18:55 -07:00
oddMLan df9967b782 [Debugger] Change Commands and Registers font to Lucida Console 2019-04-18 16:29:07 -07:00
oddMLan d21e7c8684 Fix warning 2019-04-18 15:35:54 -07:00
oddMLan d83c8597b6 [Debugger] Make Debugger DPI-Aware
Thanks @Shygoo for the class code
2019-04-18 14:10:04 -07:00
zilmar 57a0ddcef4 Add project to join multiple cheats together 2019-04-18 16:57:20 +09:30
oddMLan b42e61f505 Remove black border around Cheat separator button 2019-04-15 20:55:49 -07:00
oddMLan a27b3440e0 Get rid of ugly WS_EX_CLIENTEDGE 2019-04-15 20:48:33 -07:00
oddMLan b377f48440 Use Per monitor scaling where supported
Fixes blurriness in higher DPI systems
2019-04-15 10:33:54 -07:00
oddMLan 564ac883a4 Revert "Delete Project64.exe.manifest"
This reverts commit 3a7de99930.
2019-04-15 09:35:46 -07:00
oddMLan 2555485eb9 [Debugger UI] Center CPU Exception Breakpoints dialog
Also fix capitalization in menu
2019-04-15 08:58:22 -07:00
oddMLan 01d4ed0bc3 Change some error message boxes to warnings 2019-04-15 08:58:22 -07:00
zilmar ff8d6f2462 try to update build.cmd 2019-04-15 08:02:24 +09:30
shygoo 346d21cd56 [Debugger] Improve the search tool 2019-04-03 13:56:45 -05:00
shygoo 22b4a3e94f [Debugger] Make DMA log stable 2019-04-02 14:16:39 -05:00
shygoo 27bc76d089 [Debugger] Make DMA log stable 2019-04-02 13:28:46 -05:00
Francois Berder da37c46cbc Project64-core: Fix undefined behavior in CPifRam::LogControllerPakData
Signed-off-by: Francois Berder <fberder@outlook.fr>
2019-03-27 09:40:37 +00:00
Francois Berder f2e6199fcb RSP: Fix undefined behavior in RDP_LogDlist
When calling sprintf, source and destination must not overlap
otherwise it is undefined behavior as specified by
C99 standard, 7.19.6.6.

Signed-off-by: Francois Berder <fberder@outlook.fr>
2019-03-27 09:38:44 +00:00
zilmar eb2b1f0a2c [Android] Add review menu 2019-02-20 11:48:28 +10:30
zilmar f6d4290992 [Android] Missed some patreon settings 2019-02-13 15:52:21 +10:30
zilmar 19328cc7ef [Adnroid] Remove all mentions of patreon 2019-02-13 15:39:47 +10:30
zilmar 9902b542c3 [Android] Turn ABL off by default in android 2019-02-13 15:12:35 +10:30
zilmar be2ee76e79 Start to add in support menu item 2019-02-13 15:11:35 +10:30
zilmar 92d22a014b [Android] Change forum menu link to discord 2019-02-13 11:55:58 +10:30
zilmar 03700db740 [Project64] Add checks around g_Debugger->FrameDrawn 2019-02-10 09:14:51 +10:30
zilmar cfc510880c [Android] Put android settings under settings 2019-02-09 06:31:17 +10:30
zilmar aca70f317c [Project64] Fix CPath::IsRelative for non WIN32 2019-02-09 05:02:02 +10:30
zilmar 23f040c0dd
Merge pull request #1585 from Frank-74/master
[Project64-Audio] Remove FAT from audio plugin.
2019-02-03 05:51:24 +10:30
zilmar eaab627f64 [Project64] change memcpy_s to memcpy 2019-01-31 18:41:24 +10:30
zilmar eef2ed27aa
Merge pull request #1586 from shygoo/debugger-cleanup
[Debugger] Clean up compiler warnings
2019-01-28 17:53:24 +10:30
shygoo 03ba3640b5 [Debugger] Clean up compiler warnings 2019-01-27 16:40:23 -06:00
Frank-74 a5e6f55a47 [Project64-Audio] Remove FAT from audio plugin.
Fixes main.cpp error.
2019-01-27 21:59:42 +00:00
LuigiBlood 29a97e6c8b Handle m_RomName for disks that don't have any disk ID (use CRC instead) and also forge disk header differently for plugins. 2019-01-27 22:03:52 +01:00
LuigiBlood b8c47d0087 Alternate calculation of "CRC" for disks that don't have IDs 2019-01-27 21:21:25 +01:00
zilmar e286d90dab
Merge pull request #1576 from LuigiBlood/64dd_load
64DD support overhaul
2019-01-28 06:01:48 +10:30
Frank-74 cbb973a824
Move Fixed Audio setting back to Project64.rdb 2019-01-27 19:14:27 +00:00
LuigiBlood 0870ecbc0d Handle case where IPL ROM is not found (or not yet set up) to display an error message 2019-01-27 13:17:31 +01:00
LuigiBlood 0a347f59f1 DD IPL ROM check in CN64Rom instead 2019-01-27 13:06:36 +01:00
LuigiBlood 3e52ff7b48 Manage 64DD IPL loading errors 2019-01-27 12:52:22 +01:00
zilmar c85054f0c0
Merge pull request #1577 from shygoo/input-require-focus
[N-Rage] Ignore input if main window isn't focused
2019-01-27 16:27:21 +10:30
LuigiBlood 0233d848c2 Forge 64DD Disk Header for plugins
(For some reason, no idea how common that gets, but CMainGui::ProcessAllMessages can crash the entire emulator with some kind of access violation error...)
2019-01-26 16:58:41 +01:00
LuigiBlood f312476b8b Handle Disk "Header" for Plugins (not forged, may be unreliable) 2019-01-26 14:31:24 +01:00
LuigiBlood 48ce8fbee7 Enable Disk based on what is loaded instead (fix Combo loading) 2019-01-26 09:40:58 +01:00
LuigiBlood b1a2fcfddd Fix Memory leak when switching back and forth from 64DD to N64 2019-01-25 23:12:01 +01:00
LuigiBlood c0b3246a2e Set up EnableDisk when anything 64DD is being loaded 2019-01-25 23:11:33 +01:00
LuigiBlood f300fd9cb5 Uninitialize g_Disk and g_DDRom to prevent exception when ending emulation of a regular ROM after playing 64DD content previously. 2019-01-25 22:53:50 +01:00
LuigiBlood 40841f0d71 Handle Loading in Progress properly (fix Main Menu refresh) 2019-01-25 22:39:05 +01:00
LuigiBlood 047f611c81 Replace tabs with spaces 2019-01-25 21:32:26 +01:00
LuigiBlood 95e31542cf Refactor 64DD game loading (supports custom settings and RDB)
(Nothing done for plugins yet)
2019-01-25 20:20:59 +01:00
LuigiBlood cd80e4f0a4 Handle 64DD loading from ROM Browser, Recent Games, RomInfo
Partially handles settings (loads from RDB and CFG, but unused as emulation starts)
2019-01-25 08:11:40 +01:00
shygoo c51232bc37 [N-Rage] Ignore input if main window isn't focused 2019-01-24 13:50:22 -06:00
zilmar 1789dccda2
Merge pull request #1574 from LuigiBlood/cause_reg_pull
COP0 Cause register access for Scripts
2019-01-25 06:16:51 +10:30
zilmar e720f3688c
Merge pull request #1573 from LuigiBlood/NRagePlugintest
[N-Rage] Mouse Lock Up fix when ending emulation when it's locked?
2019-01-25 06:16:11 +10:30
LuigiBlood c714584fac Cause register access for scripts 2019-01-24 19:48:26 +01:00
Frank-74 3ba775ba53 [Project64-Audio] Remove test writetraces 2019-01-21 08:41:50 +00:00
Frank-74 47c37e7398 [Project64-Audio] Fix some games running slow 2019-01-21 08:37:17 +00:00
Frank-74 473fea7e4a [Project64-Audio] Remove round frequencies 2019-01-21 08:35:42 +00:00
Frank-74 21c73a5ee3 fix resource 2019-01-21 05:56:01 +00:00
Frank-74 5d80fdaaa4 Update Project64-Audio 2019-01-21 05:45:52 +00:00
shygoo 62baab2877 [Debugger] JS: Make debug.breakhere stable 2019-01-20 17:38:34 -06:00
shygoo 7a1dd3835b [Debugger] Add GPR read/write breakpoints 2019-01-20 02:52:49 -06:00
zilmar 9a80a4970a
Merge pull request #1564 from shygoo2/cpu-log-improvements
[Debugger] CPU Log: More UI behavior improvements
2019-01-20 09:53:52 +10:30
zilmar e974576c00 Merge branch 'master' of https://github.com/project64/project64
# Conflicts:
#	Source/Project64/UserInterface/UIResources.rc
#	Source/Project64/UserInterface/resource.h
2019-01-20 09:02:18 +10:30
zilmar ce03386007 [Project64] Add gamesharks to enhancements 2019-01-20 08:51:38 +10:30
shygoo 98e933be1b [Debugger] CPU Log: More UI behavior improvements 2019-01-19 14:14:26 -06:00
zilmar 557892e47e
Merge pull request #1556 from shygoo2/cmds-fix-addr-textbox
[Debugger] Commands: Update address textbox when address is changed
2019-01-18 15:29:30 +10:30