Galaxy s7 edge crash
|
03-22-2016, 11:45 PM
(This post was last modified: 03-22-2016 11:47 PM by [Unknown].)
Post: #25
|
|||
|
|||
RE: Galaxy s7 edge crash
(03-22-2016 07:49 PM)cha0tic Wrote: If you can give me some steps I'll be glad to do it. I'm a tech savvy person currently majoring in computer science. Awesome. So first, you'll need to get going with an Android build setup. If you're on Linux, make sure you have ant and java and stuff installed. If you're on Windows, you can install WinAnt ( https://code.google.com/archive/p/winant/ ). Then get the Android SDK, and install it: https://developer.android.com/sdk/index.html (you can use the "Other options" if you want too.) And also the NDK: http://developer.android.com/ndk/downloads/index.html On Windows, you can also just get e.g. NVPACK, which basically has everything you'll need: https://developer.nvidia.com/codeworks-android Once you've got that installed, the next step is to grab PPSSPP. If you don't have it already, you also need Git. https://git-scm.com/downloads Then run in a terminal / command prompt: git clone --recursive https://github.com/hrydgard/ppsspp.git cd ppsspp/android If on Windows, use (insert your NDK path): set NDK=C:\AndroidNDK On Linux/Mac: export NDK=/path/to/ndk Now just type: ant debug This will make it compile. It could take 20 minutes, but once it's done, you can run this to install it on your device (make sure it's plugged in, and you've activated debugging by tapping the build identifier 7 times in Android settings): adb install -r bin/PPSSPP-debug.apk --- Once you've done all of the above, and you've made sure you can compile and run the app... it's time to actually make changes. Edit ppsspp/Common/Arm64Emitter.cpp, and look for this: Code: void ARM64XEmitter::FlushIcacheSection(u8* start, u8* end) This is the part that does cache invalidation. Just in case it is not invalidating incorrectly, what I want to try is increasing the size of the invalidation. There's some suspicion that the OS is calculating the wrong instruction cache line size. So replace the above with this: Code: void ARM64XEmitter::FlushIcacheSection(u8* start, u8* end) If that doesn't work, which it may not, we can try this one instead: Code: void ARM64XEmitter::FlushIcacheSection(u8* realStart, u8* realEnd) Another thing we can try, although it's silly, it could work - flushing twice: Code: void ARM64XEmitter::FlushIcacheSection(u8* realStart, u8* realEnd) If all else fails, we can try flushing *everything*, to try to confirm if it really is this or not (this could be not great for performance...): Code: void ARM64XEmitter::FlushIcacheSection(u8* realStart, u8* realEnd) After making each change, you can run "ant debug" to compile again, and the "adb install -r bin/PPSSPP-debug.apk" command again to reinstall on your device. It will be much quicker to compile the second time, since it only recompiles things you changed. If none of those things help, it probably isn't actually icache related. But that will be very interesting, if so. -[Unknown] |
|||
« Next Oldest | Next Newest »
|