Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit c97909a

Browse filesBrowse files
sajattackozkriff
andauthored
Newsletter 11: rust-psp (rust-gamedev#183)
* initial draft of rust-psp section * minor tweaks * moar backticks * one more * Newsletter 11: psp: Remove trailing spaces * Newsletter 11: psp: local gif & style tweaks Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>
1 parent a92ff20 commit c97909a
Copy full SHA for c97909a

File tree

Expand file treeCollapse file tree

2 files changed

+36
-0
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+36
-0
lines changed

‎content/posts/newsletter-011/index.md

Copy file name to clipboardExpand all lines: content/posts/newsletter-011/index.md
+36Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,42 @@ they plant flowers which gives them points.
169169

170170
## Library & Tooling Updates
171171

172+
### [rust-psp]
173+
174+
![demo-gif](psp.gif)
175+
176+
Just what everyone's always wanted, [Rust on the Sony PSP][rust-psp]! 😆
177+
178+
This project is a port and improvement of the unofficial C/C++ PSPSDK from
179+
2005 It does not require a custom GCC toolchain to be installed. Only Rust
180+
nightly and a cargo subcommand.
181+
182+
The psp crate provides a `psp::sys` submodule that houses the entire Sony PSP
183+
API. We are working to have theseinterfaces merged into the libc crate.
184+
The PSP unfortunately uses non-standard dynamic linking,
185+
(and some libraries are statically linked!), so function definitions
186+
marked extern are not enough. Eventually we will wrap this sys lib with a more
187+
rust-friendly library.
188+
189+
Rather than patching LLVM or rustc, the rust-psp team has also merged a
190+
`mipsel-sony-psp` target upstream, and published cargo-psp. This is a subcommand
191+
that works exactly like cargo build, except it also builds the crate into a
192+
PSP-specific executable format called `PRX` and packages that into an
193+
`EBOOT.PBP`, the standard format for a PSP Homebrew.
194+
195+
The crate has reached full user-mode parity with the unofficial C/C++ SDK.
196+
Kernel-mode support still needs to be worked on. Aside from library
197+
imports, there is also support for PSP-specific custom assembly instructions
198+
via the `vfpu_asm!` macro, with no need for a custom compiler toolchain.
199+
There is also optional `embedded-graphics` support and a function to benchmark
200+
or time your code.
201+
202+
The next major milestone for rust-psp is std support.
203+
If you are interested in helping out, please feel free to join the rust-psp
204+
channel in the [PSP Homebrew discord server](https://discord.gg/WY8XhDG).
205+
206+
[rust-psp]: https://github.com/overdrivenpotato/rust-psp
207+
172208
### [This Month in Mun][mun-june]
173209

174210
![Language Server Diagnostics in action](mun-languageserver.gif)

‎content/posts/newsletter-011/psp.gif

Copy file name to clipboard
2.51 MB
Loading

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.