ppcross8086 und fehlende units...

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
jedie
Beiträge: 1
Registriert: Fr 11. Sep 2020, 10:09

ppcross8086 und fehlende units...

Beitrag von jedie »

Hallo... Ich bin absoluter Neuling was Freepascal anbelangt. Hab es heute zum ersten mal versucht. Komme eigentlich aus der Python Welt.
Mein Ziel ist es Progamme für alte DOS Rechner zu programmieren... Bzw. mal zu sehen, wie einfach das geht...

Ich versuche ein hello world für 8086 dos zu kompilieren und orientiere mich dazu an: https://wiki.freepascal.org/DOS

Ich hab fpc-3.2.0.x86_64-linux.cross.i8086-msdos.tar.xz lokal ausgepackt...

So sieht es aus:

Code: Alles auswählen

./bin/ppcross8086 -WmTiny hello_world.pas 
Fatal: Can't find unit system used by helloworld
Fatal: Compilation aborted
Dann hab ich -vut genutzt und in meiner fpc.cfg mit den "-Fu" angaben gespielt. Das Wiki schlägt bei https://wiki.freepascal.org/DOS#Updating_your_fpc.cfg das vor:

Code: Alles auswählen

#IFDEF CPUI8086
-Fu/home/blablabla/fpc-i8086/snapshot/$fpcmemorymodel/lib/fpc/$fpcversion/units/$fpctarget
-Fu/home/blablabla/fpc-i8086/snapshot/$fpcmemorymodel/lib/fpc/$fpcversion/units/$fpctarget/*
-Fu/home/blablabla/fpc-i8086/snapshot/$fpcmemorymodel/lib/fpc/$fpcversion/units/$fpctarget/rtl
#ELSE
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
#ENDIF
Das hab ich geändert in:

Code: Alles auswählen

#IFDEF CPUI8086
-Fu./lib/fpc/$fpcversion/units/$fpctarget
-Fu./lib/fpc/$fpcversion/units/$fpctarget/*
-Fu./lib/fpc/$fpcversion/units/$fpctarget/rtl
#ELSE
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
#ENDIF
Aber im Grunde ist -Fu./lib/fpc/$fpcversion/units/$fpctarget/rtl falsch.
Mit ein wenig rumspielen bin ich zu: -Fu./lib/fpc/$fpcversion/units/$fpctarget/8086-tiny/rtl gekommen. Was nur bei -WmTiny funktioniert.

Ich vermute den 8086-tiny Teil kann man auch mit einem Platzhalter ersetzten, oder? Aber wie lautet der?

Mathias
Beiträge: 5038
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: ppcross8086 und fehlende units...

Beitrag von Mathias »

Lese mal das Deutsch Wiki durch. https://wiki.freepascal.org/DOS/de
Das Gefusel mit manuellem Entpacken und einrichten kannst du dir sparen.


So wie ich sehe, arbeitest du mit Linux, somit ist der unterste Teil des Wiki für dich interessant.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Antworten