Difference between revisions of "DOS/de"

From Lazarus wiki
Jump to navigationJump to search
Line 65: Line 65:
 
==Alle gängigen OS==
 
==Alle gängigen OS==
 
Wen es nichts fertiges gibt, wie bei Windows kann man das ganze mit folgendem Tool erledigen:
 
Wen es nichts fertiges gibt, wie bei Windows kann man das ganze mit folgendem Tool erledigen:
* [[fpcupdeluxe/de|fpcupdeluxe]] (deutsch)
+
* [[fpcupdeluxe/de|FPCUPdeluxe]] (deutsch)
* [[fpcupdeluxe]] (englisch)
+
* [[fpcupdeluxe|FPCUPdeluxe]] (englisch)
 
Dabei ist folgendes zu beachten:
 
Dabei ist folgendes zu beachten:
* [[fpcupdeluxe/de#MS-DOS|fpcupdelux MS-DOS]]
+
* [[fpcupdeluxe/de#MS-DOS|FPCUPdeluxe MS-DOS]]
 
Es läuft auf allen gängigen Plattformen und erzeugt Cross-Compiler für die meisten gängigen Plattformen.
 
Es läuft auf allen gängigen Plattformen und erzeugt Cross-Compiler für die meisten gängigen Plattformen.
  

Revision as of 17:57, 19 July 2018

Template:Translate

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):

Im englischen Wiki sind sind noch mehr Links vorhanden:

  • DOS - (englisch)


Light bulb  Hinweis: Achtung, Links können sich ändern, wen ein neues FPC kommt.


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

Wen es nichts fertiges gibt, wie bei Windows kann man das ganze mit folgendem Tool erledigen:

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