No edit summary |
mNo edit summary |
||
Line 62: | Line 62: | ||
# Build the new firmware |
# Build the new firmware |
||
# If your camera is one without the "Firm Update" menu rename "main" to diskboot.bin |
# If your camera is one without the "Firm Update" menu rename "main" to diskboot.bin |
||
− | # Copy |
+ | # Copy PS.FIR and/or diskboot.bin to the root of the SD Card |
'''Dumping the firmware (soundcard method)''' |
'''Dumping the firmware (soundcard method)''' |
Revision as of 04:29, 9 January 2008
Please note this page is a work in progress, it is based primarily around my experience dumping the firmware for the S5IS and as a result is primarily geared towards DryOS.
Blinking/Hardware Method
- Firmwares dumped using this method
- A610, A700, A540, G7, SD630, A570IS, SD300, SD500, A560, SD1000, S5IS, A720
Requirements
You will need the following;
If your camera lacks the "Firm Update" menu you will also need;
Determine a Bootable filename
- NOTE: This is only required for cameras without the "Firm Update" menu option.
- Make your SD card bootable as detailed in Bootable SD card
- Extract the files from pre_blinker.rar.
- Copy one of the *.bin files from pre_blinker.rar to your SD card (diskboot.bin is probably best to start).
- Write lock the SD card.
- Power the camera up with the card in.
- The camera should hang, if not go back to 3 and try the next file, if none of the 3 work you may be out of luck.
Note that in later sections you should substitute "diskboot.bin" with the filename determined here.
Find LED Addresses
- NOTE: This is only required when adding a new camera to CHDK, the addresses for cameras already in CHDK are documented.
- Duplicate the blinker/fw directory from the blinker sources.
- Replace the contents of main.c with the LED Cycling Code.
- Build LED Cycling Code.
- Time how long it takes for the LED's to start lighting.
- Estimate a new interval based on how long it took for all the LED's to light.
- Modify the range in the Cycling code.
- Go back to 3 and repeat until you have an address for each LED.
Receiver Hardware (soundcard method)
Receiver Hardware (serial port method)
Blinker Firmware
- Modify the following lines in main.c from the generic blinker firmware;
- #define LED_AF 0x... <set to the address of the LED you want to use for blinking the firmware (AF is generally best)>
- #define LED_PR 0x... <set to the address of the LED you want to use for indication that the camera is not hung>
- p=(void*)0x... <set to the firmware start address for your camera, most likely 0xffc00000 or 0xff800000)
- Build the new firmware
- If your camera is one without the "Firm Update" menu rename "main" to diskboot.bin
- Copy PS.FIR and/or diskboot.bin to the root of the SD Card
Dumping the firmware (soundcard method)
- Attach your receiver to the camera exposing it to the appropriate LED
- Set your recording application up appropriately (using the generic sources 96kHz 8-bit mono)
- Start recording
- Power on the camera (go to the "Firm Update" menu if necessary to initiate the code)
- Wait until the blinker LED stops
Software method
- Firmwares dumped using this method
- A620, A630, A640, A710, S2IS, S3IS
The method is to make/adapt the WIF loader from original firmware update to similar camera models. As this loader has the functions to work with files, this way allow to just save a dump of original firmware to SD-card. The main problem of using this method is that you have to pass all initialization stages of original firmware in order to be able to write to flash card.
- Binary for A610e - NO LONGER AVAILABLE, if somebody has a copy please PM me (intrinsic) on the forum or post it and link it here.
- Sources for the S2/S3 dumper - http://grandag.nm.ru/hdk/dumper/
TODO: Repackage all necessary sources, etc and make them available in one place, or better yet get them into subversion.
- ↑ http://forums.dpreview.com/forums/read.asp?forum=1010&message=24988142
- ↑ http://grandag.nm.ru/hdk/blinker/
- ↑ http://www.freedownloadscenter.com/Utilities/Disk_Maintenance_and_Repair_Utilities/HDHacker.html
- ↑ http://en.wikipedia.org/wiki/Comparison_of_hex_editors
- ↑ http://mx3.ip-com.com.ua/chdk_exp/pre_blinker.rar