Skip to content

Commit

Permalink
intro
Browse files Browse the repository at this point in the history
  • Loading branch information
Your Name committed Oct 9, 2023
1 parent e8f1a4a commit f5f4113
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 3 deletions.
34 changes: 34 additions & 0 deletions docs/bulidtarget.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 我们要构建的是什么?
我们的目标是编写能在PSP上运行的软件(常被称为`PSP Module`),从应用上可分为自制游戏(`Homebrew`)和插件(`Plugin`)。

> 参考阅读
> 一个关于PSPModule的文档,存在Github上某个项目中。
> 链接过会加上来
在此之前,我们先了解一下PSP。

## PSP的正规使用方法
众所周知,PSP是索尼2004年推出的一款游戏机。其游戏通过UMD光盘发行。在运行官方固件的PSP上,PSP通过读取插入的UMD光盘运行游戏。PSP支持读取记忆棒,主要用于储存游戏存档数据等。

## 自定义固件(CFW)
PSP推出以后,各路大神争相破解PSP固件,利用各种漏洞推出了众多自定义固件。在自定义固件下,PSP可以运行储存在记忆棒中的UMD光盘镜像或者爱好者自己编写的`PSP Module`文件。

经过20年迭代,一般认为目前功能最完善的CFW为6.60PRO。互联网上有许多安装教程,不再赘述。

本文所有示例程序均在6.60PRO固件下的PSP1000型号中测试通过。

## 模拟器(Emulator)
随着其他设备性能的提升,市面上也开始出现越来越多的PSP模拟器。其中最著名的当属PPSSPP。如果你没有实体的PSP,也可以通过模拟器来享受前人制作的精良游戏或测试自己开发的`PSP Module`

## 文件格式

前文已经提到,我们的目标是编写`PSP Module`。我们有必要提及运行CFW的PSP可以运行的`PSP Module`程序的文件格式。

+ ELF
+ PRX

对于自制游戏来说,为了能让其在主界面(`XMB`)的游戏菜单中显示,需要将其封装为EBOOT.PBP

示例:我们假设你已经拥有一台配备CFW的PSP
> A typical Plugin
> A typical Homebrew
5 changes: 2 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,13 @@

- 熟悉 Linux 开发环境,Bash Shell 的有关知识
- 熟悉 GNU 的一系列工具,了解大型 C/C++项目如何组织
- 了解编译和汇编的有关知识
- 练习使用 git 和 GitHub,尝试使用 CI/CD 工具
- 学习计算机系统基础,逐渐从其他语言到 C 语言和汇编过渡
- 学习计算机系统基础,逐渐从其他语言到 C 语言和汇编过渡,了解编译和汇编的有关知识
- 从 GNU Make 到 CMake
- 了解不同平台的差异

## TODO:

- [ ] 构建的目标
- [ ] 环境配置
- [ ] PSPDEV
- [ ] VSCode
Expand Down
1 change: 1 addition & 0 deletions docs/makefilesample.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@


## PSPDEV提供的基础Makefile
不要忘记了,写笔记的目的不仅仅是为了使用PSPSDK开发,更是为了学习相关知识。所以在解析Makefile的过程中会穿插知识点和参考。
位于`pspdev/psp/sdk/lib`基础的Makefile文件`build.mak`,通常会在自己的Makefile包含。
```makefile title="pspdev/psp/sdk/lib/build.mak"
# Note: The PSPSDK make variable must be defined before this file is included.
Expand Down

0 comments on commit f5f4113

Please sign in to comment.