Re: [fpc-devel] Questions about cross-compiling (z80)

2022-02-11 Thread Pierre Muller via fpc-devel



2. Is it possible to add z80 cross compilation target to FP IDE? The FP IDe 
shows me a few targets, but z80 is not there.



The text mode IDE can only ever compile for one CPU platform, so you need to 
build it for Z80. Though I don't know right now whether this is enabled.


  I just added basic support for a few more CPUs: riscv32, riscv64, wasm32, 
xtensa and z80.

 You can generate them in newest trunk by moving to packages/ide directory and 
issuing a:

make all_targets OPT=""
with  being you usual OPT.

Or you can simply use:
make z80 OPT=""
followed by
make z80_install OPT=""

  This should add z80-fp executable in the same location as
your latest trunk compiler...

  Most CPUs do not have CPU specific options encoded inside
the IDE sources, thus you might need to add the options you
want to use to the
  Please report if you discover any problems.

 Pierre
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Questions about cross-compiling (z80)

2022-02-11 Thread Sven Barth via fpc-devel
BogDan  schrieb am Fr., 11. Feb. 2022, 22:20:

> Hi,
>
>
> Thanks a lot for your quick reply.
>
> Adding ihxutil to path fixed the problem.
> But the size problem is stil there, a simple 2 lines of code "begin;
> end."  generates over 32k of code. That code should not generate more than
> 8 bytes of code.
> Are there any flags that I need to use to make the code smaller?
>

The System unit initialization is larger than 8 Byte. A program does not
begin with "begin".

Regards,
Sven

>
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Questions about cross-compiling (z80)

2022-02-11 Thread Florian Klämpfl via fpc-devel

Am 11.02.2022 um 22:20 schrieb BogDan via fpc-devel:

Hi,


Thanks a lot for your quick reply.

Adding ihxutil to path fixed the problem.
But the size problem is stil there, a simple 2 lines of code "begin; end."  
generates over 32k of code. That code should not generate more than 8 bytes of code.


- no smartlinking?
- any high level language comes with some overhead
- begin end. is simply a bad tests. Getting rid of code any useful program 
needs makes little sense.
- Z80 rtl is probably not optimized for size yet.

E.g. on avrtiny, the smallest program is 94 bytes, most space taken by the interrupt vector table and flash to ram 
copying routines any program needs anyways, but in this case a lot of optimization has been spent in the compiler which 
Z80 didn't receive yet.



Are there any flags that I need to use to make the code smaller?

Cheers,
BogDan.



On Friday, February 11, 2022, 03:14:46 PM GMT+2, Sven Barth via fpc-devel 
 wrote:





BogDan via fpc-devel  schrieb am Fr., 11. Feb. 
2022, 11:09:

Hello,

According to https://wiki.freepascal.org/Z80 fpc is able to compile pascal code 
for z80.
Sadly I'm a newbie on fpc, therefore I have a few questions:

1. I changed a bit the build script from 
https://wiki.freepascal.org/Z80#Building and I managed to build fpc, and when I 
built a simple hello world file, the resulted tzx file seems wrong:
  ./ppcrossz80 -n -Tzxspectrum -PZ80 
-Fu/path/to/fpc/lib/fpc/3.3.1/units/z80-zxspectrum/rtl -viwn -CX -XX test.pas

$ cat test.tzx
:105CF800314CEA0188E0214DE6373FED423E000293
:105D0800032BBD20FABC20F7FD2288E0F31100FE2A
:105D180021FDFD7AED477D121C20FC141236C321AB


It seems is an IHX format not tzx
Also the result for a simple hello world is way too big (over 20k) !
I assume that I'm passing wrong params to ppcrossz80. What params should I use? 
Where I can find more info on this matter?


You need to make sure that the ihxutil built in 
utils/ihxutil/-/ is available in PATH, so that the compiler 
will do the conversion.

   
2. Is it possible to add z80 cross compilation target to FP IDE? The FP IDe shows me a few targets, but z80 is not there.




The text mode IDE can only ever compile for one CPU platform, so you need to 
build it for Z80. Though I don't know right now whether this is enabled.

Regards,
Sven
   


___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Questions about cross-compiling (z80)

2022-02-11 Thread BogDan via fpc-devel
Hi,


Thanks a lot for your quick reply.

Adding ihxutil to path fixed the problem.
But the size problem is stil there, a simple 2 lines of code "begin; end."  
generates over 32k of code. That code should not generate more than 8 bytes of 
code.
Are there any flags that I need to use to make the code smaller?

Cheers,
BogDan.



On Friday, February 11, 2022, 03:14:46 PM GMT+2, Sven Barth via fpc-devel 
 wrote: 





BogDan via fpc-devel  schrieb am Fr., 11. Feb. 
2022, 11:09:
> Hello,
> 
> According to https://wiki.freepascal.org/Z80 fpc is able to compile pascal 
> code for z80.
> Sadly I'm a newbie on fpc, therefore I have a few questions:
> 
> 1. I changed a bit the build script from 
> https://wiki.freepascal.org/Z80#Building and I managed to build fpc, and when 
> I built a simple hello world file, the resulted tzx file seems wrong:
>  ./ppcrossz80 -n -Tzxspectrum -PZ80 
> -Fu/path/to/fpc/lib/fpc/3.3.1/units/z80-zxspectrum/rtl -viwn -CX -XX test.pas
> 
> $ cat test.tzx
> :105CF800314CEA0188E0214DE6373FED423E000293
> :105D0800032BBD20FABC20F7FD2288E0F31100FE2A
> :105D180021FDFD7AED477D121C20FC141236C321AB
> 
> 
> It seems is an IHX format not tzx
> Also the result for a simple hello world is way too big (over 20k) !
> I assume that I'm passing wrong params to ppcrossz80. What params should I 
> use? Where I can find more info on this matter?

You need to make sure that the ihxutil built in 
utils/ihxutil/-/ is available in PATH, so that the compiler 
will do the conversion. 

>  
> 2. Is it possible to add z80 cross compilation target to FP IDE? The FP IDe 
> shows me a few targets, but z80 is not there.
> 

The text mode IDE can only ever compile for one CPU platform, so you need to 
build it for Z80. Though I don't know right now whether this is enabled. 

Regards, 
Sven 
>  

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Questions about cross-compiling (z80)

2022-02-11 Thread Sven Barth via fpc-devel
Tomas Hajny via fpc-devel  schrieb am Fr.,
11. Feb. 2022, 17:24:

> On 2022-02-11 14:14, Sven Barth via fpc-devel wrote:
> > BogDan via fpc-devel  schrieb am Fr.,
> > 11. Feb. 2022, 11:09:
>
>   .
>   .
> >> It seems is an IHX format not tzx
> >> Also the result for a simple hello world is way too big (over 20k) !
> >> I assume that I'm passing wrong params to ppcrossz80. What params
> >> should I use? Where I can find more info on this matter?
> >
> > You need to make sure that the ihxutil built in
> > utils/ihxutil/-/ is available in PATH, so that the
> > compiler will do the conversion.
>
> @Sven: Sorry for a silly question, but shouldn't the compiler emit some
> error message if the tool isn't available?
>

It wasn't me who implemented it. But at least a warning or note might be
good, cause the output *is* usable after all.

Regards,
Sven
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Questions about cross-compiling (z80)

2022-02-11 Thread Tomas Hajny via fpc-devel

On 2022-02-11 14:14, Sven Barth via fpc-devel wrote:

BogDan via fpc-devel  schrieb am Fr.,
11. Feb. 2022, 11:09:


 .
 .

It seems is an IHX format not tzx
Also the result for a simple hello world is way too big (over 20k) !
I assume that I'm passing wrong params to ppcrossz80. What params
should I use? Where I can find more info on this matter?


You need to make sure that the ihxutil built in
utils/ihxutil/-/ is available in PATH, so that the
compiler will do the conversion.


@Sven: Sorry for a silly question, but shouldn't the compiler emit some 
error message if the tool isn't available?




2. Is it possible to add z80 cross compilation target to FP IDE? The
FP IDe shows me a few targets, but z80 is not there.


The text mode IDE can only ever compile for one CPU platform, so you
need to build it for Z80. Though I don't know right now whether this
is enabled.


Just for clarification of the original poster - Sven means building the 
IDE for _compilation_ for Z80 (not that the IDE should run on Z80). 
Nevertheless, even that isn't supported right now at the moment - as of 
now, there's support only for x86 and m68k architectures within this 
IDE. It might be possible to add support for other targets as well, but 
it would require some effort.


Tomas
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Questions about cross-compiling (z80)

2022-02-11 Thread Sven Barth via fpc-devel
BogDan via fpc-devel  schrieb am Fr., 11.
Feb. 2022, 11:09:

> Hello,
>
> According to https://wiki.freepascal.org/Z80 fpc is able to compile
> pascal code for z80.
> Sadly I'm a newbie on fpc, therefore I have a few questions:
>
> 1. I changed a bit the build script from
> https://wiki.freepascal.org/Z80#Building and I managed to build fpc, and
> when I built a simple hello world file, the resulted tzx file seems wrong:
>  ./ppcrossz80 -n -Tzxspectrum -PZ80
> -Fu/path/to/fpc/lib/fpc/3.3.1/units/z80-zxspectrum/rtl -viwn -CX -XX
> test.pas
>
> $ cat test.tzx
> :105CF800314CEA0188E0214DE6373FED423E000293
> :105D0800032BBD20FABC20F7FD2288E0F31100FE2A
> :105D180021FDFD7AED477D121C20FC141236C321AB
> 
>
> It seems is an IHX format not tzx
> Also the result for a simple hello world is way too big (over 20k) !
> I assume that I'm passing wrong params to ppcrossz80. What params should I
> use? Where I can find more info on this matter?
>

You need to make sure that the ihxutil built in
utils/ihxutil/-/ is available in PATH, so that the
compiler will do the conversion.


> 2. Is it possible to add z80 cross compilation target to FP IDE? The FP
> IDe shows me a few targets, but z80 is not there.
>

The text mode IDE can only ever compile for one CPU platform, so you need
to build it for Z80. Though I don't know right now whether this is enabled.

Regards,
Sven

>
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


[fpc-devel] Questions about cross-compiling (z80)

2022-02-11 Thread BogDan via fpc-devel
Hello,

According to https://wiki.freepascal.org/Z80 fpc is able to compile pascal code 
for z80.
Sadly I'm a newbie on fpc, therefore I have a few questions:

1. I changed a bit the build script from 
https://wiki.freepascal.org/Z80#Building and I managed to build fpc, and when I 
built a simple hello world file, the resulted tzx file seems wrong:
 ./ppcrossz80 -n -Tzxspectrum -PZ80 
-Fu/path/to/fpc/lib/fpc/3.3.1/units/z80-zxspectrum/rtl -viwn -CX -XX test.pas

$ cat test.tzx
:105CF800314CEA0188E0214DE6373FED423E000293
:105D0800032BBD20FABC20F7FD2288E0F31100FE2A
:105D180021FDFD7AED477D121C20FC141236C321AB


It seems is an IHX format not tzx
Also the result for a simple hello world is way too big (over 20k) !
I assume that I'm passing wrong params to ppcrossz80. What params should I use? 
Where I can find more info on this matter?


2. Is it possible to add z80 cross compilation target to FP IDE? The FP IDe 
shows me a few targets, but z80 is not there.

Cheers,
BogDan.
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel