Forum: Mikrocontroller und Digitale Elektronik Hameg Printer HD148


von Dr. T. (dr_tom)


Angehängte Dateien:

Lesenswert?

Hallo Leute,
kann mir vielleicht jemand helfen mit dem Image des EPROMs aus dem 
Drucker HD148? Es ist ein sehr schöner Drucker  - jedoch macht meine 
Firmware noch nicht das was in der Anleitung steht: Er kommt über das 
Jahr 2000 nicht hinaus. Angeblich sollte dies automatisch passieren  - 
jeder Versuch scheiterte allerdings (eingestellt auf 31.12.99 und dann 
laufen lassen).
Ich habe die ROM-Version 1.0. Bestimmt gibt es noch höhere 
Versionsstände mit der Korrektur dieses Fehlers.

Ich danke schon einmal denjenigen, der mir von seinem EPROM eine 
*.bin-Datei erstellt bzw. abgespeichert liegen hat.

Liebe Grüße
ToM

von Ingmar Groschwald (Gast)


Lesenswert?

Hallo

Ich habe die Version V 1.2

Habe noch nicht geguckt ob der Eprom gesockelt ist.

von Dr. T. (dr_tom)


Angehängte Dateien:

Lesenswert?

Hallo Ingmar,

da ich das "Problem" immer noch nicht gelöst habe, wäre ich dir sehr 
dankbar, wenn du ihn auslesen könntest. Der Chip ist gesockelt. Du 
findest ihn auf der rechten Seite der Platine; dort ungefähr in der 
Mitte. Ich habe mal Bilder angehangen...

Liebe Grüße
ToM

von Andreas S. (marais)


Lesenswert?

Hallo,
ich habe das gleiche Problem mit dem Vorgängermodell, dem HM8148-2. Ob's 
da auch eine Lösung gibt?

Gruss
Andreas

von Dr. T. (dr_tom)


Lesenswert?

Andreas S. schrieb:
> Hallo,
> ich habe das gleiche Problem mit dem Vorgängermodell, dem HM8148-2. Ob's
> da auch eine Lösung gibt?
>
> Gruss
> Andreas

Hallo Andreas,
ich würde an deiner Stelle einen neuen Thread aufmachen. Dieser hier ist 
schon steinalt und nur rein zufällig  - und hoffentlich glücklicherweise 
-  wird mir geholfen. Dein Drucker hat aber sicherlich eine andere 
Firmware, da ja dort noch alles über LED-Display kommuniziert wird.

Viel Erfolg!
Beste Grüße
ToM

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Dr. T. schrieb:
> - und hoffentlich glücklicherweise
> -  wird mir geholfen.

WEnn es dir um die Datumseinstellung geht und wir davon ausgehen das es 
nur "eine" Version 1.2 der Firmware gibt, dann ist die oben genannte 
Version 1.2 leider keine Hilfe. Ich habe auch die V1.2 (080393) und da 
ist die 19 fix, kann nur Jahrzehnt und Jahr verstellen. (Und auch nicht 
auf zweistellige Jahresangabe umstellen).

Es müsste also entweder eine noch neuere Version sein wo das dann vlt 
geht oder man müsste schauen ob man die "19" irgendwo im Klartext im ROM 
Findet und dies dann einfach durch 20 ersetzen. Falls aber ein CRC Check 
durchgeführt wird ist das ein Problem...

Oder es so machen wie ich bei diesem Gerät (und einigen anderen) gemacht 
habe: (der letzte Ausdruck dürfte schon fast 10 Jahre her sein, Gerät 
beschwerte sich gerade wegen RTC IC4 und Bat low...). Jahreszahl und 
Zehnerstelle korrekt eintragen, rest so lassen. Für dieses Gerät also 
statt 2000....2022 einfach 1900...1922 eintragen.
Die Verwechslungsgefahr wann der Druck wirklich stattgefunden hat dürfte 
ziemlich gering sein ;-)

Gruß
Carsten

von Gerhard (Gast)


Lesenswert?

Tom, hast du von deiner Firmware ein .Bin? Dann könnte man mal schauen, 
ob sich das Jahrhundert irgendwie patches lässt. Welche CPU ist verbaut?

von Dieter (Gast)


Lesenswert?

Carsten S. schrieb:
>
> Es müsste also entweder eine noch neuere Version sein wo das dann vlt
> geht oder man müsste schauen ob man die "19" irgendwo im Klartext im ROM
> Findet und dies dann einfach durch 20 ersetzen. Falls aber ein CRC Check
> durchgeführt wird ist das ein Problem...

Wenn jemand den EPROM Dump hier reinstellen würde könnte man schauen...

von Dieter (Gast)


Lesenswert?

Unabhängig zu der Frage nach dem EPROM Dump: Im Handbuch steht "Die 
Umschaltung auf das Jahr 2000 erfolgt automatisch". Die Frage ist ob es 
reicht ein Datum/Zeit kurz vor dem Jahreswechsel auf 2000 einzugeben und 
dann warten was passiert.

von Dieter (Gast)


Lesenswert?

OK, ich sehe gerade erst weiter oben dass das automatische Umschalten 
wohl nicht geklappt hat. Also dann doch der Blick in den EPROM Dump...

von Dr. T. (dr_tom)


Angehängte Dateien:

Lesenswert?

Carsten S. schrieb:
> Falls aber ein CRC Check
> durchgeführt wird ist das ein Problem...

Moin Carsten, Gerhard und Dieter,

genau da habe ich dann aufgehört...
Die .bin enthält ein CRC und ist deswegen schwieriger zu handhaben.

Die "19" war natürlich schnell gefunden... Dass es in der Folgeversion 
auch noch nicht gepatcht wurde, ist interessant.

Ich kann gerne meine bin-Datei hier mal anhängen (siehe Anhang: 
"Original.bin". Der Controller ist  - wenn ich es richtig in Erinnerung 
habe - ein HD64180 von Hitachi. Aus Zeitgründen habe ich mich nicht 
weiter mit dem CRC herumgeschlagen. Vielleicht hat ja einer eine gute 
Idee bzw. den Sachverstand dies zu lösen. Ich möchte einfach diesen 
"Schönheitsfehler" loswerden  - jedoch auch nicht um jeden Preis/Zeit 
der Welt ;-)

Beste Grüße
ToM

von Dieter (Gast)


Lesenswert?

Welcher Wert wird bei dieser Firmware beim Start (SELFTEST) angezeigt 
(CHECKSUM=....)?

von Dr. T. (dr_tom)


Lesenswert?

Moin Dieter,
siehe weiter oben; dort ist das EPROM auf einem Foto. B2D4hex

Viel Erfolg und beste Grüße!
ToM

von Jens D. (jens) Benutzerseite


Lesenswert?

Dr. T. schrieb:
> siehe weiter oben; dort ist das EPROM auf einem Foto. B2D4hex

Diese Prüfsumme wird wohl nicht kontrolliert.
Das ist die Checksum-16 über das gesamte EEProm.

von Dr. T. (dr_tom)


Angehängte Dateien:

Lesenswert?

Hier mal der Startprozess. Mehr ist da leider nicht zu sehen. Ein Menü 
zum Aufrufen der Checksum fehlt. Sorry, ein Bild ist doppelt...

: Bearbeitet durch User
von Jens D. (jens) Benutzerseite


Lesenswert?

Dr. T. schrieb:
> Hier mal der Startprozess. Mehr ist da leider nicht zu sehen. Ein Menü
> zum Aufrufen der Checksum fehlt. Sorry, ein Bild ist doppelt...

Ist das von dem "Original.bin" der Output?

Hast du mal Versucht etwas zu verändern in dem Bin File?

von Dieter (Gast)


Lesenswert?

Dr. T. schrieb:
> Hier mal der Startprozess. Mehr ist da leider nicht zu sehen. Ein Menü
> zum Aufrufen der Checksum fehlt. Sorry, ein Bild ist doppelt...

Interessant, in der Firmware gibt es auf jeden Fall den String 
"CHECKSUM= %02X%02X", also die Ausgabe von zwei HEX Bytes. Eventuell 
wird das aber nur genutzt wenn die Prüfsumme nicht stimmt.

von Dr. T. (dr_tom)


Lesenswert?

Dieter schrieb:
> Dr. T. schrieb:
>> Hier mal der Startprozess. Mehr ist da leider nicht zu sehen. Ein Menü
>> zum Aufrufen der Checksum fehlt. Sorry, ein Bild ist doppelt...
>
> Interessant, in der Firmware gibt es auf jeden Fall den String
> "CHECKSUM= %02X%02X", also die Ausgabe von zwei HEX Bytes. Eventuell
> wird das aber nur genutzt wenn die Prüfsumme nicht stimmt.

Genau. Deswegen habe ich aufgehört. Kann natürlich gut sein, dass die 
Checksum nur über einen Teil des Codes geht(?)...

von Dr. T. (dr_tom)


Lesenswert?

Jens D. schrieb:
> Ist das von dem "Original.bin" der Output?
>
> Hast du mal Versucht etwas zu verändern in dem Bin File?

Ja, unverändert. Mit einer Kopie habe ich es versucht: Checksum-Error

von Jens D. (jens) Benutzerseite


Lesenswert?

Dr. T. schrieb:
> Ja, unverändert. Mit einer Kopie habe ich es versucht: Checksum-Error

0XB2D4 muss aber nicht die Prüfsumme sein, welche der Controller sieht, 
sondern nur das Programmiergerät (über das gesamte File).

Wenn dir Prüfsumme nachträglich in die Firmware geschrieben wird würde 
sich die Checksumme des Files (0xB2D4) wieder ändern und somit nie 
passen.

Jens

von Dr. T. (dr_tom)


Lesenswert?

Soweit klar ;-)

von Manfred K. (4for)


Angehängte Dateien:

Lesenswert?

kannst ja spasseshalber mal die probieren
hat die gleiche CRC16 aber dafür n Schreibfehler :)
19 => 20
: => B

oder frag den da:
https://www.eevblog.com/forum/testgear/hameg-hd148-printer-firmware-gt-v1-3/

: Bearbeitet durch User
von Dieter (Gast)


Lesenswert?

Die Prüfsumme wird über den Bereich 0x1000...0xFFFF des EPROM berechnet. 
Es werden alle Bytes dieses Bereichs aufsummiert. Die Prüfsummer hat 
16-Bit, der erwartete Wert steht an Offset 0x00C0 des EPROM (F2 90 also 
Prüfsumme 0x90F2).

Wenn ich von "Original.bin" wie beschrieben dir Prüfsumme berechne kommt 
auch 0x90F2 heraus.

Alternativ könnte man die Rüfsummenroutine (steht ab 0x2067) so patchen 
dass es nie einen Fehler gibt.

Nur zur Info: Vom EPROM ist nicht der komplette Bereich im Addressraum 
sichtbar, die einzelnen Bereiche werden über Bits an Port 0x39 
eingeblendet, das sieht man recht schön bei der Berechnung der 
Prüfsumme.

Das Ganze ohne Garantie, ich habe das Gerät nicht und kann es nicht 
ausprobieren.

von H. H. (Gast)


Lesenswert?

Dieter schrieb:
> Port 0x39

Die MMU des HD64180.

von Manfred K. (4for)


Lesenswert?

Dieter schrieb:
> Die Prüfsumme wird über den Bereich 0x1000...0xFFFF des EPROM berechnet.
> Es werden alle Bytes dieses Bereichs aufsummiert. Die Prüfsummer hat
> 16-Bit, der erwartete Wert steht an Offset 0x00C0 des EPROM (F2 90 also
> Prüfsumme 0x90F2).

jo, wenn das so richtig ist, dann hätte mein file patched.bin 
funktioniert..

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.