CINXE.COM

Development - PPSSPP

<!doctype html> <html lang="en" data-theme="dark"> <head> <title>Development - PPSSPP</title> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script async src="https://www.googletagmanager.com/gtag/js?id=G-PEQLDV0155"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-PEQLDV0155'); </script> <link rel="stylesheet" type="text/css" href="/static/css/all.css"> <link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="PPSSPP RSS Feed"> <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="PPSSPP Atom Feed"> <script src="/static/script/squirrelly.min.js" defer></script> <script src="/static/script/main.js" defer></script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3281131109267988" crossorigin="anonymous"></script> <script> // Special behaviors. There's probably a better way. var g_loginByKey = false; var g_thankYouPage = false; var g_downloadPage = false; </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/js/fontawesome.min.js" crossorigin="anonymous" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/js/solid.min.js" crossorigin="anonymous" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/js/brands.min.js" crossorigin="anonymous" defer></script> </head> <body> <div class="page-wrapper"> <nav class="top-nav"> <div class='menu-button-container' id="burgerButton" onclick="burgerClick()" tabindex="0"> <div class='menu-button'></div> </div> <div class="top-nav-logo"> <a href="/" class="center-vertical"><img src="/static/img/platform/ppsspp-icon.png" alt="icon" class="icon-32">&nbsp;PPSSPP</a> </div> <ul class="menu"> <li><a href="/download" class="">Downloads</a></li> <li><a href="/news" class="">News</a></li> <li><a href="/blog" class="">Blog</a></li> <li><a href="/docs" class="selected">Docs&nbsp;&&nbsp;Help</a></li> <li><a href="/media" class="">Media</a></li> <li><a href="/contact" class="">Contact</a></li> <li><a href="https://forums.ppsspp.org/" class=" external">Forums&nbsp;<i class="fas fa-up-right-from-square icon-link" alt=""></i></a></li> <li><a href="https://github.com/hrydgard/ppsspp" class=" external">GitHub&nbsp;<i class="fas fa-up-right-from-square icon-link" alt=""></i></a></li> <li> <div onclick="switchTheme()" style="display:inline"><i class="fas fa-moon"></i></div> </li> </ul> <div id="loginCorner" style="display:inline"><a href="/login">Login</a></div> </nav> <section class="contents"> <div class="burger-sidebar hidden" id="rootSidebar"> <!-- We repeat all the same stuff again, but add Login. better than crazy CSS tricks... --> <ul class="burger-menu"> <li><a href="/download" class="">Downloads</a></li> <li><a href="/news" class="">News</a></li> <li><a href="/blog" class="">Blog</a></li> <li><a href="/docs" class="selected">Docs&nbsp;&&nbsp;Help</a></li> <li><a href="/media" class="">Media</a></li> <li><a href="/contact" class="">Contact</a></li> <li><a href="https://forums.ppsspp.org/" class=" external">Forums&nbsp;<i class="fas fa-up-right-from-square icon-link" alt=""></i></a></li> <li><a href="https://github.com/hrydgard/ppsspp" class=" external">GitHub&nbsp;<i class="fas fa-up-right-from-square icon-link" alt=""></i></a></li> <li> <div id="loginItem"><a href="/login">Login</a></div> </li> <li> <a id="darkItem" class="switch-theme" onclick="switchTheme()"> <i class="fas fa-moon"></i>&nbsp;Dark Mode </a> </li> </ul> </div> <div class="doc-container"> <div class="doc-sidebar" id="localSidebar"> <ul class="nav-tree-items level-0"> <li><a href="/docs/getting-started" class="nav-tree-category">Getting started</a></li> <li><a href="/docs/troubleshooting" class="nav-tree-category">Troubleshooting</a></li> <li><a href="/docs/settings" class="nav-tree-category">Settings</a></li> <li><a href="/docs/development" class="nav-tree-category selected">Development</a><ul class="nav-tree-items level-1"> <li><a href="/docs/development/ppsspp-internals" class="nav-tree-category">PPSSPP internals</a></li> <li><a href="/docs/development/getting-started" class="nav-tree-item ">Introduction</a></li> <li><a href="/docs/development/beta-testing" class="nav-tree-item ">Beta Testing on Android</a></li> <li><a href="/docs/development/developer-tools" class="nav-tree-item ">Developer tools</a></li> <li><a href="/docs/development/tips-and-tricks" class="nav-tree-item ">Development tips & tricks</a></li> <li><a href="/docs/development/glossary" class="nav-tree-item ">Glossary</a></li> <li><a href="/docs/development/known-differences" class="nav-tree-item ">Known differences from the real PSP</a></li> <li><a href="/docs/development/wsl" class="nav-tree-item ">PPSSPP on WSL</a></li> <li><a href="/docs/development/porting" class="nav-tree-item ">Porting PPSSPP</a></li> <li><a href="/docs/development/resources" class="nav-tree-item ">Resources</a></li> <li><a href="/docs/development/translation" class="nav-tree-item ">Translation</a></li> </ul> </li> <li><a href="/docs/multiplayer" class="nav-tree-category">Multiplayer</a></li> <li><a href="/docs/psp-hardware" class="nav-tree-category">PSP hardware</a></li> <li><a href="/docs/reference" class="nav-tree-category">Reference</a></li> <li><a href="/docs/articles" class="nav-tree-category">Articles</a></li> <li><a href="/docs/intro" class="nav-tree-item ">Documentation & Help</a></li> <li><a href="/docs/faq" class="nav-tree-item ">FAQ - Frequently Asked Questions</a></li> </ul> </div> <div class="doc-contents"> <ul class="breadcrumb" vocab="https://schema.org/" typeof="BreadcrumbList"> <li property="itemListElement" typeof="ListItem"> <a href="/docs" property="item" typeof="WebPage"> <span property="name">Docs</span> </a> <meta property="position" content="1"> </li> <li property="itemListElement" typeof="ListItem"> <a href="/docs/development" property="item" typeof="WebPage"> <span property="name">Development</span> </a> <meta property="position" content="2"> </li> </ul> <h1>Development</h1> <p>How to get started on PPSSPP development.</p> <div class="nav-link-container"> <a href="/docs/development/getting-started" class="nav-link"> <div class="title">Introduction</div> <div class="direction">PPSSPP is a PSP emulator written in C++. It translates PSP CPU instructions directly into optimized x86, x64, ARM or ARM64 machine code, using JIT recompilers (dynarecs).<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/beta-testing" class="nav-link"> <div class="title">Beta Testing on Android</div> <div class="direction">The beta testing program for PPSSPP for Android is now open!<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/developer-tools" class="nav-link"> <div class="title">Developer tools</div> <div class="direction">You can reach the developer tools in Settings/Tools/Developer Tools.<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/tips-and-tricks" class="nav-link"> <div class="title">Development tips &amp; tricks</div> <div class="direction">For ancient phones that can no longer install directly from Android Studio, choose:<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/glossary" class="nav-link"> <div class="title">Glossary</div> <div class="direction">The PSP's portable flash storage solution, very similar to SD cards but a different format.<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/known-differences" class="nav-link"> <div class="title">Known differences from the real PSP</div> <div class="direction">PPSSPP tries to replicate the behavior of a real PSP, with regards to running games, as closely as possible, but there are known differences. Some of them are described below.<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/wsl" class="nav-link"> <div class="title">PPSSPP on WSL</div> <div class="direction">WSL or Windows Services for Linux is a convenient way to run a Linux VM on Windows. It's well-integrated and quite convenient.<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/porting" class="nav-link"> <div class="title">Porting PPSSPP</div> <div class="direction">It's great to see PPSSPP ported to new platforms, feel free to give it a go.<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/resources" class="nav-link"> <div class="title">Resources</div> <div class="direction">PPSSPP on GitHub<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/translation" class="nav-link"> <div class="title">Translation</div> <div class="direction">PPSSPP is translated into a multitude of languages, but as you may have noticed, many of the translations are far from complete, and there are many still missing.<br />Read more&nbsp;&raquo; </div> </a> </div> <div class="nav-link-container"> <a href="/docs/development/ppsspp-internals" class="nav-link"> <div class="title">PPSSPP internals</div> <div class="direction"><ul><li>Atrac3, Atrac3+ and other codecs</li><li>Rendering</li><li>Scheduling</li></ul><br />Read more&nbsp;&raquo; </div> </a> </div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3281131109267988" crossorigin="anonymous"></script> <!-- Responsive Black --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3281131109267988" data-ad-slot="6642932432" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="nav-link-container"> <a href="/docs/settings/hidden" class="nav-link"> <div class="direction"> Prev </div> <div class="title"> &laquo;&nbsp;Hidden settings </div> </a> <a href="/docs/development/getting-started" class="nav-link next"> <div class="direction"> Next </div> <div class="title"> Introduction&nbsp;&raquo; </div> </a> </div> </div> </div> </section> <footer> <div class="container"> <div class="row"> <div class="col-4"> <h2>Documentation</h2> <ul class="clean-list"> <li><a href="/docs/intro">Docs &amp; Help</a></li> <li><a href="/docs/getting-started">Getting Started</a></li> </ul> </div> <div class="col-4"> <h2>Community</h2> <ul class="clean-list"> <li><a href="https://discord.gg/5NJB6dD">Discord&nbsp;<i class="fas fa-up-right-from-square icon-link" alt=""></i></a> </li> <li><a href="https://x.com/PPSSPP_emu">PPSSPP on X&nbsp;<i class="fas fa-up-right-from-square icon-link" alt=""></i></a> </li> </ul> </div> <div class="col-4"> <h2>More</h2> <ul class="clean-list"> <li><a href="https://github.com/hrydgard/ppsspp">GitHub&nbsp;<i class="fas fa-up-right-from-square icon-link" alt=""></i></a></li> <li><a href="https://github.com/hrydgard/ppsspp-site">Website GitHub&nbsp;<i class="fas fa-up-right-from-square icon-link" alt=""></i></a></li> <li><a href="/login">Login</a></li> </ul> </div> </div> <div class="center-text footer-bottom-text"> Copyright 漏 2024 PPSSPP Project. <a href="/privacy">Privacy Policy</a> </div> </div> </footer> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10