Fehlermeldung "Nicht unterstützte 16 Bit-Anwendung
-
Hallo Wutz, erst mal Danke für deine Hilfe.
Ja 20 Jahre altes Programm, was kann ich zur
Unterstützung der Umsetzung beitragen? MFG jueppes
-
Welche externen Libs sind denn noch dabei (anscheinend über die Headerdatei "asynch_1.h" eingebunden)?
Und hast du auch noch die Sourcen davon?Ich gehe davon aus, daß die Libs (DLLs) selbst als 16-Bit kompiliert sind und daher daraus dann keine 32- oder 64-bit Anwendung erstellt werden kann.
Und welche Windows-Version hast du?
PS: Hast du denn überhaupt (noch) einen Rechner mit einem nativen RS232-Anschluß? Oder benutzt du einen "USB Seriell RS232 Adapter"?
-
Hallo,
da gehört noch eine Library dazu. Wir sehen hier nur, dass ein Header "asynch_1.h" eingebunden wird. Die wird man vermutlich nicht zum Laufen kriegen, d.h. man wird das ganze RS232-Handling durch ein modernes Äquivalent ersetzen müssen. Das läuft also auf Reverse-Engineering hinaus.
Ich schätze, zusätzlich zur reinen Anpassung an moderne Systeme werden folgende Schwierigkeiten hinzukommen:
- Crashes wegen unsauberem Pointer-Gefummel, was zu DOS-Zeiten einfach nicht aufgefallen ist
- man müsste es im Zusammenspiel mit der Hardware testen und debuggen, die hast aber nur du zur Verfügung
Als Option würde ich erwägen, einen DOS-Rechner anzuschaffen und das im Original zu betreiben. Der Digital Mars Compiler kann das vielleicht übersetzen, so dass man nicht auf dem DOS-Rechner arbeiten muss.
http://www.digitalmars.com/download/freecompiler.html
Nur so ein paar Ideen.
-
Darüberhinaus wäre die dos.h zu ersetzen, falls man zu Fuß übersetzen muss.
Die Digital Mars-Seite schreibt zu seiner dos.h:These are interfaces to the DOS operating system. They generally correspond directly to DOS API calls. They are not portable to operating systems other than DOS.
( http://www.digitalmars.com/rtl/dos.html )
Es könnte aber schon reichen, zum Übersetzen ein 32Bit Windows zu nehmen (weil z.B. Windows Vista 32 recht gute Dos-Kombatibilität hatte bzw. z.B. bei einigen schwierigen Vertretern wie exe2bin ( https://de.wikipedia.org/wiki/EXE2BIN ) mitgemacht hatte ohne meckernd den Dienst zu versagen.)
Bei schwierigen .com Programmen mit Grafik wollte aber die Grafikkarte nicht mehr so recht mitmachen weswegen
-> Dosbox https://www.dosbox.com auch noch einen Platz auf der Platte bekommen hatte.
-
Hallo an Alle, super vielen Dank für die Anregungen und Hinweise.
Jetzt mal von Anfang an, ich habe von diesem EVADTS Verein eine
komplette Datei per Mail gesendet bekommen. Diese beinhaltet ein
Programm in C/C++ welches ich zum auslesen der RS232 benutzen wollte.
(gerne sende ich Euch oder Interessenten die Datei per Mail)
Auf meinem Computer Windows7 64bit bekomme ich das Programm weder
mit Visual Studio noch mit Code : Blocks ans laufen. Keine ChanceDie Maschine sendet die Daten über das Menü "Daten an
Drucker senden" auch als ASCI Files über die serielle Schnittstelle.
Das klappt super und ist auch ganz einfach, man kann dann über ein
Terminalprogramm die Daten einlesen und sofort weiterverarbeiten.
Leider sind die ASCI Daten nicht komplett bzw. nur ein kleiner Teil.
Deshalb die Suche nach einem Programm mit dem ich die Daten komplett
auslesen kann. Dieses Programm von EVADTS ist wohl über 20 Jahre alt.
So und jetzt die Gretchenfrage: Soll ich versuchen die alte Version
ans laufen zu bekommen oder soll ich was neues machen? Programme die
die RS232 Schnittstelle abfragen gibt es schon und sind auch nicht
so kompliziert Aber ich muss ja auch noch die Daten parsen und um so was
allein zu programmieren fehlt mir das Wissen und die Zeit, deshalb suche
ich hier jemanden der mich bei diesem Projekt unterstützt. Wenn jemand
Lösungsvorschläge hat "Bitte melden" Liebe Grüße jueppes
-
- du kannst versuchen, dein unverändertes Programm in einem DOS-Emulator laufen zu lassen
- Portierungsversuche klappen prinzipiell nur, wenn du die kompletten Sourcen (d.h. die aller externen Libs) hast
- und auch dann solltest du prüfen, wieviel DOS-Abhängigkeiten vorhanden sind (typischerweise haben die 16-Bit Jünger damals gern direkt irgendwelche Register beschrieben, Interrupts umgebogen oder gar direkt auf irgendwelche festen Speicheradressen geschrieben)
- du darfst dein Thema nicht aus den Augen verlieren - du willst keinen DOS-Emulator schreiben sondern dein Programm unter Win32 zum Laufen bringen und deshalb prüfe, wieviele reine DOS-Abhängigkeiten (ohne RS232) vorhanden sind und entscheide, ob du das schaffst
- wie du richtig erkannt hast gibt es haufenweise Win32-Libs für RS232, du musst dann nur in der Lage sein, diese RS232-Abhängigkeiten in dem alten Programm zu lokalisieren und auf deine neue RS232-Lib umzubiegen - dabei stellt sich natürlich auch die prinzipielle Frage - soll es noch eine Portierung werden und doch gleich eine Neuimplementierung; das hängt von deiner Einschätzung ab, wieviel aus deinem alten Programm ausserhalb der RS232 für dich wichtig ist
-
du bist sehr unklar in deiner Kommunikation:
ich habe von diesem EVADTS Verein eine
komplette Datei per Mail gesendet bekommen. Diese beinhaltet ein
Programm in C/C++ welches ich zum auslesen der RS232 benutzen wollte.
(gerne sende ich Euch oder Interessenten die Datei per Mail)was ist eine "komplette Datei"?
(gerne sende ich Euch oder Interessenten die Datei per Mail)
Ist das ein anderes C/C++ als das auf pastebin oder warum sonst sollte die Mail relevant sein?
du beantwortest fast keine Fragen eindeutig und es ist noch immer unklar was du jetzt gerade überhaupt an Dateien/Programmen hast?
1. Hast du ein DOS-Program? Fehlermeldung "Nicht unterstützte 16 Bit-Anwendung" deutet stark darauf hin - du hast es aber noch nicht klar gestellt und redest nur ständig von Quelltext den du bekommen hast
ein Programm ist kein Quelltext
2. wie viele Quelldateien sind es denn jetzt 1 oder mehrere?
- in dem pastbin-Quelltext wird auf Dateien verwiesen die du nicht auf pastebin
gestellt hast - hast du die oder ist das Programm gar nicht kompilierbar3. hast du nur die pastebin-Quelltextdatei von dem Verein bekommen? Woher hast
du dann die DOS-Exe?Es kann doch echt nicht so schwer sein deutlich und eindeutig klar zu stellen was sich genau und in welchem Umfang in deinem Besitzt befindet - für den Anfang wäre das schon mal nicht so schlecht - es schreckt Leute massiv ab wenn man dir schon für solche minimal-Details tausend Fragen stellen muss
-
sorry, alles komplett neu für mich.
da sind rudimentäre Kenntnisse in Basic,VB, HTML, PHP,
C, C++ nicht hilfreich, ich hätte mich auf eine Sache
konzentrieren sollen, aber ich gelobe Besserung:
Ich will auch keinen abschrecken sondern Hilfe finden.
Also wenn ich von der "Datei" die ich bekommen habe spreche,
meine ich einen Ordner mit Object File Library, Object File,
Header file und C source file. Bei pastebin habe ich nur die
C source File Datei eingestellt. Es wäre bestimmt einfacher
den ganzen Ordner per Mail zu versenden, oder? schon mal Danke jueppes
-
1. Eine dos exe hast du doch auch, oder?
2. Hast du ein dos system oder irgendwas wo die dos exe laeuft z.b. dos,win3.11,win95,win98,2000 oder sowas und mit deiner hardware richtig kommuniziert? Ein funktionierendes system ist sehr wichtig fuer tests wenn man nachprogrammiert, ohne das wird es ungleich schwieriger2 fragen gleich 2 antworten
Am besten stellst du einfach ALLES also dateien und email text usw. Z.b. bei fastshare.org rein - wenn das geht
Und nur so viel: der code nutzt interrupts fuer timer und direkte serielle port programmierung, das laesst sich definitiv nicht so einfach portieren
Auch ist unklar wie wichtig das zeitverhalten bei timeouts usw. ist
-
Hallo an Alle, also meine Fähigkeiten reichen definitiv nicht aus das Programm ans laufen zu bekommen geschweige denn es umzuschreiben.
Und deshalb frage ich jetzt ganz direkt, mag oder kann mir jemand das
Programm für ein aktuelles Computer System ändern/umschreiben ?
Wer Interesse hat kann sich ja mal melden.
Ich sende dann das komplette Programm mit allen dazugehörigen Dateien
per Mail. Wenn derjenige drüber geschaut hat, kann er mir auch (s)einen
Preis nennen. Alles weitere werden wir dann sehen. Liebe Grüße jueppes
-
Hallo an Alle, also meine Fähigkeiten reichen definitiv nicht aus das Programm ans laufen zu bekommen geschweige denn es umzuschreiben.
das haben wir uns schon gedacht
Wenn derjenige drüber geschaut hat, kann er mir auch (s)einen
Preis nennen.ohne Information ob du ein laufendes (altest DOS + die Hardware) Testsystem hast ist das schon mal schwierig
noch dazu beantwortest du direkte Fragen so gut wie gar nicht (jedes ? wird einfach ignoriert) - meinst du das drückt den Preis, oder denkst du das macht man mal eben in 10min - ich schätze mit Tests können das locker 1-2 Tage werden, ohne echte Testumgebung vielleicht auch länger weil man ja keine Ahnung hat wie kritisch das Zeitverhalten, wackelig das Protokoll ist, dein Vorbereitung/Wissen über dein Wissen ist hier wichtig - da kommt so gut wie nichts
nicht einfach davon ausgehen das es für einen "Profi" trivial ist und einfach immer nur Posts schreiben die in verschiedenen Formen deinen Anforderungen oder Fähigkeiten ausdrücken, das hilft nicht
Es ist irrelevant wie gut du programmieren kannst - aber Fragen beantworten und detailliert und eindeutig sein wäre echt schon mal ein Anfang
-
stellt die Dateien (als Zip) auf
http://www.fastshare.org/und schick mir den Download-Link an
66h_5534zp2cc00x@byom.deich schau am Wochenende mal drauf
-
Hallo, auch wenn ich mich hier bis auf die Knochen blamiere.
Warum kann man nicht einfach per Mail Kontakt aufnehmen?
oder besser noch telefonieren oder wenn die Entfernung es
zulässt trifft man sich einfach und bespricht alles.
Ich will auch gern jede Frage beantworten, am liebsten würde
ich dieses Projekt komplett als Job ausschreiben aber ich habe
Probleme die Anforderungen und dazugehörigen Fragen zu kommunizieren.
Bestimmt ist dieses per Mail oder Sprache einfacher.
Also wer (jetzt noch)Interesse hat einfach melden, oder wie kommt
man sonst zusammen? Liebe Grüße jueppes
-
Hallo, auch wenn ich mich hier bis auf die Knochen blamiere.
Warum kann man nicht einfach per Mail Kontakt aufnehmen?
oder besser noch telefonieren oder wenn die Entfernung es
zulässt trifft man sich einfach und bespricht alles.du hast z.B. bisher 1Km Prosatext (über Tage) geschrieben aber keine einzige meiner Fragen
wenigstens mit "Ja" oder "Nein" beantworten, warum soll ich mehr Zeit als notwendig
investieren wenn du dazu schon kein Bock hast - oder lieber Prosatext ohne relevanz schreibstam liebsten würde ich dieses Projekt komplett als Job ausschreiben
dafür muss man trotzdem wissen was die IST-Situation ist
die Fragen nochmal - ein LETZTES mal:
1. Hast du eine DOS-Exe? (JA/NEIN)
2. Hast du ein LAUFENDES System(z.B. unter DOS) das mit dieser DOS-Exe mit deiner Hardware kommuniziert? (JA/NEIN)
3. Hast du eine Ahnung mit welchen Kompiler die DOS-Exe gebaut wurde? (JA/NEIN/Welcher)
4. Ist der Quelltext vollständig mit Libs usw. (JA/NEIN/keine Ahnung)
5. Was ist das für ein Gerät mit dem du sprechen willst? (Hersteller/Marke/Typ)
6. Warum kannst/willst du die DOS-Exe nicht unter einem echten DOS laufen lassen? (kein DOS-System, kein Bock, unschön weil...,)
7. Ist das Protokoll irgendwie zeitkritisch - manche alte Hardware ist das sehr wackelig(JA/NEIN/Keine Ahnung)am einfachsten ist es immer zuerst das Original-Programm laufen zu lassen - dann hat man
eine funktionierende Referenz auf die man sich beziehen kann - erst dann fängt man an zu portierenoder wie kommt man sonst zusammen?
alle deine Dateien/eMail-Text (als EIN zip) auf fastshare.org (da brauchst du keinen Account)
und den Download-Link an die angegebene eMail-Adresse (ist eine geschütze eMail-Adresse)ich schau es mir am Wochenende mal an
-
Guten Morgen , so machen wird das.
Die Zip Datei wird gleich hochgeladen.
Werde übers Wochenende den Rechner nicht aus dem Auge lassen.
Kein Prosa mehr, nur noch Fakten.
-
so, Zip Datei und Mail ist raus. Gib bitte kurz Bescheid
ob es funktioniert hat. Schon mal Danke jueppes
-
sollte alles funktioniert haben,
schau dir bitte die Datei an.
Vielleicht können wir deine Fragen
dann etwas genauer eingrenzen.
Schreibe mir einfach was ich tun soll.
-
Kein Prosa mehr, nur noch Fakten.
und die Antworten auf die 7 Fragen? schon wieder vergessen?
so, Zip Datei und Mail ist raus
ich hab nichts bekommen - hast du es an 66h_5534zp2cc00x@byom.de
keinen Ahnung, nur den Download-Link von fastshare.orgund als Antwort warum keine echte Mail oder Forum-Nachricht - ich habe keine Lust mich anzumelden, habe schon viel zu viele Accounts und will auch meine eMail-Adresse nicht öffentlich posten
kannst den fastshare.org Download-Link aber auch einfach hier reinstellen - ist ja eh scheinbar nichts geheimes - dann können es auch andere anschauen
-
bitte kein Anhang an die 66h_5534zp2cc00x@byom.de schicken - nur den Download-Link
-
Habe ich auch so gemacht.