PlayStation 2: Difference between revisions
imported>GovanifY Added a dev section for crazy people doing ps2 dev in 2020 like me |
m Fixed some minor misspellings :33 |
||
(19 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
With 155 million sold, the PS2 was the best-selling gaming console ever. Home-brew development is still going on, and many games recover online gaming capability since developers are rewriting the game server. A list of PlayStation 2 Online Games is available [https://docs.google.com/spreadsheets/d/1bbxOGm4dPxZ4Vbzyu3XxBnZmuPx3Ue-cPqBeTxtnvkQ here]. | |||
= Emulation = | = Emulation = | ||
This section explains how to run Playstation 2 games on NixOS. | This section explains how to run Playstation 2 games on NixOS. | ||
== PCSX2 == | == PCSX2 == | ||
You need a legal copy of your ps2 bios. There are many ways to do it, | You need a legal copy of your ps2 bios. There are many ways to do it, so I will just describe an easy but slow one using uLaunchELF: | ||
1/ get latest ps2ident from https:// | 1/ get latest ps2ident from https://github.com/ps2homebrew/PS2Ident/releases/tag/stable | ||
2/ extract somewhere on an USB mass storage | 2/ extract somewhere on an USB mass storage | ||
3/ launch it from uLaunchELF (mass:) , then select USB as save device | 3/ launch it from uLaunchELF (mass:) , then select USB as save device | ||
Line 22: | Line 24: | ||
== Building the open source PS2SDK on NixOS == | == Building the open source PS2SDK on NixOS == | ||
You can use the following nix-shell script to build the open source PS2SDK through [https://github.com/ps2dev/ | You can use the following nix-shell script to build the open source PS2SDK through [https://github.com/ps2dev/ps2dev ps2dev]. | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
Line 29: | Line 31: | ||
name = "ps2dev"; | name = "ps2dev"; | ||
targetPkgs = pkgs: (with pkgs; [ | targetPkgs = pkgs: (with pkgs; [ | ||
autoconf | |||
automake | |||
libtool | |||
gnumake | gnumake | ||
clang | clang | ||
Line 38: | Line 43: | ||
texinfo | texinfo | ||
bash | bash | ||
file | |||
bison | |||
flex | |||
gettext | |||
gsl | |||
gnum4 | |||
gmp.dev | |||
gmp.out | |||
mpfr.out | |||
mpfr.dev | |||
libmpc | |||
cmake | |||
zlib.dev | |||
zlib.out | |||
]); | ]); | ||
runScript = "bash"; | runScript = "bash"; | ||
Line 44: | Line 63: | ||
name = "ps2dev-shell"; | name = "ps2dev-shell"; | ||
nativeBuildInputs = [ fhs ]; | nativeBuildInputs = [ fhs ]; | ||
hardeningDisable = [ "format" ]; | |||
shellHook = '' | shellHook = '' | ||
# or whatever you want | # or whatever you want | ||
Line 53: | Line 73: | ||
export PS2SDK=$PS2DEV/ps2sdk | export PS2SDK=$PS2DEV/ps2sdk | ||
export PATH=$PATH:$PS2DEV/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin:$PS2DEV/dvp/bin:$PS2SDK/bin | export PATH=$PATH:$PS2DEV/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin:$PS2DEV/dvp/bin:$PS2SDK/bin | ||
export CMAKE_INSTALL_PREFIX=$PS2DEV | |||
exec ps2dev | exec ps2dev | ||
''; | ''; | ||
Line 67: | Line 88: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= | = PlayStation 2 Expansion Bay = | ||
Read more about it: https://en.wikipedia.org/wiki/PlayStation_2_Expansion_Bay | |||
Only genuine Sony adapter offers network capability, you can upgrade them to sata thanks to a SATA mod kit from bitfunx or maxdiypower. On slim model, you can find kit too, but you will need to solder on the motherboard. | |||
== HDD Partitioning == | == HDD Partitioning == | ||
Playstation 2 use PFS filesystem. You could use pfsshell on PC. pfsshell's author advises you to not use it as root. | Playstation 2 use PFS filesystem and APA partitions see [https://master.dl.sourceforge.net/project/kernelloader/Sony%20Linux%20Toolkit/Package%20Update%20Files/apa/libhdd_ref.pdf?viasf=1 libHdd Reference Manual] for more information. You could use pfsshell on PC to create APA partition and format to PFS. pfsshell's author advises you to not use it as root. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
# chown myuser /dev/sdb | # chown myuser /dev/sdb | ||
Line 96: | Line 120: | ||
pfs Max mount: 1, Max open: 1, Number of buffers: 10 | pfs Max mount: 1, Max open: 1, Number of buffers: 10 | ||
pfs version 0000 driver start. | pfs version 0000 driver start. | ||
# | # initialize yes | ||
# ls | # ls | ||
0x0001 128MB __mbr | 0x0001 128MB __mbr | ||
Line 104: | Line 128: | ||
0x0100 1024MB __common | 0x0100 1024MB __common | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== install wLauncher === | |||
In order to be able to launch unofficial software, you can: | |||
* launch a dvd with [https://cturt.github.io/freedvdboot.html FreeDVDBoot] | |||
* have a modchip | |||
* boot with a FMCB installed memory card | |||
* boot on HDD with an elf launcher like wLauncher or [https://github.com/parrado/SoftDev2 SoftDev2] | |||
Extract [https://web.archive.org/web/20221210004709/https://www.ps2-home.com/forum/download/file.php?id=15758&sid=f956d2accefb993288a6791c7c85a5c0 this archive] (wLE_kHn_20200810.7z md5:430af5615895736d96b4f7156e92b2b0 [https://www.ps2-home.com/forum/viewtopic.php?t=5128 dl source]) then call hdl_dump: | |||
$ hdl_dump initialize /dev/sdb MBR.KELF | |||
=== install FHDB (Free HDBoot) === | === install FHDB (Free HDBoot) === | ||
Get FMCB installer from official website: https://sites.google.com/view/ysai187/home/projects/fmcbfhdb | |||
You should be able to launch it following the instruction there. | |||
=== Install games === | === Install games === | ||
Use hdl_dump (see hdl_dump help) : | Games doesn't use PFS but HDLoader partition so we can't rely on pfsshell to install them. Use hdl_dump (see hdl_dump help): | ||
$ hdl_dump install /dev/sdb Final\ Fantasy\ X\ \(France\).iso | $ hdl_dump install /dev/sdb Final\ Fantasy\ X\ \(France\).iso | ||
Line 125: | Line 157: | ||
=== Samba === | === Samba === | ||
Works fine - example soon. | |||
=== FTP transfer === | === FTP transfer === | ||
Line 131: | Line 163: | ||
A very slow solution ( ~ 500KB/s ). | A very slow solution ( ~ 500KB/s ). | ||
* PC side (client) : | * PC side (client): | ||
PS2 doesn't support TLS, use plain FTP. (tested with filezilla) | PS2 doesn't support TLS, use plain FTP. (tested with filezilla) | ||
* PS2 side (server) : | * PS2 side (server): | ||
Launch ps2net. You need to activate hdd (exploring it in uLaunchELF for example) before ps2net to share it. | Launch ps2net. You need to activate hdd (exploring it in uLaunchELF for example) before ps2net to share it. | ||
[[Category:Gaming]] | |||
[[Category:Applications]] | |||
[[Category:Hardware]] |