Hi,

On Mon, Aug 1, 2016 at 2:32 PM, Ladislav Lacina <la...@seznam.cz> wrote:
>
> If you have a source code intended for Turbopascal 6 or Turbopascal 7 why
> you don't use these compilers?
>
> Please, don't say any bullshit about warez software. Just download it from
> some retrosite and use it. It is 22 years old!

Um, with all due respect, I don't know about your local country's
laws, but at least here in the States, it doesn't work like that. Sad
but true. It doesn't matter if we think it's "too old" or even if it
isn't sold any longer. Copyright law just never adjusted properly for
software deprecation. Software ages much faster than literature, but
we don't control that.

Probably easier to find a used copy to buy online somewhere. No idea,
honestly, I wouldn't necessarily waste hours of my time or risk
dangerous legalities: I'd just use FPC.

> However - if you for some reason want to use a legal software you can use a
> compiler TPC16 or TPC32
>
> It a clone of Turbopascal 7. Download from
> http://turbo51.com/compiler-design/tpc16-turbo-pascal-compiler-written-in-turbo-pascal

I don't know about that. Anyways, IIRC, the runtime / libs for this
one here is ripped directly from Borland Pascal, so that's still no
good (without explicit approval, which I don't know if he has, dubious
at best).

Again, I think FPC is the better path. It's "Free" and stable and
mature and has been well-tested over many years.

> Note that conversion from Turbopascal to 32-bit freepascal is VERY difficult
> and you have to be very skilled to do it.

Potentially difficult but not impossible. There's a lot of code out in
the wild, so it shouldn't be impossible to figure out. FPC has copious
docs and various mailing lists, too. Heck, they've also got a wiki.
For pete's sake, it's written in itself, so "check [it] out"!   :-P

> Conversion into 16-bit freepascal is easier but still far from trivial as
> the internal data representaion differs.

Check the generated assembly and/or debug it. It's not rocket science.

"
Supported calling conventions

Pascal

This is the default calling convention. It strives for compatibility
with Turbo Pascal 7.

* Parameters are pushed on the stack left to right.
* The callee cleans the parameters from the stack.
* Procedures and functions must preserve DS, SS and BP and may destroy
AX, BX, CX, DX, SI, DI and ES.
* 16-bit results are returned in AX, 32-bit results in DX:AX
* 64-bit ints are returned in AX:BX:CX:DX. Note that Turbo Pascal
doesn't support int64, so this behavior is borrowed from Open Watcom's
'pascal' calling convention.
"

Is it really that much harder than entirely porting over to Linux? I
don't think so.

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

Reply via email to