|
@@ -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;
|