Hi, On Wed, Nov 8, 2023 at 2:21 PM Bernd Böckmann via Freedos-devel <freedos-devel@lists.sourceforge.net> wrote: > > the tests I did showed that FreePascal is perfectly capable of producing > reasonably small binaries fitting the small memory model, if you do not > require the full language feature set (stay away from ObjFpc / Delphi > modes). SysUtils and exception handling pulls in a significant amount of > code, so you either stick with plain FPC or TP modes or have to live > with large memory model.
FPC mode is the default and (I believe) allows function overloading and structured return values (with slightly different function pointer syntax). > I am not that interested in Turbo Pascal compatibility, so I can not say > anything about it. For me, FreePascal provides some benefits over Turbo > Pascal, taking my specific use case into account: e.g. 64-bit arithmetic > in 8086 real mode. I believe int64 was originally from Delphi. (Isn't there also "long long" support in OpenWatcom via "-za99"?) > To the specific problem: I have to provide a FAR pointer to the BIOS as > a member of an INT13 device access packet. That pointer shall point to a > 512 byte array, for which I get a near pointer via the @ address > operator. This near pointer has to be converted to a far pointer. > Because this operation is clearly defined for the small memory model, I > asked if someone knows that a built-in solution exists. But perhaps this > question is better addressed to the FreePascal community. In the > meantime, I will use the function from my last mail. Dunno, directly ask FPC guys MarcoV or NickySn. Sometimes they frequent the BTTR Forum too. _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel