2010-12-06 7 views

Antwort

4

DOSBox führt 16-Bit-x86-Real-Modus-Code unter Emulation. Der reguläre GCC-Compiler unter OSX 10.6 zielt auf das OSX-Betriebssystem und den geschützten 32-Bit-x86-Modus ab, sodass Sie damit keinen Code zur Ausführung in DOSBox erstellen können.

Was Sie möglicherweise tun können, ist einen DOS-Compiler in DOSBox selbst ausführen. DJGPP ist ein MS-DOS-Port von GCC, generiert jedoch 32-Bit-Code für geschützten Modus, der auf das DPMI-Subsystem ausgerichtet ist. Es ist mir nicht klar, dass DOSBox DPMI unterstützt, aber ich stelle mir vor, dass es das tut, und DJGPP selbst ist in der DOSBox compatability list, also würde man sich vorstellen, dass der Code, den er erzeugt, auch laufen könnte, wenn er nichts Außergewöhnliches tut die emulierte Hardware.

Borland Turbo C ist auch auf der Kompatibilitätsliste und TC 2.01 ist legitim verfügbar für kostenlos. Andere Versionen werden zum Download angeboten, aber ich bezweifle die Rechtmäßigkeit einer solchen Verteilung.

Eine robustere Lösung ist jedoch wahrscheinlich, ein echtes MS-DOS- oder DOS-kompatibles Betriebssystem in einer virtuellen Maschine unter OSX zu installieren, die VirtualBox verwendet. Wenn Sie keine MS-DOS-Kopie haben, können Sie versuchen FreeDOS.

+0

+1 für Turbo C. –

2

Sind Ihre alten DOS-Spiele für 16-Bit- oder eine mit einem DOS-Extender 32-Bit-Umgebung geschrieben?

Wenn es sich um einen 16-Bit-Code handelt, ist GCC nicht von Nutzen. Vielleicht möchten Sie in OpenWatcom oder Digital Mars suchen, die beide 16-Bit-DOS-Unterstützung beanspruchen (obwohl ich keine Ahnung habe, wie gut sie dafür arbeiten). Möglicherweise müssen Sie den Compiler in einer Windows-VM ausführen (sicherlich für Digital Mars, nicht sicher über OpenWatcom).

Wenn Sie nach 32-Bit-DOS-Extender-Toolchain suchen, behaupten beide oben auch, dafür zu arbeiten, aber Sie könnten auch GCC für Sie arbeiten lassen (DJGPP könnte helfen - wieder, weiß ich nicht wie gut es funktioniert oder ob es sich aus einer Linux- oder Mac-Umgebung kompilieren lässt.