Commit Graph

763 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
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 b5c8a0f4c5 [Cheats] Clear extra code 2017-10-01 07:09:17 +11:00
zilmar a5251619b7 [Audio] Use sync to audio from project 2017-09-28 21:43:58 +10:00
zilmar a17905f5b2 [Android] Add another case for CArmRecompilerOps::SPECIAL_XOR 2017-09-25 17:00:55 +10:00
zilmar 857f87116e [Project64] Change g_Settings->LoadBool(Debugger_Enabled) to CDebugSettings::bHaveDebugger() 2017-09-13 20:08:47 +10:00
zilmar 10f662da94 [Project64] Better handling of div / 0 2017-08-31 09:43:58 +10:00
zilmar c51ff3a829 Merge branch 'master' of https://github.com/project64/project64 2017-08-31 08:59:16 +10:00
zilmar c428d71e75 [Project64] Skip frozen Dlist only in HLE gfx 2017-08-31 08:58:26 +10:00
shygoo e64a6c5965 Debugger: Add stack trace window 2017-08-29 23:54:06 -05:00
zilmar c6b350720a [Project64] Allow rdram to be at fixed address 2017-08-22 18:08:54 +10:00
zilmar a61a466776 [Project64] Fix up some changes to debugger commit 2017-08-21 08:48:31 +10:00
shygoo 47fd0632ff Add debug features 2017-08-18 00:08:22 -05:00
zilmar c1e6a20fa4 Merge pull request #1345 from cxd4/vsprintf-incl
vsprintf() needs stdio and stdarg.
2017-07-31 17:50:03 +10:00
zilmar aa27c2fec9 Merge pull request #1344 from cxd4/mempak_h
Fix recent compile errors regarding mempak header.
2017-07-31 17:49:47 +10:00
Iconoclast e4096aefbf vsprintf() needs stdio and stdarg.
...Unless, of course, some other header like <windows.h> includes those.
2017-07-30 12:47:06 -04:00
Iconoclast dfeb77fbf3 fatal error Project64-Core: no such directory 2017-07-30 12:39:22 -04:00
Iconoclast 0a82600d19 s/Mempak.H/Mempak.h 2017-07-30 12:32:50 -04:00
Iconoclast 2daddca04d fatal error Mempak.h: No such file or directory 2017-07-30 12:25:38 -04:00
zilmar 3549d19965 [Project64] Add missing ranges to CCheats::EntrySize 2017-07-16 05:07:33 +10:00
zilmar e541998629 [Android] Fix cheat changes for android 2017-07-01 06:56:34 +10:00
zilmar e4d64f0727 Merge branch 'master' of https://github.com/project64/project64 2017-06-30 21:17:41 +10:00
zilmar 7fda6cd001 [Project64] Have cheats be able to revert settings 2017-06-30 21:11:56 +10:00
zilmar 4b93a188b7 [Project64] Add UI for Over clock configuration 2017-06-15 21:09:49 +10:00
zilmar 7270ac5463 playing with Over clocking 2017-06-15 05:07:18 +10:00
zilmar 52ff3ff407 [Android] have m_LastStoreReg check in CArmOps::PreOpCheck 2017-05-07 10:53:16 +10:00
zilmar 8bb5e6a240 [Android] Add store check to ShiftRightUnsignImmed 2017-05-07 08:27:27 +10:00
zilmar e48c54518e [Project64] Some Code clean up 2017-05-06 19:27:06 +10:00
zilmar a6d420feee [Android] Remove ReducedSyncMem and PreAllocSyncMem 2017-05-04 18:19:05 +10:00
zilmar 5b8b51ad0d [Android] Fix load game at start 2017-04-30 19:24:38 +10:00
zilmar 26ab7f6b70 [Project64] Change order of MMV initialization 2017-04-30 14:35:47 +10:00
zilmar 0ed144f39d [Project64] Try to fix key assignments 2017-04-29 15:55:30 +10:00
zilmar 67f2a445ae [Project64] Add logging for system event 2017-04-28 08:23:15 +10:00
zilmar 54f1f385e7 [Project64] Get Recompiler to use a local reference to MMU 2017-04-28 08:14:55 +10:00
zilmar f1530f6a05 [Project64] Get System timing to use a local reference to registers 2017-04-28 08:09:04 +10:00
zilmar 9efae26d0c [Android] Remove Plugin_ForceGfxReset 2017-04-26 18:13:55 +10:00
zilmar c7f895737a [Project64] Fix CRegisters::FixFpuLocations 2017-04-25 18:04:00 +10:00
zilmar 1b5e07c460 [Project64] fix CRegisters::FixFpuLocations 2017-04-24 07:53:34 +10:00
zilmar 0e691d2e53 [Project64] Fix CRegisters::FixFpuLocations 2017-04-24 07:41:25 +10:00
zilmar c3d89e8fc1 [Project64] Fix Round 0.5 in interpter 2017-04-24 07:36:40 +10:00
zilmar 42084371b7 [Project64] Get COP1_D_ROUND_L to use _FPR_D 2017-04-24 07:33:35 +10:00
zilmar b4fa83e0ad [Project64] Clean up eol blank space InterpreterOps.cpp 2017-04-24 07:30:49 +10:00
zilmar 81020b1249 [Project64] Remove delete g_DDRom from CN64System::LoadFileImage 2017-03-15 20:05:02 +11:00
Frank-74 210bfb382b Update N64Class.cpp 2017-01-31 15:39:12 +00:00
zilmar d5c43bfcba [Project64] Update mem pak handling to deal with reseting save 2017-01-22 19:59:26 +11:00
zilmar 1d7bdd2c27 [Project64] Only create mempak on write 2017-01-21 10:11:14 +11:00
zilmar ffbe446c79 [Android] Keep stack aligned 2017-01-20 08:43:38 +11:00
zilmar bafffcbf41 [Android] Add LastStoreReg exception to CompareArmRegToConst 2017-01-19 17:50:59 +11:00
zilmar e098aacf0c [Android] Add LastStoreReg exception to AddConstToArmReg 2017-01-19 17:48:16 +11:00
zilmar 8cf62142b5 [Android] Track push/pops 2017-01-10 18:25:18 +11:00
zilmar 20fe044b7d [Android] Add PushPopRegisterList 2017-01-10 18:13:13 +11:00