diff options
author | nickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-06-22 14:13:54 +0000 |
---|---|---|
committer | nickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-06-22 14:13:54 +0000 |
commit | b683d4e91889d3d0c79b57068e10fbe492c9968d (patch) | |
tree | 6ae149258bdb42f09ec32f881c02d40701e3249f /compiler/ogrel.pas | |
parent | 140a20adf80298a071a56b497040d976c26ba9b4 (diff) | |
download | fpc-b683d4e91889d3d0c79b57068e10fbe492c9968d.tar.gz |
* limit the ZX Spectrum programs address space up to $FDFC, because the RTL now
installs an interrupt handler at $FDFD
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@45678 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/ogrel.pas')
-rw-r--r-- | compiler/ogrel.pas | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/compiler/ogrel.pas b/compiler/ogrel.pas index bc527f8104..fce7d07cf4 100644 --- a/compiler/ogrel.pas +++ b/compiler/ogrel.pas @@ -131,6 +131,13 @@ interface constructor create;override; end; + { TZXSpectrumIntelHexExeOutput } + + TZXSpectrumIntelHexExeOutput = class(TIntelHexExeOutput) + public + constructor create;override; + end; + implementation uses @@ -1322,6 +1329,19 @@ implementation end; {***************************************************************************** + TZXSpectrumIntelHexExeOutput +*****************************************************************************} + + constructor TZXSpectrumIntelHexExeOutput.create; + begin + inherited create; + { The ZX Spectrum RTL switches to interrupt mode 2, and install an + interrupt handler + table, starting at address $FDFD, so we must limit + program size to $FDFC } + MaxMemPos:=$FDFC; + end; + +{***************************************************************************** Initialize *****************************************************************************} const |