Skip to content
This repository was archived by the owner on Mar 12, 2025. It is now read-only.

Commit 78d5183

Browse files
committed
add playstation section
1 parent 806f541 commit 78d5183

File tree

2 files changed

+63
-14
lines changed

2 files changed

+63
-14
lines changed

astro.config.mjs

+4-8
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,12 @@ export default defineConfig({
1313
},
1414
sidebar: [
1515
{
16-
label: "MegaMan Legends 2",
17-
// Autogenerate a group of links for the 'constellations' directory.
18-
autogenerate: { directory: "mml2" },
16+
label: "Guides",
17+
autogenerate: { directory: "guides" },
1918
},
2019
{
21-
label: "Guides",
22-
items: [
23-
// Each item here is one entry in the navigation menu.
24-
{ label: "Example Guide", slug: "guides/example" },
25-
],
20+
label: "MegaMan Legends 2",
21+
autogenerate: { directory: "mml2" },
2622
},
2723
{
2824
label: "Reference",

src/content/docs/guides/example.md

+59-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,64 @@
11
---
2-
title: Example Guide
3-
description: A guide in my new Starlight docs site.
2+
title: PlayStation
3+
description: A summary of how to approach reverse engineering with PlayStation Emulation and Tools
44
---
55

6-
Guides lead a user through a specific task they want to accomplish, often with a sequence of steps.
7-
Writing a good guide requires thinking about what your users are trying to do.
6+
In this guide, we’ll explore methods to debug and update the files in **PlayStation Games**. These methods focus on using memory editing tools to analyze how the game works and updating game files to modify assets or content.
87

9-
## Further reading
8+
## Memory
9+
One of the best approaches for debugging **PlayStation Games** and understanding how it works is through memory analysis. This section explains how to extract and modify the game’s memory to experiment with in-game changes.
10+
### Steps for Debugging with Memory
1011

11-
- Read [about how-to guides](https://diataxis.fr/how-to-guides/) in the Diátaxis framework
12+
1. **Choose an Emulator**:
13+
The recommended emulators for memory analysis are:
14+
- **DuckStation**
15+
- **PCSXR**
16+
- **RetroArch**
17+
18+
2. **Create a Save State**:
19+
- Play the game until you reach the point where you want to investigate or modify in-game data.
20+
- Create a save state using the emulator (usually accessible from the emulator’s menu).
21+
3. **Dump the Memory from the Save State**:
22+
- Save states include a snapshot of the game’s memory at a specific point. By dumping the save state, you gain access to the current memory values.
23+
- Use tools specific to each emulator to extract the memory from the save state.
24+
4. **Analyze and Edit the Memory**:
25+
- Open the dumped memory in a hex editor or reverse-engineering tool like **hx**.
26+
- This will allow you to make changes or look through the memory by writing your own scripts or analysis
27+
5. **Reload the Edited Save State**:
28+
- Once you have edited the memory, reload the modified save state in the emulator.
29+
- The game should reflect the changes made to the memory, allowing you to see the effects in real-time.This process can be repeated for testing new ideas, finding data structures, or experimenting with gameplay changes.
30+
31+
32+
## Files
33+
Modifying the game files is a more direct approach to updating assets, models, textures, and even scripts in **PlayStation Games**. The following section outlines how to extract, modify, and rebuild the game files.
34+
35+
### Steps for Modifying Game Files
36+
37+
1. **Dump the Game Files**:
38+
To access the raw files within the PSX version of the game, use a tool called **mkpsxiso**. This tool extracts the contents of the PSX ROM (ISO) into a manageable format.
39+
- First, run `mkpsxiso` to dump all the files from the original ROM.
40+
- The tool will generate an **XML file** that defines the order of the files and how they are organized on the disc.
41+
2. **Rebuild the Game ROM**:
42+
After making modifications to the game files:
43+
- Use `mkpsxiso` again to rebuild the ISO, ensuring that the **XML file** matches the original file order.
44+
- The tool will pack the updated files back into the ISO format.
45+
3. **Test the Modified ROM**:
46+
- Load the rebuilt ROM into an emulator (e.g., DuckStation, PCSXR, or RetroArch).
47+
- Test the changes to ensure the modifications work correctly and the game behaves as expected.By following these steps, you can modify various aspects of the game, such as textures, models, or even gameplay scripts.
48+
49+
50+
## Tools
51+
Here’s a list of tools mentioned in this guide to help with memory analysis and file modification:
52+
- **Emulators**:
53+
- [DuckStation](https://github.com/stenzek/duckstation)
54+
- [PCSXR](https://ps1emulator.com/)
55+
- [RetroArch](https://www.retroarch.com/)
56+
- [no$psx](https://problemkaputt.de/psx.htm)
57+
- **SaveState Editing Tools**:
58+
- [hx](https://github.com/krpors/hx): Simple vim-like hex editor for the command line
59+
- [ImHex](https://github.com/WerWolv/ImHex): Command Line hex editor built for reverse engineering
60+
- **File Dumping and Rebuilding**:
61+
- [mkpsxiso](https://github.com/Lameguy64/mkpsxiso): Tool for dumping and rebuilding PSX ISOs.
62+
- **Courses and Articles**:
63+
- [PS1 Programming with MIPS Assembly & C](https://pikuma.com/courses/ps1-programming-mips-assembly-language)
64+
- [How PlayStation Graphics & Visual Artefacts Work](https://pikuma.com/blog/how-to-make-ps1-graphics)

0 commit comments

Comments
 (0)