mirror of
https://github.com/luksamuk/engine-psx.git
synced 2025-04-28 21:38:02 +03:00
Update README.org
This commit is contained in:
parent
a33a11b716
commit
dff43d7654
3 changed files with 79 additions and 4 deletions
83
README.org
83
README.org
|
@ -1,16 +1,91 @@
|
||||||
#+title: engine-psx
|
#+title: engine-psx
|
||||||
|
|
||||||
* engine-psx
|
|
||||||
|
|
||||||
Open source platformer engine built for the PSX.
|
Open source platformer engine built for the PSX.
|
||||||
|
|
||||||
Uses [[https://github.com/Lameguy64/PSn00bSDK/tree/master][PSn00bSDK]].
|
Uses [[https://github.com/Lameguy64/PSn00bSDK/tree/master][PSn00bSDK]].
|
||||||
|
|
||||||
|
#+html: <center>
|
||||||
|
[[file:./screenshots/engine-psx-072224.gif]]
|
||||||
|
#+html: </center>
|
||||||
|
|
||||||
|
/Engine short video running on DuckStation, dated 07/22/2024./
|
||||||
|
|
||||||
* About
|
* About
|
||||||
|
|
||||||
To-do.
|
This is a platformer game engine build for the PlayStation 1, heavily inspired
|
||||||
|
by Sonic The Hedgehog. The focus here is on experimentation, attempting to build
|
||||||
|
a sane 2D engine in pure C while taking advantage of what the PlayStation has to
|
||||||
|
offer in terms of hardware.
|
||||||
|
|
||||||
|
This engine is opensource and can be built by anyone. Also, since it uses
|
||||||
|
Psn00bSDK, it also contains no copyrighted material. Plus, any tools used in
|
||||||
|
this project are modern, opensource or cheap to acquire.
|
||||||
|
|
||||||
|
Some assets use different formats than common formats. This is because I needed
|
||||||
|
a better way to process these files, or the PlayStation recognizes different
|
||||||
|
formats.
|
||||||
|
|
||||||
|
All code is tested under emulators PCSX-Redux and DuckStation, and are also
|
||||||
|
tested on real hardware (a PlayStation model SCPH-5501).
|
||||||
|
|
||||||
|
** Recommended tools
|
||||||
|
|
||||||
|
Here are some tools I've been using:
|
||||||
|
|
||||||
|
- GIMP with G'Mic plugin (to reduce image colormaps to 256 colors with no
|
||||||
|
dithering);
|
||||||
|
- Aseprite (for handling sprite sheets and tilemaps), plus some useful [[https://github.com/Gabinou/tilemap_scripts_aseprite][script files]] (tweak
|
||||||
|
=export_tileset.lua= so it only exports with a =row_len= of =32=, since all
|
||||||
|
tiles are 8x8);
|
||||||
|
- =mkpsxiso=, to build the ISO files;
|
||||||
|
- =gcc-mipsel= compiler toolchain;
|
||||||
|
- =timedit=, to import images and convert them to .TIM format;
|
||||||
|
- =wav2vag=, to convert .WAV sound effects to .VAG audio;
|
||||||
|
- =psxavenc=, to convert music to a preliminary .XA format;
|
||||||
|
- =xainterleave=, to interleave .XA files into a single, ready-for-production
|
||||||
|
.XA file;
|
||||||
|
- =cdrdao=, if you intend on burning your ISO on a CD-R;
|
||||||
|
- =CMake= and =GNU Make=, for build scripts.
|
||||||
|
|
||||||
|
Some of these tools are already available when you properly install
|
||||||
|
PSn00bSDK. Just follow [[https://github.com/Lameguy64/PSn00bSDK/blob/master/doc/installation.md][this guide]].
|
||||||
|
|
||||||
|
** Running on real hardware
|
||||||
|
|
||||||
|
#+html: <center>
|
||||||
|
[[file:./screenshots/engine-psx-realhardware-072124.gif]]
|
||||||
|
#+html: </center>
|
||||||
|
|
||||||
|
/Engine short video running on a PlayStation SCPH-5001, dated 07/21/2024./
|
||||||
|
|
||||||
|
In theory, to burn the disc, you would need a Sony license file which comes
|
||||||
|
bundled with the Psy-Q SDK (which *I AM NOT* using). Tweak =iso.xml= to add such
|
||||||
|
file. I cannot guarantee that it will work on real hardware if this file is
|
||||||
|
omitted.
|
||||||
|
|
||||||
|
You most likely will need a PlayStation console that allows you to run homebrew
|
||||||
|
software -- I did not do anything on my model, but again, I bought it from
|
||||||
|
someone else, and I didn't open it up to check if it was still intact from day
|
||||||
|
one.
|
||||||
|
|
||||||
|
You will also need a CD drive capable of burning CD images to physical disks,
|
||||||
|
and *you will also need good quality CD-R disks. Do not ignore this.* If you're
|
||||||
|
a fellow brazillian, I recommend Multilaser.
|
||||||
|
|
||||||
|
Remember also that this method was tested in an SCPH-5501 model.
|
||||||
|
|
||||||
|
Use a command such as this to burn your image into the disk by using =cdrdao=
|
||||||
|
(*do not* use other software, unless you know what you're doing):
|
||||||
|
|
||||||
|
#+begin_src bash
|
||||||
|
cd build/
|
||||||
|
cdrdao write --speed 1 --driver generic-mmc-raw --swap -n --eject "sonicengine.cue"
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
If you're on Windows or you need more information on other methods, check out
|
||||||
|
[[https://alex-free.github.io/psx-cdr/][this awesome guide]].
|
||||||
|
|
||||||
* License
|
* License
|
||||||
|
|
||||||
Licensed under the Mozilla Public License 2.0
|
Licensed under the Mozilla Public License 2.0.
|
||||||
|
|
||||||
|
|
BIN
screenshots/engine-psx-072224.gif
Normal file
BIN
screenshots/engine-psx-072224.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 MiB |
BIN
screenshots/engine-psx-realhardware-072124.gif
Normal file
BIN
screenshots/engine-psx-realhardware-072124.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.5 MiB |
Loading…
Add table
Add a link
Reference in a new issue