mirror of
https://github.com/izzy2lost/PSX2.git
synced 2026-07-05 15:18:36 -07:00
add license. added about in app. updated readme
This commit is contained in:
@@ -1,9 +1,208 @@
|
||||
* PCSX2 - Android project
|
||||
* EE Recompiler x86 => arm64
|
||||
# PSX2 - PlayStation 2 Emulator for Android
|
||||
|
||||
* It is still unfinished because I made it while studying due to my lack of experience with assembler.
|
||||
* I think it would be good to look at it for reference.
|
||||
[](https://www.gnu.org/licenses/gpl-3.0)
|
||||
[](https://developer.android.com/)
|
||||
[](https://developer.arm.com/)
|
||||
|
||||
* [https://www.youtube.com/watch?v=ACxMJufB1EM](https://youtu.be/hNc3k3wPyTM)
|
||||
PSX2 is a high-performance PlayStation 2 emulator for Android devices, bringing your favorite PS2 games to mobile platforms with enhanced graphics and modern features.
|
||||
|
||||

|
||||
## 🎮 About
|
||||
|
||||
PSX2 is an Android port of the renowned [PCSX2](https://github.com/PCSX2/pcsx2) emulator, specifically forked from [PCSX2_ARM64](https://github.com/pontos2024/PCSX2_ARM64) to provide optimized performance on ARM64 Android devices.
|
||||
|
||||
### Key Features
|
||||
|
||||
- **High Compatibility** - Play thousands of PlayStation 2 games
|
||||
- **Enhanced Graphics** - Upscaling, texture filtering, and modern rendering
|
||||
- **Multiple Formats** - Support for ISO, CHD, CSO, ZSO, and compressed formats
|
||||
- **Touch Controls** - Intuitive on-screen gamepad with customizable layout
|
||||
- **External Controllers** - Full support for Bluetooth and USB gamepads
|
||||
- **Save States** - Quick save and load functionality
|
||||
- **Game Covers** - Automatic cover art downloading and display
|
||||
- **Per-Game Settings** - Individual configuration for optimal performance
|
||||
|
||||
## 📱 Requirements
|
||||
|
||||
- **Android 8.0** (API level 26) or higher
|
||||
- **ARM64 device** (64-bit processor required)
|
||||
- **4GB RAM** minimum (8GB+ recommended)
|
||||
- **OpenGL ES 3.2** or Vulkan support
|
||||
- **Storage space** for games and BIOS files
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Option 1: Google Play Store (Recommended)
|
||||
|
||||
Download PSX2 directly from the Google Play Store for automatic updates and easy installation.
|
||||
|
||||
### Option 2: Build from Source (Free)
|
||||
|
||||
For users who prefer to build from source, follow the build instructions below.
|
||||
|
||||
**Note:** Paid users get convenient automatic updates through the Play Store, while free users can build from source using the instructions provided.
|
||||
|
||||
## 🔧 Build Instructions
|
||||
|
||||
### Prerequisites
|
||||
|
||||
1. **Android Studio** (latest version)
|
||||
2. **Android NDK** 28.2.13676358
|
||||
3. **CMake** 3.22.1+
|
||||
4. **Git**
|
||||
5. **Java 17**
|
||||
|
||||
### Step-by-Step Build Process
|
||||
|
||||
1. **Clone the repository:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yourusername/PSX2-Android.git
|
||||
cd PSX2-Android
|
||||
```
|
||||
|
||||
2. **Open in Android Studio:**
|
||||
- Launch Android Studio
|
||||
- Select "Open an existing project"
|
||||
- Navigate to the cloned PSX2-Android folder
|
||||
- Click "OK"
|
||||
|
||||
3. **Install required components:**
|
||||
- Android Studio will prompt to install missing SDK components
|
||||
- Accept all license agreements
|
||||
- Wait for Gradle sync to complete
|
||||
|
||||
4. **Build the APK:**
|
||||
|
||||
```bash
|
||||
./gradlew assembleRelease
|
||||
```
|
||||
|
||||
Or use Android Studio:
|
||||
- Go to **Build** → **Generate Signed Bundle/APK**
|
||||
- Select **APK**
|
||||
- Choose **release** build variant
|
||||
- Click **Build**
|
||||
|
||||
5. **Install the APK:**
|
||||
|
||||
```bash
|
||||
adb install app/build/outputs/apk/release/PSX2_*.apk
|
||||
```
|
||||
|
||||
### Build Variants
|
||||
|
||||
- **Release**: Optimized for performance and size
|
||||
- **Debug**: For development with debugging symbols
|
||||
|
||||
## 📋 Setup Guide
|
||||
|
||||
### 1. BIOS Files
|
||||
|
||||
PSX2 requires PlayStation 2 BIOS files to function:
|
||||
|
||||
- **Required**: PS2 BIOS files (not included)
|
||||
- **Location**: Follow the setup wizard to import BIOS
|
||||
- **Supported**: All official PS2 BIOS versions
|
||||
- **Legal**: You must own a PlayStation 2 console to legally use BIOS files
|
||||
|
||||
### 2. Game Files
|
||||
|
||||
Supported game formats:
|
||||
|
||||
- **ISO** - Standard disc images
|
||||
- **CHD** - Compressed Hunks of Data
|
||||
- **CSO/ZSO** - Compressed ISO formats
|
||||
- **BIN/CUE** - Binary disc images
|
||||
- **IMG/MDF/NRG** - Various disc formats
|
||||
|
||||
### 3. First Launch
|
||||
|
||||
1. Run PSX2 and complete the setup wizard
|
||||
2. Pick your data/user folder
|
||||
3. Choose your games directory
|
||||
4. Select your BIOS folder
|
||||
5. Start playing!
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
### Graphics Settings
|
||||
|
||||
- **Renderer**: Auto, Vulkan, OpenGL, Software
|
||||
- **Resolution**: 1x to 8x native scaling
|
||||
- **Aspect Ratio**: Multiple options including widescreen
|
||||
|
||||
### Game-Specific Settings
|
||||
|
||||
Each game can have individual settings for optimal compatibility and performance.
|
||||
|
||||
## 🎯 Compatibility
|
||||
|
||||
PSX2 aims for high compatibility with the PlayStation 2 library. Performance varies by device capabilities and game requirements.
|
||||
|
||||
## 📄 Legal Information
|
||||
|
||||
### Important Disclaimers
|
||||
|
||||
- **No Games Included**: PSX2 does not include any copyrighted games
|
||||
- **No BIOS Included**: PlayStation 2 BIOS files are not provided
|
||||
- **Legal Requirements**: Users must own original games and console
|
||||
- **Educational Purpose**: This emulator is for educational and preservation purposes
|
||||
|
||||
### License
|
||||
|
||||
This project is licensed under the **GNU General Public License v3.0** - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
### Third-Party Licenses
|
||||
|
||||
PSX2 incorporates code from several open-source projects:
|
||||
|
||||
- [PCSX2](https://github.com/PCSX2/pcsx2) - GPL v3.0
|
||||
- [PCSX2_ARM64](https://github.com/pontos2024/PCSX2_ARM64) - GPL v3.0
|
||||
- Additional libraries listed in the app's About section
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
We welcome contributions! Please read our contributing guidelines and submit pull requests for improvements.
|
||||
|
||||
### Development
|
||||
|
||||
- Follow Android development best practices
|
||||
- Test on multiple devices and Android versions
|
||||
- Ensure compatibility with existing save data
|
||||
- Document any new features or changes
|
||||
|
||||
## 📞 Support
|
||||
|
||||
### Getting Help
|
||||
|
||||
- Check the [Issues](https://github.com/yourusername/PSX2-Android/issues) page for known problems
|
||||
- Search existing issues before creating new ones
|
||||
- Provide device information and logs when reporting bugs
|
||||
|
||||
### Community
|
||||
|
||||
- Join discussions in the Issues section
|
||||
- Share compatibility reports and performance tips
|
||||
- Help other users with setup and configuration
|
||||
|
||||
## 🙏 Acknowledgments
|
||||
|
||||
Special thanks to:
|
||||
|
||||
- **PCSX2 Team** - For the incredible PlayStation 2 emulator
|
||||
- **PCSX2_ARM64 Contributors** - For ARM64 optimization work
|
||||
- **Android Community** - For testing and feedback
|
||||
- **Open Source Contributors** - For various improvements and fixes
|
||||
|
||||
## 📊 Project Status
|
||||
|
||||
PSX2 is actively maintained and regularly updated with:
|
||||
|
||||
- Performance improvements
|
||||
- Compatibility enhancements
|
||||
- Bug fixes and stability improvements
|
||||
- New features and quality of life updates
|
||||
|
||||
---
|
||||
|
||||
**Disclaimer**: PlayStation and PlayStation 2 are trademarks of Sony Interactive Entertainment. This project is not affiliated with or endorsed by Sony Interactive Entertainment.
|
||||
|
||||
@@ -425,6 +425,14 @@ public class GamesCoverDialogFragment extends DialogFragment {
|
||||
try { new SavesDialogFragment().show(getParentFragmentManager(), "saves_dialog"); } catch (Throwable ignored) {}
|
||||
});
|
||||
}
|
||||
View btnAbout = header.findViewById(R.id.drawer_btn_about);
|
||||
if (btnAbout != null) {
|
||||
btnAbout.setOnClickListener(v -> {
|
||||
try {
|
||||
showAboutDialog();
|
||||
} catch (Throwable ignored) {}
|
||||
});
|
||||
}
|
||||
|
||||
// Setup drawer settings controls to mirror quick actions
|
||||
setupDialogDrawerSettings(header);
|
||||
@@ -994,6 +1002,38 @@ public class GamesCoverDialogFragment extends DialogFragment {
|
||||
} catch (Throwable ignored) {}
|
||||
}
|
||||
|
||||
private void showAboutDialog() {
|
||||
String aboutMessage = "PSX2 - PlayStation 2 Emulator for Android\n\n" +
|
||||
"This is an Android port of PCSX2, the renowned PlayStation 2 emulator.\n\n" +
|
||||
"Based on:\n" +
|
||||
"• PCSX2: https://github.com/PCSX2/pcsx2\n" +
|
||||
"• PCSX2_ARM64: https://github.com/pontos2024/PCSX2_ARM64\n\n" +
|
||||
"Free Version: Follow the build instructions in the repository to compile from source.\n" +
|
||||
"Paid Version: Get convenient automatic updates through the Play Store.\n\n" +
|
||||
"Important:\n" +
|
||||
"• No games or BIOS files are included\n" +
|
||||
"• You must own original PlayStation 2 games and console\n" +
|
||||
"• This emulator is for educational and preservation purposes\n\n" +
|
||||
"Licensed under GNU General Public License v3.0\n" +
|
||||
"View full license: https://github.com/YOUR_USERNAME/PSX2-Android/blob/main/LICENSE";
|
||||
|
||||
new MaterialAlertDialogBuilder(requireContext(),
|
||||
com.google.android.material.R.style.ThemeOverlay_Material3_MaterialAlertDialog)
|
||||
.setTitle("About PSX2")
|
||||
.setMessage(aboutMessage)
|
||||
.setPositiveButton("OK", null)
|
||||
.setNeutralButton("View License", (dialog, which) -> {
|
||||
// Open LICENSE file or GitHub link
|
||||
android.content.Intent intent = new android.content.Intent(android.content.Intent.ACTION_VIEW);
|
||||
intent.setData(android.net.Uri.parse("https://github.com/YOUR_USERNAME/PSX2-Android/blob/main/LICENSE"));
|
||||
try {
|
||||
startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(requireContext(), "Could not open license link", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
})
|
||||
.show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -593,6 +593,14 @@ public class MainActivity extends AppCompatActivity implements GamesCoverDialogF
|
||||
} catch (Throwable ignored) {}
|
||||
});
|
||||
}
|
||||
View btnAbout = header.findViewById(R.id.drawer_btn_about);
|
||||
if (btnAbout != null) {
|
||||
btnAbout.setOnClickListener(v -> {
|
||||
try {
|
||||
showAboutDialog();
|
||||
} catch (Throwable ignored) {}
|
||||
});
|
||||
}
|
||||
|
||||
// Setup drawer settings controls to mirror quick actions
|
||||
setupDrawerSettings(header);
|
||||
@@ -2077,7 +2085,37 @@ public class MainActivity extends AppCompatActivity implements GamesCoverDialogF
|
||||
updatePausePlayButton();
|
||||
}
|
||||
|
||||
private void showAboutDialog() {
|
||||
String aboutMessage = "PSX2 - PlayStation 2 Emulator for Android\n\n" +
|
||||
"This is an Android port of PCSX2, the renowned PlayStation 2 emulator.\n\n" +
|
||||
"Based on:\n" +
|
||||
"• PCSX2: https://github.com/PCSX2/pcsx2\n" +
|
||||
"• PCSX2_ARM64: https://github.com/pontos2024/PCSX2_ARM64\n\n" +
|
||||
"Free Version: Follow the build instructions in the repository to compile from source.\n" +
|
||||
"Paid Version: Get convenient automatic updates through the Play Store.\n\n" +
|
||||
"Important:\n" +
|
||||
"• No games or BIOS files are included\n" +
|
||||
"• You must own original PlayStation 2 games and console\n" +
|
||||
"• This emulator is for educational and preservation purposes\n\n" +
|
||||
"Licensed under GNU General Public License v3.0\n" +
|
||||
"View full license: https://github.com/YOUR_USERNAME/PSX2-Android/blob/main/LICENSE";
|
||||
|
||||
new MaterialAlertDialogBuilder(this,
|
||||
com.google.android.material.R.style.ThemeOverlay_Material3_MaterialAlertDialog)
|
||||
.setTitle("About PSX2")
|
||||
.setMessage(aboutMessage)
|
||||
.setPositiveButton("OK", null)
|
||||
.setNeutralButton("View License", (dialog, which) -> {
|
||||
// Open LICENSE file or GitHub link
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse("https://github.com/YOUR_USERNAME/PSX2-Android/blob/main/LICENSE"));
|
||||
try {
|
||||
startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(this, "Could not open license link", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
})
|
||||
.show();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -286,6 +286,30 @@
|
||||
android:textAllCaps="false"
|
||||
android:layout_marginBottom="8dp"/>
|
||||
|
||||
<!-- About Section -->
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="About"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/brand_primary"
|
||||
android:paddingBottom="8dp" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/drawer_btn_about"
|
||||
style="@style/Widget.Material3Expressive.Button.OutlinedButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="About PSX2"
|
||||
android:textColor="@android:color/white"
|
||||
android:textAllCaps="false"
|
||||
app:icon="@drawable/info_24px"
|
||||
app:iconTint="@color/brand_primary"
|
||||
app:iconGravity="textStart"
|
||||
app:iconPadding="8dp"
|
||||
app:iconSize="20dp"
|
||||
android:layout_marginBottom="16dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
+675
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user