Commit Graph

735 Commits

Author SHA1 Message Date
zilmar 7de3fc3348 Change the handling of the cheat format 2020-12-30 09:14:04 +10:30
shygoo 5b44212c2d [Core] Fix TLB bounds check 2020-11-22 13:06:50 -06:00
zilmar 373df2a912 Project64: Provide ability for alternate identifier game settings 2020-10-22 12:37:09 +10:30
zilmar f5c2c33149 Project64: Add CN64Rom::IsPal 2020-10-12 15:01:28 +10:30
zilmar 0bff53e11c Project64: Update language enum 2020-10-12 14:11:19 +10:30
zilmar 6caa9ea47a Project64: Some code clean up of N64RomClass.h 2020-10-12 12:10:21 +10:30
zilmar 931289a662
Merge pull request #1789 from LuigiBlood/ddstate
[Save State] Add Disk Interface to Save State file
2020-07-08 15:24:19 +09:30
LuigiBlood 4205f989a4 [Save State] Compare 64DD save state header more proper 2020-06-19 21:37:08 +02:00
LuigiBlood efe848f9a5 [Disk] Error when reading invalid blocks + fix LBAToByte 2020-06-17 23:11:08 +02:00
LuigiBlood 9f3bab30b9 [Save State] Include both g_Rom and g_Disk Header/ID information in the save state to differenciate different combos 2020-06-12 16:31:11 +02:00
LuigiBlood 8bb117e4de [Save State] Recover Disk Seek Address when loading from Zip 2020-06-10 15:30:06 +02:00
LuigiBlood c5c6167f05 [Save State] Recover Disk Seek Address for more stability 2020-06-10 13:58:03 +02:00
LuigiBlood e805c709b3 [Save State] Put Disk Interface info in Extra Info + cleanups
It should also be backward compatible.
2020-06-10 13:34:55 +02:00
LuigiBlood b2ed47c44f [Save State] Make sure g_Disk exists 2020-06-09 22:52:42 +02:00
LuigiBlood 34ec690acc [Save State] Use Disk ID to recognize the currently loaded Disk game 2020-06-09 22:45:34 +02:00
LuigiBlood 9dc121ffbb [Save State] Add Disk Registers to Save State file 2020-06-09 22:22:25 +02:00
zilmar 1b00f9a8f6 Add ability to translate cheats to new format 2020-06-09 19:27:52 +09:30
LuigiBlood 737383b695 [Disk] Simplify Seek Timing calculation at expense of accuracy 2020-06-06 00:28:02 +02:00
LuigiBlood cc2c4e8786 [Disk] Timing changes for Motor 2020-06-05 17:25:01 +02:00
LuigiBlood 2ad2b969f0 [Disk] Emulate Motor Status & 3779 mSEC disk seek speeds 2020-06-05 16:48:19 +02:00
LuigiBlood b428c14a27 [Disk] Put Mecha Interrupt management in DiskCommand(), delay seek times 2020-06-05 14:36:49 +02:00
bryc 94cdc8dc0f More accurate MPK initialization 2020-05-09 03:00:06 -04:00
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