diff options
author | Legolas <Legolas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2007-07-30 15:37:19 +0000 |
---|---|---|
committer | Legolas <Legolas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2007-07-30 15:37:19 +0000 |
commit | 60bfcd8161e0927d239f2a45960509fbbc76f42b (patch) | |
tree | 663b29479bc4c6a6ff1573668617d1463c4c0d77 /rtl/gba | |
parent | 54735fe246f4452bb540a04444cff34d182b54d3 (diff) | |
download | fpc-60bfcd8161e0927d239f2a45960509fbbc76f42b.tar.gz |
* gba and nds work with new heap manager now (no need for a custom heap manager that allocates a single big block anymore)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@8200 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/gba')
-rw-r--r-- | rtl/gba/system.pp | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/rtl/gba/system.pp b/rtl/gba/system.pp index 11c41441f8..c41f33098f 100644 --- a/rtl/gba/system.pp +++ b/rtl/gba/system.pp @@ -19,11 +19,10 @@ interface {$define __ARM__} (* For future usage! *) {$define FPC_IS_SYSTEM} -{$define USE_NOTHREADMANAGER} {$i gbabiosh.inc} -{$I systemh.inc} +{$i systemh.inc} {$define fpc_softfpu_interface} {$i softfpu.pp} @@ -57,8 +56,7 @@ var argv: PPChar; envp: PPChar; errno: integer; - fake_heap_start: pchar; cvar; - fake_heap_end: pchar; cvar; + implementation @@ -78,7 +76,7 @@ implementation {$define FPC_SYSTEM_HAS_extractFloat32Exp} {$define FPC_SYSTEM_HAS_extractFloat32Sign} -{$I system.inc} +{$i system.inc} {$i gbabios.inc} @@ -135,34 +133,11 @@ begin end; -procedure InitHeap; -begin - FillChar(freelists_fixed,sizeof(tfreelists),0); - FillChar(freelists_free_chunk,sizeof(freelists_free_chunk),0); - - freelist_var:=nil; - {The GBA has no operating system from which we ask memory, so we - initialize the heap with a single block of memory.} - freeoslistcount:=1; - freeoslist:=pointer($2040000); - fillchar(freeoslist^,sizeof(freeoslist^),0); - freeoslist^.size:=$40000; {GBA heap is $40000 bytes.} - fillchar(internal_status,sizeof(internal_status),0); -end; - - - - begin StackLength := CheckInitialStkLen(InitialStkLen); - ///StackBottom := Sptr - StackLength; StackBottom := StackTop - StackLength; { OS specific startup } - fake_heap_start := pchar(0); - fake_heap_end := pchar(0); -{ Set up signals handlers } - fpc_cpucodeinit; { Setup heap } InitHeap; SysInitExceptions; @@ -171,7 +146,6 @@ begin { Reset IO Error } InOutRes:=0; { Arguments } - InitSystemThreads; initvariantmanager; end. |