libreboot / lbwww (public) (License: Unspecified) (since 2023-04-11) (hash sha1)
libreboot website (markdown files). https://libreboot.org/
List of commits:
Subject Hash Author Date (UTC)
tidy up the playstation page d799f23069e48d53609529dae34d5b69695e7381 Leah Rowe 2024-09-26 10:57:31
spelling 8342c2e82921ab70dc27cf773e3655045453ae3b Leah Rowe 2024-09-26 07:12:26
grammar b11b3a4fa6d51478dd04897a2a1f7e5cec717233 Leah Rowe 2024-09-26 07:02:34
typo 6820d43705b410b265ba8acf3d9ebd8d51041875 Leah Rowe 2024-09-26 07:01:20
add playstation page to docs 0424b1f6a413339a18a39f35dc037463215fbafe Leah Rowe 2024-09-26 06:53:44
docs/install: add missing latitudes to hcl b3cb1d224f04af13368c3a6a0fd1953ccb25d84a Leah Rowe 2024-09-23 17:01:00
update docs/maintain/ c18402c8a7013e7811cd1994db1c51aa7017b504 Leah Rowe 2024-09-23 16:57:06
grub_cbfs: add -t raw to example cbfs command 025ac72aeeeee92698e05686ed5177f6763e3b7f Leah Rowe 2024-09-07 01:24:15
simplify docs/install and merge docs/hardware 09844d6258bd27026f53f9cdb731b4086c20fda3 Leah Rowe 2024-08-31 21:28:18
remove wrong info about 820 g2 2f1107f2ca852f154332046a871822663ca792ac Leah Rowe 2024-08-30 01:40:32
minor 820 g2 docs cleanup 2cf3d6911a46707ccd820d94194cbe4fc5af6148 Leah Rowe 2024-08-30 01:39:11
update the 820 g2 hp guide a6d33c415884f109b4b040e92bea2d31730f3704 Leah Rowe 2024-08-30 01:36:57
hp2560.md: remove note about wifi 002b0520f4b361e59b480fa971acfca3f73ea90b Leah Rowe 2024-08-30 00:47:04
clarify pre-install requirement for latitudes 406f9f03529764bf3a2011e08653b36b64310c84 Leah Rowe 2024-08-29 22:59:28
actually add latitude.md 1b938fa4147b6734c29ed8e83a65a319794a88ac Leah Rowe 2024-08-29 22:57:10
unified dell latitude instructions ac0e6833360bd9b0e7ccd51b07bd0c80ce5168da Leah Rowe 2024-08-29 22:54:48
update commands on the porting page 040a918adf09eac5ed119bcb7d721dbace29ff2f Leah Rowe 2024-08-29 21:21:02
add safety link on the e6400 news page 1687ff6e98205ce7f430fdc42e7089882903c2c0 Leah Rowe 2024-08-29 21:20:29
add safety link on the 20240612 page a2e2d85ca17e070f93a9d955c505034b08cc0deb Leah Rowe 2024-08-29 21:19:58
maintain/style: update err reference d450d080ffd70161feaa7734140378987c834d58 Leah Rowe 2024-08-29 20:11:48
Commit d799f23069e48d53609529dae34d5b69695e7381 - tidy up the playstation page
Signed-off-by: Leah Rowe <info@minifree.org>
Author: Leah Rowe
Author date (UTC): 2024-09-26 10:57
Committer name: Leah Rowe
Committer date (UTC): 2024-09-26 10:57
Parent(s): 8342c2e82921ab70dc27cf773e3655045453ae3b
Signer:
Signing key:
Signing status: N
Tree: d76aa94235449f131407c04b01519c63d2988da3
File Lines added Lines deleted
site/docs/install/playstation.md 99 79
File site/docs/install/playstation.md changed (mode: 100644) (index 452709a..c9c14e6)
... ... if you want it to, and you can!
30 30 Introduction Introduction
31 31 ============ ============
32 32
33 **Unavailable in Libreboot 20240612 or earlier. You must compile from source;
34 first, check the [main build guide source](../build/) to get dependencies.**
33 This uses the free/opensource BIOS developed by the PCSX-Redux team, which you
34 can learn more about here:
35 35
36 You can use the following command in lbmk (on Linux) to build the BIOS:
36 <https://github.com/grumpycoders/pcsx-redux/tree/main/src/mips/openbios>
37 37
38 ./mk -b pcsx-redux
38 Build from source
39 -----------------
39 40
40 This command only compiles the BIOS code found in `src/mips/openbios/`, of
41 PCSX-Redux, which is downloaded to `src/pcsx-redux/`, so the BIOS source code
42 in full would be located at `src/pcsx-redux/src/mips/openbios` within lbmk.
41 Pre-compiled builds will be in the next Libreboot release, after
42 version 20240612. For now, you must compile it from source, but the Libreboot
43 build system provides automation for this. Please use the latest lbmk
44 revision [from Git](../../git.md).
43 45
44 You will then find the BIOS image under `bin/playstation/openbios.bin`. This
45 can be used on PlayStation emulators, and it can also be used on the real
46 hardware. It has a relatively [high
47 compatibility](https://docs.google.com/spreadsheets/d/1UNGs7uYb8viAbm7YJaf1CR4dkgX7ZzntUdcowGsjcVc/edit?pli=1&gid=772799649#gid=772799649) according to the developers.
46 First, please make sure you have build dependencies. The build logic in lbmk
47 has been tested on Debian 12 (x86\_64) and you can do this for example, as root:
48 48
49 This uses the free/opensource BIOS developed by the PCSX-Redux team, which you
50 can learn more about here:
49 ./mk dependencies debian
51 50
52 <https://github.com/grumpycoders/pcsx-redux/tree/main/src/mips/openbios>
51 The `arch` and `parabola` dependencies should also work nicely, if you want
52 to replace `debian` with one of those in the above example; you need to get the
53 cross compiler (mipsel one) from the AUR, which you will see when running e.g.:
54
55 ./mk dependencies arch
53 56
54 NOTE: As of 26 September 2024, lbmk for PlayStation has only been build-tested
55 on Debian 12 (x86\_64). The build dependencies script provides a `mipsel` cross
56 compiler; otherwise, PCSX-Redux's page has general instructions for how to get
57 a compatible toolchain:\
57 If you have another distro, or you're unsure, the PCSX-Redux project also
58 provide generic instructions for other distros. Please see:\
58 59 <https://github.com/grumpycoders/pcsx-redux/blob/main/src/mips/psyqo/GETTING_STARTED.md> <https://github.com/grumpycoders/pcsx-redux/blob/main/src/mips/psyqo/GETTING_STARTED.md>
59 60
61 When you have the dependencies, including mipsel cross toolchain, you can
62 just do this in lbmk:
63
64 ./mk -b pcsx-redux
65
66 This commonly only builds the BIOS part. If you want to build all of PCSX-Redux,
67 you can, but lbmk does not provide automation for this.
68
60 69 Installation Installation
61 70 ============ ============
62 71
72 If all went well, you should see `openbios.bin` located
73 under the `bin/playstation/` (within lbmk). Alternatively, you may be using
74 a release *after* Libreboot 20240612 that has it pre-built. Either way is fine.
75
76 The `openbios.bin` file is your new BIOS build.
77
63 78 Emulators Emulators
64 79 --------- ---------
65 80
 
... ... These emulators can boot many commercial games, with varying degrees of
71 86 compatibility, and they can also boot any homebrew/opensource games that you compatibility, and they can also boot any homebrew/opensource games that you
72 87 might develop yourself, or that others have written. might develop yourself, or that others have written.
73 88
89 Simply load your `openbios.bin` file into the emulator, using the instructions
90 provided with your chosen PlayStation emulator. You can even freely
91 redistribute this BIOS, because it's free software (released under MIT license),
92 which is a major advantage over Sony's original BIOS.
93
74 94 Hardware Hardware
75 95 -------- --------
76 96
77 97 Not yet tested by the Libreboot project, but the PCSX-Redux developers have Not yet tested by the Libreboot project, but the PCSX-Redux developers have
78 stated that it will work on the real console. It should be noted that the Open
79 BIOS does not seem to implement a memory card save handler at present. If
80 someone can recommend a boot disc that could replace this, that'd be nice;
81 otherwise, read on.
98 stated that it will work on the real console. *It should be noted that the Open
99 BIOS does not seem to implement a memory card save handler at present; you can
100 save and load games, in-game, but there is no built-in program for copying
101 and deleting saves between memory cards.* From reading the documentation, it
102 seems that this is essentially a very well-engineered proof of concept that
103 happens to boot a majority of games; some polishing is still needed to make this
104 really useful on a real machine.
105
106 The main usefulness of the Open BIOS is that it's under an MIT license, and
107 therefore legal to distribute; anyone wishing to use an emulator can use a
108 compiled copy of the Open BIOS, and distribute it freely without trouble.
109
110 You also do not get to listen to music CDs. The quirk with memory cards is
111 easily mitigated in an *emulator*, because you can simply create different
112 memory card images for each game you play.
113
114 It would be nice if a memory card manager program were available, to make this
115 BIOS much more polished, but a number of games have been tested and it's more
116 or less fully reliable in most cases.
82 117
83 118 Game compatibility Game compatibility
84 119 ================== ==================
 
... ... The upstream maintains a compatibility list, here:
90 125 NOTE: Google Docs, but an option exists on there to export it for LibreOffice NOTE: Google Docs, but an option exists on there to export it for LibreOffice
91 126 Calc. The list is provided as a spreadsheet. Calc. The list is provided as a spreadsheet.
92 127
93 Memory card handling
128 Remarks about hardware
94 129 ==================== ====================
95 130
96 Basically, the Open BIOS from PCSX-Redux does not yet support handling the
97 memory cards. The game compatibility is also not complete, though it is
98 excellent. Therefore, you might consider a *dual BIOS* setup - and this has
99 not been tested, but should work just fine (it will be tested at a later date).
100
101 Using it on hardware
102 ====================
103
104 The dual BIOS works like so: manipulate the OE/chip select pins on the BIOS
105 chip (original one), between that and the one on the replacement chip. You
106 would have both chips present, one of them containing your Open BIOS. You would
107 control the OE/CS pins via a toggle switch. When the switch is set one way, it
108 boots the original Sony BIOS, and the other position boots the Open BIOS. You
109 would take care not to switch it while the machine is in operation, but it could
110 be set before turning the machine on.
111
112 131 Modern NOR flash can be used. You specifically want a TSOP-32 SMD/SMT type device, Modern NOR flash can be used. You specifically want a TSOP-32 SMD/SMT type device,
113 132 one that operates at 3.3v (tolerance 2.7 to 3.6v), organised into 512KB blocks, one that operates at 3.3v (tolerance 2.7 to 3.6v), organised into 512KB blocks,
114 133 for example 512KB x8 is a common part, for example [SST39VF040](https://eu.mouser.com/ProductDetail/Microchip-Technology/SST39VF040-70-4C-WHE?qs=I6DYTe5pEPUDs7BrdNtR9w%3D%3D). for example 512KB x8 is a common part, for example [SST39VF040](https://eu.mouser.com/ProductDetail/Microchip-Technology/SST39VF040-70-4C-WHE?qs=I6DYTe5pEPUDs7BrdNtR9w%3D%3D).
 
... ... a 40-pin chip but most later ones soon after and to end of life were 32-pin.
122 141 This page only sells adapters for use with 32-bit boards. This page only sells adapters for use with 32-bit boards.
123 142
124 143 For most boards, the one you want is probably the `PS1_Flash_Bios_(A)` one. For most boards, the one you want is probably the `PS1_Flash_Bios_(A)` one.
125 You must flash the chip first, before soldering it onto this adapter board.
126 You can then de-solder the BIOS chip; look for a 512K mask ROM on the board.
127
128 Make sure the adapter is soldered properly, and solder it into place. You can
129 find some videos online for how to do this. Libreboot cannot verify the quality
130 of all of them and may provide such guidance itself in the future.
131
132 **Do not** assume that the dual-BIOS idea will even work, because to our
133 knowledge, it has not been tested. It is highly theoretical at this point, and
134 recommended (assuming it would work) instead of simply replacing the original
135 BIOS outright. Even if game compatibility were 100%, it helps to have a backup
136 solution in case of bugs.
137
138 There are a few edge cases: PsNee (referenced below) might not work well on
139 some Japanese playstations, or PAL PSOne Slim, due to extra restrictions in
140 the Sony BIOS; therefore, if doing Dual BIOS, it might be wise to use two of
141 those adapter PCBs stacked, using the same OE/CE switch idea. On the one
142 containing Sony BIOS, you might use a dump for US NTSC console for example, if
143 setting it up on a PAL PSOne or Japanese console. Japanese consoles otherwise
144 have additional region checks at startup, and PAL PSOne slims check what video
145 mode a game starts in.
146
147 This page may or may not be updated at some point, to document installation on
148 real hardware. For now, the Open BIOS is only intended for use with emulators.
144
145 We do not yet provide instructions for how to install this on real hardware, in
146 the Libreboot project, but this can be done at a future date.
147
148 Other mods (hardware)
149 ===============
149 150
150 151 Video timings Video timings
151 152 ------------- -------------
152 153
154 The Open BIOS will not implement any DRM, so it's possible that you might boot
155 out of region games. In an emulator, this is no problem, but it can prove
156 difficult on hardware in a number of situations.
157
153 158 The purpose of these kinds of mods *on hardware* is typically that the user The purpose of these kinds of mods *on hardware* is typically that the user
154 159 wants to remove all DRM. Well, there's something many people overlook: video wants to remove all DRM. Well, there's something many people overlook: video
155 160 timings out-of-region are often wrong on these machines. The GPUs have two timings out-of-region are often wrong on these machines. The GPUs have two
 
... ... clock inputs (early launch models only have one clock input): one for PAL and
157 162 one for NTSC. More info could be written here at a later date but these consoles one for NTSC. More info could be written here at a later date but these consoles
158 163 typically don't have a PAL GPU clock on NTSC consoles, and vice versa. You can typically don't have a PAL GPU clock on NTSC consoles, and vice versa. You can
159 164 correct this. correct this.
160 Look up the PS1 "dual frequency oscillator" mod.
161 165
162 Other mods
163 ==========
166 Look up the PS1 "dual frequency oscillator" mod. Without this mod, NTSC games
167 will run slightly slower than they should and have the wrong colours, when booted
168 on PAL consoles (and vice versa); RGB SCART can be used to mitigate the colour
169 issue, but not the timing issue. The oscillator mod is the only solution for the
170 timing issue.
171
172 Modchips
173 --------
164 174
165 175 If using hardware, you will probably still want a modchip. Many proprietary If using hardware, you will probably still want a modchip. Many proprietary
166 176 modchip firmwares exist, such as Old crow, MultiMode3 and Mayumi; these run on modchip firmwares exist, such as Old crow, MultiMode3 and Mayumi; these run on
 
... ... recommends:
174 184 Unlike the other modchips, PsNee runs mostly on Arduino-type boards. You can Unlike the other modchips, PsNee runs mostly on Arduino-type boards. You can
175 185 find more info on its GitHub page. find more info on its GitHub page.
176 186
177 The way copy protection works on a playstation is: the commercial discs have
178 a special wobble in them, that can't be reproduced on consumer hardware. This
179 wobble encodes region data for the disc, and it's checked for by the CD controller;
180 if no wobble is present, or the region is incorrect, the disc stops booting,
181 though it will still play music CDs regardless (in the Sony BIOS).
187 Although not yet tested by Libreboot, it might be possible to have both the
188 Sony BIOS and Open BIOS, by stacking them on top of each other, soldered pin
189 for pin but leaving the OE/CS pins floating; then, wire up a switch that turns
190 one chip or the other off, so that you can pick which BIOS you want at boot.
191 This might be useful, in case you run into any compatibility issues with the
192 Open BIOS.
193
194 A modchip is still desirable, to mitigate copy and region protection in the
195 original BIOS; it may still be required when using the Open BIOS, but this has
196 not yet been confirmed by the Libreboot project.
182 197
183 The Open BIOS will contain no restrictions whatsoever, but you are still advised
184 to have a modchip.
198 More hardware testing is planned, but the Open BIOS works perfectly in emulators.
199 Give it a try!
200
201 Boot games on SD cards
202 -----------------------
185 203
186 204 The [PicoStation](https://github.com/paulocode/picostation) project provides The [PicoStation](https://github.com/paulocode/picostation) project provides
187 205 free firmware for RP2040 devices, which you can solder into a modboard which free firmware for RP2040 devices, which you can solder into a modboard which
188 206 then emulates the PS1 CD drive. It then lets you boot software (including then emulates the PS1 CD drive. It then lets you boot software (including
189 many games) from an SD card instead of a CD, using disc image files.
207 many games) from an SD card instead of a CD, using disc image files, on a
208 real playstation (the picostation replaces your CD drive).
209
210 Not only is this useful in a development context, but it can also be used when
211 your CD drive has worn out and no longer reads discs properly.
212
213 Final remarks
214 -------------
190 215
191 216 Combined with PsNee and PicoStation, the Open BIOS from PCSX-Redux team will Combined with PsNee and PicoStation, the Open BIOS from PCSX-Redux team will
192 217 turn your 90s PlayStation into a very hackable machine. There is turn your 90s PlayStation into a very hackable machine. There is
 
... ... coincidence; they are
197 222 simply computers, fully reprogrammable and as such, Libreboot is happy to provide simply computers, fully reprogrammable and as such, Libreboot is happy to provide
198 223 this support, for the Sony PlayStation this support, for the Sony PlayStation
199 224
200 This page is very new, as of 26 September 2024, because the PS1 Open BIOS was
201 only added on this day (26 September). It'll be fleshed out over time, especially
202 to talk about hardware. The Open BIOS does boot a lot of software, but it is
203 mostly only recommended for use in emulators at this time.
204
205 225 Credit Credit
206 226 ====== ======
207 227
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/libreboot/lbwww

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/libreboot/lbwww

Clone this repository using git:
git clone git://git.rocketgit.com/user/libreboot/lbwww

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main