Commit Graph

942 Commits

Author SHA1 Message Date
KrimtonZ b9be612ac5 add remaining trap instructions, properly implement traps for the interpreter core 2019-12-16 14:15:26 -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
Duncan Ogilvie 18686e710c
Implement Randomize SI/PI interrupts setting
closes #1656
2019-10-03 11:39:46 +02: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
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
shygoo 2137b365bb [Debugger] Add breakpoints for specific interrupts and FP exceptions 2019-08-20 17:20:49 -05: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 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
zilmar cabef36f91 [Project64] Do not load cheat enhancements if not enabled. 2019-06-26 21:46:12 +09:30
zilmar 7a964b058e Check for recompiler in SysEvent_ResetRecompilerCode 2019-04-29 06:26:07 +09:30
zilmar 352dcff301 Have cheats to record in project64.cfg 2019-04-24 15:17:09 +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
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 ead4d9311e [Game Settings] Restore Overclock Modifier 2019-04-20 11:57:33 -07:00
oddMLan 01d4ed0bc3 Change some error message boxes to warnings 2019-04-15 08:58:22 -07: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
zilmar eb2b1f0a2c [Android] Add review menu 2019-02-20 11:48:28 +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 eaab627f64 [Project64] change memcpy_s to memcpy 2019-01-31 18:41:24 +10:30
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
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
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 6b34e8f77c [Debugger] Add CPU exception breakpoint window 2019-01-17 03:34:24 -06:00
zilmar 52c62e5707
Merge pull request #1554 from oddMLan/misc-bugfixes
Misc bugfixes
2019-01-16 16:59:13 +10:30
oddMLan 2f868d5e4c Fix #1524: Broken speed display
Before updating the status bar ensure that the user enabled speed display in the UI
2019-01-15 22:31:44 -07:00
Frank-74 fe7dd71d53 Fix x64 compile error
I don't know why this is needed, as x86 build works fine without it.  x64 build fails with Project64-core/N64System/Recompiler/CodeSection.h(19): error C2504: 'CDebugSettings': base class undefined
2019-01-15 19:45:54 +00:00
shygoo 4d322191c2 [Debugger] Add CPU Log, break and show log/commands window on CPU errors 2019-01-14 03:18:43 -06:00
zilmar b3ed03c2b0 Merge branch 'master' of https://github.com/project64/project64 2019-01-14 14:33:24 +10:30
zilmar ee8a17b378 [Project64] check if enhancement exists 2019-01-14 14:01:36 +10:30
Frank-74 8b0a51c066 Update Settings.cpp 2019-01-14 02:36:28 +00:00
Frank-74 fb5bdf36ba [Project64] Use CPU_Interpreter if x64
Recompiler doesn't work in x64
2019-01-14 02:02:34 +00:00
zilmar ff8bb9d3fa [Project64] Fix up CSettingTypeApplication::Save for index based setting 2019-01-13 09:42:58 +11:00
zilmar f8e49ae37d Merge branch 'master' of https://github.com/project64/project64 2019-01-12 09:50:51 +11:00
zilmar ed079e4b16 [Project64] Start to add code for enhancements 2019-01-12 09:50:25 +11:00
zilmar e163ecd2f8 [Projext64] Add check around duplicate name 2019-01-10 19:14:18 +10:30
zilmar 590119f414 [Project64] Update names for lle hle settings 2019-01-09 16:39:04 +10:30
oddMLan dfc6d46e4a Add Unaligned DMA options to Defaults and Game Settings
This allows some romhacks to run
2018-12-29 00:42:44 -07:00
oddMLan 578aa012d1 [Rom Browser] Add Show File extensions option and disable it by default 2018-12-28 20:57:01 -07:00
zilmar eddd90bbeb [Project64] Try to fix sync to audio 2018-12-20 20:49:14 +10:30
zilmar 9ab7a83c26 [Project64] Remove FR_None option 2018-12-20 16:08:26 +10:30
oddMLan 28bd4ab983 [Rom Browser] Add "Name" column
Do not renumber items in the language file
2018-12-09 03:27:53 -07:00
shygoo d7ad7be6cb [Debugger] Improve address checks (fix #1515) 2018-12-08 22:26:11 -06:00
shygoo 9c2c716355 Merge https://github.com/project64/project64 into memview-autorefresh-option 2018-12-08 06:47:00 -06:00
shygoo a2808d94ce [Debugger] Make auto-refresh optional in memory viewer 2018-12-08 06:45:52 -06:00
zilmar 88386600ed [Audio] Have sync audio only if plugin enables it 2018-12-08 21:23:06 +10:30
zilmar 6a8405f7ed [Project64]Add option to not show VI/s and make it default 2018-12-02 16:00:56 +10:30
zilmar bb5f8ea4f0 [Project64] Make Project64-Video default plugin 2018-12-02 15:11:27 +10:30
zilmar b957cac73d [Project64] Remove parameter to CSettingTypeApplication::Initialize 2018-12-02 15:01:54 +10:30
Frank-74 9535641b7a
Get Fixed Audio from audio rdb 2018-11-26 22:39:56 +00:00
zilmar 5f39f3d122 [Project64] Fix bug in CSettingTypeRomDatabase::Load and some code clean up 2018-11-26 23:03:27 +10:30
zilmar bac6023a5c [Project64] Use Settings instead of default in config file 2018-11-26 11:26:08 +10:30
zilmar 6c2c0d5dd6 [Project64] Make sure closeDll is set before calling it 2018-11-26 11:23:39 +10:30
zilmar d531abc885 [Project64] Add ability to change defaults 2018-11-25 20:14:15 +10:30
zilmar a22512c9ca [Project64] Always close plugins 2018-11-24 13:22:35 +10:30
zilmar 6a65305e74 [Project64] More fixing for android 2018-11-20 14:11:32 +10:30
zilmar b93736414f [Project64] Normalize paths 2018-11-19 21:16:58 +10:30
zilmar e7f93f2def [Project64] Remove #include <objbase.h> from Common/Trace.h 2018-11-18 11:12:49 +10:30
oddMLan 8475fa9c14 Use 8MB RDRAM if ROM is not in RDB 2018-08-18 23:13:47 -07:00
zilmar c1200514c6 Make sure PC is updated on BP 2018-07-31 07:02:02 +10:00
zilmar ba0124efa8 [Project64] Handle break point in delay slot 2018-07-30 06:07:45 +10:00
zilmar 0f41a6459c [Project64] update Game Settings to use uint32_t index 2018-04-23 17:32:49 +10:00
zilmar 83b280f761 [Project64] when changing BP's, on the pause make sure the emulator is paused 2018-04-15 05:31:19 +10:00
zilmar d2e67dc1d9 [Projecy64] Pause emulation during changing breakpoints 2018-04-14 22:23:28 +10:00
zilmar fafb7c207a [Project64] Make sure memory_breakpoint_found is cleared in CX86RecompilerOps::FoundMemoryBreakpoint 2018-04-14 20:11:02 +10:00
zilmar bab9d93ebb [Project64] Make sure CSettingTypeApplicationIndex use uint32_t 2018-04-09 18:03:38 +10:00
zilmar 1a6c579d3e
Merge pull request #1438 from pj64d-merge/memlocks
[Debugger] Add memory locks feature (interpreter)
2018-04-04 06:16:12 +10:00
zilmar 7e4c9a8b84 Rename and move Settings files 2018-04-03 04:30:50 +10:00
zilmar 88a824be60 [Project64] Some code refactoring to CSettingTypeApplication 2018-03-28 19:36:10 +11:00
zilmar 9e92381a2d [Project64] Have temp bool setting record if it has changed 2018-03-28 19:35:20 +11:00
zilmar 403f003372 [Project64] Make sure index for settings are uint32_t 2018-03-28 19:28:02 +11:00
zilmar fb8f5557a9 [Project64] Fix android build issue 2018-03-26 21:53:00 +11:00
shygoo 77daf1bad4 [Debugger] Add memory locks feature (interpreter) 2018-03-17 20:14:52 -05:00
zilmar 6bc5ce0439 [Debugger] Handle breakpoint in delay slot of recompiler 2018-03-02 19:02:23 +11:00
zilmar e1c464e309 [Debugger] If stepping ops already, ignore finding a memory BreakPoint 2018-03-02 18:23:47 +11:00
zilmar 5434f57f3f [Project64] Be able to handle memory breakpoints that are detected at compile time 2018-03-02 17:48:15 +11:00
zilmar 151c435b97 [Debugger] Disable ABL when a memory BP set 2018-03-01 08:13:17 +11:00
zilmar f0c9ea887e [Project64] Make sure PI_DMA_WRITE are 16 byte aligned 2018-02-27 17:27:17 +11:00
zilmar 29dcf75b49 [Debugger] Flush recompiler code on memory viewer changes 2018-02-19 18:17:35 +11:00
zilmar 3388a053f3 [Debugger] Make eeprom alerts to be able to turn on or off 2018-02-16 16:38:00 +11:00
zilmar 3fb6710bb3 [Debugger] Add read memory breakpoints to recompiler 2018-02-15 18:28:08 +11:00
zilmar 36c070f746 [Debuggger] Rename x86WriteBreakpoint to x86MemoryBreakpoint 2018-02-15 18:21:03 +11:00
zilmar 879783692b [Debugfer] Rename memory_write_address to memory_access_address 2018-02-15 18:09:14 +11:00
zilmar 9729fad9da [Debugger] Add store breakpoints to recompiler 2018-02-13 18:16:53 +11:00
zilmar 22ea56721e [Project64] Fix recompiler log output 2018-02-13 17:38:33 +11:00
zilmar 91999a1eba [Debugger] add missing code 2018-02-06 07:25:53 +11:00
zilmar 622d5d5d3f [Debugger] Fix Read break points 2018-02-05 17:43:46 +11:00
zilmar 076280b9ba [Debugger] Add unaligned write breakpoints 2018-02-02 04:28:08 +11:00
zilmar 0ffb6bb159 [Proeject64] Add execution break point in recompiler 2018-01-21 10:18:52 +11:00
zilmar 2c802bd638 [Project64] Make sure Recompiler_Log_Message can not buffer overflow 2018-01-21 09:10:45 +11:00
zilmar f036c7825c [Project64] Make sure cycles are updated before calling CDMA::PI_DMA_WRITE 2018-01-21 08:51:49 +11:00
zilmar 3d7e9b40b0 [Debugger] Make skip a setting 2018-01-17 22:36:28 +11:00
zilmar 8a85f1e6a4 [Debugger] Make waiting for step a setting 2018-01-17 08:26:54 +11:00
zilmar 7e1e7bf39b [Debugger] Change bHaveDebugger to HaveDebugger 2018-01-16 08:23:21 +11:00
zilmar 8a668c4025 [Debugger] Change CBreakpoints::isDebugging() to a debug setting 2018-01-16 08:14:15 +11:00
zilmar ea1e0efbef [Debugger] Detach Debugger from UI class 2018-01-10 18:05:57 +11:00
zilmar 19a827d1f7 Merge branch 'master' of https://github.com/project64/project64 2018-01-05 21:40:39 +11:00
zilmar fd3f37971c [Build] Change dependency to reference for UpdateVersion 2018-01-05 21:38:48 +11:00
zilmar 4b7fafbded Make sure R0 is 0 in Interpreter 2018-01-03 19:16:01 +11:00
zilmar b4c1a687e2 [Debugger] Add Debugger_HaveExecutionBP 2017-12-12 21:15:34 +11:00
zilmar 973f44cd94 [build] Update dependency on UpdateVersion and remove Version.h 2017-11-16 05:59:37 +11:00
zilmar 1178b5c73f Set build number on build 2017-11-15 20:04:09 +11:00
zilmar 455b83677b Fix up version number in resouce fils 2017-10-28 11:41:08 +11:00
zilmar 2a41a10479 Merge branch 'master' into AudioSync 2017-10-21 16:03:15 +11:00
zilmar 4091a4699c [Audio] Make fixed audio on by default 2017-10-19 21:56:59 +11:00
Azimer 958f11cc6d Fixed random state with SyncCPU 2017-10-18 00:05:38 -05:00
Azimer 1b8d032417 Bug fixes and requests
* Moved to CRandom to Common lib
* Initialized CRandom with a time seed in CN64System constructor
* Added CRandom::state getters and setters to support saved states
2017-10-17 22:52:07 -05:00
Azimer 23c1007aa0 Randomize PI and SI DMA timing
This should help with randomization while FAT is on.
2017-10-17 21:38:38 -05:00
zilmar 4bcb0d10e9 [Audio] Read Sync Audio from Audio.rdb 2017-10-17 08:34:02 +11:00
zilmar b5c8a0f4c5 [Cheats] Clear extra code 2017-10-01 07:09:17 +11:00