Commit Graph

890 Commits

Author SHA1 Message Date
zilmar cec55c7fd9 Core: clean up some read/writes to SP register for recompiler 2022-06-13 15:44:07 +09:30
zilmar 81b52143ca Core: CX86RecompilerOps::CompileLoadMemoryValue should not minus count any more 2022-06-13 14:23:31 +09:30
zilmar f0760ff1cf Core: Move SP_DMA_WRITE into SPRegistersHandler 2022-06-13 11:46:06 +09:30
zilmar 86aa483a38 Core: Move memory exceptions out of interrupter ops and in to Memory Manager 2022-06-13 11:24:36 +09:30
zilmar b557dcf187 Android: Do some work to try to get it to build 2022-06-06 19:49:44 +09:30
zilmar d83f90f2d2 Core: Have store/load use non memory functions 2022-06-06 12:01:47 +09:30
zilmar 8f1f7e9cf3 core: move add opcode count from pre to post op for recompiler 2022-06-06 11:53:31 +09:30
zilmar dc106c0df8 Core: Start to add store instruction self mod 2022-06-06 11:41:09 +09:30
zilmar c8defc4dca Core: Fix logging in RDRAMRegistersHandler 2022-06-06 11:36:25 +09:30
zilmar 8e5efea6f7 Core: AudioInterfaceHandler::m_Status not being reset on game load/reset 2022-06-01 11:21:34 +09:30
zilmar fae1de846a Core: Fix audio issue with save states 2022-05-31 23:13:19 +09:30
zilmar 603ed853bc Core: Some code clean up for load/store non memory 2022-05-30 20:20:25 +09:30
zilmar 535de2ad49 Core: Modularize Load Memory Value 2022-05-23 16:20:13 +09:30
zilmar 17a7f31bc2 Core: allow CompileStoreMemoryValue to generate address 2022-05-23 07:14:26 +09:30
zilmar 068fad47e5 Core: remove Compile_StoreInstructClean 2022-05-23 06:52:31 +09:30
zilmar cc0c139f7e Core: modularize store memory values using CompileStoreMemoryValue 2022-05-23 06:24:56 +09:30
zilmar f95c0f7ef1 Core: Fix bug in SDC1 2022-05-20 10:32:15 +09:30
zilmar 1b871fcb15 Core: x86RecompilerOps rename m_TempValue to m_TempValue32 2022-05-16 15:51:37 +09:30
zilmar 487ed8b54d Core: If SMM_PIDMA, clear physical memory code before doing the dma 2022-05-16 15:33:36 +09:30
zilmar 1617e63b84 Core: make memory reads/write to go through new CMipsMemoryVM::MemoryPtr 2022-05-16 15:26:20 +09:30
zilmar 7fb67450a1 Core: X86 recompile modularize loading address in store/load ops 2022-05-16 11:01:18 +09:30
zilmar 1fe8fd1299 Core: have MemoryValue32 be able to read from rom 2022-05-16 11:00:20 +09:30
zilmar 718d7e0359 [Core] Clean up load/store usage in MemoryVirtualMem 2022-05-09 10:06:10 +09:30
zilmar de366db6c1 [Core] Clean up some warnings 2022-05-03 22:46:12 +09:30
zilmar 5a49331c0b Core: Direct tlb method to read and write to memory 2022-05-02 20:22:31 +09:30
zilmar bac3517c86 [Core] Change tlb empty to be -1 and remove rdram from tlb value 2022-05-02 19:10:35 +09:30
zilmar b74a2dc69f [Core] Change TranslateVaddr to VAddrToPAddr 2022-05-02 07:36:50 +09:30
zilmar 4f07f52fed Core: Fix the dma write length 2022-04-27 09:20:33 +09:30
zilmar 2f1074a287 Core: Add handler for cartridge domains 2022-04-25 17:12:07 +09:30
zilmar 016ded2b56 Core: Move Save types 2022-04-19 11:17:43 +09:30
zilmar e9d2b9793f Core: Add Pif Ram Handler 2022-04-19 09:37:57 +09:30
zilmar 653e15a296 Core: Add RomMemoryHandler 2022-04-18 20:57:59 +09:30
zilmar d976aaf22b [Core] Better updating of controller in sync core 2022-04-11 09:26:11 +09:30
zilmar 075e3ab3c2 Core: reduce using global Plugins variable usage in CN64System and use member instead 2022-04-11 09:25:09 +09:30
zilmar f683d080ed [Core] CX86RecompilerOps::SW always update counters on unknown addresses 2022-04-11 09:07:47 +09:30
zilmar fbf65bce12 Core: Add a look up table for Memory Reads or Writes 2022-04-04 10:30:27 +09:30
zilmar a249705bce Core: Add CartridgeDomain2Address1Handler 2022-03-21 20:57:57 +10:30
zilmar 2b646677ac Core: remove Write32SerialInterface 2022-03-21 15:22:42 +10:30
zilmar e1d3222a8a Core: Move Serial interface into handler 2022-03-21 15:04:59 +10:30
zilmar c28bc27c27 Core: Move audio code into AudioInterfaceHandler 2022-03-21 13:14:56 +10:30
zilmar fcdda04da5 Core: Move Audio Interface code in to handler 2022-03-21 10:59:02 +10:30
zilmar d7e732a7eb Core: Add callback when game resets/loads state 2022-03-14 21:07:06 +10:30
zilmar df422238c9 Core: Fix up handling VideoInterfaceHandler in recompiler 2022-03-14 15:29:10 +10:30
zilmar 80d8e6edaa Core: Move Video Interface code in to handler 2022-03-08 10:18:56 +10:30
zilmar 928dfe3a16 Core: Add MIPSInterfaceHandler 2022-03-04 22:53:30 +10:30
zilmar db50dac063 Core: Add DisplayControlRegHandler 2022-02-21 21:56:25 +10:30
zilmar 390fe897a2 Core: Add RDRAMRegistersHandler 2022-02-21 19:47:14 +10:30
zilmar f7618f29c0 Core: Move SP_DMA_READ into SPRegistersHandler 2022-02-01 13:24:25 +10:30
zilmar 2b008cc278 Core: Create Memory handler for SP Registers 2022-01-24 23:13:10 +10:30
LuigiBlood e60f7ec648
Change CRC for 64DD Disks + better ROM Browser support for 64DD (#2164)
* Change CRC for 64DD Disks + Properly provide Disk Info for ROM Browser/Info

* Change CRCs for 64DD Titles + Rename RDB as needed
(And add English Mario no Photopi to RDB and english cheats for english Polygon Studio)

* [RDB] Add Extra Dezaemon 3D Expansion
2022-01-21 09:54:39 +10:30
zilmar 7fd239cf82 Core: Change NextInstruction to PipelineStage 2022-01-18 18:17:21 +10:30
LuigiBlood 16667ec4f9
[Core] Proper Dezaemon 3D SRAM 96KB save support (#2165) 2022-01-12 07:33:56 +10:30
zilmar 7452dd44db Core: Removed CRecompiler::RecompilerMain_Lookup_validate when I should not have, putting it back in 2022-01-10 19:28:38 +10:30
zilmar 30a40ea0a8 Core: Remove the option to turn off tlb 2022-01-10 17:46:01 +10:30
LuigiBlood 5d82837984
[Project64-input] N64 Mouse Support (#2160)
* [Project64-input] Unpolished Mouse Support
(Use Present value as Device Type)

* [Project64-input] Use Forced N64 Mouse config (using System Mouse)

* [Project64-input] Disable Mouse Scanning

* [Project64-input] Polish UI by adding Mouse image + Prevent Controller setup when using N64 Mouse

* [Project64-input] Revert Controller Save/Load changes

* [Project64-input] Seperate N64 Mouse into its own configuration

* [Project64-input] Add Mouse Locking + Shortcut System

* [Project64-input] Make Cursor invisible when locked

* [Project64-input] Make sure to unlock mouse when opening config

* [Project64-input] Working Lock/Unlock Shortcut + Only emulate mouse when locked

* [Project64-input] Use ClipCursor instead of DirectInput Exclusive Level

* [Project64-input] Add Mouse Sensitivity option + Change to SetCursorPos

* [Project64-input] Add WM_KillFocus and EmulationPaused functions

* [Project64-core] Move EmulationPaused call to really make sure it is called in all cases
2022-01-09 21:43:12 +10:30
zilmar 40683ecf79 Core: Remove legacy code 2022-01-05 08:59:12 +10:30
zilmar 226ebe68d9 Core: Remove ROM_IN_MAPSPACE 2022-01-05 08:31:27 +10:30
zilmar beb4c4378f Core: Remove Old CFB_READ code 2022-01-05 08:24:58 +10:30
zilmar 79b03c9ee0 Core: Move Peripheral Interface handling in to handler file 2022-01-05 08:14:03 +10:30
zilmar eafcb96c01 Project64-core: Move handling of RDRam Interface Register handling to its own file 2022-01-04 16:11:52 +10:30
zilmar 7e80d952cb Project64-core: General Code clean up 2022-01-04 10:26:14 +10:30
zilmar 09f90d9b53 Project64-core: Make Setting_EnableDisk be a setting in GameSettings 2022-01-04 10:07:52 +10:30
LuigiBlood 8b90894d0f
Add Aleck64 CIC, rename 64DD IPL Dev CIC (#2120)
* Add CIC-NUS-5101 support (Aleck64)

* Rename CIC_NUS_DDTL (64DD IPL Dev) to CIC_NUS_8401 (actual chip ID)
And properly support it in the Rom Browser

* Forgot to check nullptr before putting Aleck64 CRC info
2021-10-05 09:54:36 +10:30
shyguyhex ac94f2505e
[Debugger] Rewrite script API (#2110)
* [Debugger] Rewrite script API

* Update js api paths in installer script
2021-09-03 14:41:04 +09:30
shyguyhex 29a40ba57b
[Core] Set GameRunning_InReset=false after reset (#2098) 2021-08-13 06:55:24 +09:30
zilmar fc996df8ec Add Author to enhancement file 2021-07-13 08:17:16 +09:30
Kimberly J Ortega 416205ed5f
Enhancements: Add spaces to tags (#2079)
- Matching RDB format.
- Keep checks for old version to avoid breaking user enhancements, due to lack of a fixed control mechanism for upgrading
2021-07-12 13:30:28 +09:30
zilmar 9ad8d49d0e Some code clean up to help build android 2021-06-28 11:27:35 +09:30
zilmar bfd206e0a7 Get Controller plugin to update at request 2021-06-15 14:30:38 +09:30
zilmar ee864797ab vgturtle127's Beautification 14 - Source\Project64-video directory and final cleanup 2021-05-18 21:21:36 +09:30
zilmar c512a592a7 Move class out of file names 2021-04-14 15:04:15 +09:30
zilmar 662637460e Remove Disable copy constructor comments 2021-04-13 09:37:11 +09:30
zilmar cf58754414 Change NULL to nullptr 2021-04-12 21:05:39 +09:30
zilmar a48f8d1a62 Remove PreCompiled header from Common 2021-04-12 19:11:28 +09:30
zilmar 62d2755300 Remove Common/stdtypes.h 2021-04-12 16:04:26 +09:30
zilmar 63a5b5c431 Remove SmartPointer.h 2021-04-12 15:34:59 +09:30
zilmar 2ed2205db2 Reload Enhancements on edit dialog 2021-03-23 12:41:18 +10:30
zilmar 33011f3a57
Merge pull request #2005 from vgturtle127/master
General project improvements and updates
2021-03-12 07:18:29 +10:30
Vincent Cunningham a54e1dfbdb
Add another possible format to Gameshark codes
`XXXXXXXX ??XX` seems to be used for some game cheats, such as one in Conker's Bad Fur Day. This should fix #2009.
2021-03-11 15:32:44 -05:00
Derek "Turtle" Roe 0783748884 Switch to markdown for changelog and update readme a bit 2021-03-10 02:59:39 -06:00
zilmar 93b35cdf28 Add Overclock to enhancment 2021-03-10 18:09:01 +10:30
zilmar e2f648be46
Merge pull request #2002 from flagrama/fix-7z
Fix Opening 7zip files
2021-03-06 10:57:41 +10:30
zilmar b35d59408a Add diable gameshark code 2021-03-06 10:56:24 +10:30
Vincent Cunningham bc130baa3a N64Rom: Add trace logs to LoadIN64mageIPL 2021-03-04 17:27:48 -05:00
Vincent Cunningham 008567781b N64Rom: Load first found ROM in 7z file
Should now search the entire 7zip file looking for a valid N64 ROM file
and load the first one it finds. Left comments referring to a future
dialog for selecting which file you want to open as it seems like a
good idea, but I don't have the familiarity with WTL yet to try to add
it.

May be necessary to skip files of a certain size while opening this way
as Project64 will try to allocate memory for the "ROM" file before it
is able to check if it really is a ROM file.
2021-03-04 17:22:26 -05:00
zilmar bc81e041f8 Have Cheat UI validate via CEnhancement 2021-03-04 14:29:31 +10:30
zilmar 5c60ea213f Update copyright date 2021-03-02 12:43:17 +10:30
Vincent Cunningham 38ca1407c9
Fix platform difference errors 2021-02-28 18:02:40 -05:00
Vincent Cunningham dcb360cf41
Replace \ with / in include directives 2021-02-28 17:38:56 -05:00
zilmar 9262e37c47 Make sure file is reloaded on opening cheat config 2021-02-24 21:25:35 +10:30
zilmar 155d331d45 Do not necessary reload enhancement file 2021-02-23 21:39:48 +10:30
zilmar beb5c3e77d Enhancement: allow enhancment with no GS entries 2021-02-23 20:15:21 +10:30
zilmar c1ed471fc1
Merge pull request #1910 from flagrama/fix-manual-start-emulation
Fix Start Emulation by only skipping StartEmulation when AutoStart is disabled
2021-02-20 15:15:51 +10:30
zilmar 6127878f8f Add plugin limiting to enhancements 2021-02-17 10:24:17 +10:30
zilmar 3e02ff31d7 Add Plugin list to enhancment 2021-02-11 21:56:09 +10:30
Vincent Cunningham 678c5819e8
Only skip StartEmulation in RunLoadedImage when AutoStart disabled 2021-02-02 10:27:23 -05:00
zilmar a4f904e4d7 Merge branch 'master' of https://github.com/project64/project64
# Conflicts:
#	Source/Project64/UserInterface/UIResources.rc
2021-02-02 13:40:12 +10:30
zilmar 782e781bab Be able to edit/enable/disable enhancements while running 2021-02-02 13:22:47 +10:30
LuigiBlood 90d68dae52 Cache Disk Seek Timing Type into a global variable for optimization 2021-01-30 00:29:09 +01:00
LuigiBlood 6f05e7a2f2 [Settings] Add Disk Seek Timing choice 2021-01-29 23:37:27 +01:00
zilmar cd16a8cc48 Clean up some warnings 2021-01-19 16:28:59 +10:30
zilmar eb986259f2 Enhancements: Load Active 2021-01-18 17:07:06 +10:30
zilmar fd1a6112c0 Clean up enhancements code 2021-01-17 13:47:58 +10:30
zilmar cb0f746099 Try to fix some bugs in the new cheat changes 2020-12-31 08:03:27 +10:30
zilmar 070e2ad5e5 Merge branch 'master' of https://github.com/project64/project64 2020-12-30 09:14:25 +10:30
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