Frage

Ich habe ein Projekt bekommt, die in BASIC geschrieben wurden. Ich bin von dem genauen Grunde nicht sicher, aber die App funktioniert nicht, außer wenn sie von einem FAT-16-Dateisystem ausgeführt werden.

Ich würde eher versuchen und Umgebung einrichten, die diese App in einem modernen Betriebssystem unterstützt (Vista / XP), anstatt sie neu zu schreiben.

Wer weiß, wie eine App wie diese läuft in XP / Vista durch eine Art von Codeänderung zu erhalten (zum BASIC-Code) oder FAT-16 "Emulator" (wenn es so etwas gibt)?

War es hilfreich?

Lösung

Sie können versuchen, es über einen DOSBOX :

  

DOSBox einen Intel x86-PC emuliert,   komplett mit Sound, Grafik, Maus,   Joystick, Modem, usw., die für   viele alte MS-DOS-Anwendungen ausgeführt wird,   einfach nicht auf modernen PCs ausgeführt werden und   Betriebssysteme wie Microsoft   Windows XP, Windows Vista, Linux und   FreeBSD

(von ihrem Wiki )

Ich benutze es seit einigen Jahren. Es ist gut, stabil und sehr robust. Hat mehrere Drittanbieter-GUIs sowie zu machen Ihr Leben leichter

Andere Tipps

Andere als nur die App in einer virtualisierten Umgebung am Leben zu erhalten, wie bereits vorgeschlagen worden, das erste, was zu tun wäre, um herauszufinden, warum der Code FAT-16 zu erfordern scheint.

Wenn die App (oder seine Laufzeit) besonders schlecht ist, kann die FAT-16 Anforderung von daher kommen, daß es direkte Disk-I / O, unter Umgehung des Betriebssystem zu tun versucht. Wenn der BASIC-Code selbst, dass bestimmten Stunt zu ziehen versucht, sollten Sie viele Anrufe, PEEKs, POKEs oder sogar die gelegentliche IN und OUT-Anweisung in I / O-Routinen sehen. Die Bestimmung, was die Laufzeit ist bis zu ist schwieriger., Wenn es von Microsoft ist, DOS-basierte und nicht zu alt (zum Beispiel GWBASIC oder Quickbasic / PDS) oder Windows-basierte soll es aber in Ordnung, sein

Wie auch immer, wenn entweder die App oder die Laufzeit direkt Platte versucht, I / O, Sie verlieren: es ziemlich unmöglich sein wird, Dinge zu bekommen auf einem modernes Betriebssystem auch ohne umfangreiche, umschreiben-like, Änderungen am Code zu arbeiten.

Wenn die App die normale Grundausstattung für die Ein- und Ausgabe werden (zB OPEN „file“ für was auch immer AS # 1), und die Laufzeit ist auch mit den normalen OS-Schnittstellen, der wahrscheinlichste Grund, es funktioniert nur auf FAT- 16 ist, dass es durch den langen Dateinamen thorougly verwechselt wird.

Als erstes wäre zu versuchen, die App in einem Verzeichnis mit einem kurzen Namen setzen (zum Beispiel C: \ myapp), und zu sehen, was als nächstes passiert. Möglicherweise es funktioniert einfach. Andernfalls sollten Sie in der Lage sein, um herauszufinden, was durch eine Verstärkung durch den BASIC-Code vor sich geht (charitably einen Debugger unter der Annahme, ist Teil seiner Laufzeitumgebung)

Ohne etwas mehr Informationen über den genauen Interpreter / Compiler Ihre Anwendung in läuft, dann ist es unmöglich, Ihre Frage genauer zu beantworten. Wenn Antworten wurden bisher nicht hilfreich gewesen, können Sie Ihre Frage bearbeiten diese Informationen aufzunehmen.

Führen Sie eine ältere Version von Windows in einer virtuellen VMware-Maschine, selbst in einem modernen Betriebssystem ausgeführt wird.

Führen Sie es von einem Blitz, Zip-Laufwerk oder was auch immer Wechselmedien Sie.
Windows XP formatiert eine 1 GB USB-Stick als FAT ohne Probleme, keine zusätzlichen Werkzeuge waren nessesary.
Außerdem, wenn die Anwendung ist wirklich böse , Sie also hoffentlich beschränken ihre Bösartigkeit durch die Grenzen des Antriebs.

für Umwelt Je: Es ist immer noch möglich sein sollte, Fat-16 Dateisysteme auf modernen OS zu erstellen, können Sie nur benötigen zusätzliche Tools wie Acronis DiskDirector von sogar einige fdisk Variant ‚Linux

.

Denken Sie daran, dass FAT-16 auf eine Partitionsgröße von 2 GB beschränkt ist.

Aber wie gesagt: Beste um herauszufinden, warum. Klingt wie eine Art von WTF-Kopierschutzes.

Ich zweiten @ eugensk00 Vorschlag, haben wir einige leicht abgedrehten Instrument Software, die wird nicht zu einer NTFS-Festplatte speichern, sondern auf einen kleinen Memory-Stick (1 GB) speichern ...

Möglicherweise können Sie den Code direkt in VB.NET importieren (obwohl es mit ziemlicher Sicherheit würde einige Modifikationen erforderlich). Sie könnten dann die ursprüngliche App-Datei IO Anrufe ersetzen (die mit ziemlicher Sicherheit Ihr Problem sind) mit VB.NET ruft Sie aus dem FAT16 Problem zu bekommen.

Beachten Sie auch, dass einige der alten Schule Programme überprüfen, um zuerst zu sehen, ob es genügend Speicherplatz, um Dateien vor dem Schreiben, was zu verrückten Probleme, wenn das Laufwerk so groß ist, dass es die 16-Bit-Zähler überläuft es anscheinend verwendet. (Wenn das der Fall ist, dann ist es wird entweder arbeiten oder nicht arbeiten, abhängig von der Art des Überlaufes).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top