mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 19:49:31 +02:00
* Updated to devkitARM r27 and libnds 1.4.0
git-svn-id: trunk@14344 -
This commit is contained in:
parent
7547bbb59c
commit
ec841a86f5
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -6269,6 +6269,8 @@ rtl/gba/cprt0.as svneol=native#text/plain
|
||||
rtl/gba/dos.pp svneol=native#text/plain
|
||||
rtl/gba/gbabios.inc svneol=native#text/plain
|
||||
rtl/gba/gbabiosh.inc svneol=native#text/plain
|
||||
rtl/gba/libc.inc svneol=native#text/plain
|
||||
rtl/gba/libch.inc svneol=native#text/plain
|
||||
rtl/gba/prt0.as svneol=native#text/plain
|
||||
rtl/gba/sysdir.inc svneol=native#text/plain
|
||||
rtl/gba/sysfile.inc svneol=native#text/plain
|
||||
|
@ -3,13 +3,12 @@
|
||||
#
|
||||
|
||||
[package]
|
||||
name=libgbafpc
|
||||
version=2.5.1
|
||||
version=2.4.0
|
||||
|
||||
[target]
|
||||
loaders=core_asm
|
||||
units=gba maxmod
|
||||
exampledirs=examples
|
||||
#exampledirs=examples
|
||||
|
||||
|
||||
[compiler]
|
||||
|
@ -2,7 +2,7 @@ program console;
|
||||
|
||||
uses
|
||||
gba;
|
||||
|
||||
|
||||
begin
|
||||
// the vblank interrupt must be enabled for VBlankIntrWait() to work
|
||||
// since the default dispatcher handles the bios flags no vblank handler
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
{$ifdef GBA_INTERFACE}
|
||||
{$H+}
|
||||
|
||||
(*
|
||||
procedure memset16(dest: pointer; hw: word; hwcount: dword); cdecl; external;
|
||||
procedure memcpy16(dest: pointer; const src: pointer; hwcount: dword); cdecl; external;
|
||||
|
||||
@ -71,7 +71,7 @@ function realloc(ptr: pointer; size: integer): pointer; cdecl; external;
|
||||
procedure free(ptr: pointer); cdecl; external;
|
||||
function memcpy(dest: pointer; src: pointer; n: integer): pointer; cdecl; external;
|
||||
|
||||
(* libc file handling types and routines *)
|
||||
|
||||
type
|
||||
_FILE = record
|
||||
firstCluster: cuint;
|
||||
@ -105,7 +105,6 @@ function ftell(stream: P_FILE): longint; cdecl; external;
|
||||
function fseek(stream: P_FILE; off: longint; whence: longint): longint; cdecl; external;
|
||||
function fclose(stream: P_FILE): longint; cdecl; external;
|
||||
|
||||
(* Directory iterator for mantaining state between dir* calls *)
|
||||
type
|
||||
DIR_ITER = record
|
||||
device: cint;
|
||||
@ -160,7 +159,7 @@ function diropen(const path: pchar): PDIR_ITER; cdecl; external;
|
||||
function dirreset(dirState: PDIR_ITER): cint; cdecl; external;
|
||||
function dirnext(dirState: PDIR_ITER; filename: pchar; filestat: Pstat): cint; cdecl; external;
|
||||
function dirclose(dirState: PDIR_ITER): cint; cdecl; external;
|
||||
|
||||
*)
|
||||
procedure DebugPrint(s: string); assembler; inline;
|
||||
function GBAIntToStr(i: integer): string;
|
||||
|
||||
|
@ -49,7 +49,7 @@ type
|
||||
|
||||
IntTable = record
|
||||
handler: IntFn;
|
||||
mask: u32;
|
||||
mask: cuint32;
|
||||
end;
|
||||
PIntTable = ^IntTable;
|
||||
|
||||
@ -87,7 +87,7 @@ const
|
||||
|
||||
var
|
||||
// IntrTable: array [0..MAX_INTS-1] of IntTable; cvar; // cvar used in order to gain access from assembly unit
|
||||
IntrTable: array [0..0] of IntTable; cvar; external;
|
||||
IntrTable: array [0..0] of IntTable; cvar; external;
|
||||
|
||||
procedure irqInit(); cdecl; external;
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -20,9 +20,8 @@ target=nds
|
||||
fpcdir=../../../../../..
|
||||
|
||||
[clean]
|
||||
files=*.elf *.o *.s *.nds *.nef *.h *.bin *.map \
|
||||
$(BUILD)/* \
|
||||
$(INC)/*
|
||||
files=*.elf *.o *.s *.nds *.nef *.h *.bin \
|
||||
$(BUILD)/*
|
||||
units=*
|
||||
|
||||
[prerules]
|
||||
@ -32,17 +31,9 @@ GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
|
||||
|
||||
[rules]
|
||||
.NOTPARALLEL:
|
||||
clean: dir_delete fpc_clean fpc_cleanall
|
||||
all: direc fpc_all
|
||||
|
||||
#
|
||||
# Delete temp directories
|
||||
#
|
||||
dir_delete:
|
||||
@$(DELTREE) $(CURDIR)/$(BUILD)
|
||||
@$(DELTREE) $(CURDIR)/$(INC)
|
||||
|
||||
direc:
|
||||
<<<<<<< .mine=======
|
||||
>>>>>>> .theirsdirec:
|
||||
ifneq ($(BUILD), $(CURDIR))
|
||||
$(MKDIR) $(BUILD)
|
||||
endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,7 @@ target=nds
|
||||
fpcdir=../../../../../..
|
||||
|
||||
[compiler]
|
||||
options=-g -O2 -d__THUMB__
|
||||
options=-g -O2
|
||||
|
||||
[clean]
|
||||
files=*.elf *.o *.s *.nds *.nef *.h *.bin \
|
||||
|
@ -37,8 +37,9 @@ var
|
||||
sprites: array[0..4] of MySprite;
|
||||
|
||||
|
||||
function myEventHandler(msg, param: mm_word): mm_callback;
|
||||
begin
|
||||
<<<<<<< .minefunction myEventHandler(msg, param: mm_word): mm_word;
|
||||
=======function myEventHandler(msg, param: mm_word): pmm_word;
|
||||
>>>>>>> .theirsbegin
|
||||
case msg of
|
||||
MMCB_SONGMESSAGE: // process song messages
|
||||
begin
|
||||
@ -50,7 +51,7 @@ begin
|
||||
end;
|
||||
MMCB_SONGFINISHED:; // process song finish message (only triggered in songs played with MM_PLAY_ONCE)
|
||||
end;
|
||||
result := nil;
|
||||
result := 0;
|
||||
end;
|
||||
|
||||
|
||||
|
@ -16,7 +16,7 @@ begin
|
||||
defaultExceptionHandler();
|
||||
|
||||
// generate an exception
|
||||
pu32(250)^ := 100;
|
||||
pu32(8192)^ := 100;
|
||||
|
||||
while true do
|
||||
swiWaitForVBlank();
|
||||
|
@ -2,6 +2,6 @@
|
||||
const
|
||||
DSWIFI_MAJOR = 0;
|
||||
DSWIFI_MINOR = 3;
|
||||
DSWIFI_REVISION = 6;
|
||||
DSWIFI_VERSION = '0.3.6';
|
||||
DSWIFI_REVISION = 11;
|
||||
DSWIFI_VERSION = '0.3.11';
|
||||
{$endif NDS_INTERFACE}
|
||||
|
@ -41,7 +41,7 @@
|
||||
function fatInit(cacheSize: cuint32; setAsDefaultDevice: cbool): cbool; cdecl; external;
|
||||
function fatInitDefault(): cbool; cdecl; external;
|
||||
function fatMountSimple (const name: pcchar; const ainterface: PDISC_INTERFACE): cbool; cdecl; external;
|
||||
function fatMount (const name: pcchar; const ainterface: PDISC_INTERFACE; startSector, cacheSize: cuint32): cbool; cdecl; external;
|
||||
function fatMount (const name: pcchar; const ainterface: PDISC_INTERFACE; startSector, cacheSize, SectorsPerPage: cuint32): cbool; cdecl; external;
|
||||
function fatUnmount(const name: pcchar): cbool; cdecl; external;
|
||||
{$endif NDS_INTERFACE}
|
||||
|
||||
|
@ -40,7 +40,7 @@
|
||||
|
||||
{$ifdef NDS_INTERFACE}
|
||||
const
|
||||
EXCEPTION_VECTOR : ^VoidFunctionPointer = pointer($27FFD9C);
|
||||
EXCEPTION_VECTOR : ^VoidFunctionPointer = pointer($2FFFD9C);
|
||||
|
||||
var
|
||||
exceptionC: ^VoidFunctionPointer; cvar; external;
|
||||
|
@ -160,7 +160,7 @@ type
|
||||
pNDSHeader = ^tNDSHeader;
|
||||
|
||||
const
|
||||
__NDSHeader : pNDSHeader = pointer($027FFE00);
|
||||
__NDSHeader : pNDSHeader = pointer($02FFFE00);
|
||||
|
||||
|
||||
type
|
||||
@ -216,21 +216,19 @@ end;
|
||||
// Changes all bus ownerships
|
||||
procedure sysSetBusOwners(arm9rom, arm9card: cbool); inline;
|
||||
var
|
||||
pattern: cuint16;
|
||||
a9r, a9c: cint;
|
||||
val1, val2: cuint;
|
||||
begin
|
||||
pattern := REG_EXMEMCNT^ and not (ARM7_OWNS_CARD or ARM7_OWNS_ROM);
|
||||
if arm9card then
|
||||
a9c := 0
|
||||
else
|
||||
a9c := ARM7_OWNS_CARD;
|
||||
if arm9rom then
|
||||
a9r := 0
|
||||
else
|
||||
a9r := ARM7_OWNS_ROM;
|
||||
|
||||
pattern := pattern or (a9c) or (a9r);
|
||||
REG_EXMEMCNT^ := pattern;
|
||||
val1 := 0;
|
||||
val2 := 0;
|
||||
if not arm9card then
|
||||
val1 := ARM7_OWNS_CARD;
|
||||
|
||||
if not arm9rom then
|
||||
val2 := ARM7_OWNS_ROM ;
|
||||
|
||||
REG_EXMEMCNT^ := (REG_EXMEMCNT^ and not(ARM7_OWNS_CARD or ARM7_OWNS_ROM)) or val1 or val2;
|
||||
end;
|
||||
|
||||
|
||||
{$endif NDS_IMPLEMENTATION}
|
||||
{$endif ARM9}
|
||||
|
@ -200,7 +200,7 @@ type
|
||||
const
|
||||
REG_KEYINPUT : pcuint16 = pointer($04000130);
|
||||
REG_KEYCNT : pcuint16 = pointer($04000132);
|
||||
PersonalData : PPERSONAL_DATA = pointer($27FFC80);
|
||||
PersonalData : PPERSONAL_DATA = pointer($2FFFC80);
|
||||
|
||||
|
||||
type
|
||||
@ -216,7 +216,7 @@ type
|
||||
Pargv = ^Targv;
|
||||
|
||||
const
|
||||
__system_argv: Pargv = pointer($027FFF70);
|
||||
__system_argv: Pargv = pointer($02FFFE70);
|
||||
ARGV_MAGIC = $5f617267;
|
||||
|
||||
|
||||
@ -232,6 +232,13 @@ type
|
||||
padding: cuint8;
|
||||
end;
|
||||
|
||||
|
||||
{$ifdef ARM9}
|
||||
procedure memCached(address: pointer); cdecl; external;
|
||||
procedure memUncached(address: pointer); cdecl; external;
|
||||
{$endif ARM9}
|
||||
|
||||
|
||||
{$endif NDS_INTERFACE}
|
||||
|
||||
{$ifdef NDS_IMPLEMENTATION}
|
||||
|
210
rtl/gba/Makefile
210
rtl/gba/Makefile
@ -1,8 +1,8 @@
|
||||
#
|
||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
|
||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/09/29]
|
||||
#
|
||||
default: all
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
|
||||
BSDs = freebsd netbsd openbsd darwin
|
||||
UNIXs = linux $(BSDs) solaris qnx
|
||||
LIMIT83fs = go32v2 os2 emx watcom
|
||||
@ -59,11 +59,9 @@ endif
|
||||
endif
|
||||
ifdef COMSPEC
|
||||
ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
|
||||
ifndef RUNBATCH
|
||||
RUNBATCH=$(COMSPEC) /C
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifdef inUnix
|
||||
PATHSEP=/
|
||||
else
|
||||
@ -175,17 +173,6 @@ OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
|
||||
endif
|
||||
FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
|
||||
FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
|
||||
ifeq ($(CPU_TARGET),armeb)
|
||||
ARCH=arm
|
||||
override FPCOPT+=-Cb
|
||||
else
|
||||
ifeq ($(CPU_TARGET),armel)
|
||||
ARCH=arm
|
||||
override FPCOPT+=-CaEABI
|
||||
else
|
||||
ARCH=$(CPU_TARGET)
|
||||
endif
|
||||
endif
|
||||
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
|
||||
TARGETSUFFIX=$(OS_TARGET)
|
||||
SOURCESUFFIX=$(OS_SOURCE)
|
||||
@ -207,7 +194,7 @@ endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
linuxHier=1
|
||||
endif
|
||||
export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
|
||||
export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
|
||||
ifdef FPCDIR
|
||||
override FPCDIR:=$(subst \,/,$(FPCDIR))
|
||||
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
|
||||
@ -274,185 +261,169 @@ COMMON=$(RTL)/common
|
||||
PROCINC=$(RTL)/$(CPU_TARGET)
|
||||
UNITPREFIX=rtl
|
||||
SYSTEMUNIT=system
|
||||
BINUTILSPREFIX=arm-eabi-
|
||||
ifdef RELEASE
|
||||
override FPCOPT+=-Ur
|
||||
endif
|
||||
OBJPASDIR=$(RTL)/objpas
|
||||
GRAPHDIR=$(INC)/graph
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-haiku)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-darwin)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-symbian)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-darwin)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-darwin)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-nds)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-symbian)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-darwin)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),avr-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-linux)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil fgl
|
||||
override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysutils classes math typinfo varutils fmtbcd ctypes charset ucomplex getopts matrix variants types rtlconsts sysconst dateutil lineinfo fgl
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
@ -472,9 +443,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-haiku)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
@ -592,9 +560,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-darwin)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
@ -619,15 +584,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),avr-embedded)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-linux)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||
override TARGET_LOADERS+=prt0 cprt0
|
||||
endif
|
||||
override INSTALL_FPCPACKAGE=y
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
@ -647,9 +603,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-haiku)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
@ -767,9 +720,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-darwin)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
@ -794,15 +744,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),avr-embedded)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-linux)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
@ -821,9 +762,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-haiku)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
@ -941,9 +879,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-darwin)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
@ -968,15 +903,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),avr-embedded)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-linux)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||
endif
|
||||
ifdef REQUIRE_UNITSDIR
|
||||
override UNITSDIR+=$(REQUIRE_UNITSDIR)
|
||||
endif
|
||||
@ -1195,7 +1121,6 @@ endif
|
||||
ifeq ($(OS_TARGET),go32v2)
|
||||
STATICLIBPREFIX=
|
||||
SHORTSUFFIX=dos
|
||||
IMPORTLIBPREFIX=
|
||||
endif
|
||||
ifeq ($(OS_TARGET),watcom)
|
||||
STATICLIBPREFIX=
|
||||
@ -1203,7 +1128,6 @@ OEXT=.obj
|
||||
ASMEXT=.asm
|
||||
SHAREDLIBEXT=.dll
|
||||
SHORTSUFFIX=wat
|
||||
IMPORTLIBPREFIX=
|
||||
endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
BATCHEXT=.sh
|
||||
@ -1240,7 +1164,6 @@ STATICLIBPREFIX=
|
||||
SHAREDLIBEXT=.dll
|
||||
SHORTSUFFIX=os2
|
||||
ECHO=echo
|
||||
IMPORTLIBPREFIX=
|
||||
endif
|
||||
ifeq ($(OS_TARGET),emx)
|
||||
BATCHEXT=.cmd
|
||||
@ -1249,7 +1172,6 @@ STATICLIBPREFIX=
|
||||
SHAREDLIBEXT=.dll
|
||||
SHORTSUFFIX=emx
|
||||
ECHO=echo
|
||||
IMPORTLIBPREFIX=
|
||||
endif
|
||||
ifeq ($(OS_TARGET),amiga)
|
||||
EXEEXT=
|
||||
@ -1270,11 +1192,6 @@ BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
SHORTSUFFIX=be
|
||||
endif
|
||||
ifeq ($(OS_TARGET),haiku)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
SHORTSUFFIX=hai
|
||||
endif
|
||||
ifeq ($(OS_TARGET),solaris)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
@ -1289,20 +1206,17 @@ ifeq ($(OS_TARGET),netware)
|
||||
EXEEXT=.nlm
|
||||
STATICLIBPREFIX=
|
||||
SHORTSUFFIX=nw
|
||||
IMPORTLIBPREFIX=imp
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netwlibc)
|
||||
EXEEXT=.nlm
|
||||
STATICLIBPREFIX=
|
||||
SHORTSUFFIX=nwl
|
||||
IMPORTLIBPREFIX=imp
|
||||
endif
|
||||
ifeq ($(OS_TARGET),macos)
|
||||
BATCHEXT=
|
||||
EXEEXT=
|
||||
DEBUGSYMEXT=.xcoff
|
||||
SHORTSUFFIX=mac
|
||||
IMPORTLIBPREFIX=imp
|
||||
endif
|
||||
ifeq ($(OS_TARGET),darwin)
|
||||
BATCHEXT=.sh
|
||||
@ -1329,17 +1243,14 @@ STATICLIBEXT=.a1
|
||||
SHAREDLIBEXT=.so1
|
||||
STATICLIBPREFIX=
|
||||
SHORTSUFFIX=v1
|
||||
IMPORTLIBPREFIX=
|
||||
endif
|
||||
ifeq ($(OS_TARGET),go32v2)
|
||||
STATICLIBPREFIX=
|
||||
SHORTSUFFIX=dos
|
||||
IMPORTLIBPREFIX=
|
||||
endif
|
||||
ifeq ($(OS_TARGET),watcom)
|
||||
STATICLIBPREFIX=
|
||||
SHORTSUFFIX=wat
|
||||
IMPORTLIBPREFIX=
|
||||
endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
BATCHEXT=.sh
|
||||
@ -1386,7 +1297,6 @@ STATICLIBEXT=.ao2
|
||||
SHAREDLIBEXT=.dll
|
||||
SHORTSUFFIX=os2
|
||||
ECHO=echo
|
||||
IMPORTLIBPREFIX=
|
||||
endif
|
||||
ifeq ($(OS_TARGET),amiga)
|
||||
EXEEXT=
|
||||
@ -1447,7 +1357,6 @@ STATICLIBEXT=.a
|
||||
SHAREDLIBEXT=.nlm
|
||||
EXEEXT=.nlm
|
||||
SHORTSUFFIX=nw
|
||||
IMPORTLIBPREFIX=imp
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netwlibc)
|
||||
STATICLIBPREFIX=
|
||||
@ -1459,7 +1368,6 @@ STATICLIBEXT=.a
|
||||
SHAREDLIBEXT=.nlm
|
||||
EXEEXT=.nlm
|
||||
SHORTSUFFIX=nwl
|
||||
IMPORTLIBPREFIX=imp
|
||||
endif
|
||||
ifeq ($(OS_TARGET),macos)
|
||||
BATCHEXT=
|
||||
@ -1471,7 +1379,6 @@ STATICLIBEXT=.a
|
||||
EXEEXT=
|
||||
DEBUGSYMEXT=.xcoff
|
||||
SHORTSUFFIX=mac
|
||||
IMPORTLIBPREFIX=imp
|
||||
endif
|
||||
endif
|
||||
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
|
||||
@ -1744,13 +1651,13 @@ TAROPT=vz
|
||||
TAREXT=.tar.gz
|
||||
endif
|
||||
ifndef NOCPUDEF
|
||||
override FPCOPTDEF=$(ARCH)
|
||||
override FPCOPTDEF=$(CPU_TARGET)
|
||||
endif
|
||||
ifneq ($(OS_TARGET),$(OS_SOURCE))
|
||||
override FPCOPT+=-T$(OS_TARGET)
|
||||
endif
|
||||
ifneq ($(CPU_TARGET),$(CPU_SOURCE))
|
||||
override FPCOPT+=-P$(ARCH)
|
||||
override FPCOPT+=-P$(CPU_TARGET)
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),openbsd)
|
||||
override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
|
||||
@ -2329,6 +2236,7 @@ ucomplex$(PPUEXT): $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
||||
getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
$(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
|
||||
lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
exec$(PPUEXT) : exec.pp execf.inc execd.inc
|
||||
timer$(PPUEXT) : timer.pp timerd.inc timerf.inc
|
||||
|
@ -12,10 +12,10 @@ units=$(SYSTEMUNIT) objpas macpas strings \
|
||||
sysutils \
|
||||
classes math typinfo varutils fmtbcd ctypes \
|
||||
charset ucomplex getopts matrix \
|
||||
variants types rtlconsts sysconst dateutil fgl \
|
||||
variants types rtlconsts sysconst dateutil lineinfo fgl \
|
||||
# exec timer doslib utility hardware inputevent graphics layers \
|
||||
# these can be moved to packages later
|
||||
# clipboard datatypes asl ahi tinygl get9 muihelper lineinfo \
|
||||
# clipboard datatypes asl ahi tinygl get9 muihelper \
|
||||
#rsts=math rtlconsts varutils typinfo variants classes sysconst dateutil
|
||||
# implicitunits=exeinfo
|
||||
|
||||
@ -42,7 +42,6 @@ COMMON=$(RTL)/common
|
||||
PROCINC=$(RTL)/$(CPU_TARGET)
|
||||
UNITPREFIX=rtl
|
||||
SYSTEMUNIT=system
|
||||
BINUTILSPREFIX=arm-eabi-
|
||||
|
||||
# Use new feature from 1.0.5 version
|
||||
# that generates release PPU files
|
||||
@ -179,7 +178,7 @@ getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
$(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
|
||||
|
||||
#lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
#lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
||||
charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
56
rtl/gba/libc.inc
Normal file
56
rtl/gba/libc.inc
Normal file
@ -0,0 +1,56 @@
|
||||
{
|
||||
This file is part of the Free Component Library (FCL)
|
||||
Copyright (c) 1999-2002 by the Free Pascal development team
|
||||
|
||||
BIOS functions unit for Nintendo DS
|
||||
Copyright (c) 2006 by Francesco Lombardi
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
*****************************************************************************}
|
||||
|
||||
function __errno: plongint; cdecl; export;
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
|
||||
function S_ISBLK(m: longint): boolean; inline;
|
||||
begin
|
||||
result := (m and _IFMT) = _IFBLK;
|
||||
end;
|
||||
|
||||
function S_ISCHR(m: longint): boolean; inline;
|
||||
begin
|
||||
result := (m and _IFMT) = _IFCHR;
|
||||
end;
|
||||
|
||||
function S_ISDIR(m: longint): boolean; inline;
|
||||
begin
|
||||
result := (m and _IFMT) = _IFDIR;
|
||||
end;
|
||||
|
||||
function S_ISFIFO(m: longint): boolean; inline;
|
||||
begin
|
||||
result := (m and _IFMT) = _IFIFO;
|
||||
end;
|
||||
|
||||
function S_ISREG(m: longint): boolean; inline;
|
||||
begin
|
||||
result := (m and _IFMT) = _IFREG;
|
||||
end;
|
||||
|
||||
function S_ISLNK(m: longint): boolean; inline;
|
||||
begin
|
||||
result := (m and _IFMT) = _IFLNK;
|
||||
end;
|
||||
|
||||
function S_ISSOCK(m: longint): boolean; inline;
|
||||
begin
|
||||
result := (m and _IFMT) = _IFSOCK;
|
||||
end;
|
199
rtl/gba/libch.inc
Normal file
199
rtl/gba/libch.inc
Normal file
@ -0,0 +1,199 @@
|
||||
{
|
||||
This file is part of the Free Component Library (FCL)
|
||||
Copyright (c) 1999-2002 by the Free Pascal development team
|
||||
|
||||
BIOS functions unit for Nintendo DS
|
||||
Copyright (c) 2006 by Francesco Lombardi
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
*****************************************************************************}
|
||||
|
||||
type
|
||||
time_t = longint;
|
||||
ptime_t = ^time_t;
|
||||
|
||||
Ptm = ^tm;
|
||||
tm = record
|
||||
tm_sec: longint;
|
||||
tm_min: longint;
|
||||
tm_hour: longint;
|
||||
tm_mday: longint;
|
||||
tm_mon: longint;
|
||||
tm_year: longint;
|
||||
tm_wday: longint;
|
||||
tm_yday: longint;
|
||||
tm_isdst: longint;
|
||||
end;
|
||||
|
||||
|
||||
(* Some libc functions *)
|
||||
//function printf(format: Pchar; args: array of const): longint; cdecl; external;
|
||||
function printf(format: Pchar): longint; cdecl; varargs; external;
|
||||
//function sprintf(s: Pchar; format: Pchar; args: array of const): longint; cdecl; external;
|
||||
function sprintf(s: Pchar; format: Pchar): longint; varargs; cdecl; external;
|
||||
//function iprintf(format: Pchar; args: array of const): longint; cdecl; external;
|
||||
function iprintf(format: Pchar): longint; varargs; cdecl; external;
|
||||
//function scanf(format: Pchar; args: array of const): longint; cdecl; external;
|
||||
function scanf(format: Pchar): longint; cdecl; varargs; external;
|
||||
//function sscanf(s: Pchar; format: Pchar; args: array of const): longint; cdecl; external;
|
||||
function sscanf(s: Pchar; format: Pchar): longint; cdecl; varargs; external;
|
||||
function strcmp(s1: Pchar; s2: Pchar): longint; cdecl; external;
|
||||
|
||||
function malloc(size: integer): pointer; cdecl; external;
|
||||
function realloc(ptr: pointer; size: integer): pointer; cdecl; external;
|
||||
procedure free(ptr: pointer); cdecl; external;
|
||||
function memcpy(dest: pointer; src: pointer; n: integer): pointer; cdecl; external;
|
||||
|
||||
function gmtime(timer: ptime_t): ptm; cdecl; external;
|
||||
function time(timer: ptime_t): time_t; cdecl; external;
|
||||
|
||||
type
|
||||
TSort = function (const a, b: pointer): integer;
|
||||
procedure qsort(__base: pointer; __nmemb: integer; __size: integer; __compar: TSort); cdecl; external;
|
||||
|
||||
function __errno: plongint; cdecl; export;
|
||||
|
||||
type
|
||||
_FILE = record
|
||||
firstCluster: longword;
|
||||
length: longword;
|
||||
curPos: longword;
|
||||
curClus: longword; // Current cluster to read from
|
||||
curSect: integer; // Current sector within cluster
|
||||
curByte: integer; // Current byte within sector
|
||||
readBuffer: array [0..511] of byte; // Buffer used for unaligned reads
|
||||
appClus: longword; // Cluster to append to
|
||||
appSect: integer; // Sector within cluster for appending
|
||||
appByte: integer; // Byte within sector for appending
|
||||
read: boolean; // Can read from file
|
||||
write: boolean; // Can write to file
|
||||
append: boolean; // Can append to file
|
||||
inUse: boolean; // This file is open
|
||||
dirEntSector: longword; // The sector where the directory entry is stored
|
||||
dirEntOffset: integer; // The offset within the directory sector
|
||||
end;
|
||||
P_FILE = ^_FILE;
|
||||
|
||||
const
|
||||
SEEK_SET = 0;
|
||||
SEEK_CUR = 1;
|
||||
SEEK_END = 2;
|
||||
|
||||
(*
|
||||
------------------------------------------------------------------------------
|
||||
Directory iterator for mantaining state between dir* calls
|
||||
------------------------------------------------------------------------------
|
||||
*)
|
||||
type
|
||||
DIR_ITER = record
|
||||
device: longint;
|
||||
dirStruct: pointer;
|
||||
end;
|
||||
PDIR_ITER = ^DIR_ITER;
|
||||
|
||||
stat = packed record
|
||||
st_dev: longint;
|
||||
st_ino: longword;
|
||||
st_mode : longword;
|
||||
st_nlink : word;
|
||||
st_uid : word;
|
||||
st_gid : word;
|
||||
st_rdev : longint;
|
||||
st_size : longint;
|
||||
st_atime : longint;
|
||||
|
||||
st_spare1: longint;
|
||||
st_mtime: longint;
|
||||
st_spare2: longint;
|
||||
st_ctime: longint;
|
||||
st_spare3: longint;
|
||||
st_blksize: longint;
|
||||
st_blocks: longint;
|
||||
st_spare4: array [0..1] of longint;
|
||||
end;
|
||||
TStat = stat;
|
||||
PStat = ^stat;
|
||||
|
||||
const
|
||||
_IFMT = 0170000; // type of file
|
||||
_IFDIR = 0040000; // directory
|
||||
_IFCHR = 0020000; // character special
|
||||
_IFBLK = 0060000; // block special
|
||||
_IFREG = 0100000; // regular
|
||||
_IFLNK = 0120000; // symbolic link
|
||||
_IFSOCK = 0140000; // socket
|
||||
_IFIFO = 0010000; // fifo
|
||||
|
||||
S_BLKSIZE = 1024; // size of a block
|
||||
|
||||
S_ISUID = 0004000; // set user id on execution
|
||||
S_ISGID = 0002000; // set group id on execution
|
||||
|
||||
NAME_MAX = 767;
|
||||
|
||||
function S_ISBLK(m: longint): boolean; inline;
|
||||
function S_ISCHR(m: longint): boolean; inline;
|
||||
function S_ISDIR(m: longint): boolean; inline;
|
||||
function S_ISFIFO(m: longint): boolean; inline;
|
||||
function S_ISREG(m: longint): boolean; inline;
|
||||
function S_ISLNK(m: longint): boolean; inline;
|
||||
function S_ISSOCK(m: longint): boolean; inline;
|
||||
|
||||
|
||||
type
|
||||
dirent = record
|
||||
d_ino: longint;
|
||||
d_name: array [0..NAME_MAX] of char;
|
||||
end;
|
||||
PDirent = ^dirent;
|
||||
PPDirent = ^PDirent;
|
||||
|
||||
DIR = record
|
||||
position: longint;
|
||||
dirData: PDIR_ITER;
|
||||
fileData: dirent;
|
||||
end;
|
||||
PDIR = ^DIR;
|
||||
|
||||
(* DIR handling *)
|
||||
function closedir(dirp: PDIR): longint; cdecl; external;
|
||||
function opendir(const dirname: pchar): PDIR; cdecl; external;
|
||||
function readdir(dirp: PDIR): PDirent; cdecl; external;
|
||||
function readdir_r(dirp: PDIR; entry: PDirent; result: PPDirent): longint; cdecl; external;
|
||||
procedure rewinddir(dirp: PDIR); cdecl; external;
|
||||
procedure seekdir(dirp: PDIR; loc: longint); cdecl; external;
|
||||
function telldir(dirp: PDIR): longint; cdecl; external;
|
||||
|
||||
|
||||
function diropen(const path: pchar): PDIR_ITER; cdecl; external;
|
||||
function dirreset(dirState: PDIR_ITER): longint; cdecl; external;
|
||||
function dirnext(dirState: PDIR_ITER; filename: pchar; filestat: Pstat): longint; cdecl; external;
|
||||
function dirclose(dirState: PDIR_ITER): longint; cdecl; external;
|
||||
|
||||
(* File handling *)
|
||||
function fopen(filename: Pchar; modes: Pchar): P_FILE; cdecl; external;
|
||||
function fread(ptr: pointer; size: longint; n: longint; stream: P_FILE): longint; cdecl; external;
|
||||
function fread(var ptr; size: longint; n: longint; var stream: _FILE): longint; cdecl; external;
|
||||
function fwrite(ptr: pointer; size: longint; n: longint; s: P_FILE): longint; cdecl; external;
|
||||
function fwrite(var ptr; size: longint; n: longint; var s: _FILE): longint; cdecl; external;
|
||||
function ftell(stream: P_FILE): longint; cdecl; external;
|
||||
function ftell(var stream: _FILE): longint; cdecl; external;
|
||||
function fseek(stream: P_FILE; off: longint; whence: longint): longint; cdecl; external;
|
||||
function fseek(var stream: _FILE; off: longint; whence: longint): longint; cdecl; external;
|
||||
function fclose(stream: P_FILE): longint; cdecl; external;
|
||||
function fclose(var stream: _FILE): longint; cdecl; external;
|
||||
function isatty(fildes: longint): longint; cdecl; external;
|
||||
function fileno(para1: P_FILE): longint; cdecl; external;
|
||||
function fileno(var para1: _FILE): longint; cdecl; external;
|
||||
function fstat(fildes: longint; buf: PStat): longint; cdecl; external;
|
||||
function fstat(fildes: longint; var buf: TStat): longint; cdecl; external;
|
||||
function _stat(__file:Pchar; var __buf:Tstat):longint; cdecl; external name 'stat';
|
||||
function ftruncate(fildes: longint; len: longint): longint; cdecl; external;
|
||||
function unlink(path: Pchar): longint; cdecl; external;
|
||||
function rename(para1: Pchar; para2: Pchar): longint; cdecl; external;
|
@ -28,6 +28,10 @@ interface
|
||||
{$i systemh.inc}
|
||||
{$i gbabiosh.inc}
|
||||
|
||||
{$i libch.inc}
|
||||
|
||||
|
||||
|
||||
{$define fpc_softfpu_interface}
|
||||
{$i softfpu.pp}
|
||||
{$undef fpc_softfpu_interface}
|
||||
@ -48,24 +52,25 @@ const
|
||||
MaxPathLen = 255;
|
||||
AllFilesMask = '*';
|
||||
|
||||
|
||||
sLineBreak : string[1] = LineEnding;
|
||||
DefaultTextLineBreakStyle : TTextLineBreakStyle = tlbsCRLF;
|
||||
|
||||
const
|
||||
UnusedHandle = $ffff;
|
||||
StdInputHandle = 0;
|
||||
StdOutputHandle = 1;
|
||||
StdErrorHandle = $ffff;
|
||||
|
||||
|
||||
|
||||
|
||||
var
|
||||
argc: LongInt = 0;
|
||||
argv: PPChar;
|
||||
envp: PPChar;
|
||||
errno: integer;
|
||||
// errno: integer;
|
||||
fake_heap_end: ^byte; cvar; external;
|
||||
|
||||
|
||||
procedure randomize(value: integer);
|
||||
|
||||
implementation
|
||||
@ -89,9 +94,12 @@ implementation
|
||||
{$i system.inc}
|
||||
{$i gbabios.inc}
|
||||
|
||||
{$i libc.inc}
|
||||
|
||||
{$ifdef FPC_HAS_FEATURE_PROCESSES}
|
||||
function GetProcessID: SizeUInt;
|
||||
begin
|
||||
GetProcessID := 0;
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
@ -101,6 +109,7 @@ end;
|
||||
*****************************************************************************}
|
||||
procedure System_exit;
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
|
||||
@ -154,16 +163,16 @@ function paramstr(l : longint) : string;
|
||||
begin
|
||||
paramstr:='';
|
||||
end;
|
||||
{$endif}
|
||||
{$endif FPC_HAS_FEATURE_COMMANDARGS}
|
||||
|
||||
{$ifdef FPC_HAS_FEATURE_CONSOLEIO}
|
||||
{$ifdef FPC_HAS_FEATURE_TEXTIO}
|
||||
procedure SysInitStdIO;
|
||||
begin
|
||||
OpenStdIO(Input,fmInput,StdInputHandle);
|
||||
OpenStdIO(Output,fmOutput,StdOutputHandle);
|
||||
OpenStdIO(StdOut,fmOutput,StdOutputHandle);
|
||||
end;
|
||||
{$endif}
|
||||
{$endif FPC_HAS_FEATURE_TEXTIO}
|
||||
|
||||
|
||||
function CheckInitialStkLen(stklen : SizeUInt) : SizeUInt;
|
||||
@ -177,17 +186,19 @@ begin
|
||||
StackBottom := StackTop - StackLength;
|
||||
{ OS specific startup }
|
||||
|
||||
{ Set up signals handlers }
|
||||
fpc_cpucodeinit;
|
||||
|
||||
{ Setup heap }
|
||||
InitHeap;
|
||||
SysInitExceptions;
|
||||
{$ifdef FPC_HAS_FEATURE_CONSOLEIO}
|
||||
{ Setup stdin, stdout and stderr }
|
||||
SysInitStdIO;
|
||||
{$endif FPC_HAS_FEATURE_CONSOLEIO}
|
||||
{$ifdef FPC_HAS_FEATURE_CONSOLEIO}
|
||||
{ Reset IO Error }
|
||||
InOutRes:=0;
|
||||
{$endif FPC_HAS_FEATURE_CONSOLEIO}
|
||||
|
||||
{$ifdef FPC_HAS_FEATURE_THREADING}
|
||||
{ threading }
|
||||
InitSystemThreads;
|
||||
|
@ -33,11 +33,8 @@ _start:
|
||||
mov r0, #0 @ int argc
|
||||
mov r1, #0 @ char *argv[]
|
||||
ldr r3, =main
|
||||
bl _blx_r3_stub
|
||||
|
||||
@ If the user ever returns, return to flash cartridge
|
||||
mov r0, #0x08000000
|
||||
bx r0
|
||||
ldr lr,=__libnds_exit
|
||||
bx r3
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
_blx_r3_stub:
|
||||
|
@ -5,7 +5,7 @@
|
||||
.cpu arm946e-s
|
||||
@---------------------------------------------------------------------------------
|
||||
|
||||
.equ _libnds_argv, 0x027FFF70
|
||||
.equ _libnds_argv,0x02FFFE70
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
.section ".init"
|
||||
@ -19,123 +19,8 @@ _start:
|
||||
mov r0, #0x04000000 @ IME = 0;
|
||||
str r0, [r0, #0x208]
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ turn the power on for M3
|
||||
@---------------------------------------------------------------------------------
|
||||
ldr r1, =0x8203
|
||||
add r0,r0,#0x304
|
||||
strh r1, [r0]
|
||||
|
||||
ldr r1, =0x00002078 @ disable TCM and protection unit
|
||||
mcr p15, 0, r1, c1, c0
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ Protection Unit Setup added by Sasq
|
||||
@---------------------------------------------------------------------------------
|
||||
@ Disable cache
|
||||
mov r0, #0
|
||||
mcr p15, 0, r0, c7, c5, 0 @ Instruction cache
|
||||
mcr p15, 0, r0, c7, c6, 0 @ Data cache
|
||||
|
||||
@ Wait for write buffer to empty
|
||||
mcr p15, 0, r0, c7, c10, 4
|
||||
|
||||
ldr r0, =__dtcm_start
|
||||
orr r0,r0,#0x0a
|
||||
mcr p15, 0, r0, c9, c1,0 @ DTCM base = __dtcm_start, size = 16 KB
|
||||
|
||||
mov r0,#0x20
|
||||
mcr p15, 0, r0, c9, c1,1 @ ITCM base = 0 , size = 32 MB
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ Setup memory regions similar to Release Version
|
||||
@---------------------------------------------------------------------------------
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 0 - IO registers
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b11001 << 1) | 0x04000000 | 1)
|
||||
mcr p15, 0, r0, c6, c0, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 1 - Main Memory
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b10101 << 1) | 0x02000000 | 1)
|
||||
mcr p15, 0, r0, c6, c1, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 2 - alternate vector base
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b01011 << 1) | 0x00000000 | 1)
|
||||
mcr p15, 0, r0, c6, c2, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 3 - DS Accessory (GBA Cart)
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b11010 << 1) | 0x08000000 | 1)
|
||||
mcr p15, 0, r0, c6, c3, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 4 - DTCM
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=__dtcm_start
|
||||
orr r0,r0,#((0b01101 << 1) | 1)
|
||||
mcr p15, 0, r0, c6, c4, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 5 - ITCM
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=__itcm_start
|
||||
@ align to 32k boundary
|
||||
mov r0,r0,lsr #15
|
||||
mov r0,r0,lsl #15
|
||||
orr r0,r0,#((0b01110 << 1) | 1)
|
||||
mcr p15, 0, r0, c6, c5, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 6 - System ROM
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b01110 << 1) | 0xFFFF0000 | 1)
|
||||
mcr p15, 0, r0, c6, c6, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 7 - non cacheable main ram
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b10101 << 1) | 0x02400000 | 1)
|
||||
mcr p15, 0, r0, c6, c7, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Write buffer enable
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=0b00000010
|
||||
mcr p15, 0, r0, c3, c0, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ DCache & ICache enable
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=0b01000010
|
||||
mcr p15, 0, r0, c2, c0, 0
|
||||
mcr p15, 0, r0, c2, c0, 1
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ IAccess
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=0x36636633
|
||||
mcr p15, 0, r0, c5, c0, 3
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ DAccess
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=0x36333633
|
||||
mcr p15, 0, r0, c5, c0, 2
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Enable ICache, DCache, ITCM & DTCM
|
||||
@-------------------------------------------------------------------------
|
||||
mrc p15, 0, r0, c1, c0, 0
|
||||
ldr r1,= (1<<18) | (1<<16) | (1<<12) | (1<<2) | (1<<0)
|
||||
orr r0,r0,r1
|
||||
mcr p15, 0, r0, c1, c0, 0
|
||||
ldr r3,=__libnds_mpu_setup
|
||||
blx r3
|
||||
|
||||
mov r0, #0x12 @ Switch to IRQ Mode
|
||||
msr cpsr, r0
|
||||
@ -176,10 +61,6 @@ _start:
|
||||
ldr r1, =__sbss_end
|
||||
sub r1, r1, r0
|
||||
bl ClearMem
|
||||
|
||||
ldr r1, =fake_heap_end @ set heap end
|
||||
ldr r0, =__eheap_end
|
||||
str r0, [r1]
|
||||
|
||||
ldr r0, =_libnds_argv
|
||||
|
||||
@ -188,6 +69,10 @@ _start:
|
||||
ldr r1,=fake_heap_start
|
||||
str r2,[r1]
|
||||
|
||||
ldr r1, =fake_heap_end @ set heap end
|
||||
sub r8,r8,#0xc000
|
||||
str r8, [r1]
|
||||
|
||||
push {r0}
|
||||
ldr r3, =initSystem
|
||||
blx r3 @ system initialisation
|
||||
@ -200,16 +85,8 @@ _start:
|
||||
|
||||
|
||||
ldr r3, =main
|
||||
blx r3 @ jump to user code
|
||||
|
||||
@ If the user ever returns, go back to passme loop
|
||||
ldr r0, =ILoop
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x027FFE78
|
||||
str r0, [r1]
|
||||
bx r1
|
||||
ILoop:
|
||||
b ILoop
|
||||
ldr lr,=__libnds_exit
|
||||
bx r3 @ jump to user code
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ check for a commandline
|
||||
@ -221,10 +98,11 @@ checkARGV:
|
||||
str r1, [r0,#12] @ clear argc
|
||||
str r1, [r0,#16] @ clear argv
|
||||
|
||||
ldr r1, [r0] @ argv magic number
|
||||
ldr r2, =0x5f617267 @ '_arg'
|
||||
cmp r1, r2
|
||||
bxne lr @ bail out if no magic
|
||||
ldr r3, [r0] @ argv magic number
|
||||
ldr r2, =0x5f617267 @ '_arg'
|
||||
cmp r3, r2
|
||||
strne r1,[r0,#20]
|
||||
bxne lr @ bail out if no magic
|
||||
|
||||
ldr r1, [r0, #4] @ command line address
|
||||
ldr r2, [r0, #8] @ length of command line
|
||||
|
@ -30,12 +30,8 @@ _start:
|
||||
mov r0, #0 @ int argc
|
||||
mov r1, #0 @ char *argv[]
|
||||
ldr r3, =main
|
||||
bx r3
|
||||
nop
|
||||
|
||||
@ If the user ever returns, return to flash cartridge
|
||||
mov r0, #0x08000000
|
||||
bx r0
|
||||
ldr lr,=__libnds_exit
|
||||
bx r3
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ Clear memory to 0x00 if length != 0
|
||||
|
150
rtl/nds/prt09.as
150
rtl/nds/prt09.as
@ -5,7 +5,7 @@
|
||||
.cpu arm946e-s
|
||||
@---------------------------------------------------------------------------------
|
||||
|
||||
.equ _libnds_argv, 0x027FFF70
|
||||
.equ _libnds_argv,0x02FFFE70
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
.section ".init"
|
||||
@ -19,123 +19,8 @@ _start:
|
||||
mov r0, #0x04000000 @ IME = 0;
|
||||
str r0, [r0, #0x208]
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ turn the power on for M3
|
||||
@---------------------------------------------------------------------------------
|
||||
ldr r1, =0x8203
|
||||
add r0,r0,#0x304
|
||||
strh r1, [r0]
|
||||
|
||||
ldr r1, =0x00002078 @ disable TCM and protection unit
|
||||
mcr p15, 0, r1, c1, c0
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ Protection Unit Setup added by Sasq
|
||||
@---------------------------------------------------------------------------------
|
||||
@ Disable cache
|
||||
mov r0, #0
|
||||
mcr p15, 0, r0, c7, c5, 0 @ Instruction cache
|
||||
mcr p15, 0, r0, c7, c6, 0 @ Data cache
|
||||
|
||||
@ Wait for write buffer to empty
|
||||
mcr p15, 0, r0, c7, c10, 4
|
||||
|
||||
ldr r0, =__dtcm_start
|
||||
orr r0,r0,#0x0a
|
||||
mcr p15, 0, r0, c9, c1,0 @ DTCM base = __dtcm_start, size = 16 KB
|
||||
|
||||
mov r0,#0x20
|
||||
mcr p15, 0, r0, c9, c1,1 @ ITCM base = 0 , size = 32 MB
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ Setup memory regions similar to Release Version
|
||||
@---------------------------------------------------------------------------------
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 0 - IO registers
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b11001 << 1) | 0x04000000 | 1)
|
||||
mcr p15, 0, r0, c6, c0, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 1 - Main Memory
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b10101 << 1) | 0x02000000 | 1)
|
||||
mcr p15, 0, r0, c6, c1, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 2 - alternate vector base
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b01011 << 1) | 0x00000000 | 1)
|
||||
mcr p15, 0, r0, c6, c2, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 3 - DS Accessory (GBA Cart)
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b11010 << 1) | 0x08000000 | 1)
|
||||
mcr p15, 0, r0, c6, c3, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 4 - DTCM
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=__dtcm_start
|
||||
orr r0,r0,#((0b01101 << 1) | 1)
|
||||
mcr p15, 0, r0, c6, c4, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 5 - ITCM
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=__itcm_start
|
||||
@ align to 32k boundary
|
||||
mov r0,r0,lsr #15
|
||||
mov r0,r0,lsl #15
|
||||
orr r0,r0,#((0b01110 << 1) | 1)
|
||||
mcr p15, 0, r0, c6, c5, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 6 - System ROM
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b01110 << 1) | 0xFFFF0000 | 1)
|
||||
mcr p15, 0, r0, c6, c6, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 7 - non cacheable main ram
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( (0b10101 << 1) | 0x02400000 | 1)
|
||||
mcr p15, 0, r0, c6, c7, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Write buffer enable
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=0b00000010
|
||||
mcr p15, 0, r0, c3, c0, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ DCache & ICache enable
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=0b01000010
|
||||
mcr p15, 0, r0, c2, c0, 0
|
||||
mcr p15, 0, r0, c2, c0, 1
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ IAccess
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=0x36636633
|
||||
mcr p15, 0, r0, c5, c0, 3
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ DAccess
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=0x36333633
|
||||
mcr p15, 0, r0, c5, c0, 2
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Enable ICache, DCache, ITCM & DTCM
|
||||
@-------------------------------------------------------------------------
|
||||
mrc p15, 0, r0, c1, c0, 0
|
||||
ldr r1,= (1<<18) | (1<<16) | (1<<12) | (1<<2) | (1<<0)
|
||||
orr r0,r0,r1
|
||||
mcr p15, 0, r0, c1, c0, 0
|
||||
ldr r3,=__libnds_mpu_setup
|
||||
blx r3
|
||||
|
||||
mov r0, #0x12 @ Switch to IRQ Mode
|
||||
msr cpsr, r0
|
||||
@ -177,10 +62,6 @@ _start:
|
||||
sub r1, r1, r0
|
||||
bl ClearMem
|
||||
|
||||
ldr r1, =fake_heap_end @ set heap end
|
||||
ldr r0, =__eheap_end
|
||||
str r0, [r1]
|
||||
|
||||
ldr r0, =_libnds_argv
|
||||
|
||||
@ reset heap base
|
||||
@ -188,6 +69,10 @@ _start:
|
||||
ldr r1,=fake_heap_start
|
||||
str r2,[r1]
|
||||
|
||||
ldr r1, =fake_heap_end @ set heap end
|
||||
sub r8,r8,#0xc000
|
||||
str r8, [r1]
|
||||
|
||||
push {r0}
|
||||
ldr r3, =initSystem
|
||||
blx r3 @ system initialisation
|
||||
@ -200,16 +85,8 @@ _start:
|
||||
|
||||
|
||||
ldr r3, =main
|
||||
blx r3 @ jump to user code
|
||||
|
||||
@ If the user ever returns, go back to passme loop
|
||||
ldr r0, =ILoop
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x027FFE78
|
||||
str r0, [r1]
|
||||
bx r1
|
||||
ILoop:
|
||||
b ILoop
|
||||
ldr lr,=__libnds_exit
|
||||
bx r3 @ jump to user code
|
||||
|
||||
@---------------------------------------------------------------------------------
|
||||
@ check for a commandline
|
||||
@ -221,10 +98,11 @@ checkARGV:
|
||||
str r1, [r0,#12] @ clear argc
|
||||
str r1, [r0,#16] @ clear argv
|
||||
|
||||
ldr r1, [r0] @ argv magic number
|
||||
ldr r2, =0x5f617267 @ '_arg'
|
||||
cmp r1, r2
|
||||
bxne lr @ bail out if no magic
|
||||
ldr r3, [r0] @ argv magic number
|
||||
ldr r2, =0x5f617267 @ '_arg'
|
||||
cmp r3, r2
|
||||
strne r1,[r0,#20]
|
||||
bxne lr @ bail out if no magic
|
||||
|
||||
ldr r1, [r0, #4] @ command line address
|
||||
ldr r2, [r0, #8] @ length of command line
|
||||
|
Loading…
Reference in New Issue
Block a user