The Wayback Machine - https://web.archive.org/web/20100725154534/http://wiki.berndlux.de:80/doku.php/elektr:nikond70s_hack
 

Nikon D70s Firmware Hack

Deep inside Information about the Nikon D70 D70s perhaps D80 series to do an Firmware Hack to it. I’ll collect as muche information as possible to go forward with an Nikon Firmware Hack.

Help is needet.

See also hardware_der_nikon_d70s

Update

  • “Bist du nach wie vor aktiv an der D70(s) Sache dran?”

Jein. Klar bin ich weiterhin daran interessiert, liegt aber leider zur Zeit auf Eis, das es gewisse Schwierigkeiten gibt.

  1. Ich habe keine Orginal Firmware, müsste diese also aus der Kamera irgendwie herraus bekommen.
  2. Ich habe keinen Dissassembler. Ich habe zwar einen, aber der ist nicht exakt für den Chip in der Nikon, kann daher einige befehle nicht und mach nur Mist.
  3. Ist das Risiko für meine Nikon recht hoch, dass ich beim rumbasteln was kaputt mache.

Aber ansonsten währen alle Infos zusammen um so einen Hack zu probieren. (nur habe ich leider nicht alle auf der Seite stehen)

Bernd 2007/03/14 20:05

Get (older,other) Nikon Firmware

Fimware A

Firmware A is exactly 256kBytes and goes to an 64F2633TE28V from renesas

gallery.berndlux.de_d_2571-3_dsc_9357.jpg * http://gallery.berndlux.de/v/Elektronik/Nikon/Nikon-inside/

Der H8S steuert Shutter, Spiegel, Linse, Auslösen, Einstellräder, LCD Display, usw. und seine Firmware ist zu Hacken. Auchsserdem weiss ich das er noch eine eigene ungenutzte Steckverbindung besitzt (JTAG oder Serial).

Bernd 2006/11/06 22:31

Dadurch dass bei meiner Nikon D70s Auslösen, messen und Schafstellen noch Funktioniert, wenn man die untere PCB komplet ohne Strom hat (Display geht nicht, CF Karte geht nicht, Stecker zwischen den beiden PCB’s getrennt), lässt sich gut Folgern das die gesamte Auslöste Steuerung und all dies im H8S chip stattfindent, den ich durch die defekte Kamera sehr genau zuordnen konnte. es ist ein 64F2633TE28V von renesas

Datenblatt:

In ihreren Datenblättern wird er als 64F2633RTE28V geführt Also sollte sich der Hack hauptsächlich auf diesen sehr gut Dokumentierten Chip konzentrieren. Ich werde versuchen über über die Defekte D70 noch die genaue Pinbelegung den einzelnen Funktionen und Schaltern zuzuordnen.

Bernd 2006/11/21 12:26

entry points adresses

In the Datasheet of the renesas chip I found the real:

“power on reset exeption vector” in “exeption vector table”
#00000002 Is the Address

in the first block from #00000000 to #0000003 constists of
8 bit reseved an the then an pointer (24bit) to another code secment (jump address, First “booting Instructions”).

Bernd 2006/12/15 09:44

  000002: mov.b @0FFFFCE:8,r7h
  000004: nop
  000006: mov.b @0FFFFCE:8,r7h

Bernd 2006/12/15 15:14

Flashing an H8s chip

in refer to Flash Developement toolkit:Hardware Interface Options an H8S get’s Flashed via Serial (RS-232C).

Diff between Firmware D200 A and D70

  • where D70 has 00 (nothing) D200 FW has code → more functionality
  • a few parts are the same in Both.
  • first block differs (eg. another boot loader)

Bernd 2006/12/08 19:10

Firmware B

On the Main PCB near CF-Slot

Main Chip of an D70s is Marked with: gallery.berndlux.de_d_2363-2_dsc_2490gut-verbessert-auschn.jpg gallery.berndlux.de_d_2351-2_img_9468.jpg

              Nikon
              Japan
              EI-118
              0610  Z87

And the (AL016D90BFI10) Flash Chip next to the Main chip.

Marking on the Chip in an D70

             Nikon
             Japan
             EI-118
             D415 /57

An LVC244A Octal (8 fach) Buffer/driver with 3-State Outputs is nearby

          6B1Y oder 6BIY
          LVC
          244A

It points to either an JTAG connection ore an Serial Port for Programming. The wires go to one of the Ribbon-cable-connectors of which the ribbon-cable goes to the other PCB with the H8S MPU. It is for internal communicatuion.

H8S talks to EI-118 “get ready, We’ll take an picture” H8S to EI-118 “Picture taken, save it” EI-118 to H8S “CF can save 246 images” H8S to EI-118 “show Lens error” H8S to EI-118 “Format the CF card” EI-118 to H8S “I got to USB mode show it on Display an lock Funktions”

and so on, Protocol is could be dicovered at the LVC244A

knowlgede about the chip

The main Chip is an Fujisu FR450 or FR400 Core

It runs Softune REALOS differnt hints point out that an ITRON Realtime OS is running on the Nikon

Also some hints to an Fujisu MPU can be found wihle looking after REALOS/FR on Fujisu page

There are two Chips, one with 400Mhz and one with 360Mhz the other chips don’t have an USB IF. But they have to muche Pins (400 instead of 377)

Now I will compare the Pin assignment. Perhaps it is an fujisu chip, labelt by Nikon.

But I ges when USB IF and the Clock and SDRAM connetions , ar at the same Pins in Datasheet and on the PCB I can be shure this it the Chip.

But an Important fact is, that the Chip on the Nikon PCB has 288 Pins, without the Pad in the middle of the MPU for thermal connection, if it has one (I coverd it with Pb plate while taking X-Ray Photos)

CCD-Board

Markings on chip under the silver tape (CCD PCB) in Nikon D70:

Nikon Japan
EI-119-
0408 Z80
E1

structure of Flash images

Disecting D70 Fimware

6Softune REALOS/FR is Realtime OS for FR Family based on micro-ITRON COPYRIGHT(C) BY FUJISU LIMITED 1994-1999
DCIM
AUTPRINT.MRK
MISC
A:\MISC
A:\MISC\AUTPRINT.MRK
A:\MISC\AUTPRINT.MRK
DSC_0001.
DSC_0002.
A:\MISC\AUTPRINT.MRK
A:\MISC
A:\DCIM
A:\MISC\AUTPRINT.MRK
A:\MISC
A:\DCIM
Nikon Corporation
Nikon PTP Extensions
HRSPONSE.DPS
HREQUEST.DPS
DRSPONSE.DPS
DREQUEST.DPS
HDISCVRY.DPS
DDISCVRY.DPS
RFIRM UP DISABLE
FIRM UP DISABLE
NCD70
NCD70
NCD70
FIRM UP DISABLE
FIRM UP DISABLE
NCD70
NCD70
NCD70
AD70????.BIN
BD70????.BIN
D1.0
Nikon Corporation

....

Exif
DCIM
AUTPRINT.MRK
MISC
A:\MISC
A:\MISC\AUTPRINT.MRK
A:\MISC\AUTPRINT.MRK
DSC_0001.
DSC_0002.
A:\MISC\AUTPRINT.MRK
A:\MISC
A:\DCIM
A:\MISC\AUTPRINT.MRK
A:\MISC
A:\DCIM
Nikon Corporation
Nikon PTP Extensions
HRSPONSE.DPS
HREQUEST.DPS
DRSPONSE.DPS
DREQUEST.DPS
HDISCVRY.DPS
DDISCVRY.DPS
RFIRM UP DISABLE
FIRM UP DISABLE
NCD70
NCD70
NCD70
FIRM UP DISABLE
FIRM UP DISABLE
NCD70
NCD70
NCD70

....

$MANUAL
APERTURE
SHUTTER
PROGRAM
16000
16000
13000
12000
10000
10000
8000
8000
6400
6000
5000
5000
4000
4000
3200
3000
2500
2500
2000
2000
1600
1500
1250
1250
1000
1000
SPOT
CENTER
MATRIX
LDDDD
RAUTO
HI-1
HI-2
HI-1
HI-2
ASCII
0200
Nikon
0200
Nikon
NIKON
0200
Nikon
Nikon
NIKON
Nikon
NIKON
Nikon
Nikon
Nikon
Nikon
Nikon
Nikon
MATRIX
SPOT
CENTER
8SHUTTER
APERTURE
PROGRAM
MANUAL


.....


curv
XYZ 
text
Nikon Inc. & Nikon Corporation 2002
ATAM
LEXAR ATA FLASH
R--mm
NORMAL
AUTO
AUTO
AUTO
BASIC
NORMAL
FINE
BASIC
HI-1
HI-2
HI-1
HI-2
AUTO
NIKON D70
NIKON
_DSC
tENHANCED
MODERATE
NORMAL
MODE3a
MODE2
MODE1a
HIGH
MED.H
MED.L
NORMAL
AUTO
PRESET
SHADE
CLOUDY
FLASH
SUNNY
FLUORESCENT
INCANDESCENT
AUTO
NONE
HIGH
MED.H
MED.L
NORMAL
AUTO
XCUSTOM
LAND SCAPE
PORTRAIT
DIRECT PRINT
SOFT
SHARP
VIVID
NORMAL
AUTO
PORTRAIT
LAND SCAPE
CLOSE UP
SPORT
NIGHT PORTRAIT
NIGHT SCENE


.....


NORMAL
AUTO  
REAR SLOW
RED-EYE SLOW
RED-EYE
REAR
SLOW
NORMAL
AF-C
AF-S
MANUAL
NONE
MED.H
HIGH
MED.L
NORMAL
AUTO
PRESET
SHADE
CLOUDY
FLASH
SUNNY
FLUORESCENT
INCANDESCENT
AUTO
BASIC
NORMAL
FINE
YCBCR
NIKON D70
NIKON CORPORATION
Nikon
ASCII
0100010101030103
0210
0200
0100
0221
0100
NKON
mntrRGB XYZ 
acspAPPL
none
        desc
MrXYZ
gXYZ
bXYZ
rTRC
gTRC
bTRC
wtpt
cprt
,desc
Nikon Adobe RGB 4.0.0.3000
Nikon Adobe RGB 4.0.0.3000
XYZ 
XYZ 
XYZ 
curv
curv

....


/DCIM/
(PRT QTY=001
<1999:08:18:11:15:30
X" -ATR CMT
l"  1999.08.17" -ATR DTM
A:\MISC\AUTPRINT.MRK
A:\MISC
[JOB]
[HDR]
VUQ VNM=
VUQ RGN=
CFG ROT=
CFG TRM=
CFG DSC=
<IMG SRC="..
IMG FMT=EXIF2 -
PRT PSL=
PRT QTY=
PRT TYP=STD
PRT PID=
USR TEL=
USR ADR=
USR NAM=
GEN DTM=
GEN CRT="NIKON D70"
GEN REV=01.10
RExif
               
AUTO           
PORTRAIT       
LAND SCAPE     
CLOSE UP       
SPORT          
NIGHT PORTRAIT 
NIGHT SCENE    
               
ENHANCED       
MODERATE       
NORMAL         
NORMAL         
CUSTOM         
LAND SCAPE     
PORTRAIT       
DIRECT PRINT   
SOFT           
SHARP          
VIVID          
NORMAL         
               
OFF 
FPNR
NORMAL  


........


_DSC
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
FAT16   
FAT12   
NIKON5.0
           FAT16   
8f$|
rG8-t
^tJNt
?MZu
YZXr    @u
Invalid system
Invalid system disk
Disk I/O error
Press any key
NCD70
NCD70
NCD70
A:\DCIM
A:\DCIM\
A:\DCIM\
A:\DCIM\
A:\DCIM\
NCD70
NCD70
NCD70
A:\DCIM
A:\DCIM
A:\DCIM.
A:\DCIM\
A:\DCIM\
A:\DCIM\
A:\DCIM
A:\DCIM
A:\DCIM
A:\DCIM
A:\NIKON001.DSC
DC0_1234
_DSC1234
DSC_1234
A:\DCIM\100NCD70\
A:\DCIM
4NDF
.tmp
.JPG
.NEF
.JPG
.TIF
.JPG
.NEF
.JPG
.NDF
IMG SRC
-ATR CMT
-ATR DTM

....


RHLPTX\`dhlx
RAW+BASIC
YCbCr
V S,
VtSATURATION    :
COLOR,HUE     :
TONE          :
SHARPNESS     :
SIZE,QUALITY  :
WHITE BAL.,+/-:
ISO           :
DEVELOPMENT   :
FLASH MODE    :
FOCAL LENGTH  :
MODE,EXP.+/-  :
APERTURE      :
SHUTTER       :
METERING      :
TIME          :
DATE          :
CAMERA        :
AUTO
NDF0
RNIKON D70
NIKON CORPORATION
RQ70FirmwareSignature
Ver.2.00E D70 2005/04/18
(9E8
3WP>
%8DmgM
#7@Qhq\1@NWgyxeH\_bpdgc
/cccc
Bcccc
8ccccc/Bcccccccccccccccccccccccccccccccccccccc
END OF SYS CONFIG
        $       /       ;       F       Q       ]       h       t
NIKON   D70             1.00
R       /        ALL
]SF2
@07aY
DSC_
_DSC
DSC_
_DSC
DSC_
_DSC
DSC_
_DSC
DSC_
_DSC
DSC_
_DSC
DSC_
_DSC
DSC_
_DSC
DSC_


......



ATAM
ATAM
ATAM
ATAM
ATAM
ATAM
ATAM
NIKON D70
NIKON D70
ATAM
ATAM
NIKON D70
NIKON D70
ATAM
ATAM
ATAM
NIKON D70
ATAM
ATAM
R0     0
RNCD70
NCD70
NCD70
NCD70
NCD70
NCD70
NCD70
NCD70
R  ! " # $ % & ' ( )
* + , - . / 0 1 2 3
4 5 6 7 8 9 : ; < =
> ? @ A B C D E F G
H I J K L M N O P Q
R S T U V W X Y Z [
] _ a b c d e f g h
i j k l m n o p q r
s t u v w x y z { }
0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J
K L M N O P Q R S T
U V W X Y Z _    


 A 0?
 E 4/
 E 4
 U D/
 U D/
 U D/
 U D/
0P U P
?d/`
/q/`
! B0c@
2s"RR
$b4C
6S&r
P:3*
@%pF`g
bwrV
tfdGT$D
fWvvF
XDHex
JuZTj7z
\dLE<
~6NU^t.
ROptional
Optional,M
Optional,A
Optional,AA
Optional,TTL
Comdr.,M
Comdr.,AA
Comdr.,TTL
Built-in,M
Built-in,TTL


Zusammenwirken der Firmware (bzw. der Hardware)

Während den Arbeiten am IR-mod meine Nikon D70s fand ich einiges überaschendes heraus.

Entfernt man das Flachbandkabel, nicht aber das Weisse Kabelbündel zwischen unterer PCB und CCD PCB, stellt die Nikon scharf, erechnet belichtung und löst aus, und Zeigt aber entweder “Speicherkarten fehler” oder “ungültiges Speicherkarten Format” * Scheinbar ist das der Datenbus zum CCD (Stromversorgung über Weisses Adernbündel ??)

Unterbricht man die beiden unteren PCB’s verbindenen, aufgelöteten Stecker stellt die Nikon auch scharf und löst aus, Zeigt aber kein Bild und Speichert nicht. * Stecker auch Stromversorgung der Bildverarbeitenden PCB??

Entfernt man die untere PCB ganz, stellt die Nikon weiterhin scharf und lösst aus, speichert aber auch nicht (wie auch, CF ist ja nicht angeschlossen)

Entfernt man nur den Stecker zur CF karte, so meldet die Nikon nach auslösen “Speicherkarten fehler” * Es gibt noch irgendwelche anderen Verbindugen oder Diagnose-Litungen zum CF-port, da sonst “keien CF karte vorhanden” erscheinen müsste

Daraus lässt sich folgern, das der mit “NIKON” bezeichnete Chip nur für die Bildverarbeitung und die Display Steuerung zuständig ist.

Der H8S hingegen steuert Shutter, Spiegel, Linse, Auslösen, Einstellräder, LCD Display, usw. und seine Firmware ist zu Hacken. Auchsserdem weiss ich das er noch eine eigene ungenutzte Steckverbindung besitzt (JTAG oder Serial).

Bernd 2006/11/06 22:31

Daraus lässt sich gut Folgern das die gesamte Auslöste Steuerung und all dies im H8S chip stattfindent, den ich durch deine Kamera sehr genau zuordnen konnte. es ist ein 64F2633TE28V von renesas

Datenblatt:

In ihreren Datenblättern wird er als 64F2633RTE28V geführt Also sollte sich der Hack hauptsächlich auf diesen sehr gut Dokumentierten Chip konzentrieren. Ich werde versuchen über über die Defekte D70 noch die genaue Pinbelegung den einzelnen Funktionen und Schaltern zuzuordnen.

Bernd 2006/11/21 12:26

Pictures

 
elektr/nikond70s_hack.txt · Zuletzt geändert: 2007/03/18 17:15 von bernd
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki