Dazu habe ich folgendes unter WinXP installiert:
ftp://gd.tuwien.ac.at/languages/pascal/fpc/dist/3.0.2/i386-win32/fpc-3.0.2.i386-win32.cross.i8086-msdos.exe
ftp://gd.tuwien.ac.at/languages/pascal/fpc/dist/3.0.2/i386-win32/fpc-3.0.2.i386-win32.exe
Achtung, Links können sich ändern, wen ein neues FPC kommt.
Anschliessend muss man noch
http://www.stack.nl/~marcov/fpc-i8086-msdos-r25379.zip
runterladen.
Aus diesem Archiv kopiert man folgende Dateien in C:\FPC\3.0.0\bin\i386-win32: ( Befinden sich in .\pp16\bin )
Code: Alles auswählen
msdos-wlib.exe
msdos.wlink.exe
wlibd.dll
wlinkd.dll
dann muss man noch die beiden Dateien umbennen
Code: Alles auswählen
msdos-wlib.exe -> wlib.exe
msdos.wlink.exe -> wlink.exe
Zum ausprobieren habe ich ein HelloWorld geschrieben.
Code: Alles auswählen
program test; // 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;
WriteLn('<Taste> = weiter');
repeat
until KeyPressed;
end.
Kompilieren muss man es noch mit
Code: Alles auswählen
ppcross8086 -WmLarge test.pas
-WmLarge ist wichtig, wen man das gleiche Speichermodell wie von Turbo-Pascal will.
Macht sich besonders bemerkbar, wen Speicher hin und her schiebt, zB. VRAM. In ASM macht es sich mit LDS und LES bemerkbar.
Anschliessend habe ich die EXE im DOSBox Emulator laufen lassen, und siehe da es hat geklappt.