237 lines
6.1 KiB
Markdown
237 lines
6.1 KiB
Markdown
# PS3 undervolting
|
|
Hunting two forums, two YT videos and several github repos for into kinda sucks.
|
|
|
|
## Stable
|
|
For my Slim CECH-2004 with 45nm CELL and 65nm RSX.
|
|
|
|
Some dude [here](https://www.serwis-konsol.com/undervolting-ps3-najlepsze-co-moze-spotkac-twoja-konsole/) went down to 0.950 V on CELL and 0.993 V on RSX with CECH-2003, same DYN-001 board. Assuming stock clocks (500/650MHz).
|
|
|
|
### CELL B.E.
|
|
|
|
### Stock RSX
|
|
|
|
And stock VRAM
|
|
|
|
CELL | RSX | Tested?
|
|
---------|---------|---------
|
|
1.025 V | 0.900 V | ✅ Didn't crash in ProStreet for like 30 min
|
|
1.025 V | 0.875 V | ✅ Didn't crash in ProStreet for like 1h
|
|
1.000 V | 0.875 V | ✅ Works for 20ish min in GTA 4.
|
|
0.950 V | 0.875 V | Works for 15ish min in GTA 4. Weird bugs in GTA 5? Takes ages to load, intro failed?
|
|
0.900 V | 0.875 V | doesn't even go into XMB
|
|
0.925 V | 0.875 V | crashed while loading GTA 5
|
|
0.975 V | 0.875 V | works? GTA 5 seems to run. Assume it's stable, long term test. Crashed installing Skyrim once but could be HDD?
|
|
1.000 V | 0.900 V | new test just in case last one wasnt stable
|
|
|
|
### Overclocked 600 MHz RSX
|
|
|
|
And 750 MHZ VRAM
|
|
|
|
CELL | RSX | Tested?
|
|
---------|---------|---------
|
|
1.050 V | 1.000 V | ✅ Didn't crash in ProStreet for like 30 min
|
|
1.025 V | 1.000 V | ✅ Didn't crash in ProStreet for like 20 min
|
|
1.025 V | 0.975 V | ✅ Didn't crash in ProStreet for 40 min
|
|
1.025 V | 0.950 V | ✅ ayy six seven didn't crash in ProStreet for 1h
|
|
1.025 V | 0.925 V | Crash minutes in.
|
|
|
|
1.025/0.950V is cool enough to run at ~73-74C and 33% fan.
|
|
|
|
## How?
|
|
|
|
### Hook up RX/TX pins
|
|
On Sherwood syscons you only need RX and TX, on Mullion you also need DIAG pin which needs to be grounded (?).
|
|
|
|
#### Where pins?
|
|
|
|

|
|
|
|
Gray is RX, white is TX, black is ground.
|
|
|
|
### Clone this repo
|
|
|
|
```bash
|
|
git clone git@git.drath.cc:drath/ps3-undervolt.git
|
|
cd ps3-undervolt
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
python3 ps3_syscon_uart_script.py /dev/ttyUSB0 SW
|
|
```
|
|
|
|
`/dev/ttyUSB0` is the serial port address, COMx on Windows. `SW` is the SYSCON type? For Sherwood just put SW.
|
|
|
|
Anything slim (CECH-20xx) and newer is **Sherwood**.
|
|
|
|
Looks like some late fat models also use Sherwood SYSCON but they have the same buck regulators as the early fats (NCP5318) so they use a different VID table.
|
|
|
|
#### Before you break it too hard
|
|
Good idea to dump the SYSCON memory.
|
|
```bash
|
|
python3 syscon_dump.py /dev/ttyUSB0 SW --start 0 --end 8000 -o backup_factory
|
|
```
|
|
You do have a backup of factory SYSCON memory in this repo.
|
|
|
|
#### Magic commands
|
|
command | what do
|
|
--------|---------
|
|
`auth` | authenticate with SYSCON
|
|
`r xx 01` | read programmed voltage. `xx` is the target chip, `50` - CELL, `51` - RSX. FF is default..
|
|
`w xx yy` | program a new voltage. `yy` is the VID hex from the table below. Set VID to `FF` to reset to default
|
|
`eepcsum` | display the checksum. See below
|
|
`bringup` | start the console. Will reset video settings for some reason
|
|
`errlog` | display last 32 error codes
|
|
`powersw` | presses the power switch, v cool
|
|
`shutdown` | immediately shuts down the console, **not a clean poweroff**, will fuck up the filesystem and trigger safe mode boot eventually
|
|
|
|
See also [more commands](https://www.psdevwiki.com/ps3/Syscon_Hardware) and general SYSCON info.
|
|
|
|
### On `auth`
|
|
Idk sometimes doens't work? Need to try multiple times. Also try `AUTH`. If it refuses to work you probably need to swap RX and TX pins.
|
|
|
|
## Fix checksum
|
|
|
|
If you don't do this it **might** work until you unplug the power cord, and then then you're gonna get Red Light of Death (3 beeps and red blinking light as soon as you plug the cord in).
|
|
|
|
### Sherwood
|
|
Run `eepcsum`, note the value in `csum`, then swap the bytes and write them to `7fe`.
|
|
|
|
Like this:
|
|
```
|
|
>$ eepcsum
|
|
00000000
|
|
# csum = 0xDD9E
|
|
|
|
Press Ctrl+C to exit
|
|
>$ w 7fe 9e dd
|
|
00000000
|
|
# addr=000007FE num=02 val=9E DD
|
|
```
|
|
|
|
|
|
You spent 5h trying to figure this out, just remember to fix the checksum.
|
|
|
|
### Mullion
|
|
|
|
`eepcsum` will literally tell you what you need to write and where, I think. I don't have a Mullion console.
|
|
|
|
## VID table
|
|
|
|
For **slim/super slim**. Fats need a [different one](https://github.com/RIP-Felix/PS3-GPU-Overclock/blob/main/Mullion%20Vcore%20VID%20table.xlsx).
|
|
|
|
voltage | VID hex
|
|
----------|--------------
|
|
1,20000 V | `3F`
|
|
1,19375 V | `40`
|
|
1,18750 V | `41`
|
|
1,18125 V | `42`
|
|
1,17500 V | `43`
|
|
1,16875 V | `44`
|
|
1,16250 V | `45`
|
|
1,15625 V | `46`
|
|
1,15000 V | `47`
|
|
1,14375 V | `48`
|
|
1,13750 V | `49`
|
|
1,13125 V | `4A`
|
|
1,12500 V | `4B`
|
|
1,11875 V | `4C`
|
|
1,11250 V | `4D`
|
|
1,10625 V | `4E`
|
|
1,10000 V | `4F`
|
|
1,09375 V | `50`
|
|
1,08750 V | `51`
|
|
1,08125 V | `52`
|
|
1,07500 V | `53`
|
|
1,06875 V | `54`
|
|
1,06250 V | `55`
|
|
1,05625 V | `56`
|
|
1,05000 V | `57`
|
|
1,04375 V | `58`
|
|
1,03750 V | `59`
|
|
1,03125 V | `5A`
|
|
1,02500 V | `5B`
|
|
1,01875 V | `5C`
|
|
1,01250 V | `5D`
|
|
1,00625 V | `5E`
|
|
1,00000 V | `5F`
|
|
0,99375 V | `60`
|
|
0,98750 V | `61`
|
|
0,98125 V | `62`
|
|
0,97500 V | `63`
|
|
0,96875 V | `64`
|
|
0,96250 V | `65`
|
|
0,95625 V | `66`
|
|
0,95000 V | `67`
|
|
0,94375 V | `68`
|
|
0,93750 V | `69`
|
|
0,93125 V | `6A`
|
|
0,92500 V | `6B`
|
|
0,91875 V | `6C`
|
|
0,91250 V | `6D`
|
|
0,90625 V | `6E`
|
|
0,90000 V | `6F`
|
|
0,89375 V | `70`
|
|
0,88750 V | `71`
|
|
0,88125 V | `72`
|
|
0,87500 V | `73`
|
|
0,86875 V | `74`
|
|
0,86250 V | `75`
|
|
0,85625 V | `76`
|
|
0,85000 V | `77`
|
|
0,84375 V | `78`
|
|
0,83750 V | `79`
|
|
0,83125 V | `7A`
|
|
0,82500 V | `7B`
|
|
0,81875 V | `7C`
|
|
0,81250 V | `7D`
|
|
0,80625 V | `7E`
|
|
0,80000 V | `7F`
|
|
0,79375 V | `80`
|
|
0,78750 V | `81`
|
|
0,78125 V | `82`
|
|
0,77500 V | `83`
|
|
0,76875 V | `84`
|
|
0,76250 V | `85`
|
|
0,75625 V | `86`
|
|
0,75000 V | `87`
|
|
0,74375 V | `88`
|
|
0,73750 V | `89`
|
|
0,73125 V | `8A`
|
|
0,72500 V | `8B`
|
|
0,71875 V | `8C`
|
|
0,71250 V | `8D`
|
|
0,70625 V | `8E`
|
|
0,70000 V | `8F`
|
|
0,69375 V | `90`
|
|
0,68750 V | `91`
|
|
0,68125 V | `92`
|
|
0,67500 V | `93`
|
|
0,66875 V | `94`
|
|
0,66250 V | `95`
|
|
0,65625 V | `96`
|
|
0,65000 V | `97`
|
|
0,64375 V | `98`
|
|
0,63750 V | `99`
|
|
0,63125 V | `9A`
|
|
0,62500 V | `9B`
|
|
0,61875 V | `9C`
|
|
0,61250 V | `9D`
|
|
0,60625 V | `9E`
|
|
0,60000 V | `9F`
|
|
0,59375 V | `A0`
|
|
0,58750 V | `A1`
|
|
0,58125 V | `A2`
|
|
0,57500 V | `A3`
|
|
0,56875 V | `A4`
|
|
0,56250 V | `A5`
|
|
0,55625 V | `A6`
|
|
0,55000 V | `A7`
|
|
0,54375 V | `A8`
|
|
0,53750 V | `A9`
|
|
0,53125 V | `AA`
|
|
0,52500 V | `AB`
|
|
0,51875 V | `AC`
|
|
0,51250 V | `AD`
|
|
0,50625 V | `AE`
|
|
0,50000 V | `AF`
|