diff --git a/README.md b/README.md new file mode 100644 index 0000000..0e980d9 --- /dev/null +++ b/README.md @@ -0,0 +1,229 @@ +# 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 | + +### 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? + +![CECH-20xx](./img/20260802_163635.jpg) + +Gray is RX, white is TX, black is ground. + +### Clone this repo + +```bash +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` diff --git a/dumps/backup_factory.bin b/dumps/backup_factory.bin new file mode 100644 index 0000000..310bf5b Binary files /dev/null and b/dumps/backup_factory.bin differ diff --git a/dumps/backup_factory.txt b/dumps/backup_factory.txt new file mode 100644 index 0000000..1601335 --- /dev/null +++ b/dumps/backup_factory.txt @@ -0,0 +1,320 @@ +00000000: 61 FF FF FF FF FF FF FF FF 51 60 21 FF FF FF FF a........Q`!.... +00000010: 00 4E 00 FF FF 02 03 BC 3C FF FF FF FF FF FF FF .N......<....... +00000020: 00 02 00 00 03 C8 78 FF FF FF FF FF FF FF FF FF ......x......... +00000030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000070: FF FF FF FF FF 00 FF FF FF FF FF FF FF FF FF FF ................ +00000080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000E0: FF FF FF FF FF FF FF FF FF FF FF FF FF 10 FF FF ................ +000000F0: 20 00 80 FF FF FF FF FF FF FF FF FF FF FF FF FF ............... +00000100: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000110: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000120: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000130: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000140: FF FF 5F 17 F9 1F FF FF B7 87 F9 01 FF FF C7 07 .._............. +00000150: F9 01 FF FF CF 8F F8 11 FF FF FF FF FF FF FF FF ................ +00000160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000180: FF FF 04 70 00 81 05 52 FF FF FF FF FF FF FF FF ...p...R........ +00000190: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000200: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000210: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000220: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000230: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000240: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000250: 33 35 00 00 00 39 36 00 2F 00 3B 37 00 31 00 3E 35...96./.;7.1.> +00000260: 38 00 31 80 40 39 00 33 80 43 3A 00 34 00 45 3B 8.1.@9.3.C:.4.E; +00000270: 00 36 80 48 45 00 37 00 4A 46 00 3D 80 50 49 00 .6.HE.7.JF.=.PI. +00000280: 3E 00 55 4A 00 3E 80 5A 4B 00 3F 00 66 4C 00 3F >.UJ.>.ZK.?.fL.? +00000290: 80 80 4D 00 40 00 B3 4E 00 41 00 FF 55 00 46 00 ..M.@..N.A..U.F. +000002A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000002B0: FF FF FF FF 33 FF 01 00 FF FF FF FF FF FF FF FF ....3........... +000002C0: 33 4E 00 00 00 39 4F 00 42 80 3B 50 00 43 00 3E 3N...9O.B.;P.C.> +000002D0: 51 00 43 80 40 52 00 44 00 43 53 00 44 80 45 54 Q.C.@R.D.CS.D.ET +000002E0: 00 45 00 48 55 00 45 80 4A 56 00 46 00 50 57 00 .E.HU.E.JV.F.PW. +000002F0: 46 80 55 58 00 47 00 5A 59 00 47 80 66 5A 00 48 F.UX.G.ZY.G.fZ.H +00000300: 00 80 5B 00 48 80 B3 5C 00 4A 00 FF 5F 00 52 00 ..[.H..\.J.._.R. +00000310: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000320: FF FF FF FF 33 FF 01 00 FF FF FF FF FF FF FF FF ....3........... +00000330: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000340: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000350: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000360: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000370: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000380: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000390: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000003A0: FF FF 00 00 4D 14 FF FF FF FF FF 84 88 84 88 FF ....M........... +000003B0: 54 00 55 00 02 00 5E 00 5F 00 02 00 FF FF FF FF T.U...^._....... +000003C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000003D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000003E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000003F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000400: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000410: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000420: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000430: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000440: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000450: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000460: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000470: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000480: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000490: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000500: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000510: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000520: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000530: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000540: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000550: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000560: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000570: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000580: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000590: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000600: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000610: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000620: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000630: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000640: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000650: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000660: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000670: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000680: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000690: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000700: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000710: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000720: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000730: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000740: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000750: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000760: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000770: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000780: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000790: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FA 44 ...............D +00000800: 0D 65 0C 58 01 4C 4F 40 F4 00 00 00 3C EF 00 00 .e.X.LO@....<... +00000810: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000820: 55 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF U............... +00000830: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000840: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000850: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000860: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000870: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000880: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000890: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000900: 00 12 80 A0 41 FE 49 0B 00 12 80 A0 60 FF 49 0B ....A.I.....`.I. +00000910: 22 20 80 A0 7A 05 4A 0B 22 20 80 A0 A2 05 4A 0B " ..z.J." ....J. +00000920: 22 20 80 A0 9D 8B 4C 0B 22 20 80 A0 B5 8B 4C 0B " ....L." ....L. +00000930: 22 20 80 A0 04 8C 4C 0B 22 20 80 A0 61 8F 4C 0B " ....L." ..a.L. +00000940: 22 20 80 A0 FE CD 4E 0B 22 20 80 A0 0A D1 4E 0B " ....N." ....N. +00000950: 31 21 80 A0 49 43 5C 0B 22 20 80 A0 9D F0 5D 0B 1!..IC\." ....]. +00000960: 22 20 80 A0 22 F1 5D 0B 22 20 80 A0 0D CA F7 0B " ..".]." ...... +00000970: 22 20 80 A0 0F CA F7 0B 22 20 80 A0 9D BC 00 0D " ......" ...... +00000980: 22 20 80 A0 2D BD 00 0D FF FF FF FF FF FF FF FF " ..-........... +00000990: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A00: FF 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A10: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A60: FF FF FF FF FF FF FF FF FF FF FF FF FF 01 FF FF ................ +00000A70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF 10 00 ................ +00000A80: 08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A90: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AA0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AB0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AD0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B00: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B10: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B80: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B90: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BA0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BB0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BD0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C00: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C10: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C80: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C90: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CA0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CB0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CD0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000D00: FF 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D10: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D20: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D30: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D40: 03 03 03 03 00 12 00 03 03 03 03 03 03 03 03 03 ................ +00000D50: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D60: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D70: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D80: 03 03 03 00 03 03 00 03 03 03 03 03 00 03 03 00 ................ +00000D90: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 00 ................ +00000DA0: 00 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DB0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DC0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DD0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DE0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DF0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 12 ................ +00000E00: 30 33 2E 31 35 30 30 00 33 38 30 33 31 2C 32 30 03.1500.38031,20 +00000E10: 30 39 31 32 30 36 00 00 00 00 00 00 00 00 00 00 091206.......... +00000E20: 00 00 00 00 00 00 00 83 FF FF FF FF FF FF FF FF ................ +00000E30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E80: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E90: FF FF FF FF FF FF D0 2E BA 59 B1 FF FF 23 11 87 .........Y...#.. +00000EA0: 04 10 45 84 56 5C 90 68 72 2A 50 00 00 00 FF 04 ..E.V\.hr*P..... +00000EB0: 00 01 02 FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000EC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000ED0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000EE0: FF FF FF FF FF FF FF FF FF FF FF FE FE FF FF FF ................ +00000EF0: 18 13 10 18 14 10 80 00 03 00 00 00 00 01 01 00 ................ +00000F00: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F10: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F80: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F90: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FA0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FB0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FD0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001070: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001100: FF 02 FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001110: 0E 7F CE 80 00 00 E1 18 00 03 11 00 0C 03 00 00 ................ +00001120: A8 00 00 51 A2 A0 00 00 00 20 00 00 CF CE CF 8F ...Q..... ...... +00001130: 00 00 00 00 00 00 00 00 0B 6C 68 35 00 00 E1 18 .........lh5.... +00001140: 00 03 02 00 0C 03 00 00 A8 00 00 00 11 D5 00 00 ................ +00001150: 02 00 00 00 CF CE CF 8F 00 00 00 00 00 00 00 00 ................ +00001160: 0E 7F CE 1A 00 00 E1 18 00 04 09 00 0C 03 00 00 ................ +00001170: A8 00 00 33 C5 A0 00 00 00 20 00 00 CF CF CF CF ...3..... ...... +00001180: 00 00 00 00 00 00 00 00 0E 7F CE 1B 00 00 E1 18 ................ +00001190: 00 04 15 00 0C 03 00 00 A8 00 00 33 C5 A0 00 00 ...........3.... +000011A0: 00 20 00 00 CF CF CF CF 00 00 00 00 00 00 00 00 . .............. +000011B0: 0E 7F CE 1E 00 00 E1 18 00 04 09 00 0C 03 00 00 ................ +000011C0: A8 00 00 33 C5 A0 00 00 00 20 00 00 CF CF CF CF ...3..... ...... +000011D0: 00 00 00 00 00 00 00 00 0E 7F CE 1E 00 00 E1 18 ................ +000011E0: 00 04 15 00 0C 03 00 00 A8 00 00 33 C5 A0 00 00 ...........3.... +000011F0: 00 20 00 00 CF CF CF CF 00 00 00 00 00 00 00 00 . .............. +00001200: 01 FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001210: FF FF FF FE FF FF FF FF 00 00 00 10 00 00 00 00 ................ +00001220: FF FF FF FF 00 FF 00 00 00 00 FF FF FF FF FF FF ................ +00001230: 06 1A 1E 18 1E FF FF FF FF FF FF FF FF FF FF FF ................ +00001240: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001250: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001260: FF FF FF FF FF FF FF FF FF FF 00 BE FF FF FF FF ................ +00001270: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001280: FF FF 0D 02 0A 02 FF FF FF FF FF FF FF FF FF FF ................ +00001290: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE FF ................ +000012D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001300: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001310: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001320: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001330: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001340: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001350: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001360: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001370: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001380: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001390: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ diff --git a/dumps/backup_uv.bin b/dumps/backup_uv.bin new file mode 100644 index 0000000..cf058cf Binary files /dev/null and b/dumps/backup_uv.bin differ diff --git a/dumps/backup_uv.txt b/dumps/backup_uv.txt new file mode 100644 index 0000000..8db2e33 --- /dev/null +++ b/dumps/backup_uv.txt @@ -0,0 +1,320 @@ +00000000: 61 FF FF FF FF FF FF FF FF 51 60 21 FF FF FF FF a........Q`!.... +00000010: 00 4E 00 FF FF 02 03 BC 3C FF FF FF FF FF FF FF .N......<....... +00000020: 00 02 00 00 03 C8 78 FF FF FF FF FF FF FF FF FF ......x......... +00000030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000050: 5B 6F FF FF FF FF FF FF FF FF FF FF FF FF FF FF [o.............. +00000060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000070: FF FF FF FF FF 00 FF FF FF FF FF FF FF FF FF FF ................ +00000080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000000E0: FF FF FF FF FF FF FF FF FF FF FF FF FF 10 FF FF ................ +000000F0: 20 00 80 FF FF FF FF FF FF FF FF FF FF FF FF FF ............... +00000100: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000110: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000120: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000130: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000140: FF FF 5F 17 F9 1F FF FF B7 87 F9 01 FF FF C7 07 .._............. +00000150: F9 01 FF FF CF 8F F8 11 FF FF FF FF FF FF FF FF ................ +00000160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000180: FF FF 04 70 00 81 05 52 FF FF FF FF FF FF FF FF ...p...R........ +00000190: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000001F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000200: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000210: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000220: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000230: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000240: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000250: 33 35 00 00 00 39 36 00 2F 00 3B 37 00 31 00 3E 35...96./.;7.1.> +00000260: 38 00 31 80 40 39 00 33 80 43 3A 00 34 00 45 3B 8.1.@9.3.C:.4.E; +00000270: 00 36 80 48 45 00 37 00 4A 46 00 3D 80 50 49 00 .6.HE.7.JF.=.PI. +00000280: 3E 00 55 4A 00 3E 80 5A 4B 00 3F 00 66 4C 00 3F >.UJ.>.ZK.?.fL.? +00000290: 80 80 4D 00 40 00 B3 4E 00 41 00 FF 55 00 46 00 ..M.@..N.A..U.F. +000002A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000002B0: FF FF FF FF 33 FF 01 00 FF FF FF FF FF FF FF FF ....3........... +000002C0: 33 4E 00 00 00 39 4F 00 42 80 3B 50 00 43 00 3E 3N...9O.B.;P.C.> +000002D0: 51 00 43 80 40 52 00 44 00 43 53 00 44 80 45 54 Q.C.@R.D.CS.D.ET +000002E0: 00 45 00 48 55 00 45 80 4A 56 00 46 00 50 57 00 .E.HU.E.JV.F.PW. +000002F0: 46 80 55 58 00 47 00 5A 59 00 47 80 66 5A 00 48 F.UX.G.ZY.G.fZ.H +00000300: 00 80 5B 00 48 80 B3 5C 00 4A 00 FF 5F 00 52 00 ..[.H..\.J.._.R. +00000310: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000320: FF FF FF FF 33 FF 01 00 FF FF FF FF FF FF FF FF ....3........... +00000330: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000340: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000350: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000360: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000370: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000380: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000390: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000003A0: FF FF 00 00 4D 14 FF FF FF FF FF 84 88 84 88 FF ....M........... +000003B0: 54 00 55 00 02 00 5E 00 5F 00 02 00 FF FF FF FF T.U...^._....... +000003C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000003D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000003E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000003F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000400: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000410: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000420: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000430: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000440: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000450: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000460: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000470: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000480: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000490: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000004F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000500: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000510: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000520: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000530: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000540: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000550: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000560: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000570: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000580: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000590: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000005F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000600: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000610: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000620: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000630: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000640: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000650: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000660: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000670: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000680: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000690: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000006F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000700: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000710: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000720: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000730: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000740: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000750: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000760: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000770: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000780: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000790: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000007F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF 9E D5 ................ +00000800: 0D 64 0C 57 01 4C 48 5E F4 00 00 00 3C EF 00 00 .d.W.LH^....<... +00000810: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000820: 55 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF U............... +00000830: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000840: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000850: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000860: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000870: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000880: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000890: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000008F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000900: 00 12 80 A0 41 FE 49 0B 00 12 80 A0 60 FF 49 0B ....A.I.....`.I. +00000910: 22 20 80 A0 7A 05 4A 0B 22 20 80 A0 A2 05 4A 0B " ..z.J." ....J. +00000920: 22 20 80 A0 9D 8B 4C 0B 22 20 80 A0 B5 8B 4C 0B " ....L." ....L. +00000930: 22 20 80 A0 04 8C 4C 0B 22 20 80 A0 61 8F 4C 0B " ....L." ..a.L. +00000940: 22 20 80 A0 FE CD 4E 0B 22 20 80 A0 0A D1 4E 0B " ....N." ....N. +00000950: 31 21 80 A0 49 43 5C 0B 22 20 80 A0 9D F0 5D 0B 1!..IC\." ....]. +00000960: 22 20 80 A0 22 F1 5D 0B 22 20 80 A0 0D CA F7 0B " ..".]." ...... +00000970: 22 20 80 A0 0F CA F7 0B 22 20 80 A0 9D BC 00 0D " ......" ...... +00000980: 22 20 80 A0 2D BD 00 0D FF FF FF FF FF FF FF FF " ..-........... +00000990: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000009F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A00: FF 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A10: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A60: FF FF FF FF FF FF FF FF FF FF FF FF FF 01 FF FF ................ +00000A70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF 10 00 ................ +00000A80: 08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000A90: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AA0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AB0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AD0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000AF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B00: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B10: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B80: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000B90: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BA0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BB0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BD0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000BF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C00: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C10: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C80: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000C90: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CA0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CB0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CD0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000CF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000D00: FF 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D10: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D20: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D30: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D40: 03 03 03 03 00 12 00 03 03 03 03 03 03 03 03 03 ................ +00000D50: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D60: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D70: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000D80: 03 03 03 00 03 03 00 03 03 03 03 03 00 03 03 00 ................ +00000D90: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 00 ................ +00000DA0: 00 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DB0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DC0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DD0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DE0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................ +00000DF0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 12 ................ +00000E00: 30 33 2E 31 35 30 30 00 33 38 30 33 31 2C 32 30 03.1500.38031,20 +00000E10: 30 39 31 32 30 36 00 00 00 00 00 00 00 00 00 00 091206.......... +00000E20: 00 00 00 00 00 00 00 83 FF FF FF FF FF FF FF FF ................ +00000E30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E80: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000E90: FF FF FF FF FF FF D0 2E BA 59 B1 FF FF 23 11 87 .........Y...#.. +00000EA0: 04 10 45 84 56 5C 90 68 72 2A 50 00 00 00 FF 04 ..E.V\.hr*P..... +00000EB0: 00 01 02 FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000EC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000ED0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000EE0: FF FF FF FF FF FF FF FF FF FF FF FE FE FF FF FF ................ +00000EF0: 18 13 10 18 14 10 80 00 03 00 00 00 00 01 01 00 ................ +00000F00: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F10: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F30: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F40: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F50: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F80: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000F90: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FA0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FB0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FC0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FD0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FE0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00000FF0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001070: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000010F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001100: FF 02 FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001110: 0E 7F CE 80 00 00 E1 18 00 03 11 00 0C 03 00 00 ................ +00001120: A8 00 00 51 A2 A0 00 00 00 20 00 00 CF CE CF 8F ...Q..... ...... +00001130: 00 00 00 00 00 00 00 00 0B 6C 68 35 00 00 E1 18 .........lh5.... +00001140: 00 03 02 00 0C 03 00 00 A8 00 00 00 11 D5 00 00 ................ +00001150: 02 00 00 00 CF CE CF 8F 00 00 00 00 00 00 00 00 ................ +00001160: 0E 7F CE 1A 00 00 E1 18 00 04 09 00 0C 03 00 00 ................ +00001170: A8 00 00 33 C5 A0 00 00 00 20 00 00 CF CF CF CF ...3..... ...... +00001180: 00 00 00 00 00 00 00 00 0E 7F CE 1B 00 00 E1 18 ................ +00001190: 00 04 15 00 0C 03 00 00 A8 00 00 33 C5 A0 00 00 ...........3.... +000011A0: 00 20 00 00 CF CF CF CF 00 00 00 00 00 00 00 00 . .............. +000011B0: 0E 7F CE 1E 00 00 E1 18 00 04 09 00 0C 03 00 00 ................ +000011C0: A8 00 00 33 C5 A0 00 00 00 20 00 00 CF CF CF CF ...3..... ...... +000011D0: 00 00 00 00 00 00 00 00 0E 7F CE 1E 00 00 E1 18 ................ +000011E0: 00 04 15 00 0C 03 00 00 A8 00 00 33 C5 A0 00 00 ...........3.... +000011F0: 00 20 00 00 CF CF CF CF 00 00 00 00 00 00 00 00 . .............. +00001200: 01 FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001210: FF FF FF FE FF FF FF FF 00 00 00 10 00 00 00 00 ................ +00001220: FF FF FF FF 00 FF 00 00 00 00 FF FF FF FF FF FF ................ +00001230: 06 1A 1E 18 1E FF FF FF FF FF FF FF FF FF FF FF ................ +00001240: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001250: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001260: FF FF FF FF FF FF FF FF FF FF 00 BE FF FF FF FF ................ +00001270: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001280: FF FF 0D 02 0A 02 FF FF FF FF FF FF FF FF FF FF ................ +00001290: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE FF ................ +000012D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000012F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001300: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001310: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001320: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001330: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001340: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001350: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001360: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001370: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001380: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +00001390: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ +000013F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ diff --git a/img/20260802_163635.jpg b/img/20260802_163635.jpg new file mode 100644 index 0000000..6ce309e Binary files /dev/null and b/img/20260802_163635.jpg differ diff --git a/ps3_syscon_uart_script.py b/ps3_syscon_uart_script.py new file mode 100644 index 0000000..c754453 --- /dev/null +++ b/ps3_syscon_uart_script.py @@ -0,0 +1,217 @@ +#!/usr/bin/python3 + +from binascii import unhexlify as uhx +from Cryptodome.Cipher import AES # pycryptodomex +import os +import string +import sys +import signal +import argparse +import time + +class PS3UART(object): + try: + # Check if required Python modules are installed + import serial # pyserial + except ImportError: + print('Error: The pyserial and pycryptodome modules are required. You can install it with "pip install pyserial pycryptodomex"') + sys.exit(1) + + ser = serial.Serial() + type = '' + + sc2tb = uhx('71f03f184c01c5ebc3f6a22a42ba9525') # Syscon to TestBench Key (0x130 xor 0x4578) + tb2sc = uhx('907e730f4d4e0a0b7b75f030eb1d9d36') # TestBench to Syscon Key (0x130 xor 0x4588) + value = uhx('3350BD7820345C29056A223BA220B323') # 0x45B8 + zero = uhx('00000000000000000000000000000000') + + auth1r_header = uhx('10100000FFFFFFFF0000000000000000') + auth2_header = uhx('10010000000000000000000000000000') + + def aes_decrypt_cbc(self, key, iv, in_data): + return AES.new(key, AES.MODE_CBC, iv).decrypt(in_data) + + def aes_encrypt_cbc(self, key, iv, in_data): + return AES.new(key, AES.MODE_CBC, iv).encrypt(in_data) + + def __init__(self, port, type): + self.ser.port = port + if(type == 'CXR' or type == 'SW'): + self.ser.baudrate = 57600 + elif(type == 'CXRF'): + self.ser.baudrate = 115200 + else: + assert(False) + self.type = type + self.ser.timeout = 0.1 + self.ser.open() + assert(self.ser.isOpen()) + self.ser.flush() + + def __del__(self): + self.ser.close() + + def send(self, data): + self.ser.write(data.encode('ascii')) + + def receive(self): + return self.ser.read(self.ser.inWaiting()) + + def command(self, com, wait = 1, verbose = False): + if(verbose): + print('Command: ' + com) + + if(self.type == 'CXR'): + length = len(com) + checksum = sum(bytearray(com, 'ascii')) % 0x100 + if(length <= 10): + self.send('C:{:02X}:{}\r\n'.format(checksum, com)) + else: + j = 10 + self.send('C:{:02X}:{}'.format(checksum, com[0:j])) + for i in range(length - j, 15, -15): + self.send(com[j:j+15]) + j += 15 + self.send(com[j:] + '\r\n') + elif(self.type == 'SW'): + length = len(com) + if(length >= 0x40): + if(self.command('SETCMDLONG FF FF')[0] != 0): + return (0xFFFFFFFF, ['Setcmdlong']) + checksum = sum(bytearray(com, 'ascii')) % 0x100 + self.send('{}:{:02X}\r\n'.format(com, checksum)) + else: + self.send(com + '\r\n') + + time.sleep(wait) + answer = self.receive().decode('ascii', 'ignore').strip() + if(verbose): + print('Answer: ' + answer) + + if(self.type == 'CXR'): + answer = answer.split(':') + if(len(answer) != 3): + return (0xFFFFFFFF, ['Answer length']) + checksum = sum(bytearray(answer[2], 'ascii')) % 0x100 + if(answer[0] != 'R' and answer[0] != 'E'): + return (0xFFFFFFFF, ['Magic']) + if(answer[1] != '{:02X}'.format(checksum)): + return (0xFFFFFFFF, ['Checksum']) + data = answer[2].split(' ') + if(answer[0] == 'R' and len(data) < 2 or answer[0] == 'E' and len(data) != 2): + return (0xFFFFFFFF, ['Data length']) + if(data[0] != 'OK' or len(data) < 2): + return (int(data[1], 16), []) + else: + return (int(data[1], 16), data[2:]) + elif(self.type == 'SW'): + answer = answer.split('\n') + for i in range(0, len(answer)): + answer[i] = answer[i].replace('\n', '').rsplit(':', 1) + if(len(answer[i]) != 2): + return (0xFFFFFFFF, ['Answer length']) + checksum = sum(bytearray(answer[i][0], 'ascii')) % 0x100 + if(answer[i][1] != '{:02X}'.format(checksum)): + return (0xFFFFFFFF, ['Checksum']) + answer[i][0] += '\n' + ret = answer[-1][0].replace('\n', '').split(' ') + if(len(ret) < 2 or len(ret[1]) != 8 and not all(c in string.hexdigits for c in ret[1])): + return (0, [x[0] for x in answer]) + elif(len(answer) == 1): + return (int(ret[1], 16), ret[2:]) + else: + return (int(ret[1], 16), [x[0] for x in answer[:-1]]) + else: + return (0, [answer]) + + def auth(self): + if(self.type == 'CXR' or self.type == 'SW'): + auth1r = self.command('AUTH1 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000') + if(auth1r[0] == 0 and auth1r[1] != []): + auth1r = uhx(auth1r[1][0]) + if(auth1r[0:0x10] == self.auth1r_header): + data = self.aes_decrypt_cbc(self.sc2tb, self.zero, auth1r[0x10:0x40]) + if(data[0x8:0x10] == self.zero[0x0:0x8] and data[0x10:0x20] == self.value and data[0x20:0x30] == self.zero): + new_data = data[0x8:0x10] + data[0x0:0x8] + self.zero + self.zero + auth2_body = self.aes_encrypt_cbc(self.tb2sc, self.zero, new_data) + auth2r = self.command('AUTH2 ' + ''.join('{:02X}'.format(c) for c in bytearray(self.auth2_header + auth2_body))) + if(auth2r[0] == 0): + return 'Auth successful' + else: + return 'Auth failed' + else: + return 'Auth1 response body invalid' + else: + return 'Auth1 response header invalid' + else: + return 'Auth1 response invalid' + else: + scopen = self.command('scopen') + if('SC_READY' in scopen[1][0]): + auth1r = self.command('10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000') + auth1r = auth1r[1][0].split('\r')[1][1:] + if(len(auth1r) == 128): + auth1r = uhx(auth1r) + if(auth1r[0:0x10] == self.auth1r_header): + data = self.aes_decrypt_cbc(self.sc2tb, self.zero, auth1r[0x10:0x40]) + if(data[0x8:0x10] == self.zero[0x0:0x8] and data[0x10:0x20] == self.value and data[0x20:0x30] == self.zero): + new_data = data[0x8:0x10] + data[0x0:0x8] + self.zero + self.zero + auth2_body = self.aes_encrypt_cbc(self.tb2sc, self.zero, new_data) + auth2r = self.command(''.join('{:02X}'.format(c) for c in bytearray(self.auth2_header + auth2_body))) + if('SC_SUCCESS' in auth2r[1][0]): + return 'Auth successful' + else: + return 'Auth failed' + else: + return 'Auth1 response body invalid' + else: + return 'Auth1 response header invalid' + else: + return 'Auth1 response invalid' + else: + return 'scopen response invalid' + + +def main(argc, argv): + if(argc < 3): + print(os.path.basename(__file__) + ' ') + sys.exit(1) + ps3 = PS3UART(argv[1], argv[2]) + raw_input_c = vars(__builtins__).get('raw_input', input) + + # Optional log file + if '-l' in argv: + log_file = open(argv[argv.index('-l') + 1], 'a') + print('Logging enabled. Writing to ' + argv[argv.index('-l') + 1]) + else: + log_file = None + + while True: + print('Press Ctrl+C to exit') + try: + in_data = raw_input_c('>$ ') + if(in_data.lower() == 'auth'): + print(ps3.auth()) + continue + ret = ps3.command(in_data) + if(argv[2] == 'CXR'): + output = '{:08X}'.format(ret[0]) + ' ' + ' '.join(ret[1]) + elif(argv[2] == 'SW'): + if(len(ret[1]) > 0 and '\n' not in ret[1][0]): + output = '{:08X}'.format(ret[0]) + ' ' + ' '.join(ret[1]) + else: + output = '{:08X}'.format(ret[0]) + '\n' + ''.join(ret[1]) + else: + output = ret[1][0] + print(output) + if log_file: + log_file.write(output + '\n') + except KeyboardInterrupt: + print('\nExiting...') + if log_file: + log_file.close() + break + +# Call main function with parsed arguments +if __name__ == '__main__': + main(len(sys.argv), sys.argv) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..44721e7 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +pyserial +pycryptodomex diff --git a/syscon_dump.py b/syscon_dump.py new file mode 100644 index 0000000..875f1b7 --- /dev/null +++ b/syscon_dump.py @@ -0,0 +1,123 @@ +#!/usr/bin/python3 +""" +SYSCON EEPROM dumper for Sherwood/SW-type consoles. + +Reuses PS3UART from ps3_syscon_uart_script.py (must be in the same +directory, or edit the import path below). + +Reads in 0x40-byte chunks (the max chunk size this SC firmware accepts, +confirmed by "r 0 41" -> Invalid arg vs "r 0 40" -> OK) starting at +--start and continuing until --end is reached OR the console reports +an error/invalid address, whichever comes first. Saves progress +incrementally so a Ctrl+C or a mid-dump failure doesn't lose what's +already been read. + +Usage: + python3 syscon_dump.py /dev/ttyUSB0 SW --start 0 --end 8000 -o backup + +Output: + backup.bin - raw binary, FF-padded for any addresses never reached + backup.txt - human-readable hex dump (address + 16 bytes + ascii) +""" + +import argparse +import re +import sys +import time + +from ps3_syscon_uart_script import PS3UART + +CHUNK = 0x40 +HEXROW_RE = re.compile(r'^[0-9A-Fa-f]{2}$') + + +def parse_chunk(lines): + """Pull the actual data bytes out of the '# xx xx xx ...' rows, + skipping the '+0 +1 ...' header and '----' separator lines.""" + out = [] + for line in lines: + line = line.strip() + if line.startswith('#'): + line = line[1:].strip() + tokens = line.split() + if tokens and all(HEXROW_RE.match(t) for t in tokens): + out.extend(int(t, 16) for t in tokens) + return out + + +def dump(port, sctype, start, end, out_prefix, wait): + ps3 = PS3UART(port, sctype) + + print(ps3.auth()) + + data = bytearray() + addr = start + last_good = start - 1 + + try: + while addr < end: + ret, lines = ps3.command('r {:x} {:x}'.format(addr, CHUNK), wait=wait) + + if ret != 0: + print('\nStopped at 0x{:04X}: ret=0x{:08X} ({})'.format( + addr, ret, ' '.join(lines) if lines else 'no message')) + break + + chunk_bytes = parse_chunk(lines) + if not chunk_bytes: + print('\nStopped at 0x{:04X}: no parseable data in response'.format(addr)) + break + + # pad/truncate defensively so addressing stays aligned even + # if a row comes back short + chunk_bytes = (chunk_bytes + [0xFF] * CHUNK)[:CHUNK] + data.extend(chunk_bytes) + last_good = addr + CHUNK - 1 + + print('\r0x{:04X} / 0x{:04X}'.format(addr, end), end='', flush=True) + addr += CHUNK + + except KeyboardInterrupt: + print('\nInterrupted by user, saving what we have so far...') + + print() + if not data: + print('Nothing read, nothing saved.') + return + + bin_path = out_prefix + '.bin' + txt_path = out_prefix + '.txt' + + with open(bin_path, 'wb') as f: + f.write(bytes(data)) + + with open(txt_path, 'w') as f: + for i in range(0, len(data), 16): + row = data[i:i + 16] + hex_part = ' '.join('{:02X}'.format(b) for b in row) + ascii_part = ''.join(chr(b) if 32 <= b < 127 else '.' for b in row) + f.write('{:08X}: {:<47} {}\n'.format(start + i, hex_part, ascii_part)) + + print('Saved {} bytes (0x{:04X}-0x{:04X})'.format(len(data), start, last_good)) + print(' raw: {}'.format(bin_path)) + print(' text: {}'.format(txt_path)) + + +def main(): + p = argparse.ArgumentParser() + p.add_argument('port', help='serial port, e.g. /dev/ttyUSB0 or COM3') + p.add_argument('sctype', choices=['CXR', 'CXRF', 'SW'], help='use SW for Sherwood') + p.add_argument('--start', default='0', help='start address in hex, default 0') + p.add_argument('--end', default='8000', help='end address (exclusive) in hex, default 8000') + p.add_argument('-o', '--out', default='syscon_backup', help='output filename prefix') + p.add_argument('--wait', type=float, default=0.3, help='seconds to wait per read, default 0.3') + args = p.parse_args() + + start = int(args.start, 16) + end = int(args.end, 16) + + dump(args.port, args.sctype, start, end, args.out, args.wait) + + +if __name__ == '__main__': + main()