HPI Festplatten image extrahieren und angucken, archivieren

  • Hallo,


    wie ihr mitbekommen habt, habe ich ja dieses Image eines historischen Medizinprogramms mit Patricks Hilfe von der Platte gezogen.

    JPT


    Wenn ich nun mit HPDIR das Image untersuche, zeigt er nur einen einzigen File: SYSTEM_P

    Wie komme ich an die anderen Daten? sind die proprietär oder in einem PASCAL eigenen Format auf der Platte gespeichert?


    Wo würde ich das Image für die Nachwelt aufheben? Bei archive.org abliefern?

    Das Medizintechnik Museum in Ingolstadt war jedenfalls nicht interessiert.


    Ich würde gerne vorher persönliche Daten aus dem Image entfernen, wegen Datenschutz...


    danke


    Jan

  • In Deinem Thread zur Inbetriebnahme klagst Du doch über die "seltsame Menuführung". Wenn Du Deinen Rechner bis dahin bootest, kannst Du mit (F)iler die Dateiverwaltung öffnen. Da dann mit (L)Dir den Inhalt zeigen lassen (er will aber wissen, welches Volume). Die Volumes siehst Du im Filer mit dem Kommando (V)olumes. Das waren jetzt kurz zusammengefasst ca. 20 Seiten Handbuch, falls noch unklar einfach nachfragen. Ich habe das Pascal-System lauffähig hier stehen und kenne mich inzwischen recht gut damit aus.

    Ich habe auch HPDir bei mir installiert und über GPIB ein HP9121 Laufwerk angeschlossen.


    Gruß, Jochen

  • Ah, ja. das ist eine gute Idee und würde uns evtl ein paar Strings bringen.


    Ich bin gerade bei der Forschung.

    Ich habe hinweise gefunden, dass man es als UFS mounten kann. Habe auch potentielle Stellen für die Magic Bytes gefunden, die nur wenige Byte neben der kalkulierten Stelle liegen, aber bisher noch kein Erfolg.


    hier hab ich info zu UFS gefunden

    Alter's home page

    ufs_fs.h « ufs « fs - kernel/git/torvalds/linux.git - Linux kernel source tree

  • Wir sind jetzt ganz gut vorangekommen.

    aber du kannst natürlich gerne auch reingucken, wenn du möchtest:

    [ah, ich wollte es ja eigentlich nicht öffentlich posten]


    Wichtig wär zu wissen, wie groß die Partitionen ungefähr sind, damit ich schätzen kann, wo die nächste anfängt.

    habe nämlich 170 Superblock-Kandiaten 8|

    Einmal editiert, zuletzt von JPT ()

  • OK, nachdem ich nun zwei HPI-Images auf den Win98-Rechner übertragen habe, konnte ich jetzt den ersten Versuch starten. Leider erkennt der HP986 das von HPDrive emulierte Laufwerk gar nicht. Allerdings emuliert HPDive auch immer ein HP9895, auch wenn ich das sample.ini verschiebe und im .ini im gleichen Verzeichnis nur den Eintrag für 9153C drin lasse. Mit HPDrive -presets bringt er immer noch die ganze Liste. Beim Start meckert er auch, weil die Größe des Images nicht passt.

    Wie bringe ich HPDrive dazu, ein 9153C zu emulieren?

  • Sayjionix Wie hast du den HPDrive konfigiert? Kannst du joe helfen?

    OK, nachdem ich nun zwei HPI-Images auf den Win98-Rechner übertragen habe, konnte ich jetzt den ersten Versuch starten. Leider erkennt der HP986 das von HPDrive emulierte Laufwerk gar nicht. Allerdings emuliert HPDive auch immer ein HP9895, auch wenn ich das sample.ini verschiebe und im .ini im gleichen Verzeichnis nur den Eintrag für 9153C drin lasse. Mit HPDrive -presets bringt er immer noch die ganze Liste. Beim Start meckert er auch, weil die Größe des Images nicht passt.

    Wie bringe ich HPDrive dazu, ein 9153C zu emulieren?

  • OK, nachdem ich nun zwei HPI-Images auf den Win98-Rechner übertragen habe, konnte ich jetzt den ersten Versuch starten. Leider erkennt der HP986 das von HPDrive emulierte Laufwerk gar nicht. Allerdings emuliert HPDive auch immer ein HP9895, auch wenn ich das sample.ini verschiebe und im .ini im gleichen Verzeichnis nur den Eintrag für 9153C drin lasse. Mit HPDrive -presets bringt er immer noch die ganze Liste. Beim Start meckert er auch, weil die Größe des Images nicht passt.

    Wie bringe ich HPDrive dazu, ein 9153C zu emulieren?

    Du kannst doch in der Befehlszeile angeben, welches Laufwerkmodell emuliert werden soll.


    Die -presets Option listet auf, welche Laufwerksmodelle implementiert sind.


    Da gibt es auch ein "9153C-1", das sollte eigentlich passen.

    Dann kann man eines dieser Typen beim Start von HPDRIVE angeben und schon hat man das gewünschte Laufwerk am Start. hinter den Optionen kommt dann das oder die Namen der image Dateien.

    Ansgars web-Seiten beschreiben die Optionen eigentlich sehr ausführlich.


    Die Befehlszeile wäre dann einfach so etwas wie

    hpdrive -9153C-1 diskimage.lif floppyimage.lif

    wenn man beide Laufwerke im 9153 System darstellen möchte. Das Festplattenimage müsste dann 40 MB groß sein.


    Wenn die image Datei in der Größe nicht passt wird in der Regel nur eine Warnung ausgegeben - wenn man es genau haben will kann man ggf. hinten mit einem Hex-Editor auffüllen.

  • Habe HPDrive nun dazu gebracht, ein 9153C zu emulieren. Mein HP9836 sieht das beim Booten aber nicht. Kann der vielleicht nicht über GPIB booten? Ich hab's mit den GPIB Adressen 0 und 7 probiert - immer sagt er kein System (die Speicherkombo habe ich für diesen Test herausgezogen).

  • Habe HPDrive nun dazu gebracht, ein 9153C zu emulieren. Mein HP9836 sieht das beim Booten aber nicht. Kann der vielleicht nicht über GPIB booten? Ich hab's mit den GPIB Adressen 0 und 7 probiert - immer sagt er kein System (die Speicherkombo habe ich für diesen Test herausgezogen).

    Welche Boot-ROM Version hat denn der Rechner? Frühe 9836A mit ROM Version 2.0 können nicht von SDF, SRM oder Unix Dateisystemen booten. Später ist meistens 3.0 eingebaut, das unterstützt alle Medien und Formate.

    Das Pascal System ist vermutlich auf einem SRM System.


    Solche Infos finden sich im Pascal System's Designer Guide.

  • Die ROM Version wird eigentlich direkt beim booten angezeigt.



    Außerdem würde ich erstmal die image Datei prüfen, vielleicht ist die nicht richtig erstellt.


    Die erste 16-.bit Zahl gibt den Type der dateisystems an:


    LIF: 16-bit -32768 = 0x8000

    gefolgt von 6 char Volume name


    SDF: 16-bit 1792 = 0x0700


    UNIX: 16-bit 12288 = 0x3000


    Ich würde mir aber nicht allzu viel von dem image versprechen, da es sich ja um eine kommerzielle Software handelt. es werden dann vermutlich nur ein paar .CODE Dateien darauf liegen und keine .PAS Quellcodes. Das müsste man eigentlich schon mit einem HEX Editor sehen können.

  • Das sieht bei mir ganz anders aus, der Rechner zeigt den verfügbaren Speicher an, "Unable to find System" wenn keine Diskette oder ROM-Karte vorhanden sind und schließlich "RESET TO RETRY". Bilder vom Bootvorgang habe ich hier:

  • Die erste 16-.bit Zahl gibt den Type der dateisystems an:


    LIF: 16-bit -32768 = 0x8000

    gefolgt von 6 char Volume name

    das Image fängt mit 80 00 an. dann kommt "V11 "

    Hast du noch mehr so tipps? Gibt es da noch was für die HFS Partitionen außer der Magic number 0x00011954 ?

    Code
    00000000  80 00 56 31 31 20 20 20  00 00 00 01 10 00 00 00  |..V11   ........|
    00000010  00 00 00 02 00 01 00 00  00 00 00 01 00 00 00 01  |................|
    00000020  00 00 00 19 97 09 22 12  53 15 00 00 00 00 00 00  |......".S.......|
    00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

    Das sollte der Beginn der ersten HFS Partition sein, Magic number at 0x550

    bäh, das bringt uns auch nicht weiter. sämtliche 177 blöcke von 4kb mit dieser Magicnumber sind identisch.

  • Das sieht bei mir ganz anders aus, der Rechner zeigt den verfügbaren Speicher an, "Unable to find System" wenn keine Diskette oder ROM-Karte vorhanden sind und schließlich "RESET TO RETRY". Bilder vom Bootvorgang habe ich hier:

    Dann hat der Rechner die Boot Version 2.0 ROMs und die CPU Karte ist dann vermutlich eine 09826-66515.

    Mit diesem System kann man ein System von einem LIF-Medium (0x8000) booten.

    Wenn mehr als ein System auf dem medium ist, booten die ROM Versionen bis 2.0 booten das erste gefundene System, die Folgeversionen bieten eine Auswahl an, welches System man booten möchte.

    SDF, Unix und SRM erfordern die 3.0 oder späteren ROMs.


    Soweit ich weiß, kann man mit 2.0 nur von den internen Diskettenlaufwerken oder von einem ROM Board booten, aber nicht von externen CS/80 Laufwerken. Diese Einschränkung betrifft aber nur das Booten eines Systems.


    Man muss also erstmal z.B. ein BASIC System booten und kann dann aber auch auf externe HP-IB Laufwerke zugreifen um z.B. Dateien zu listen , kopieren etc. Man kann so z.B. ein Pascal System auf die internen Laufwerke kopieren um dann später davon zu booten.


    Man kann auch mit der BASIC READIO() Funktion genau nachsehen was man hat:


    Euer image scheint ein einfaches LIF image zu sein.

    Dann müsste nach dem Volume Record ein LIF Directory folgen. Dort müsste dann ein SYS... Datei ausgeführt sein.


  • Ich habe mir jetzt das System Designer's Guide geholt und nach intensiver Suche auch den Scan davon auf archive.org gefunden.

    Da wird alles genau erklärt, z.B. auf Seite 16/17 wie das mit dem SYSTEM_P geht.

    Ich gehe inzwischen auch davon aus, dass ich die ROM Version 2.0 habe, werde das aber nach der oben angegebenen Methode noch überprüfen.

    Danke an Martin Hepperle für die Info, wo was steht. Die gesamten Handbücher sind so umfangreich, dass ich dieses Manual bisher übersehen habe.

  • Erfolgsmeldung: HPDrive funktioniert! Zumindest sehe ich den Inhalt mit CAT. Da ist aber mehr als das System_P, noch jede Menge Verzeichnisse (DIR). Ich weiß aber (noch) nicht, wie ich mir deren Inhalt anzeigen lassen kann.

    Und ja, ich habe wie vermutet den BOOT ROM 2.0 - mit dem oben genannten Test kommt bei mir eine 1.

  • Wenn du bei "CAT" ein Verzeichnis mit dem Namen "DATEN" siehst, gib mal MSI "DATEN" ein. Dann sollte das nächste "CAT" den Inhalt des Verzeichnis zeigen.

    Ja, so geht's. Habe ich mir nach der Lektüre der Handbücher auch so zusammengereimt, weil ich Deine Antwort zu spät gesehen habe. Trotzdem Danke.

    Da sind ein paar spannende Sachen drin, unter anderem .CODE-Dateien. Allerdings kann ich die per BASIC nicht ausführen und den Zugriff auf HPDrive mit PASCAL habe ich bis jetzt noch nicht probiert.

    Andere Dateien haben den unbekannten Typ "-5622". Was es damit auf sich hat habe ich nicht rausgefunden. Weder LOAD noch GET gehen, da kommt immer "Improper file type".

    JPT : hast Du diese Daten nicht gesehen?

    Einmal editiert, zuletzt von Joe_IBM ()

  • Ich denke, dass die Unterverzeichnisse Volumes sind. Das würde erklären, warum so viele leer sind - leere ungenutzte Volumes die im Bedarfsfall gemounted werden. Unter BASIC kann ich in die Unterverzeichnisse auch schreiben.

    Unter PASCAL sehe ich HPDrive nicht, und HPDrive bekommt keine Aufforderung (-d zeigt keine Aktivität). Unter Basic zählt -d irgendwas hoch, schätzungsweise die übertragenen Bytes.

  • Da sind ein paar spannende Sachen drin, unter anderem .CODE-Dateien. Allerdings kann ich die per BASIC nicht ausführen und den Zugriff auf HPDrive mit PASCAL habe ich bis jetzt noch nicht probiert.

    Andere Dateien haben den unbekannten Typ "-5622". Was es damit auf sich hat habe ich nicht rausgefunden. Weder LOAD noch GET gehen, da kommt immer "Improper file type".

    JPT : hast Du diese Daten nicht gesehen?

    Nein, Ich habe nur Dateien gesehen, die von 1 bis 90 durchnummeriert waren, ohne weiteren Namen.

    Öffnen konnte ich auch nichts.

    die CODE Dateien werden pascal binaries sein?

  • Die "Dateien" von 1-99 sind Verzeichnisse (DIR). Wie Holger schreibt, muss man MSI auf ein Verzeichnis einstellen und kann dann mit CAT die Inhalte sehen.

    Leider kann ich unter PASCAL das von HPDrive emulierte Laufwerk gar nicht sehen. Festplatten sollten ab Unit #11 erscheinen, mit dem (V)ol-Kommando sehe ich meine internen Laufwerke (#3 und #4), sonst nichts. So sieht das aus, wenn die ACCESS Diskette in LW #3 ist:


  • Ich habe nach dem Starten das TABLE Programm noch mal extra gestartet - keine Änderung. Laut Handbuch sollte TABLE alle angeschlossenen Devices finden und mit (V)olumes anzeigen.

    Letzte Idee ist jetzt, das Pascal-System von der Platte (bzw. dem Image) unter BASIC auf eine Diskette zu kopieren und davon zu starten. Das werde ich morgen (doch schon heute) versuchen, bin jetzt zu müde.

  • Klappt leider nicht - die INITLIB ist zu groß für eine Diskette. Und ohne bricht der BOOT-Vorgang mit einer Fehlermeldung ab.

    Die INITLIB wird mit dem Librarian von Pascal geöffnet - und da beißt sich die Katze in den Schwanz: Um die INITLIB lesen und evtl. bearbeiten zu können, brauche ich das PASCAL-System, dass die Festplatte mit der großen INITLIB nicht sieht. Ich denke inzwischen, dass der Zugriff auf dieses Image mit meiner HP9836 nicht geht, weil ich davon nicht booten kann, da mein ROM diese Option noch nicht drin hat.

    Einmal editiert, zuletzt von Joe_IBM ()

  • Die "Dateien" von 1-99 sind Verzeichnisse (DIR). Wie Holger schreibt, muss man MSI auf ein Verzeichnis einstellen und kann dann mit CAT die Inhalte sehen.

    Leider kann ich unter PASCAL das von HPDrive emulierte Laufwerk gar nicht sehen. Festplatten sollten ab Unit #11 erscheinen, mit dem (V)ol-Kommando sehe ich meine internen Laufwerke (#3 und #4), sonst nichts. So sieht das aus, wenn die ACCESS Diskette in LW #3 ist:


    Ich verstehe das so, dass Pascal beim booten alle gerade angeschlossenen Plattensysteme erkennt und in seine Volumes Liste aufnimmt.

    Wenn man also mit HPDRIVE ein Pascal bootet, müsste man zur gleichen Zeit auch schon das zweite Disk-Image in einem zweiten HPDRIVE (mit zweiter HP-IB Karte) angebunden haben. Dann sollte beide Laufwerke im Filer unter Volumes #11, #12 angezeigt werden. Auf jeden Fall müssen die emulierten laufwerke beim booten von Pascal eingeschaltet sein.


    Es könnte eventuell auch funktionieren, nach dem booten die relevanten Pascal Systemdateien mit Permanent in den Speicher zu kopieren und dann hinterrücks das Laufwerksimage auszutauschen.

  • Ich mache das so: Zuerst starte ich den Win98-PC und starte HPDrive mit Parameter -d.

    Dann schalte ich den HP9836 mit der Diskette BOOT: im rechten internen Laufwerk ein.

    Nach dem Start will er noch die ACCESS: Diskette haben (oder ich stecke sie vor dem Start ins linke Laufwerk).

    Am Ende kann ich Datum und Uhrzeit stelle und bin dann in Pascal. HPDrive hat davon nichts mitbekommen (keine Ausgabe trotz des Parameters -d). Das Volume-Kommando zeigt auch kein V11 an.

    Starte ich mit BASIC (von der eingebauten Karte), kann ich am Prompt "CAT ":,700,0" eingeben und bekomme den Inhalt des Images zu sehen. HPDrive zählt dabei irgendetwas hoch (ich vermute die übertragenen Bytes). Ich kann auf das Image schreiben und lesen. Im Verzeichnis /WORKSTATION befindet sich ein Ordner SYSTEM, und da liegen die nötigen Dateien, um PASCAL zu booten: TABLE, INITLIB, AUTOSTART usw. Ich habe versucht, die Startdateien auf Diskette zu kopieren (mit TABLE und AUTOSTART hat das auch geklappt), aber die INITLIB im dem Image ist riesig (deutlich mehr als 1000 Sektoren) und passt deswegen nicht auf eine Diskette. Ohne die INITLIB bleibt PASCAL beim booten mit der Fehlermeldung "Unexpected branch at FFFFF4" hängen. Ich müsste die INITLIB aus dem Image bearbeiten (da stehen mit Sicherheit jede Menge Treiber für Sachen, die ich eh nicht habe drin, und wenn ich die lösche, passt die INITLIB wahrscheinlich auf eine Diskette) aber von BASIC aus kann ich nicht darauf zugreifen (oder weiß nicht wie). In PASCAL kann ich auf meine eigene INITLIB mit der CONFIG: Diskette zugreifen, die aus dem Image sehe ich aber gar nicht (da das ganze Image nicht erscheint).