summaryrefslogtreecommitdiff
path: root/rtl/gba
diff options
context:
space:
mode:
authorLegolas <Legolas@3ad0048d-3df7-0310-abae-a5850022a9f2>2007-07-30 15:37:19 +0000
committerLegolas <Legolas@3ad0048d-3df7-0310-abae-a5850022a9f2>2007-07-30 15:37:19 +0000
commit60bfcd8161e0927d239f2a45960509fbbc76f42b (patch)
tree663b29479bc4c6a6ff1573668617d1463c4c0d77 /rtl/gba
parent54735fe246f4452bb540a04444cff34d182b54d3 (diff)
downloadfpc-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.pp32
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.