DOS/de
│ Deutsch (de) │ English (en) │
MS-DOS Crosscompiler
Mit folgenden Schritten, kann man MS-DOS-Programme mit FPC erstellen.
Nur Windows
Downloads
Dazu habe ich folgendes unter WinXP installiert (Sollte auch mit neueren Windows gehen, auch 64Bit):
- ftp://ftp.freepascal.org/pub/fpc/dist/3.0.4/i386-win32/fpc-3.0.4.i386-win32.exe
- ftp://ftp.freepascal.org/pub/fpc/dist/3.0.4/i386-win32/fpc-3.0.4.i386-win32.cross.i8086-msdos.exe
Im englischen Wiki sind sind noch mehr Links vorhanden:
- DOS - (englisch)
Folgende Dateien werden noch gebraucht:
Dateien vorbereiten
Aus diesem Archiv kopiert man folgende Dateien in C:\FPC\3.0.2\bin\i386-win32: ( Befinden sich in .\pp16\bin )
- msdos-wlib.exe
- msdos.wlink.exe
- wlibd.dll
- wlinkd.dll
Folgende Dateien müssen umbenannt werden:
- msdos-wlib.exe -> wlib.exe
- msdos.wlink.exe -> wlink.exe
Hello World
Zum ausprobieren habe ich ein HelloWorld geschrieben.
program helloworld; // test.pas
uses
Crt;
var
i: Integer;
begin
for i := 1 to 15 do begin
TextAttr := i;
WriteLn('Hello World !');
end;
WriteLn();
WriteLn();
TextAttr := $07; // grau
WriteLn('<Taste> = weiter');
repeat
until KeyPressed;
end.
Kompilieren
Kompilieren muss man es noch mit
ppcross8086 -WmLarge helloworld.pas
-WmLarge ist wichtig, wen man das gleiche Speichermodell wie von Turbo-Pascal will. Macht sich besonders bemerkbar, wen man Speicher hin und her schiebt, zB. VRAM. In ASM macht es sich mit LDS und LES bemerkbar.
Starten
Anschliessend die EXE in einem MS-DOS Emulator laufen lassen (zB. DOSBox).
Bei einem 64Bit Windows, ist ein DOS-Emulator zwingend.
Alle gängigen OS
Wenn es nichts fertiges gibt, wie bei Windows kann man das ganze mit folgendem Tool erledigen:
- FPCUPdeluxe (deutsch)
- FPCUPdeluxe (englisch)
Dabei ist folgendes zu beachten:
Es läuft auf allen gängigen Plattformen und erzeugt Cross-Compiler für die meisten gängigen Plattformen.
Autor: Mathias