{"action":"created","issue":{"url":"https://api.github.com/repos/project64/project64/issues/17","labels_url":"https://api.github.com/repos/project64/project64/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/project64/project64/issues/17/comments","events_url":"https://api.github.com/repos/project64/project64/issues/17/events","html_url":"https://github.com/project64/project64/issues/17","id":55350161,"number":17,"title":"Problem with Protect Memory and CPU Recompiler","user":{"login":"LegendOfDragoon","id":10492645,"avatar_url":"https://avatars.githubusercontent.com/u/10492645?v=3","gravatar_id":"","url":"https://api.github.com/users/LegendOfDragoon","html_url":"https://github.com/LegendOfDragoon","followers_url":"https://api.github.com/users/LegendOfDragoon/followers","following_url":"https://api.github.com/users/LegendOfDragoon/following{/other_user}","gists_url":"https://api.github.com/users/LegendOfDragoon/gists{/gist_id}","starred_url":"https://api.github.com/users/LegendOfDragoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LegendOfDragoon/subscriptions","organizations_url":"https://api.github.com/users/LegendOfDragoon/orgs","repos_url":"https://api.github.com/users/LegendOfDragoon/repos","events_url":"https://api.github.com/users/LegendOfDragoon/events{/privacy}","received_events_url":"https://api.github.com/users/LegendOfDragoon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/project64/project64/milestones/2","html_url":"https://github.com/project64/project64/milestones/Project64%202.3","labels_url":"https://api.github.com/repos/project64/project64/milestones/2/labels","id":1002775,"number":2,"title":"Project64 2.3","description":"","creator":{"login":"project64","id":4994272,"avatar_url":"https://avatars.githubusercontent.com/u/4994272?v=3","gravatar_id":"","url":"https://api.github.com/users/project64","html_url":"https://github.com/project64","followers_url":"https://api.github.com/users/project64/followers","following_url":"https://api.github.com/users/project64/following{/other_user}","gists_url":"https://api.github.com/users/project64/gists{/gist_id}","starred_url":"https://api.github.com/users/project64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/project64/subscriptions","organizations_url":"https://api.github.com/users/project64/orgs","repos_url":"https://api.github.com/users/project64/repos","events_url":"https://api.github.com/users/project64/events{/privacy}","received_events_url":"https://api.github.com/users/project64/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":0,"state":"open","created_at":"2015-03-02T21:06:18Z","updated_at":"2015-04-14T05:46:24Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2015-01-24T00:22:19Z","updated_at":"2015-09-25T07:51:42Z","closed_at":null,"body":"When enabling both of these, it causes problems in certain games. The odd thing is that it may be unnoticeable on certain RSPs, but if you debug it, you can see that there's a problem.\r\n\r\nThe best way to reproduce the issue, is to enable RSP_SAFE_DMA, run the emulator in a debugger (MSVC), and set a breakpoint at the beginning of the loop in SP_DMA_WRITE. Use LLE graphics, and run Jet Force Gemini. The reason I suggest enabling RSP_SAFE_DMA is simply because it's more of a hassle to debug memcpy, rather than a generic for loop.\r\n\r\nBasically, while stepping through instructions in MSVC, an error will happen after writing to the destination.\r\n\r\nIf you would rather not / can't debug with MSVC, then you can just do something like\r\n\t\t__try {\r\n\t\t\tSP_DMA_WRITE();\r\n\t\t}__except (EXCEPTION_EXECUTE_HANDLER) {\r\n\t\t\tDisplayError(\"Problem with SP_DMA_WRITE\");\r\n\t\t}\r\ninside of RSP_Cop0_MT and it will always expose the problem.\r\n\r\nAlso, Super Smash Bros does not work with Angrylion's or Shunyuan's plugin, with protect memory and cpu recompiler enabled. Fortunately, I don't think that game needs Protect Memory, but Protect Memory might be the default setting for Super Smash Bros. I can't remember ;/ ."},"comment":{"url":"https://api.github.com/repos/project64/project64/issues/comments/143151914","html_url":"https://github.com/project64/project64/issues/17#issuecomment-143151914","issue_url":"https://api.github.com/repos/project64/project64/issues/17","id":143151914,"user":{"login":"LegendOfDragoon","id":10492645,"avatar_url":"https://avatars.githubusercontent.com/u/10492645?v=3","gravatar_id":"","url":"https://api.github.com/users/LegendOfDragoon","html_url":"https://github.com/LegendOfDragoon","followers_url":"https://api.github.com/users/LegendOfDragoon/followers","following_url":"https://api.github.com/users/LegendOfDragoon/following{/other_user}","gists_url":"https://api.github.com/users/LegendOfDragoon/gists{/gist_id}","starred_url":"https://api.github.com/users/LegendOfDragoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LegendOfDragoon/subscriptions","organizations_url":"https://api.github.com/users/LegendOfDragoon/orgs","repos_url":"https://api.github.com/users/LegendOfDragoon/repos","events_url":"https://api.github.com/users/LegendOfDragoon/events{/privacy}","received_events_url":"https://api.github.com/users/LegendOfDragoon/received_events","type":"User","site_admin":false},"created_at":"2015-09-25T07:51:42Z","updated_at":"2015-09-25T07:51:42Z","body":"When I debugged that game with GlideN64, I noticed that for some reason, GlideN64 has a problem with exception handling. The plugin doesn't work on my computer, so I have to debug it on a remote machine :disappointed: . If you can help me with getting it to compile for zilmar spec, I'd be willing to debug it again."}}