Hallo, ich habe hier EPROMs aus einem 16 Bit System aus ca. 1983. mit High und Low getrennten EPROMs. Ich habe ebenfalls EPROM Images eines etwas neueren Systems, habe daher die Möglichkeit einige Dinge zu verifizieren. Hat schonmal jemand solch einen EPROM-Versatz wie im Anhang gesehen? In u77.bin (i2732) scheinen einige Bytes doppelt zu sein bzw. einige Dinge versetzt zu sein (so verwendet ergeben sie keine gültigen OPCodes) - ich habe es einmal versucht grafisch darzustellen. Woran könnte das liegen? Gibt es Möglichkeiten den EPROM doch noch irgendwie auszulesen? Kann man mit den Spannungen evtl. ein wenig spielen? Es gibt quasi nur noch diese eine Version....... Grüße
In deiner Grafik sehe ich nicht durch. Aber was ist wenn Daten- und/oder Adressleitungen vertauscht sind. Gruß Rene
Meinst du das mit dem Abbild und dem unklaren Geschreibsel oder den vertauschten Adressen? Was für ein Prozessor ist es denn? OPCode? Ein Hex-Dump wäre evtl. besser.
MH.. Ich dachte echt das die Grafik klar ist.. . Links Soldaten, daneben mbemonics Dann kommt die adressspalte des eproms u77 + die dazugehörigen Daten. Dann kommen die Daten des HIGH eproms und daneben die Adresse. Ist der soll opcode ed06, steht in dem einen EPROM also ed, und in dem anderen e6. Die rot markierten Zellen sind falsche Daten im EPROM an falscher stelle. Wie man sieht sind es Wiederholungen oder noch folgende Daten. Der content des eproms ist also von oben nach unten zu lesen. Wüsste jetzt auch nicht was zwei 4k dumps helfen sollen ohne gegenüber zu stellen wie es aussehen "müsste". Prozessor ist ein z8001. Fehler im board sind auszuschließen. Eprommer Fehler eigentlich auch.
Olli putze mal die EpromAnschlüsse und die Textoolfassung mit Alkohol und lies nochmal. Der ehler kann so nicht passieren. Dumps sind an dieser Stelle wirklich informativer als das Assembler Listing. Gruß Holm
Oliver Lehmann schrieb: > Fehler im board sind auszuschließen. Eprommer Fehler eigentlich auch. Dann bleibt nach Deiner Theorie ja nur der EPROM übrig? Übliche Fehler waren eigentlich oft Sockel-Kontaktfehler, EPROM-Probleme. Dabei sind im EPROM einzelne Speicherzellen ausgefallen oder ganze Spalten oder Adressen. Vergleiche erst mal die GENAUEN Bezeichnungen. Evtl. ist einer zu langsam? > Eprommer Fehler eigentlich auch. Dann lies die faglichen EPROMS mehrfach ein und vergleiche ob sich etwas änderte. Mal Betriebsspannung messen und Stützkondensatoren ansehen kann auch nicht schaden. Einzelne Pins mit Oszi vergleichen geht evtl. auch, wird aber seltener eine Erleuchtung bringen wenn nur eine Zelle falsch ist.
Wenns hilft... EPROMs sind hier zu finden: http://www.pofo.de/S8000/misc/EPROM/CPU/1.2/ u77.bin u75.bin sind die obereren 8 KB der 16KB Firmware. Ich habe halt keinen 100% "so sollte es aussehen" Dump - ich habe nur Version 2.2 der Firmware die in vielen Dingen semantisch gleich ist - aber halt nicht identisch. Byteweise verglichen ist sie natürlich sehr anders, da allein schon Sprungadressen durch Codeunterschiede nahezu komplett unterschiedlich sind. Daher wüsste ich halt nicht, was man "erkennen" will wenn man sich u77.bin jetzt in nem Hex-Editor anschaut ohne eine Bytegenaue "Solldatei" daneben - die es halt aber nicht gibt. Ich werde heute Abend u77.bin nochmal einlesen und auch mal einen anderen EPROMMer probieren. Habe aber eigentlich mit meinem HI-LO ALL-02 noch nie Probleme gehabt. Putzen probiere ich auch mal ;)
:
Bearbeitet durch User
Oliver L. schrieb: > Putzen probiere ich auch mal ;) Vorsicht, es gibt auch krumme Beine! Woher bist Du so sicher, daß der Sockel noch zuverlässig ist auf dem Board? Funktionieren die anderen EPROMS?
Oliver Lehmann schrieb: > MH.. Ich dachte echt das die Grafik klar ist.. . > > Links Soldaten, daneben mbemonics Kindergartensprache? Lies die EPROMs einzeln aus, sieh Dir einen Hexdump davon an, sieh Dir den kombinierten Hexdump an -- oft sind in Firmware irgendwelche Texte enthalten, die man so erkennen kann (wobei die korrekte Kombination der beiden EPROMs klar sein sollte, denn in http://www.pofo.de/S8000/misc/diagrams/S8000_CPU_board/S8000_CPU.pdf auf S. 9 ist die Beschaltung zu finden -- nachtrag: Das hast Du ja selbst gezeichnet). Nach dreißig Jahren kann und darf ein EPROM auch mal anfangen, seine Programmierung zu verlieren. Insbesondere, wenn es wie das 2732 aus der vorderen Altsteinzeit stammt, wo viele Programmiergeräte nach "Schnauze" geschnitzt waren und die Programmieralgorithmen der Hersteller auch noch nicht sehr ausgefeilt waren.
:
Bearbeitet durch User
Rufus Τ. F. schrieb: > Oliver Lehmann schrieb: >> MH.. Ich dachte echt das die Grafik klar ist.. . >> >> Links Soldaten, daneben mbemonics > > Kindergartensprache? Solldaten, Mnemonics - mal versucht fehlerfrei am Frühstückstisch auf dem Handy zu tippen? > > Lies die EPROMs einzeln aus, sieh Dir einen Hexdump davon an, sieh Dir > den kombinierten Hexdump an -- oft sind in Firmware irgendwelche Texte > enthalten, die man so erkennen kann (wobei die korrekte Kombination der > beiden EPROMs klar sein sollte, denn in > http://www.pofo.de/S8000/misc/diagrams/S8000_CPU_board/S8000_CPU.pdf auf > S. 9 ist die Beschaltung zu finden -- nachtrag: Das hast Du ja selbst > gezeichnet). Genau.... ich habe die EPROMs natürlich einzeln ausgelesen. Sie sind gesockelt. > Nach dreißig Jahren kann und darf ein EPROM auch mal anfangen, seine > Programmierung zu verlieren. Insbesondere, wenn es wie das 2732 aus der > vorderen Altsteinzeit stammt, wo viele Programmiergeräte nach "Schnauze" > geschnitzt waren und die Programmieralgorithmen der Hersteller auch noch > nicht sehr ausgefeilt waren. Natürlich dürfen sie das... die Frage war ja ob es "Tricks" gibt evtl. doch noch die Daten zu entlocken. Ich hatte was im Hinterkopf mit "höherer Spannung auslesen" - vielleicht gibt es hier ja auch noch Leute aus der EDV-Steinzeit die Tricks kennen.... Ansonsten mal anbei ein Screenie von nem Hexeditor wo ich mal angefangen habe in 077.bin die höchstwahrscheinlich korrekten Werte einzutragen. Ist halt nur eine sehr mühseelige Arbeit und fehleranfällig Maschinencode nach De-Assembler-Analyse zu "korrigieren" - es fällt aber bisher auf, das immer die 2 gleichen Spalten betroffen sind.
:
Bearbeitet durch User
Olli Eproms verlieren Daten, d.h. Nullen konvertieren langsam zu Einsen das ist der gewöhnliche "Bit Rot" in einem Eprom. Was aber nicht passiert ist das sich Daten in den Roms verschieben, wenn das passiert hast Du Kontaktfehler an den Adreßanschlüssen. Dreckige Textoolfassungen kommen öfter vor, ich wasche die dann mit einer ollen Zahnbürste und Spiritus aus, das bewirkt Wunder. Lies den fraglichen Prom einfach mal mehrmals hintereinander oder vergleiche gegen die Daten vom ersten Lesen während Du mit den Fingern über die Eprom Anschlüsse tatschst, damit findest Du ziemlich sicher floatende Adreß- oder Datenpins. Die Daten werden in Mosfets mit floatendem Gate gespeichert, je nach der Ladung auf dem floatenden Gate ändert sich die Schwellspannung des FETs so das 0 und 1 unterschieden werden können. Viele programmiergeräte prüfen die Qualität der Programmierung durch Lesen bei erhöhter Versorgungsspannung (6V, 6,5V..) weil das die Umschaltschwelle im FET anhebt und man so mitbekommt ob auch ausreichend Ladung auf den Gates ist. Damit dürfte klar sein das Du zum Lesen fast verschwundener Daten die Versorgungsspannung heruntersetzen mußt um bei halb geladenen Gates noch unter die Schwelle zu kommen... Was hast Du übrigens für einen Grund fremd zu gehen? :-) Gruß, Holm
Holm T. schrieb: > Olli Eproms verlieren Daten, d.h. Nullen konvertieren langsam zu Einsen > das ist der gewöhnliche "Bit Rot" in einem Eprom. Was aber nicht > passiert ist das sich Daten in den Roms verschieben, wenn das passiert > hast Du Kontaktfehler an den Adreßanschlüssen. Dreckige Textoolfassungen > kommen öfter vor, ich wasche die dann mit einer ollen Zahnbürste und > Spiritus aus, > das bewirkt Wunder. Naja - die Fassung muss eigentlich iO sein - sie liest ja alles andere problemlos... Ich werde mir heute Abend den EPROM nochmal anschauen. Am Ende der Daten des EPROMs gibt es weniger "falsches" deswegen hatte ich da mal angefangen falsches durch vermeintlich richtiges auszutauschen (siehe mein vorheriges Posting inkl. Screenshot). Da gibt es keinen Versatz sondern nur falsche Werte. Anstatt 03 steht dann da FF, oder anstatt 5F steht ein 7F usw... beschränkt sich halt alles auf die 2 Spalten. Bevor ich jetzt aber weiter mache Maschinencode zu "korrigieren", werde ich.. > Lies den fraglichen Prom einfach mal mehrmals hintereinander oder > vergleiche gegen die Daten vom ersten Lesen während Du mit den Fingern > über die Eprom Anschlüsse tatschst, damit findest Du ziemlich sicher > floatende Adreß- oder Datenpins. .. heute Abend den besagten EPROM aus dem Keller kramen (eingelesen hatte ich ihn vor einigen Jahren) mehrmals einlesen, auch mal an meiner P8000 mit dem EPROMmer dort einlesen. Dann habe ich zummindest auch mal 2 verschiedene EPROMMer getestet. > Die Daten werden in Mosfets mit floatendem Gate gespeichert, je nach der > Ladung auf dem floatenden Gate ändert sich die Schwellspannung des FETs > so das 0 und 1 unterschieden werden können. Viele programmiergeräte > prüfen die > Qualität der Programmierung durch Lesen bei erhöhter Versorgungsspannung > (6V, 6,5V..) weil das die Umschaltschwelle im FET anhebt und man so > mitbekommt ob auch ausreichend Ladung auf den Gates ist. Damit dürfte > klar sein das Du zum Lesen fast verschwundener Daten die > Versorgungsspannung heruntersetzen mußt um bei halb geladenen Gates noch > unter die Schwelle zu kommen... OK, ich schaue mal ob ich die Spannung bei meinem HI-LO frei wählen kann und wenn mehrfaches lesen nicht zum Ziel führt, dann setze ich die Spannung mal schrittweise runter. > Was hast Du übrigens für einen Grund fremd zu gehen? > :-) Ich dachte nur viel hilft viel :-P
:
Bearbeitet durch User
Oliver L. schrieb: [..] >Da gibt es keinen Versatz > sondern nur falsche Werte. ...das ist wahrscheinlicher.. > Anstatt 03 steht dann da FF, oder anstatt 5F > steht ein 7F usw... beschränkt sich halt alles auf die 2 Spalten. Bevor > ich jetzt aber weiter mache Maschinencode zu "korrigieren", werde ich.. 03 auf FF ist wiederum unwahrscheinlich. Du mußt jedes Bit als einzelne Zelle betrachten, die Tatsache das die in einem Byte angeliefert werden hat nichts zu sagen. 03 auf ff würde bedeuten das da 6 Bits auf einmal leer geworden sind, das ist "putzig". 7F anstatt 5F ist eher normal, da ist ein einzelnes Bit gekippt. [..] > > OK, ich schaue mal ob ich die Spannung bei meinem HI-LO frei wählen kann > und wenn mehrfaches lesen nicht zum Ziel führt, dann setze ich die > Spannung mal schrittweise runter. Na dann mach mal. > > >> Was hast Du übrigens für einen Grund fremd zu gehen? >> :-) > > Ich dachte nur viel hilft viel :-P grin Die Meisten hier gucken Eproms relativ verständnislos an ...haben die für nen Arduino noch nie gebraucht... Holm
> ob ich die Spannung bei meinem HI-LO frei wählen kann
einfach eine Si-Diode in die VCC-Leitung.
Schwupps liegt der Gateschwellwert niedriger :-)
EPROM mehrmals auslesen hat leider nicht zum Erfolg geführt. EPROMmer meiner P8000 zu verwenden hat leider auch nix gebracht. Spannung kann ich nicht frei einstellen. Kommen immer konstant die gleichen (falschen) Daten beim auslesen raus. Ich habe nun die meisten Fehler nach eingehender Code-Analyse weitestgehend selber korrigiert (zeitfressender Mist) - zum glück ist der andere EPROM ja richtig, so das man zummindest ein wenig weiss was das wohl für eine Instruktion sein wird. Anbei mal ein Hexdiff des ausgelesenen Inhaltes (oben) und meiner bisher erfolgten Korrektur (unten) Der Bereich von 0x0060 - 0x0100 steht noch aus - das ist aufgrund der Masse an falschem Maschinencode gerade am Anfang alles andere als trivial. Wohler wäre mir natürlich die "richtigen" Daten aus dem EPROM zu bekommen.... bei der händischen "Raterei" schleichen sich ggf. Fehler ein....
:
Bearbeitet durch User
Holm T. schrieb: > Was aber nicht > passiert ist das sich Daten in den Roms verschieben, wenn das passiert > hast Du Kontaktfehler an den Adreßanschlüssen. Es sind zwei verschiedene Versionen, die Daten können auch einfach an anderer Stelle stehen. Ob hier wirklich ausführbarer Code steht, sehe ich auch nicht als sicher an.
n^2 schrieb: > Ob hier wirklich ausführbarer Code steht, sehe > ich auch nicht als sicher an. Kannst du aber. Zusammen mit seinem Schwester-EPROM ergibt sich Z8001-Maschinencode. Dazwischen sind natürlich Texte wie "DT NOT SENT" usw. Meinst du bin ich in der Lage den EPROM zu "korrigieren" ohne zu wissen was da in der Firmware des Systems wahrscheinlich abläuft? Meinst du ich würde jetzt über sowas wie "da steht ASCII-Text" stolpern? Nunja... jedenfalls bin ich nun doch tatsächlich in der Lage gewesen die Daten nach dem xten Versuch vermeintlich "korrekt" auszulesen (ein bischen Wackel-Voodoo hat geholfen) http://www.pofo.de/S8000/misc/EPROM/CPU/1.2/u77_corrected.bin Bis auf den oben genannten, von mir noch nicht bearbeiteten, Bereich waren gegenüber meiner "korrigierten" Version 2 Bytes nicht korrigiert, und 4 Bytes falsch korrigiert - find ich einen guten Schnitt bei gefühlten 250 korrigierten Bytes ;) Und das die Korrektur von mir an den Stellen falsch war muss sich auch erstmal bewahrheiten :D
:
Bearbeitet durch User
Hmm... haste es also nun geschafft? Wars wirklich nur Dreck oder hast Dus doch nochmal mit dem P8K Promer versucht? Irnkwie seltsam, zur Zeit sterben ein Haufen interessanter Leute und der Großteil vom Rest hat Probleme mit Eproms... Gruß, Holm
Ich vermute, es wird Dreck gewesen sein.... er läßt sich nun permanent "korrekt" auslesen nach meiner Sockel-ruckel-ruckel Beinchen-kratz-kratz Aktion.....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.