Hallo,
ich habe da ein ganz spezielles Problem.
Ein Freund betreibt ein Fitnessgerät mit einem 486PC (AT&T Globalyst520) unter DOS 6.22 mit einem entsprechenden Programm, welches eine Mechanik ansteuert.
Der Rechner ist in die Jahre gekommen und schwächelt im Bereich Grafikkarte, interner Speicher usw… Also haben wir versucht das DOS –Programm unter DOS über ein virtuelles Laufwerk auf einen älteren Pentium zu laden, was auch irgendwann gelungen ist. Auch eine Verbindung zur Mechanik kam zustande, aber leider nur zu ca. 90%. Irgendwie funktionierte das Gerät nicht wie es sollte. Es speicherte Daten nur unvollständig, zählte ungenau usw. Im Prinzip kein grundsätzlicher Mißerfolg.
In einem nächsten Schritt würden wir versuchen die gesamte Software 1:1, also Programm und BIOS des 486er auf den Pentium zu übertragen. Dann – so zumindest denken wir- müsste die Maschine funktionieren.
Geht das überhaupt und wie macht man das? Gib es dazu Hinweise und Tipps? Vielen Dank.
Was hindert Euch daran, dem Fitnessgerät seinen eigenen Computer zu spendieren, auf dem nur MS- Dos läuft? Dazu benötigt ihr keine virtuellen Maschinen.
Die zweite Lösung: Ihr baut ein dual- boot- System. Die Festplatte in einen neueren Rechner einbauen, sofern dieser hoffentlich noch IDE unterstützt. Ein BIOS übertragen geht natürlich nicht.
Ich weiss natürlich nicht, ab wann die Rechner MS-Dos 6.22 nicht mehr unterstützen. Dann ist noch die Frage, ob die Treiber im Programm mit moderner Hardware (ich nehme an die RS232- Schnitstelle ist gefragt) zurechtkommen.
Das passiert über serielle oder parallele Schnittstelle oder eine eigene Schnittstellenkarte oder wie?
Wie meinst du das? Hardware wird - von der Festplatte abgesehen - nicht wirklich schlecht, und DOS war auch bei längerem Betrieb sehr ressourcenschonend, was man von Windows nicht behaupten kann.
Wird denn der Rechner noch für andere Aufgaben genutzt, die immer höhere Anforderungen stellen? Mag ich kaum glauben. Der 486er war vor über 25 Jahren aktuell. Damit ein Softwarehersteller seine Produkte über einen so langen Zeitraum für dieselbe HW-Plattform bereitstellt, muss die Anforderung schon sehr speziell sein. Dementsprechend kurios finde ich, dass ihr jetzt erst auf die Idee kommt, das Teil zu ersetzen…
Wie meinst du das?
Das „BIOS“ kannst du nicht einfach übertragen. Du kannst die BIOS-Einstellungen u.U. so vornehmen, dass sie den ursprünglichen Stand abdecken (z.B. Interrupt-Adressen der UART).
Und das Programm habt ihr momentan in einer virtuellen Maschine (VirtualBox?) laufen, oder was meinst du mit „virtuelles Laufwerk“?
Das wäre zumindest mein erster Ansatz gewesen, wenn denn der alte Rechner tatsächlich ersetzt werden soll. Die Frage nach der Schnittstellenkompatibilität müsste natürlich geklärt werden. Gibt’s denn noch irgendeine Spezifikation zur Software bzw. zum Gerät?
Gruß,
Kannitverstan
Ein Problem wird sein das alle neuen Rechner sehr schnell sind. Früher hat man den CPU Takt genommen und damit alle anderen Operationen gesteuert.
Die Serielle Schnittstelle ist heut nicht mehr so gebaut wie damals. Sie kann zwar seriell aber eigentlich simuliert sie das nur.
Ihr solltet einen gleichen Rechner mit dieser einfachen Ausstattung finden und es darauf versuchen.
Mit mehr Infos sind sicher bessere Tips machbar.
the Raccoon
Du könntest einen Raspberry benutzen, um einen DOS-Rechner zu emulieren.
Ob das wirklich klappt, hängt aber von der geheimen Schnittstelle zum Gerät ab.
Übrigens kommt die Unzuverlässigkeit vermutlich daher, dass Windows mit der Echtzeitbehandlung auf Kriegsfuß steht.
Muss ja auch nicht. Es gibt doch aktuelle, frei verfügbare, neue Versionen.
Freedos?
Hallo und vielen Dank allen, die geantwortet habe. Ich bin nicht der PC-Fan, sondern nur der Fragesteller und muss die Antworten an die Macher weiterleiten. Gegebenenfalls kann ich dann einzelne Fragen beantworten oder gezielt Rückantworten stellen.
Entscheidend ist zunächst mal die noch unbekannte Schnittstelle, und wie die auf dem alten Gerät parametrisiert ist. Sollte es sich um eine serielle Schnittstelle handeln, würden der „teilweise“ Erfolg auf abweichende Schnittstellenparameter hinweisen. Das grundsätzliche Timing aufgrund der Prozessorgeschwindigkeit sollte eigentlich kein Problem sein. Das hätte man dann schon mit dem 486 im Vergleich zu einfachen PC/XT/AT gehabt. D.h. das betrifft eigentlich einen noch früheren Zeitraum.
Anmerkung zu den Fragen:
- es handelt sich um eine COM-Schnittstelle
-wie auch immer: die Grafikarte des 486 kennt nur noch eine Farbe, Eingaben zum
Trainingsprogramm werden nicht mehr gespeichert und müssen immer wieder neu
eingegeben werden. Da diese Fehler die ganzen Jahre nicht auftraten, sahen wir auch keinen
Anlass für einen Umstieg. Jetzt fürchten wir aber, dass die ganze Maschine nicht mehr
funktionieren könnte … - bei dem von mir so genannten " virtuellen Laufwerk" handellt es sich um VirtualBox, wo DOS
6.22 und das DOS Programm installiert wurden. Das Verfahren funktionierte im Prinzip, aber
das Trainingsgerät funktionierte nicht 100%tig. Deshalb die Idee und die damit verbundene
Frage ob auch das BIOS des 486 übertragen werden könnte. Sollten die Parameter auf dem
neuen PC völlig identisch sein, so müsste das Gerät auch fehlerfrei funktionieren …
dachten wir im Rahmen unserer bescheidenen PC-Kenntnissen.
Es handelt sich um eine COM-Schnittstelle. Wir hatten auch schon die Vermutung, dass der Fehler mit der Schnittstelle zusammenhängt. Ich fürchte aber, dass wir überfordert sind da Angleichungen vorzunehmen.
Das hat definitiv genau nichts damit zu tun. Und das kann auch weder übertragen werden noch würde es irgendeine sinnvolle Funktion erfüllen können.
Zunächst mal mit „mode com1:“ den Status der Schnittstellenparameter auf dem alten Gerät ermitteln, und dann die selben Parameter vor Aufruf des Programms in der DOS-Box auf dem neuen PC entsprechend ebenfalls mit „MODE COM1[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s] [RETRY=r]“
Habe das ewig nicht mehr genutzt. Kann auch je nach verwendeter Windows-Version sein, dass das gar nicht mehr in der DOS-Box geht, sondern nur noch über den Device-Manager. Aber auch da sind die selben Parameter zu finden.
Die Eingaben werden am PC vorgenommen und sollten im Gerät gespeichert werden (werden sie aber nicht)?
Und alles andere funktioniert, nur das nicht?
Dann würde ich eher die Lebensdauer des geräteinternen Speichers (EEPROM?) am Ende sehen, als irgendein Kommunikationsproblem.
Gruß,
Kannitverstan