* the system unit now compiles with FULL_RTL, so the ifdefs are removed. Smartlinking is required from

now on, for compiling programs, because the system unit becomes too large without it.

git-svn-id: branches/z80@45086 -
This commit is contained in:
nickysn 2020-04-26 11:01:45 +00:00
parent 3d81dd0b00
commit a9bf07d1f9

View File

@ -2,8 +2,6 @@ unit system;
interface
{$ifdef FULL_RTL}
{$define FPC_IS_SYSTEM}
{ The heap for ZX Spectrum is implemented
@ -26,71 +24,6 @@ interface
{$endif FPUNONE}
{$else FULL_RTL}
{$mode objfpc}
Type
dword = longword;
integer = smallint;
sizeint = smallint;
sizeuint = word;
ptrint = smallint;
ptruint = word;
jmp_buf = packed record
f,a,b,c,e,d,l,h,ixlo,ixhi,iylo,iyhi,splo,sphi,pclo,pchi : byte;
end;
pjmp_buf = ^jmp_buf;
PExceptAddr = ^TExceptAddr;
TExceptAddr = record
end;
PGuid = ^TGuid;
TGuid = packed record
case integer of
1 : (
Data1 : DWord;
Data2 : word;
Data3 : word;
Data4 : array[0..7] of byte;
);
2 : (
D1 : DWord;
D2 : word;
D3 : word;
D4 : array[0..7] of byte;
);
3 : ( { uuid fields according to RFC4122 }
time_low : dword; // The low field of the timestamp
time_mid : word; // The middle field of the timestamp
time_hi_and_version : word; // The high field of the timestamp multiplexed with the version number
clock_seq_hi_and_reserved : byte; // The high field of the clock sequence multiplexed with the variant
clock_seq_low : byte; // The low field of the clock sequence
node : array[0..5] of byte; // The spatially unique node identifier
);
end;
HRESULT = Byte;
TTypeKind = (tkUnknown,tkInteger,tkChar,tkEnumeration,tkFloat,
tkSet,tkMethod,tkSString,tkLString,tkAString,
tkWString,tkVariant,tkArray,tkRecord,tkInterface,
tkClass,tkObject,tkWChar,tkBool,tkInt64,tkQWord,
tkDynArray,tkInterfaceRaw,tkProcVar,tkUString,tkUChar,
tkHelper,tkFile,tkClassRef,tkPointer);
procedure fpc_InitializeUnits;compilerproc;
Procedure fpc_do_exit;compilerproc;
procedure Move(const source;var dest;count:SizeInt);
Procedure FillChar(var x;count:SizeInt;value:byte);
function get_frame:pointer;
function get_caller_addr(framebp:pointer;addr:pointer=nil):pointer;
function get_caller_frame(framebp:pointer;addr:pointer=nil):pointer;
Function Sptr : pointer;
{$endif FULL_RTL}
{ OpenChannel(2) opens the upper screen
OpenChannel(1) opens the lower screen
OpenChannel(3) opens the ZX Printer }
@ -108,8 +41,6 @@ function KeyPressed: Boolean;
implementation
{$ifdef FULL_RTL}
const
LineEnding = #13#10;
{ LFNSupport is a variable here, defined below!!! }
@ -186,20 +117,6 @@ begin
until false;
end;
{$else FULL_RTL}
{$I z80.inc}
procedure fpc_InitializeUnits;[public,alias:'FPC_INITIALIZEUNITS']; compilerproc;
begin
end;
Procedure fpc_do_exit;[Public,Alias:'FPC_DO_EXIT']; compilerproc;
begin
repeat
until false;
end;
{$endif FULL_RTL}
var
save_iy: Word; public name 'FPC_SAVE_IY';
LastKey: Char absolute 23560;