Difference between revisions of "Z80"

From Free Pascal wiki
(Overview)
(ZX Spectrum)
Line 25: Line 25:
 
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:
 
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
+
https://www.rastersoft.com/programas/fbzx.html
  
 
ROM images for the emulator are available here:
 
ROM images for the emulator are available here:
  
http://www.chiark.greenend.org.uk/~cjwatson/code/spectrum-roms/
+
http://www.chiark.greenend.org.uk/~cjwatson/code/spectrum-roms/
  
 
and here:
 
and here:
  
http://www.shadowmagic.org.uk/spectrum/roms.html
+
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 [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].

Revision as of 15:59, 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:

mkdir fpc-z80
cd fpc-z80
svn co https://svn.freepascal.org/svn/fpc/branches/z80/ fpc

Requirements

The assembler and linker from the SDCC package are required:

http://sdcc.sourceforge.net/

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=