{"action":"created","issue":{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7854","labels_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7854/labels{/name}","comments_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7854/comments","events_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7854/events","html_url":"https://github.com/hrydgard/ppsspp/issues/7854","id":93635220,"number":7854,"title":"PPSSPP and Windows 10 (Phone)","user":{"login":"GAMELASTER","id":1665373,"avatar_url":"https://avatars.githubusercontent.com/u/1665373?v=3","gravatar_id":"","url":"https://api.github.com/users/GAMELASTER","html_url":"https://github.com/GAMELASTER","followers_url":"https://api.github.com/users/GAMELASTER/followers","following_url":"https://api.github.com/users/GAMELASTER/following{/other_user}","gists_url":"https://api.github.com/users/GAMELASTER/gists{/gist_id}","starred_url":"https://api.github.com/users/GAMELASTER/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GAMELASTER/subscriptions","organizations_url":"https://api.github.com/users/GAMELASTER/orgs","repos_url":"https://api.github.com/users/GAMELASTER/repos","events_url":"https://api.github.com/users/GAMELASTER/events{/privacy}","received_events_url":"https://api.github.com/users/GAMELASTER/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hrydgard/ppsspp/labels/Platform-specific%20(Windows)","name":"Platform-specific (Windows)","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2015-07-07T21:37:57Z","updated_at":"2015-12-15T03:53:53Z","closed_at":null,"body":"Hey,\r\n\r\nI know, its has been more times before me asked.. But, now, Windows 10 coming..\r\nIs still not possible to port PPSSPP for Windows 10 or Windows Runtime (cross..)??? I though by come of Runtime or W10 is must be allowed to use JIT.. :-)\r\n\r\nIs possible to port that?\r\n\r\nThanks :-)"},"comment":{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/comments/164637386","html_url":"https://github.com/hrydgard/ppsspp/issues/7854#issuecomment-164637386","issue_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7854","id":164637386,"user":{"login":"unknownbrackets","id":191233,"avatar_url":"https://avatars.githubusercontent.com/u/191233?v=3","gravatar_id":"","url":"https://api.github.com/users/unknownbrackets","html_url":"https://github.com/unknownbrackets","followers_url":"https://api.github.com/users/unknownbrackets/followers","following_url":"https://api.github.com/users/unknownbrackets/following{/other_user}","gists_url":"https://api.github.com/users/unknownbrackets/gists{/gist_id}","starred_url":"https://api.github.com/users/unknownbrackets/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unknownbrackets/subscriptions","organizations_url":"https://api.github.com/users/unknownbrackets/orgs","repos_url":"https://api.github.com/users/unknownbrackets/repos","events_url":"https://api.github.com/users/unknownbrackets/events{/privacy}","received_events_url":"https://api.github.com/users/unknownbrackets/received_events","type":"User","site_admin":false},"created_at":"2015-12-15T03:53:53Z","updated_at":"2015-12-15T03:53:53Z","body":"@MobWiMetro for item 1, can you swap the memory without damaging it?  Basically, in [`ArmJit::Compile()`] (https://github.com/hrydgard/ppsspp/blob/2083f22dce02e98cb12530f9649550ab89ec5e33/Core/MIPS/ARM/ArmJit.cpp#L199) and possibly `Arm64Jit::Compile`, etc., you'd mark the region as writable (but not executable), and then swap it back before completing.\r\n\r\nYou'd also need it initially writable, and then swap it [after generating the fixed code] (https://github.com/hrydgard/ppsspp/blob/2083f22dce02e98cb12530f9649550ab89ec5e33/Core/MIPS/ARM/ArmJit.cpp#L81).  Note that we sometimes \"patch\" old code and invalidate cache (for example, block linking.)  This will all be done inside `Compile()` - we don't currently ever modify jit anywhere else, afaik.\r\n\r\nFor item 2, some effort has already been made (I think for Intel cards) in integrating ANGLE.  I recommend looking at the forum and asking @Bigpet.  It's probably ultimately better long-term to make a DirectX 12 or similar backend, but ANGLE is probably the quickest approach.\r\n\r\nFor item 3, it should not really be very different, except the input processing.  All you need to do is tell PPSSPP about the touches and it will handle the rest already.  It's not really different from any platform - here's [SDL] (https://github.com/hrydgard/ppsspp/blob/2083f22dce02e98cb12530f9649550ab89ec5e33/ext/native/base/PCMain.cpp#L755), and here's [iOS] (https://github.com/hrydgard/ppsspp/blob/2083f22dce02e98cb12530f9649550ab89ec5e33/ios/ViewController.mm#L278).\r\n\r\nThere are also a few other platform pieces - opening the keyboard, launching the browser, haptic feedback, etc.  Here's [Blackberry] (https://github.com/hrydgard/ppsspp/blob/c2f4fad56aada331bbd8dd7db99037285bab853f/ext/native/base/BlackberryMain.cpp).  An important one can be audio - not sure if WASAPI will work as-is from the Windows code.\r\n\r\n-[Unknown]"}}