Difference between revisions of "Z80"
Line 34: | Line 34: | ||
They are copyrighted and are not free (as in freedom), but are legally available for use in emulators (not in real hardware), and are also repackaged and redistributed in Linux repositories such as [https://rpmfusion.org/ RPMFusion - nonfree]. | They are copyrighted and are not free (as in freedom), but are legally available for use in emulators (not in real hardware), and are also repackaged and redistributed in Linux repositories such as [https://rpmfusion.org/ RPMFusion - nonfree]. | ||
+ | |||
+ | == Building == | ||
+ | |||
+ | Here's the build script I use: | ||
+ | |||
+ | #! /bin/sh | ||
+ | |||
+ | set -e | ||
+ | |||
+ | FPC_Z80_DIR=/home/nickysn/tralala/fpc-z80 | ||
+ | STARTPP=fpc | ||
+ | |||
+ | CROSSOPT=-O- | ||
+ | export CROSSOPT | ||
+ | OPT= | ||
+ | if [ -n "$EXTRAOPT" ] | ||
+ | then | ||
+ | OPT+=" $EXTRAOPT" | ||
+ | fi | ||
+ | export OPT | ||
+ | export CPU_TARGET=z80 | ||
+ | export OS_TARGET=zxspectrum | ||
+ | export OS_SOURCE=`$STARTPP -iSO` | ||
+ | export CPU_SOURCE=`$STARTPP -iSP` | ||
+ | |||
+ | cd $FPC_Z80_DIR/fpc | ||
+ | make -j `nproc` clean all PP=$STARTPP BINUTILSPREFIX= | ||
+ | make -j `nproc` crossinstall PP=$FPC_Z80_DIR/fpc/compiler/ppcrossz80 INSTALL_PREFIX=$FPC_Z80_DIR/zxspectrum-snapshot BINUTILSPREFIX= |
Revision as of 16:53, 20 April 2020
Overview
A Z80 port is currently under development in a branch:
https://svn.freepascal.org/svn/fpc/branches/z80/
To check it out, use subversion:
svn co https://svn.freepascal.org/svn/fpc/branches/z80/ fpc-z80
Requirements
The assembler and linker from the SDCC package are required:
Targets
Embedded
ZX Spectrum
The compiler produces ZX Spectrum tape files in the TZX file format. They are suitable for running in emulators. An open-source emulator that works is FBZX:
https://www.rastersoft.com/programas/fbzx.html
ROM images for the emulator are available here:
http://www.chiark.greenend.org.uk/~cjwatson/code/spectrum-roms/
and here:
http://www.shadowmagic.org.uk/spectrum/roms.html
They are copyrighted and are not free (as in freedom), but are legally available for use in emulators (not in real hardware), and are also repackaged and redistributed in Linux repositories such as RPMFusion - nonfree.
Building
Here's the build script I use:
#! /bin/sh set -e FPC_Z80_DIR=/home/nickysn/tralala/fpc-z80 STARTPP=fpc CROSSOPT=-O- export CROSSOPT OPT= if [ -n "$EXTRAOPT" ] then OPT+=" $EXTRAOPT" fi export OPT export CPU_TARGET=z80 export OS_TARGET=zxspectrum export OS_SOURCE=`$STARTPP -iSO` export CPU_SOURCE=`$STARTPP -iSP` cd $FPC_Z80_DIR/fpc make -j `nproc` clean all PP=$STARTPP BINUTILSPREFIX= make -j `nproc` crossinstall PP=$FPC_Z80_DIR/fpc/compiler/ppcrossz80 INSTALL_PREFIX=$FPC_Z80_DIR/zxspectrum-snapshot BINUTILSPREFIX=