Commit Graph

713 Commits

Author SHA1 Message Date
zilmar 37358298e3 Project64: move Debugger_ShowUnhandledMemory into DebugSettings 2020-04-01 10:24:10 +10:30
zilmar fdc1a51f28 Project64: Some clean up of the N64RomClass 2020-03-18 13:41:40 +10:30
zilmar 185c6586b4 Project64: Add TLB_WRITE_EXCEPTION 2020-03-04 10:33:18 +10:30
PartyPlanner64 49d9abad4f
Add more details when alerting on AddressError 2019-12-29 16:16:17 -06:00
KrimtonZ 33d4fed24c fix physical address offset calculations 2019-12-27 09:41:21 -06:00
KrimtonZ 9642bebd2f Merge branch 'master' into cartdom2addr2 2019-12-18 19:52:18 -06:00
KrimtonZ dd076add39 fix miscalculated offset, implement shygoo's recommendation for open bus read 2019-12-18 19:51:47 -06:00
KrimtonZ 58d66635df emulate n64 behavior when cartridge domain 2 address 2 addresses are accessed 2019-12-17 09:32:09 -06:00
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
Duncan Ogilvie 18686e710c
Implement Randomize SI/PI interrupts setting
closes #1656
2019-10-03 11:39:46 +02:00
zilmar c78260ce54 Fix some warnings/errors in android build 2019-08-21 18:57:50 +09:30
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 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 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
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 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 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
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
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
zilmar 9ab7a83c26 [Project64] Remove FR_None option 2018-12-20 16:08:26 +10:30
shygoo d7ad7be6cb [Debugger] Improve address checks (fix #1515) 2018-12-08 22:26:11 -06:00
zilmar 6a8405f7ed [Project64]Add option to not show VI/s and make it default 2018-12-02 16:00:56 +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
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 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 1a6c579d3e
Merge pull request #1438 from pj64d-merge/memlocks
[Debugger] Add memory locks feature (interpreter)
2018-04-04 06:16:12 +10: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 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 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 4b7fafbded Make sure R0 is 0 in Interpreter 2018-01-03 19:16:01 +11:00
zilmar 2a41a10479 Merge branch 'master' into AudioSync 2017-10-21 16:03:15 +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