[fpc-devel] FPC and Z80

popolony2k at popolony2k.com.br popolony2k at popolony2k.com.br
Tue Jun 23 15:56:11 CEST 2020


Hi FPC team. 

I'm trying to compile a FPC 3.2 with support to Z80/MSXDOS, for linux
and almost everything seems to be compiling fine, because the compiler
was generated but RTL was not. 

I'm using the same build script of zxspectrum (I just changed OS_VERSION
to MSXDOS) that can be reached here https://wiki.freepascal.org/Z80
(follow the Building paragraph). 

These are the messages I got: 

globals.pas(40,7) Fatal: Can't find unit sysutils used by globals
Fatal: Compilation aborted
Makefile:4781: recipe for target 'ppcz80.exe' failed
make[3]: *** [ppcz80.exe] Error 1
make[3]: Leaving directory
'/home/popolony2k/Projects/Pascal/fpc-z80/fpc/compiler'
Makefile:4886: recipe for target 'cycle' failed
make[2]: *** [cycle] Error 2
make[2]: Leaving directory
'/home/popolony2k/Projects/Pascal/fpc-z80/fpc/compiler'
Makefile:3023: recipe for target 'compiler_cycle' failed
make[1]: *** [compiler_cycle] Error 2
make[1]: Leaving directory
'/home/popolony2k/Projects/Pascal/fpc-z80/fpc'
Makefile:3055: recipe for target 'build-stamp.z80-msxdos' failed
make: *** [build-stamp.z80-msxdos] Error 2 

Any ideas ?? 

PopolonY2k

Em 10/06/2020 02:57, Sven Barth escreveu:

> PopolonY2K <popolony2k at popolony2k.com.br> schrieb am Mi., 10. Juni 2020, 00:38: 
> 
>> Thank you.
>> 
>> My library is very complete, 100% MSXBIOS, MSXDOS and MSXDOS2, Memory mapper and several others implementations ready, but they are working just with TP3.
>> 
>> Features like Inline code are provided by FPC by using Asm/EndAsm.
> 
> Correct. You'll need to rewrite any assembly code due to FPC having mnemonic based inline assembly. But to keep compatibility with TP you could use ifdefs for this (e.g. $ifdef fpc).  
> 
>> But how to deal with absolute variables in FPC ? I think in older TP for PC is possible using absolute with address notation in the same way as old 16 bit style [Seg:Ofs], is this correct ?
>> 
>> But in machine with absolute addressing like Z80, the behavior of absolute variables are the same as TP3 ?
> 
> As Z80 doesn't have segmentation like i8086 it's simply the same as for every other platform we support: 
> 
> var 
> SomeVar: Int8 absolute $1234; 
> 
> Regards,  
> Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20200623/aaf940ed/attachment.htm>


More information about the fpc-devel mailing list