To quote, roughly translated: Today I'll write a tutorial to "fast-swap" between CFW 3.55 and OFW 3.70, using 2 HDDs... at the end of the tutorial, you'll be able to swap between the firmware just flashing a dump on your PS3 using Progskeet. (instead of downgrading and losing all data).
The first steps are not so easy, so take your time and go on, by the way, you must have some skill with Progskeet, and it must be 100% working on your console.
We need 2 HDD because the NOR flashes stores some parts of the current FW on the HDD so we will need 2 HDDs, one is for 3.55, and one is for 3.70.. We will call those HDD "A" (for 3.70) and "B" (for 3.55) don't mix them up!
Starting with a PS3 Slim with OFW 3.70.
1. Plug in HDD "B", format and prepare it if it's required by the PS3 and you should have your 3.70 up and running. 2. DUMP your actual NOR and call it "original dump 3.70.bin" 3. Now flash your "downgrade.bin" (edited with the personal data found in "original dump 3.70.bin") 4. Turn on your PS3 and be sure that the PS3 is asking you to press the PS button (downgrade.bin flashed correctly ) 5. Insert a 3.55 Downgrade dongle and enter factory/service mode. 6. Copy Lv2Diag.self by Jaicrab and the 3.55 NO CHECK UPDATE renamed as "PS3UPDAT.PUP" in the root of your USB Stick. 7. Plug in the USB Stick in the most-right USB port of your PS3 and wait for it to turn OFF. 8. Leave the factory mode using the other Lv2Diag.self 9. After the reboot, you need to configure and set up your system... now you have a fully working 3.55 CFW based on KMEAW "NO CHECK". 10. DUMP your actual NOR and call it "swap dump 3.55.bin" 11. Unplug HDD B and Plug in HDD A. 12. Turn on your PS3, plug in your USB Stick containing official 3.70 update and press start+select when asked. 13. When the PS3 reboots, check that the system is fully working and DUMP your actual NOR and call it "swap dump 3.70.bin".
NOW IT'S OVER! You should have "swap dump 3.55.bin" and "swap dump 3.70.bin" ... Now you just have to swap HDD and flash the corresponding dump:
HDD A = swap dump 3.70.bin
HDD B = swap dump 3.55.bin
WARNING: Do not install other CFW than the "NO CHECK" one... because it's used to make the "fast-swap" working... if you flash something different you will not be able to go between the 2 FWs. This CFW disable the Syscon checking at the startup... so it will not freeze or complain when the syscon says "3.70″ and your FW is 3.55
In case you wanna update your console with a future "3.80″ or-so firmware. Do not update your console when you are running 3.55 firmware! You have to go to "swap dump 3.70.bin" and then update as usual (XMB or recovery)... By the way, the downgrade is confirmed working only on 3.70... we haven't tested it on other FWs, you could lose the possibility to go back to 3.55!
Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!
Can someone give an example of .txt that will patch a NOR dump, lets say the downgrade v2, so the txt that will include all the information about those 6 patches that needs to be implemented into the NOR dump...
To quote: Hi Guys! Today I would like to introduce you the new step in the Progskeet evolution: the “QT” Flasher... The actual public version is a bit “buggy” and difficult to use, and it works well only on Windows XP, as Windows 7 and other OS have compatibility problems with it (some are just crappy things that you can fix with some tricks, while other makes the Flasher crash).
During the last times, the Flasher developer which constantly works on it to improve the stability and the features, has gave a big push to the Flasher, making the choice of using a powerful and multi-platform framework such as QT!
QT is a framework which can allow the developer to write a program and make it work the same way on the 3 main platforms : Windows, Linux and Mac OS X without worrying about write tons of lines to make it work on the currently running platform: QT will do the dirty work for you.
Because of this, @uf6667, helped by two other good coders named Ago and bmx, started to port the original Flasher to QT... and as always we (DiGiTaLAnGeL) and some others have the privilege to beta-test this new and awesome version of the Flasher.
Let’s start with some hightlights: at the moment, the version we have is the Windows one, which then will be called WinSkeet40000, followed by Linuxkeet (Linux) and iSkeet(MAC OS X). This is the GUI of the QT Flasher:
The interface is full of new things... and for now we can use these features:
The “evil” progskeet.log is gone, and the event log is now embedded in the flasher itself, in realtime!
You can manually read,write and now erase too.
You can use presets and create new ones, matching your NOR/NAND flash -now there are some presets for the PS3 flashes and XBOX360 NAND-.
You can change the write method, between buffered write (the default one) or use the “single word” or “double word” mode (you can use it when something goes wrong or your tasks fails).
Now the flasher is splitted in tabs: “Common”, “NOR”, “NAND” and “Patcher” making it more easier and faster to use.
The byteswap function is still here, working flawlessly on both writing and reading.
You can use the “patcher” tab:useful to apply patch to your dump on the fly.
There is an option to change to refresh-cycle of the flash (for slower/faster flashes).
Progskeet Flasher is being translated! For now there are english,french and german languages -italian and all the others are coming-
The “verify” task is now done at the end of the read->erase->write process.
The patcher is the very sexy thing of the QT version, apart from the rocksolid framework: It works selecting the .bin to patch and with a textfile, containing a syntax like this:
Filename is relative to the patch.txt file, and the offset and length parameters are written in HEX format (without the leading “0x” ).
Finally, from IRC:
[Ago] everyone who wants to translate can download that file and edit
[Ago] just change language="it_IT" to whatever you need
[Ago] and remove the type="unfinished"
[Ago] or use the linguist
[eussNL] Done : Dutch translation - ProgSkeet_nl_NL.ts
[DiGiAnGeL] Done : Italian translation - ProgSkeet_it_IT.ts