Hello Hippo,

thanks for the hint. I have a copy of Borland Pascal 7 inherited from my 
father. In fact I think I have learned programming with it when I was a kid, or 
with a previous version. Fascinating piece of software. But I prefer to build 
open tools with open tools :-)

Greetings, Bernd


> Am 10.11.2023 um 00:37 schrieb Danilo Pecher via Freedos-devel 
> <freedos-devel@lists.sourceforge.net>:
> 
> As far as I know the earlier Turbo-Pascal compilers (I think 5.5 and
> earlier) have been freeware'd years ago. They can natively compile
> 16bit code on Freedos and might be worth a try. You can find even
> ancient versions of TP, like 3.0 on winworldpc, and I actually quite
> like to go down memory lane once in a while, although I have ported
> most of my projects to Watcom C by now.
> 
> cheers, Hippo
> 
> On Thu, 9 Nov 2023 at 23:44, Bernd Böckmann via Freedos-devel
> <freedos-devel@lists.sourceforge.net> wrote:
>> 
>> Btw, when compiling in large memory model via
>> 
>> fpc -Wmlarge
>> 
>> the pointer errors when compiling keyb are gone. There are some 20
>> remaining compile errors. Perhaps these can be solved.
>> 
>> Bernd
>> 
>> On 09.11.2023 23:38, Bernd Böckmann via Freedos-devel wrote:
>>> Hello Aitor,
>>> 
>>>> Could you please post the exact message you got from the compiler?
>>> 
>>> For something like this "FarPointer(@Buffer)" I get the following
>>> error message:
>>> 
>>> "Error: Illegal type conversion: "Pointer" to "FarPointer""
>>> 
>>> My opinion is that this should be supported by the compiler, because
>>> it is well defined for the small memory model I am working in.
>>> 
>>> I looked into the keyb source code and tried to compile it with
>>> FreePascal. One problematic line is for example:
>>> 
>>>     PWord ( ptr(m-1,1) )^ := m;        { make it self-parented }
>>> 
>>> Here, Ptr emits a far pointer, and PWord would cast this to a near
>>> pointer. FreePascal complains about it.
>>> 
>>> BUT the following at least gets accepted by the compiler:
>>> 
>>>    type PFarWord = ^Word; far;
>>> 
>>>     PFarWord ( ptr(m-1,1) )^ := m;        { make it self-parented }
>>> 
>>> This converts it to a typed FAR pointer, which than can be de-referenced.
>>> 
>>> What is more concerning are error messages like:
>>> 
>>> "Warning: Use of +offset(%ebp) is not compatible with regcall
>>> convention", since there is not a trace of 32 bit instructions in the
>>> code.
>>> 
>>> Bernd
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Freedos-devel mailing list
>>> Freedos-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/freedos-devel
>> 
>> 
>> _______________________________________________
>> Freedos-devel mailing list
>> Freedos-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freedos-devel
> 
> 
> _______________________________________________
> Freedos-devel mailing list
> Freedos-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-devel



_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to