Wer mich länger kennt, dem ist auch bekannt, dass ich schon seit Urzeiten programmiere und mir auch das ein oder Problem schon selber gepatcht oder weg gehackt habe. Waren es früher die leidigen Kopierschutz-Abfragen auf meinem ATARI XL, so waren es letztens die nervigen Meldungen das sich CNX2.4.7 nicht mehr auf XP installieren lies (nein es lässt sich, Nikon!).
Seit letztem Jahr hat mich dann nicht mehr die Idee losgelassen, eventuell das ein oder andere an meiner D300 zu patchen, zumal mich folgende Seite magisch angezogen und rastlos mein Interesse geweckt hat:
https://nikonhacker.com/
Der Emulator war eine feine Sache einmal hinter die Kulissen der Firmware zu sehen und die prinzipielle Wirkungsweise der ganzen Firmware zu verstehen:
https://nikonhacker.com/wiki/NikonEmulator
Mit noch etwas Lektüre, diversen anderen Seiten und vor allem meines geliebten Debuggers, habe ich mich dann über mehrere Monate verteilt an die Analyse gemacht und mich Schritt für Schritt durch den Assembler-Code gewühlt ...
https://nikonhacker.com/wiki/Understanding_Firmware
https://nikonhacker.com/wiki/Supported_Models (support models)
... und was erst so kompliziert aussah, wurde langsam aber sicher immer einfacher, um so mehr sich der Nebel der einzelnen Funktionen und Routinen lichtete. Ich hatte natürlich einen Vorteil, da ich nicht die Firmware selbst verstehen und neu schreiben wollte, sondern nur Teile einer anderen Firmware auf die D300 übertragen wollte und mir so nur die einzelnen Module ansehen brauchte.
Zum Glück sind die Expeed-Prozessoren abwärtskompatibel, ähnlich wie es die Intel oder Android-ARM-CPs sind. Zum anderen schreiben die Nikon-Entwickler auch nicht jedes mal alles neu, sondern verwenden in den neueren Kamera auch nur neuere und verbesserte Routinen. Zudem ist der modulare Aufbau der Funktionen ähnlich eines Lego-Baukastens (sehr einfach formuliert).
Das komplette Zerlegen eines Firmware-Files war mir dann doch noch zu kompliziert und zu fehleranfällig, so das ich mich zuerst entschieden habe, eine neuere Firmware so zu modifizieren, das diese von der Update-Automatik der D300 akzeptiert wird. Hierbei muss man wissen, dass die B-Firmware eher die Software ist und die A-Firmware mehr das BIOS. In der A-Firmware steckt auch die Funktion des Backup-RAMs, so das bei einem Crash der B-Firmware wieder automatisch die originale D300-Firmware aus dem Backup-RAM von der A-Firmware gestartet wird. Man sollte beim Update der Firmware also aufpassen, das der nächste Versuch wieder unbedingt eine korrekte Firmware einspielt!!! Ansonsten wird's ernst und man muß die Kamera komplett zerlegen, um die Firmware direkt auf den aufgelöteten Chip zu flashen (entsprechende Ausrüstung voraus gesetzt).
Die Entscheidung fiel dann nach langer Überlegung auf die D4s-Firmware, da es ja bekannterweise keinen Nachfolger der D300 gibt und die D4s von der Auflösung der D300 noch am nächsten kommt. Die D750 fiel umgehend aus, da das gesamt Handling und die Tasten auf Costumer ausgelegt sind und die langsame Serien-Bildrate der D8x0 wollte ich auch nicht wirklich haben. Gesagt getan, das D4s-Firmware-Update modifiziert und irgendwann nach drei Wochen und ca 80 Versuchen war es dann so weit, nachdem ich bis dahin an dem eigentümlichen CRC32-Hash der Firmware-Datei gescheitert bin, der die Integrität der Firmware selbst checkt. D300 aufgeladen, CF rein und Update ausgeführt, .
Erster Eindruck nach dem Einschalten:
- Die D300 lebt noch und sie startet nicht vom Backup-RAM ))
- Das Display ist extrem hell. Offensichtlich haben die neueren Displays eine deutlich höhere Leuchtkraft (siehe Bild)
- Es funktionieren nun auch 64GB-CF-Karten ohne Probleme
- Die Knöpfe liegen scheinbar auf den korrekten Tasten. Puh, Glück gehabt, das diese scheinbar in der A-Firmware korrekt gemappt werden :huepf:.
Vorteile:
- Ohne Batteriegriff gibt es nun auch 8 Bilder pro Sekunde, allerdings mit Nachteilen (siehe unten)
- Die Tasten am Batteriegriff funktionieren :huepf:
- Der ISO-Schalter läßt sich bis 25600 drehen (siehe Praxis)
Nachteile:
- nur noch 9 Bilder in Serie, offensichtlich des höheren Speicherbedarfs der Firmware geschuldet.
- Beim Liveview stürzt die D300 ab, läßt sich aber reaktivieren.
- Die Kamera wird nicht mehr als USB-Stick erkannt, der Mass-Storage-Modus fehlt.
- Group-AF-Modus ist nicht auswählbar (wie auch).
- Keine Video-Funktion bzw. die D300 stürzt in den Menüs einfach ab
- Bei der Option "zweiter Speicher-Schacht" friert die D300 ein (Batterie raus- & rein hilft)
- NEF 14bit lässt sich zwar einstellen, aber die Speicherkarten-LED befindet sich dann in einer Endlosschleife
- Der interne Blitz hat keine Funktion (was zu erwarten war)
- Die Eneloops im Batteriegriff werden nicht erkannt. Einen Zweit-Akku habe ich nicht, kann also dazu nichts sagen.
Erster Kurztest:
- AF-S passt.
- AF-C funktioniert mit 9, 21 und 51 Meßfeldern.
- Das 3D-Tracking ist nicht benutzbar, da der EXPEED 1 Prozessor hoffnungslos überfordert ist.
- Belichtung und Weißabgleich sehen normal aus.
- CNX2 erkennt die NEFs an.
Praxis:
Ich hatte die Kamera als Zweit-Kamera letztens in der Halle zu einem kleinen Fußball-Turnier mit Junior mit. Bereits nach kurzem musste ich den AF-C von 21 auf 9 Messfeldern verkleinern, da dieses zu einem zu hohen Ausschuss geführt hat. Scheinbar wird die Prozessorleistung durch den internen Denoiser regelrecht aufgebraucht. Erst zu Hause fiel mir ein, dass ich das ganze nochmals mit RAW-Only hätte testen können. Nun gut.
Da wir aber gerade beim Rauschen und der ISO-Leistung sind. Natürlich kann man keine Wunder erwarten, da sich der Sensor ja nicht verändert hat, aber da in den letzten Jahren die Fortschritte sowieso mehr in der Software gemacht wurden, war ich doch sehr gespannt. Kurzfassung: Es hat etwas gebracht.
Bei eingestellten ISO8000 erzielte die D300 ein Rauschen im Bild, wie ich es vorher bei ISO3200 gewohnt war. ISO6400 fühlte sich etwa wie das originale ISO2200 an und eingestellte ISO3200 wie eine ISO1100-Aufnahme. ISO8000 ist dann auch der real höchste Wert der sinnvoll einstellbar ist, denn bei ISO10000 "clippt" das Bild regelrecht weg und ist defacto völlig unbrauchbar.
D300 nach dem Firmware-Patch
Fazit:
Der Test ist zwar gelungen, aber es gibt auch viele Macken, die die Benutzung der D300 als Allround-Kamera jetzt erschweren, z.B. Abstürze, nicht funktionierende Funktionen, der Prozessor ist einfach zu langsam.
Nicht des so trotz: Es ist ein erster und wichtiger Schritt für zukünftige Projekte, wo es dann um echt teure Kameras geht und wo mir das "Bricken" echt weh tun würde.
Ich könnte mir nun gut vorstellen, das es kein Problem ist eine D800 auf D810-Stand zu bringen, einer D700 die Rauschfähigkeiten einer D3s zu implantieren oder auch einer D600/D610 einige Fähigkeit der D750 beizubringen. Die einzelnen Funktionen liegen in Programmblöcken, die aus einer neueren Firmware extrahiert und in ein neues Firmware-File eingebettet werden können.
Ich habe mich deshalb jetzt entschlossen billig eine D4 zu kaufen und bei dieser die ISO-Leistung auf eine D4s zu pimpen .
Seit letztem Jahr hat mich dann nicht mehr die Idee losgelassen, eventuell das ein oder andere an meiner D300 zu patchen, zumal mich folgende Seite magisch angezogen und rastlos mein Interesse geweckt hat:
https://nikonhacker.com/
Der Emulator war eine feine Sache einmal hinter die Kulissen der Firmware zu sehen und die prinzipielle Wirkungsweise der ganzen Firmware zu verstehen:
https://nikonhacker.com/wiki/NikonEmulator
Mit noch etwas Lektüre, diversen anderen Seiten und vor allem meines geliebten Debuggers, habe ich mich dann über mehrere Monate verteilt an die Analyse gemacht und mich Schritt für Schritt durch den Assembler-Code gewühlt ...
https://nikonhacker.com/wiki/Understanding_Firmware
https://nikonhacker.com/wiki/Supported_Models (support models)
... und was erst so kompliziert aussah, wurde langsam aber sicher immer einfacher, um so mehr sich der Nebel der einzelnen Funktionen und Routinen lichtete. Ich hatte natürlich einen Vorteil, da ich nicht die Firmware selbst verstehen und neu schreiben wollte, sondern nur Teile einer anderen Firmware auf die D300 übertragen wollte und mir so nur die einzelnen Module ansehen brauchte.
Zum Glück sind die Expeed-Prozessoren abwärtskompatibel, ähnlich wie es die Intel oder Android-ARM-CPs sind. Zum anderen schreiben die Nikon-Entwickler auch nicht jedes mal alles neu, sondern verwenden in den neueren Kamera auch nur neuere und verbesserte Routinen. Zudem ist der modulare Aufbau der Funktionen ähnlich eines Lego-Baukastens (sehr einfach formuliert).
Das komplette Zerlegen eines Firmware-Files war mir dann doch noch zu kompliziert und zu fehleranfällig, so das ich mich zuerst entschieden habe, eine neuere Firmware so zu modifizieren, das diese von der Update-Automatik der D300 akzeptiert wird. Hierbei muss man wissen, dass die B-Firmware eher die Software ist und die A-Firmware mehr das BIOS. In der A-Firmware steckt auch die Funktion des Backup-RAMs, so das bei einem Crash der B-Firmware wieder automatisch die originale D300-Firmware aus dem Backup-RAM von der A-Firmware gestartet wird. Man sollte beim Update der Firmware also aufpassen, das der nächste Versuch wieder unbedingt eine korrekte Firmware einspielt!!! Ansonsten wird's ernst und man muß die Kamera komplett zerlegen, um die Firmware direkt auf den aufgelöteten Chip zu flashen (entsprechende Ausrüstung voraus gesetzt).
Die Entscheidung fiel dann nach langer Überlegung auf die D4s-Firmware, da es ja bekannterweise keinen Nachfolger der D300 gibt und die D4s von der Auflösung der D300 noch am nächsten kommt. Die D750 fiel umgehend aus, da das gesamt Handling und die Tasten auf Costumer ausgelegt sind und die langsame Serien-Bildrate der D8x0 wollte ich auch nicht wirklich haben. Gesagt getan, das D4s-Firmware-Update modifiziert und irgendwann nach drei Wochen und ca 80 Versuchen war es dann so weit, nachdem ich bis dahin an dem eigentümlichen CRC32-Hash der Firmware-Datei gescheitert bin, der die Integrität der Firmware selbst checkt. D300 aufgeladen, CF rein und Update ausgeführt, .
Erster Eindruck nach dem Einschalten:
- Die D300 lebt noch und sie startet nicht vom Backup-RAM ))
- Das Display ist extrem hell. Offensichtlich haben die neueren Displays eine deutlich höhere Leuchtkraft (siehe Bild)
- Es funktionieren nun auch 64GB-CF-Karten ohne Probleme
- Die Knöpfe liegen scheinbar auf den korrekten Tasten. Puh, Glück gehabt, das diese scheinbar in der A-Firmware korrekt gemappt werden :huepf:.
Vorteile:
- Ohne Batteriegriff gibt es nun auch 8 Bilder pro Sekunde, allerdings mit Nachteilen (siehe unten)
- Die Tasten am Batteriegriff funktionieren :huepf:
- Der ISO-Schalter läßt sich bis 25600 drehen (siehe Praxis)
Nachteile:
- nur noch 9 Bilder in Serie, offensichtlich des höheren Speicherbedarfs der Firmware geschuldet.
- Beim Liveview stürzt die D300 ab, läßt sich aber reaktivieren.
- Die Kamera wird nicht mehr als USB-Stick erkannt, der Mass-Storage-Modus fehlt.
- Group-AF-Modus ist nicht auswählbar (wie auch).
- Keine Video-Funktion bzw. die D300 stürzt in den Menüs einfach ab
- Bei der Option "zweiter Speicher-Schacht" friert die D300 ein (Batterie raus- & rein hilft)
- NEF 14bit lässt sich zwar einstellen, aber die Speicherkarten-LED befindet sich dann in einer Endlosschleife
- Der interne Blitz hat keine Funktion (was zu erwarten war)
- Die Eneloops im Batteriegriff werden nicht erkannt. Einen Zweit-Akku habe ich nicht, kann also dazu nichts sagen.
Erster Kurztest:
- AF-S passt.
- AF-C funktioniert mit 9, 21 und 51 Meßfeldern.
- Das 3D-Tracking ist nicht benutzbar, da der EXPEED 1 Prozessor hoffnungslos überfordert ist.
- Belichtung und Weißabgleich sehen normal aus.
- CNX2 erkennt die NEFs an.
Praxis:
Ich hatte die Kamera als Zweit-Kamera letztens in der Halle zu einem kleinen Fußball-Turnier mit Junior mit. Bereits nach kurzem musste ich den AF-C von 21 auf 9 Messfeldern verkleinern, da dieses zu einem zu hohen Ausschuss geführt hat. Scheinbar wird die Prozessorleistung durch den internen Denoiser regelrecht aufgebraucht. Erst zu Hause fiel mir ein, dass ich das ganze nochmals mit RAW-Only hätte testen können. Nun gut.
Da wir aber gerade beim Rauschen und der ISO-Leistung sind. Natürlich kann man keine Wunder erwarten, da sich der Sensor ja nicht verändert hat, aber da in den letzten Jahren die Fortschritte sowieso mehr in der Software gemacht wurden, war ich doch sehr gespannt. Kurzfassung: Es hat etwas gebracht.
Bei eingestellten ISO8000 erzielte die D300 ein Rauschen im Bild, wie ich es vorher bei ISO3200 gewohnt war. ISO6400 fühlte sich etwa wie das originale ISO2200 an und eingestellte ISO3200 wie eine ISO1100-Aufnahme. ISO8000 ist dann auch der real höchste Wert der sinnvoll einstellbar ist, denn bei ISO10000 "clippt" das Bild regelrecht weg und ist defacto völlig unbrauchbar.
D300 nach dem Firmware-Patch
Fazit:
Der Test ist zwar gelungen, aber es gibt auch viele Macken, die die Benutzung der D300 als Allround-Kamera jetzt erschweren, z.B. Abstürze, nicht funktionierende Funktionen, der Prozessor ist einfach zu langsam.
Nicht des so trotz: Es ist ein erster und wichtiger Schritt für zukünftige Projekte, wo es dann um echt teure Kameras geht und wo mir das "Bricken" echt weh tun würde.
Ich könnte mir nun gut vorstellen, das es kein Problem ist eine D800 auf D810-Stand zu bringen, einer D700 die Rauschfähigkeiten einer D3s zu implantieren oder auch einer D600/D610 einige Fähigkeit der D750 beizubringen. Die einzelnen Funktionen liegen in Programmblöcken, die aus einer neueren Firmware extrahiert und in ein neues Firmware-File eingebettet werden können.
Ich habe mich deshalb jetzt entschlossen billig eine D4 zu kaufen und bei dieser die ISO-Leistung auf eine D4s zu pimpen .