* Updated libndsfpc to 1.4.10:

+ Added support for Tetris paddle, Guitar Hero grip and easy piano controller
  + Added sdmmc support for reading DSi internal SD card
  + i2c communication functions for DSi
  + Added some time handling related examples 
  * Improved timing functions
  * Some small bug fixes and improvements, both in library and examples
  - Removed unused SVN macros from header and license infos to save space :)

git-svn-id: trunk@16879 -
This commit is contained in:
Legolas 2011-02-05 14:20:49 +00:00
parent b31c87a134
commit c3698c84be
82 changed files with 6231 additions and 2366 deletions

22
.gitattributes vendored
View File

@ -3973,11 +3973,6 @@ packages/libndsfpc/Makefile svneol=native#text/plain
packages/libndsfpc/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/Makefile svneol=native#text/plain
packages/libndsfpc/examples/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/RealTimeClock/Makefile svneol=native#text/plain
packages/libndsfpc/examples/RealTimeClock/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/RealTimeClock/Watch/Makefile svneol=native#text/plain
packages/libndsfpc/examples/RealTimeClock/Watch/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/RealTimeClock/Watch/watch.pp svneol=native#text/plain
packages/libndsfpc/examples/audio/Makefile svneol=native#text/plain
packages/libndsfpc/examples/audio/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/audio/maxmod/Makefile svneol=native#text/plain
@ -4164,6 +4159,7 @@ packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile svneol=native#tex
packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/graphics/3D/nehe/lesson10/data/Mud.pcx -text
packages/libndsfpc/examples/graphics/3D/nehe/lesson10/data/World.txt svneol=native#text/plain
packages/libndsfpc/examples/graphics/3D/nehe/lesson10/data/drunkenlogo.pcx -text
packages/libndsfpc/examples/graphics/3D/nehe/lesson10/lesson10.pp svneol=native#text/plain
packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile svneol=native#text/plain
packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile.fpc svneol=native#text/plain
@ -4288,6 +4284,17 @@ packages/libndsfpc/examples/input/keyboard/keyboard_async/keyboardAsync.pp svneo
packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile svneol=native#text/plain
packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/input/keyboard/keyboard_stdin/keyboardStdin.pp svneol=native#text/plain
packages/libndsfpc/examples/time/Makefile svneol=native#text/plain
packages/libndsfpc/examples/time/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/time/RealTimeClock/Makefile svneol=native#text/plain
packages/libndsfpc/examples/time/RealTimeClock/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/time/RealTimeClock/realtimeclock.pp svneol=native#text/plain
packages/libndsfpc/examples/time/stopwatch/Makefile svneol=native#text/plain
packages/libndsfpc/examples/time/stopwatch/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/time/stopwatch/stopwatch.pp svneol=native#text/plain
packages/libndsfpc/examples/time/timercallback/Makefile svneol=native#text/plain
packages/libndsfpc/examples/time/timercallback/Makefile.fpc svneol=native#text/plain
packages/libndsfpc/examples/time/timercallback/timercallback.pp svneol=native#text/plain
packages/libndsfpc/fpmake.pp svneol=native#text/plain
packages/libndsfpc/src/dswifi/dswifi7.pp svneol=native#text/plain
packages/libndsfpc/src/dswifi/dswifi9.pp svneol=native#text/plain
@ -4315,7 +4322,9 @@ packages/libndsfpc/src/maxmod/maxmod7.pp svneol=native#text/plain
packages/libndsfpc/src/maxmod/maxmod9.pp svneol=native#text/plain
packages/libndsfpc/src/nds/arm7/audio.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm7/clock.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm7/i2c.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm7/input.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm7/sdmmc.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm7/serial.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm7/touch.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/background.inc svneol=native#text/plain
@ -4326,13 +4335,16 @@ packages/libndsfpc/src/nds/arm9/decompress.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/dldi.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/dynamicArray.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/exceptions.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/guitarGrip.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/image.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/input.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/keyboard.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/linkedlist.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/math.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/ndsmotion.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/paddle.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/pcx.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/piano.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/postest.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/rumble.inc svneol=native#text/plain
packages/libndsfpc/src/nds/arm9/sassert.inc svneol=native#text/plain

62
.gitignore vendored
View File

@ -3074,30 +3074,13 @@ packages/libndsfpc/*.ppu
packages/libndsfpc/*.s
packages/libndsfpc/Package.fpc
packages/libndsfpc/build-stamp.*
packages/libndsfpc/build_docs.bat
packages/libndsfpc/examples/*.bak
packages/libndsfpc/examples/*.exe
packages/libndsfpc/examples/*.o
packages/libndsfpc/examples/*.ppu
packages/libndsfpc/examples/*.s
packages/libndsfpc/examples/Package.fpc
packages/libndsfpc/examples/RealTimeClock/*.bak
packages/libndsfpc/examples/RealTimeClock/*.exe
packages/libndsfpc/examples/RealTimeClock/*.o
packages/libndsfpc/examples/RealTimeClock/*.ppu
packages/libndsfpc/examples/RealTimeClock/*.s
packages/libndsfpc/examples/RealTimeClock/Package.fpc
packages/libndsfpc/examples/RealTimeClock/Watch/*.bak
packages/libndsfpc/examples/RealTimeClock/Watch/*.exe
packages/libndsfpc/examples/RealTimeClock/Watch/*.o
packages/libndsfpc/examples/RealTimeClock/Watch/*.ppu
packages/libndsfpc/examples/RealTimeClock/Watch/*.s
packages/libndsfpc/examples/RealTimeClock/Watch/Package.fpc
packages/libndsfpc/examples/RealTimeClock/Watch/build-stamp.*
packages/libndsfpc/examples/RealTimeClock/Watch/fpcmade.*
packages/libndsfpc/examples/RealTimeClock/Watch/units
packages/libndsfpc/examples/RealTimeClock/build-stamp.*
packages/libndsfpc/examples/RealTimeClock/fpcmade.*
packages/libndsfpc/examples/RealTimeClock/units
packages/libndsfpc/examples/audio/*.bak
packages/libndsfpc/examples/audio/*.exe
packages/libndsfpc/examples/audio/*.o
@ -4119,8 +4102,51 @@ packages/libndsfpc/examples/input/keyboard/keyboard_stdin/fpcmade.*
packages/libndsfpc/examples/input/keyboard/keyboard_stdin/units
packages/libndsfpc/examples/input/keyboard/units
packages/libndsfpc/examples/input/units
packages/libndsfpc/examples/time/*.bak
packages/libndsfpc/examples/time/*.exe
packages/libndsfpc/examples/time/*.o
packages/libndsfpc/examples/time/*.ppu
packages/libndsfpc/examples/time/*.s
packages/libndsfpc/examples/time/Package.fpc
packages/libndsfpc/examples/time/RealTimeClock/*.bak
packages/libndsfpc/examples/time/RealTimeClock/*.exe
packages/libndsfpc/examples/time/RealTimeClock/*.o
packages/libndsfpc/examples/time/RealTimeClock/*.ppu
packages/libndsfpc/examples/time/RealTimeClock/*.s
packages/libndsfpc/examples/time/RealTimeClock/Package.fpc
packages/libndsfpc/examples/time/RealTimeClock/build-stamp.*
packages/libndsfpc/examples/time/RealTimeClock/fpcmade.*
packages/libndsfpc/examples/time/RealTimeClock/units
packages/libndsfpc/examples/time/build-stamp.*
packages/libndsfpc/examples/time/fpcmade.*
packages/libndsfpc/examples/time/stopwatch/*.bak
packages/libndsfpc/examples/time/stopwatch/*.exe
packages/libndsfpc/examples/time/stopwatch/*.o
packages/libndsfpc/examples/time/stopwatch/*.ppu
packages/libndsfpc/examples/time/stopwatch/*.s
packages/libndsfpc/examples/time/stopwatch/Package.fpc
packages/libndsfpc/examples/time/stopwatch/build-stamp.*
packages/libndsfpc/examples/time/stopwatch/fpcmade.*
packages/libndsfpc/examples/time/stopwatch/units
packages/libndsfpc/examples/time/timercallback/*.bak
packages/libndsfpc/examples/time/timercallback/*.exe
packages/libndsfpc/examples/time/timercallback/*.o
packages/libndsfpc/examples/time/timercallback/*.ppu
packages/libndsfpc/examples/time/timercallback/*.s
packages/libndsfpc/examples/time/timercallback/Package.fpc
packages/libndsfpc/examples/time/timercallback/build-stamp.*
packages/libndsfpc/examples/time/timercallback/fpcmade.*
packages/libndsfpc/examples/time/timercallback/units
packages/libndsfpc/examples/time/units
packages/libndsfpc/examples/units
packages/libndsfpc/fpcmade.*
packages/libndsfpc/fpdoc.css
packages/libndsfpc/ndsDoc[!!-~]-[!!-~]Copia.xml
packages/libndsfpc/ndsDoc.blg
packages/libndsfpc/ndsDoc.chm
packages/libndsfpc/ndsDoc.new.xml
packages/libndsfpc/ndsDoc.xml
packages/libndsfpc/ndsDoc.~xml
packages/libndsfpc/src/*.bak
packages/libndsfpc/src/*.exe
packages/libndsfpc/src/*.o

View File

@ -1,93 +0,0 @@
#
# Makefile.fpc for Free Pascal libndsfpc 2.x.y Examples
#
[target]
loaders=
programs=watch
[require]
packages=libndsfpc
tools=bin2s mmutil grit rmdir
nortl=y
[install]
fpcpackage=y
[default]
cpu=arm
target=nds
fpcdir=../../../../..
[compiler]
options=-g -Xm
#-d__THUMB__
[clean]
files=*.elf *.o *.s *.nds *.nef *.h *.bin \
$(BUILD)/* \
$(INC)/*
units=*
[prerules]
BUILD = build
INC = inc
AUDIO_FILES = $(foreach dir, $(notdir $(wildcard audio/*.*)), $(CURDIR)/audio/$(dir))
GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
BIN_FILES = $(foreach dir,data,$(notdir $(wildcard $(dir)/*)))
[rules]
.NOTPARALLEL:
clean: dir_delete fpc_clean fpc_cleanall
all: dir_make $(BIN_FILES) $(GFX_FILES) fpc_all
#
# Delete temp directories
#
dir_delete:
@$(DELTREE) $(CURDIR)/$(BUILD)
@$(DELTREE) $(CURDIR)/$(INC)
#
# Create temp directories
#
dir_make:
ifneq ($(BUILD), $(CURDIR))
@$(MKDIR) $(BUILD)
endif
ifneq ($(INC), $(CURDIR))
@$(MKDIR) $(INC)
endif
#
# Audio files processing rule
#
soundbank.bin.o : $(AUDIO_FILES)
@$(MMUTIL) $^ -d -o$(BUILD)/soundbank.bin -h$(BUILD)/soundbank.h
$(BIN2S) $(BUILD)/soundbank.bin > $(BUILD)/soundbank.bin.s
$(AS) -o $(BUILD)/soundbank.bin.o $(BUILD)/soundbank.bin.s
#
# Png files processing rule
#
$(GFX_FILES): $(wildcard %.png)
@echo 'Converting $(@) file to asm...'
$(GRIT) gfx/$(@) -fts -ff gfx/$(basename $(@)).grit -o$(BUILD)/$(@)
@echo 'Assembling $(@).s file...'
$(AS) -o $(BUILD)/$(basename $(@)).o $(BUILD)/$(basename $(@)).s
@echo 'Done!'
#
# Binary files processing rule
#
$(BIN_FILES): $(wildcard %.*)
@echo 'Converting $(@) file to asm...'
@$(BIN2S) data/$(@) > $(BUILD)/$(@).s
@echo 'Creating $(@).inc include file...'
@echo "var" > `(echo "inc/"$(@F) | tr . .)`.inc
@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end: array [0..0] of cuint8; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`": array [0..0] of cuint8; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size": cuint32; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
@echo 'Assembling $(@).s file...'
@$(AS) -o $(BUILD)/$(@).o $(BUILD)/$(@).s
@echo 'Done!'

View File

@ -104,6 +104,7 @@ procedure initSubSprites();
var
x: integer;
y: integer;
id: integer;
offset: pcuint16;
begin
oamInit(oamSub, SpriteMapping_Bmp_2D_256, false);
@ -115,9 +116,13 @@ begin
for y := 0 to 2 do
for x := 0 to 3 do
begin
offset := pcuint16(@SPRITE_GFX_SUB[(x * 64) + (y * 64 * 256)]);
oamSet(oamSub, x + y * 4, x * 64, y * 64, 0, 15, SpriteSize_64x64,
SpriteColorFormat_Bmp, offset, -1, false,false,false,false,false);
// offset := pcuint16(@SPRITE_GFX_SUB[(x * 64) + (y * 64 * 256)]);
// oamSet(oamSub, x + y * 4, x * 64, y * 64, 0, 15, SpriteSize_64x64,
// SpriteColorFormat_Bmp, offset, -1, false,false,false,false,false);
oamSub.oamMemory[id].attribute[0] := ATTR0_BMP or ATTR0_SQUARE or (64 * y);
oamSub.oamMemory[id].attribute[1] := ATTR1_SIZE_64 or (64 * x);
oamSub.oamMemory[id].attribute[2] := ATTR2_ALPHA(1) or (8 * 32 * y) or (8 * x);
inc(id);
end;
swiWaitForVBlank();

View File

@ -61,7 +61,7 @@ begin
glPushMatrix();
//move it away from the camera
glTranslate3f32(0, 0, floattof32(-1.0));
glTranslatef32(0, 0, floattof32(-1.0));
glRotateX(rotateX);
glRotateY(rotateY);

View File

@ -98,7 +98,7 @@ begin
glMatrixMode(GL_POSITION);
glLoadIdentity();
glTranslate3f32(0, 0, floattof32(-3));
glTranslatef32(0, 0, floattof32(-3));
glRotateXi(rotateX);
glRotateYi(rotateY);

View File

@ -129,7 +129,7 @@ type
var
textureIDS: array [0..9] of cint;
textures: array [0..9] of TTextures;
i: integer;
i, j: integer;
rotateX: cfloat = 0.0;
rotateY: cfloat = 0.0;
keyspressed: cuint16;
@ -143,7 +143,7 @@ begin
//set mode 0, enable BG0 and set it to 3D
videoSetMode(MODE_0_3D);
consoleDemoInit();
consoleDebugInit(DebugDevice_NOCASH);
// initialize gl
glInit();
@ -175,7 +175,9 @@ begin
glLight(0, RGB15(31,31,31) , 0, floattov10(-0.5), floattov10(-0.85));
vramSetBankA(VRAM_A_TEXTURE);
vramSetBankF(VRAM_F_TEX_PALETTE_SLOT0);
vramSetBankG(VRAM_G_TEX_PALETTE_SLOT1);
glGenTextures(10, textureIDS);
// inital full 16 bit colour texture
@ -235,7 +237,10 @@ begin
glBindTexture(0, textureIDS[8]);
glTexImage2D(0, 0, GL_RGB32_A3, TEXTURE_SIZE_128, TEXTURE_SIZE_128, 0, TEXGEN_TEXCOORD, pcuint8(@texture8_RGB32_A3_tex_bin));
textures[8].format := GL_RGB32_A3;
textures[8].pal_addr := gluTexLoadPal( pcuint16(@texture8_RGB32_A3_pal_bin), 32, GL_RGB32_A3 );
// this line seems stupid, but for purposes of a demo, it will prove that you can
// load palettes to F and G by pushing the allocated textures from F and into G
for i := 0 to 299 do
textures[8].pal_addr := gluTexLoadPal( pcuint16(@texture8_RGB32_A3_pal_bin), 32, GL_RGB32_A3 );
textures[8].size := texture8_RGB32_A3_tex_bin_size+texture8_RGB32_A3_pal_bin_size;
glBindTexture(0, textureIDS[9]);
@ -304,6 +309,7 @@ begin
glPopMatrix(1);
glFlush(0);
swiWaitForVBlank();
end;
end.

View File

@ -110,7 +110,7 @@ begin
glPushMatrix(); // save the state of the modelview matrix while making the first pass
// draw the scene for displaying
glTranslate3f32(floattof32(2.9),floattof32(0),floattof32(0)); // translate the modelview matrix to the drawing location
glTranslatef32(floattof32(2.9),floattof32(0),floattof32(0)); // translate the modelview matrix to the drawing location
if (clicked = clCone) then
glPolyFmt(POLY_ALPHA(31) or POLY_CULL_BACK or POLY_FORMAT_LIGHT0 or POLY_ID(1)) // set a poly ID for outlining
else
@ -119,7 +119,7 @@ begin
glCallList((@cone_bin)); // draw a green cone from a predefined packed command list
glTranslate3f32(floattof32(-3),floattof32(1.8),floattof32(2)); // translate the modelview matrix to the drawing location
glTranslatef32(floattof32(-3),floattof32(1.8),floattof32(2)); // translate the modelview matrix to the drawing location
if (clicked = clCylinder) then
glPolyFmt(POLY_ALPHA(31) or POLY_CULL_BACK or POLY_FORMAT_LIGHT0 or POLY_ID(1)) // set a poly ID for outlining
else
@ -128,7 +128,7 @@ begin
glCallList((@cylinder_bin)); // draw a blue cylinder from a predefined packed command list
glTranslate3f32(floattof32(0.5),floattof32(-2.6),floattof32(-4)); // translate the modelview matrix to the drawing location
glTranslatef32(floattof32(0.5),floattof32(-2.6),floattof32(-4)); // translate the modelview matrix to the drawing location
if(clicked = clSphere) then
glPolyFmt(POLY_ALPHA(31) or POLY_CULL_BACK or POLY_FORMAT_LIGHT0 or POLY_ID(1)) // set a poly ID for outlining
else
@ -153,17 +153,17 @@ begin
glMatrixMode(GL_MODELVIEW); // switch back to modifying the modelview matrix for drawing
glTranslate3f32(floattof32(2.9),floattof32(0),floattof32(0)); // translate the modelview matrix to the drawing location
glTranslatef32(floattof32(2.9),floattof32(0),floattof32(0)); // translate the modelview matrix to the drawing location
startCheck();
glCallList((@cone_bin)); // draw a cone from a predefined packed command list
endCheck(clCone);
glTranslate3f32(floattof32(-3),floattof32(1.8),floattof32(2)); // translate the modelview matrix to the drawing location
glTranslatef32(floattof32(-3),floattof32(1.8),floattof32(2)); // translate the modelview matrix to the drawing location
startCheck();
glCallList((@cylinder_bin)); // draw a cylinder from a predefined packed command list
endCheck(clCylinder);
glTranslate3f32(floattof32(0.5),floattof32(-2.6),floattof32(-4)); // translate the modelview matrix to the drawing location
glTranslatef32(floattof32(0.5),floattof32(-2.6),floattof32(-4)); // translate the modelview matrix to the drawing location
startCheck();
glCallList((@sphere_bin)); // draw a sphere from a predefined packed command list
endCheck(clSphere);

View File

@ -42,7 +42,7 @@ begin
glPushMatrix();
//move it away from the camera
glTranslate3f32(0, 0, floattof32(-1));
glTranslatef32(0, 0, floattof32(-1));
glRotateX(rotateX);
glRotateY(rotateY);

View File

@ -43,7 +43,7 @@ begin
glPushMatrix();
//move it away from the camera
glTranslate3f32(0, 0, floattof32(-1));
glTranslatef32(0, 0, floattof32(-1));
glRotateX(rotateX);
glRotateY(rotateY);

View File

@ -79,6 +79,28 @@ begin
glVertex3v16(CubeVectors[f4*3], CubeVectors[f4*3 + 1], CubeVectors[f4*3 + 2] );
end;
procedure DisplayEnableMotionBlur();
var
dispcnt: cuint32;
begin
dispcnt := REG_DISPCNT^;
//set main display to display from VRAM
dispcnt := dispcnt and ($00030000 xor $FFFFFFFF);
dispcnt := dispcnt or (2 shl 16); //choose to display screen from VRAM
dispcnt := dispcnt and ($000C0000 xor $FFFFFFFF);
dispcnt := dispcnt or (1 shl 18); //choose to display screen from VRAM_B
REG_DISPCNT^ := dispcnt;
end;
procedure DisplayEnableNormal();
var
dispcnt: cuint32;
begin
dispcnt := REG_DISPCNT^;
dispcnt := dispcnt and ($00030000 xor $FFFFFFFF);
dispcnt := dispcnt or (1 shl 16); //choose to display screen from normal layer composition
REG_DISPCNT^ := dispcnt;
end;
var
textureID: integer;
@ -86,6 +108,7 @@ var
rotateX: cfloat = 0.0;
rotateY: cfloat = 0.0;
keys: cuint16;
displayBlurred: boolean;
begin
Initialize();
@ -109,6 +132,28 @@ begin
glClearPolyID(63); // BG must have a unique polygon ID for AA to work
glClearDepth($7FFF);
vramSetBankB(VRAM_B_LCD);
REG_DISPCAPCNT^ := DCAP_MODE(DCAP_MODE_BLEND) //blend source A and source B
//or DCAP_SRC_ADDR //this is not used since we are setting the display to render from VRAM
or DCAP_SRC_B(DCAP_SRC_B_VRAM)
or DCAP_SRC_A(DCAP_SRC_A_3DONLY)
or DCAP_SIZE(DCAP_SIZE_256x192)
or DCAP_OFFSET(0) //where to write the captured data within our chosen VRAM bank
or DCAP_BANK(DCAP_BANK_VRAM_B)
or DCAP_B(12) //blend mostly from B to make a very dramatic effect
or DCAP_A(4) //and blend only a little bit from the new scene
;
//but, dramatic effects tend to leave some garbage on the screen since the precision of the math is low,
//and we're not putting a lot of dampening on the effect.
//a more realistic value might be 8 and 8, but perhaps in a more complex 3d scene the garbage isn't such a bad thing
//since the scene is changing constantly
DisplayEnableMotionBlur();
displayBlurred := true;
vramSetBankA(VRAM_A_TEXTURE);
glGenTextures(1, @textureID);
@ -135,7 +180,7 @@ begin
glPushMatrix();
//move it away from the camera
glTranslate3f32(0, 0, floattof32(-1));
glTranslatef32(0, 0, floattof32(-1));
glRotateX(rotateX);
glRotateY(rotateY);
@ -166,6 +211,15 @@ begin
if((keys and KEY_LEFT)) <> 0 then rotateY := rotateY +3;
if((keys and KEY_RIGHT)) <> 0 then rotateY := rotateY -3;
if (keysDown() and KEY_A) <> 0 then
begin
displayBlurred := not displayBlurred;
if displayBlurred then
DisplayEnableMotionBlur()
else
DisplayEnableNormal();
end;
glBindTexture(0, textureID);
//draw the obj
@ -179,5 +233,8 @@ begin
glFlush(0);
swiWaitForVBlank();
//the display capture enable bit must be set again each frame if you want to continue capturing.
REG_DISPCAPCNT^ := REG_DISPCAPCNT^ or DCAP_ENABLE;
end;
end.

View File

@ -58,7 +58,7 @@ begin
glPushMatrix();
//move it away from the camera
glTranslate3f32(0, 0, floattof32(-1));
glTranslatef32(0, 0, floattof32(-1));
glRotateX(rotateX);
glRotateY(rotateY);

View File

@ -7,12 +7,14 @@ program Lesson10;
{$L build/Mud.pcx.o}
{$L build/World.txt.o}
{$L build/drunkenlogo.pcx.o}
uses
ctypes, nds9;
{$include inc/Mud.pcx.inc}
{$include inc/World.txt.inc}
{$include inc/drunkenlogo.pcx.inc}
const
piover180: cfloat = 0.0174532925;
@ -47,10 +49,17 @@ type
end;
SECTOR = tagSECTOR;
TCubeRot = record
x, y, z: cfloat;
end;
var
sector1: SECTOR; // Our Model Goes Here:
Myfile: pchar;
cuberot: TCubeRot;
procedure ShadowDemo(); forward;
function DrawGLScene(): boolean;
var
x_m, y_m, z_m: cfloat;
@ -104,6 +113,7 @@ begin
glTexCoord2f(u_m,v_m); glVertex3f(x_m,y_m,z_m);
glEnd();
end;
ShadowDemo();
DrawGLScene := true; // Everything Went OK
end;
@ -184,25 +194,125 @@ function LoadGLTextures(): boolean;
var
pcx: sImage;
begin
glGenTextures(2, @texture[0]);
//load our texture
loadPCX(pcuint8(Mud_pcx), @pcx);
image8to16(@pcx);
glGenTextures(1, @texture[0]);
glBindTexture(0, texture[0]);
glTexImage2D(0, 0, GL_RGB, TEXTURE_SIZE_128 , TEXTURE_SIZE_128, 0, TEXGEN_TEXCOORD or GL_TEXTURE_WRAP_S or GL_TEXTURE_WRAP_T, pcx.image.data8);
imageDestroy(@pcx);
loadPCX(pcuint8(drunkenlogo_pcx), @pcx);
image8to16(@pcx);
glBindTexture(0, texture[1]);
glTexImage2D(0, 0, GL_RGB, TEXTURE_SIZE_128, TEXTURE_SIZE_128, 0, TEXGEN_TEXCOORD, pcx.image.data8);
imageDestroy(@pcx);
result := true;
end;
procedure TransformCube();
begin
glRotatef(cubeRot.x, 1.0, 0.0, 0.0);
glRotatef(cubeRot.y, 0.0, 1.0, 0.0);
glRotatef(cubeRot.z, 0.0, 0.0, 1.0);
end;
procedure EmitCube();
begin
glPushMatrix();
glScalef(0.03, 0.03, 0.03);
glRotatef(cubeRot.x, 1.0, 0.0, 0.0);
glRotatef(cubeRot.y, 0.0, 1.0, 0.0);
glRotatef(cubeRot.z, 0.0, 0.0, 1.0);
glBegin(GL_QUADS);
// Front Face
glTexCoord2f(0.0, 0.0); glVertex3f(-1.0, -1.0, 1.0);
glTexCoord2f(1.0, 0.0); glVertex3f( 1.0, -1.0, 1.0);
glTexCoord2f(1.0, 1.0); glVertex3f( 1.0, 1.0, 1.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 1.0);
// Back Face
glTexCoord2f(1.0, 0.0); glVertex3f(-1.0, -1.0, -1.0);
glTexCoord2f(1.0, 1.0); glVertex3f(-1.0, 1.0, -1.0);
glTexCoord2f(0.0, 1.0); glVertex3f( 1.0, 1.0, -1.0);
glTexCoord2f(0.0, 0.0); glVertex3f( 1.0, -1.0, -1.0);
// Top Face
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, -1.0);
glTexCoord2f(0.0, 0.0); glVertex3f(-1.0, 1.0, 1.0);
glTexCoord2f(1.0, 0.0); glVertex3f( 1.0, 1.0, 1.0);
glTexCoord2f(1.0, 1.0); glVertex3f( 1.0, 1.0, -1.0);
// Bottom Face
glTexCoord2f(1.0, 1.0); glVertex3f(-1.0, -1.0, -1.0);
glTexCoord2f(0.0, 1.0); glVertex3f( 1.0, -1.0, -1.0);
glTexCoord2f(0.0, 0.0); glVertex3f( 1.0, -1.0, 1.0);
glTexCoord2f(1.0, 0.0); glVertex3f(-1.0, -1.0, 1.0);
// Right face
glTexCoord2f(1.0, 0.0); glVertex3f( 1.0, -1.0, -1.0);
glTexCoord2f(1.0, 1.0); glVertex3f( 1.0, 1.0, -1.0);
glTexCoord2f(0.0, 1.0); glVertex3f( 1.0, 1.0, 1.0);
glTexCoord2f(0.0, 0.0); glVertex3f( 1.0, -1.0, 1.0);
// Left Face
glTexCoord2f(0.0, 0.0); glVertex3f(-1.0, -1.0, -1.0);
glTexCoord2f(1.0, 0.0); glVertex3f(-1.0, -1.0, 1.0);
glTexCoord2f(1.0, 1.0); glVertex3f(-1.0, 1.0, 1.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, -1.0);
glEnd();
glPopMatrix(1);
end;
procedure ShadowDemo();
begin
cubeRot.y := cubeRot.y + 0.8;
//draw the actual cube
glPushMatrix();
glTranslatef(0.0, 0.4, -0.4); //draw the cube up in the air
TransformCube();
glBindTexture(GL_TEXTURE_2D, texture[1]);
EmitCube();
glPopMatrix(1);
//draw the shadow:
begin
//draw the cube shadow on the ground
glPushMatrix();
glTranslatef(0.0, 0.0, -0.4);
TransformCube();
//use no texture. set shadow color: we'll use green just to show that it is possible
glBindTexture(0, 0);
glColor(RGB15(0, 8, 0));
//1st shadow pass
//be sure to use opaque here
glPolyFmt(POLY_SHADOW or POLY_CULL_FRONT or POLY_ALPHA(31));
EmitCube();
//2nd shadow pass
//be sure to use a different polyID here (shadow with polyID 0 can't be cast on surface with polyID 0)
//we set the fog bit here because we want the shadow to be fogged later. i think it may be buggy but it looks better.
glPolyFmt(POLY_SHADOW or POLY_CULL_BACK or POLY_ALPHA(15) or POLY_ID(1) or POLY_FOG);
EmitCube();
//reset poly attribute
glPolyFmt(POLY_ALPHA(31) or POLY_CULL_NONE or POLY_FORMAT_LIGHT0 or POLY_FOG);
glPopMatrix(1);
end;
end;
var
thisXY: touchPosition;
lastXY: touchPosition;
dx, dy: cint16;
i: integer;
begin
MyFile := pchar(@World_txt);
// Setup the Main screen for 3D
@ -220,6 +330,9 @@ begin
// enable antialiasing
glEnable(GL_ANTIALIAS);
// enable alpha blending for shadow demo
glEnable(GL_BLEND);
// setup the rear plane
glClearColor(0,0,0,31); // BG must be opaque for AA to work
glClearPolyID(63); // BG must have a unique polygon ID for AA to work
@ -235,7 +348,7 @@ begin
glLoadIdentity();
gluPerspective(70, 256.0 / 192.0, 0.1, 100);
glLight(0, RGB15(31,31,31) , 0, floattov10(-1.0), 0);
glLight(0, RGB15(31,31,31) , 0, floattov10(-1.0), 0);
//need to set up some material properties since DS does not have them set by default
glMaterialf(GL_AMBIENT, RGB15(16,16,16));
@ -247,11 +360,24 @@ begin
glMaterialShinyness();
//ds specific, several attributes can be set here
glPolyFmt(POLY_ALPHA(31) or POLY_CULL_NONE or POLY_FORMAT_LIGHT0);
glPolyFmt(POLY_ALPHA(31) or POLY_CULL_NONE or POLY_FORMAT_LIGHT0 or POLY_FOG);
// Set the current matrix to be the model matrix
glMatrixMode(GL_MODELVIEW);
//setup demo fog parameters
//these parameters are somewhat arbitrary, and designed to illustrate fog in just this one case.
//you will certainly need to tweak them for your own use.
//be sure to have set the POLY_FOG bit on any material you want to be fogged.
glEnable(GL_FOG);
glFogShift(2);
glFogColor(0, 0, 0, 0);
for i := 0 to 31 do
glFogDensity(i, i * 4);
glFogDensity(31, 127);
glFogOffset($6000);
while true do
begin
@ -299,7 +425,6 @@ begin
walkbias := tsin(walkbiasangle) / 20.0;
end;
glColor3f(1,1,1);
DrawGLScene();

View File

@ -72,7 +72,7 @@ begin
glRotatef32i(lookupdown, (1 shl 12), 0, 0);
glRotatef32i( sceneroty, 0, (1 shl 12), 0);
glTranslate3f32(xtrans, ytrans, ztrans);
glTranslatef32(xtrans, ytrans, ztrans);
glBindTexture(GL_TEXTURE_2D, texture[0]);
numtriangles := sector1.numtriangles;
@ -182,6 +182,9 @@ begin
result := true;
end;
var
held: integer;
begin
MyFile := pchar(@World_txt);
@ -236,25 +239,25 @@ begin
begin
//these little button functions are pretty handy
scanKeys();
held := keysHeld();
if (held and KEY_A) <> 0 then lookupdown := lookupdown - 1;
if (keysHeld() and KEY_A) <> 0 then lookupdown := lookupdown - 1;
if (held and KEY_B) <> 0 then lookupdown := lookupdown + 1;
if (keysHeld() and KEY_B) <> 0 then lookupdown := lookupdown + 1;
if (keysHeld() and KEY_LEFT) <> 0 then
if (held and KEY_LEFT) <> 0 then
begin
heading := heading + 64;
yrot := heading;
end;
if (keysHeld() and KEY_RIGHT) <> 0 then
if (held and KEY_RIGHT) <> 0 then
begin
heading := heading - 64;
yrot := heading;
end;
if (keysHeld() and KEY_DOWN) <> 0 then
if (held and KEY_DOWN) <> 0 then
begin
xpos := xpos + sinLerp(heading) div 20;
@ -265,7 +268,7 @@ begin
walkbias := sinLerp(walkbiasangle) div 20;
end;
if (keysHeld() and KEY_UP) <> 0 then
if (held and KEY_UP) <> 0 then
begin
xpos := xpos - sinLerp(heading) div 20;
zpos := zpos - cosLerp(heading) div 20;

View File

@ -34,6 +34,10 @@ begin
decompress(@drunkenlogoBitmap, BG_GFX, LZ77Vram);
while true do
begin
swiWaitForVBlank();
ScanKeys();
if (keysDown() and KEY_START) <> 0 then
break;
end;
end.

View File

@ -19,7 +19,7 @@ begin
//set the first two banks as background memory and the third as sub background memory
//D is not used..if you need a bigger background then you will need to map
//more vram banks consecutivly (VRAM A-D are all 0x20000 bytes in size)
vramSetMainBanks( VRAM_A_MAIN_BG_0x06000000, VRAM_B_MAIN_BG_0x06020000,
vramSetPrimaryBanks(VRAM_A_MAIN_BG_0x06000000, VRAM_B_MAIN_BG_0x06020000,
VRAM_C_SUB_BG, VRAM_D_LCD);
consoleDemoInit();

View File

@ -41,7 +41,7 @@ begin
gfx := nil;
size := SpriteSize_32x32;
format := SpriteColorFormat_256Color;
rotationIndex := -1;
rotationIndex := 0;
paletteAlpha := 0;
x := 20;
y := 80;
@ -52,7 +52,7 @@ begin
gfx := nil;
size := SpriteSize_32x32;
format := SpriteColorFormat_16Color;
rotationIndex := -1;
rotationIndex := 0;
paletteAlpha := 1;
x := 20;
y := 136;

View File

@ -83,7 +83,7 @@ begin
DISPLAY_BG1_ACTIVE );
//vram banks are somewhat complex
vramSetMainBanks(VRAM_A_LCD, VRAM_B_LCD, VRAM_C_SUB_BG, VRAM_D_SUB_SPRITE);
vramSetPrimaryBanks(VRAM_A_LCD, VRAM_B_LCD, VRAM_C_SUB_BG, VRAM_D_SUB_SPRITE);
//load our ball pcx file into an image
loadPCX(pcuint8(ball_pcx), @ball);

View File

@ -59,12 +59,6 @@ begin
lcdMainOnBottom();
initOAM();
//enable vram and map it to the right places
vramSetMainBanks( VRAM_A_MAIN_SPRITE, //A and B maped consecutively as sprite memory
VRAM_B_MAIN_SPRITE, //this gives us 256KB which is the max
VRAM_C_MAIN_BG_0x06000000, //map C to background memory
VRAM_D_LCD //not using D
);
//set the video mode
videoSetMode( MODE_0_2D or

View File

@ -1,8 +1,8 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/09/29]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/11/11]
#
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 i386-nativent i386-iphonesim 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-solaris 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 mipsel-linux
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 powerpc-gamecube powerpc-wii sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris 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 mipsel-linux
BSDs = freebsd netbsd openbsd darwin
UNIXs = linux $(BSDs) solaris qnx haiku
LIMIT83fs = go32v2 os2 emx watcom
@ -245,7 +245,7 @@ endif
ifndef CROSSBINDIR
CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
endif
ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
ifeq ($(OS_TARGET),darwin)
ifeq ($(OS_SOURCE),darwin)
DARWIN2DARWIN=1
endif
@ -265,190 +265,190 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
endif
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-haiku)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-netware)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-emx)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-wince)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),i386-symbian)
override TARGET_DIRS+=Watch
endif
ifeq ($(FULL_TARGET),i386-nativent)
override TARGET_DIRS+=Watch
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-gamecube)
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),arm-darwin)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),arm-wince)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),arm-gba)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),arm-nds)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),arm-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),arm-symbian)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),avr-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),armeb-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),armeb-embedded)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
ifeq ($(FULL_TARGET),mipsel-linux)
override TARGET_DIRS+=Watch
override TARGET_DIRS+=RealTimeClock timercallback stopwatch
endif
override INSTALL_FPCPACKAGE=y
ifdef REQUIRE_UNITSDIR
@ -778,7 +778,7 @@ DEBUGSYMEXT=.xcoff
SHORTSUFFIX=mac
IMPORTLIBPREFIX=imp
endif
ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
ifeq ($(OS_TARGET),darwin)
BATCHEXT=.sh
EXEEXT=
HASSHAREDLIB=1
@ -789,13 +789,24 @@ EXEEXT=.gba
SHAREDLIBEXT=.so
SHORTSUFFIX=gba
endif
ifeq ($(OS_TARGET),nds)
EXEEXT=.nds
SHAREDLIBEXT=.so
SHORTSUFFIX=nds
endif
ifeq ($(OS_TARGET),symbian)
SHAREDLIBEXT=.dll
SHORTSUFFIX=symbian
endif
ifeq ($(OS_TARGET),NativeNT)
SHAREDLIBEXT=.dll
SHORTSUFFIX=nativent
ifeq ($(OS_TARGET),gamecube)
EXEEXT=.dol
SHAREDLIBEXT=.so
SHORTSUFFIX=gamecube
endif
ifeq ($(OS_TARGET),wii)
EXEEXT=.dol
SHAREDLIBEXT=.so
SHORTSUFFIX=wii
endif
else
ifeq ($(OS_TARGET),go32v1)
@ -1282,12 +1293,6 @@ endif
ifeq ($(FULL_TARGET),i386-symbian)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),i386-nativent)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),m68k-linux)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
@ -1333,6 +1338,12 @@ endif
ifeq ($(FULL_TARGET),powerpc-embedded)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),powerpc-gamecube)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),powerpc-wii)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),sparc-linux)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
@ -1771,235 +1782,449 @@ fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIR
fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
fpc_makefiles: fpc_makefile fpc_makefile_dirs
ifeq ($(FULL_TARGET),i386-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-go32v2)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-win32)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-os2)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-freebsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-beos)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-haiku)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-netbsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-solaris)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-qnx)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-netware)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-openbsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-wdosx)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-darwin)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-emx)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-watcom)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-wince)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),i386-symbian)
TARGET_DIRS_WATCH=1
endif
ifeq ($(FULL_TARGET),i386-nativent)
TARGET_DIRS_WATCH=1
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),m68k-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),m68k-amiga)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),m68k-atari)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),m68k-palmos)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),m68k-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-macos)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-gamecube)
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc-wii)
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),sparc-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),sparc-solaris)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),sparc-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),x86_64-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),x86_64-solaris)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),x86_64-win64)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),arm-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),arm-palmos)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),arm-darwin)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),arm-wince)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),arm-gba)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),arm-nds)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),arm-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),arm-symbian)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),avr-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),armeb-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),armeb-embedded)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifeq ($(FULL_TARGET),mipsel-linux)
TARGET_DIRS_WATCH=1
TARGET_DIRS_REALTIMECLOCK=1
TARGET_DIRS_TIMERCALLBACK=1
TARGET_DIRS_STOPWATCH=1
endif
ifdef TARGET_DIRS_WATCH
Watch_all:
$(MAKE) -C Watch all
Watch_debug:
$(MAKE) -C Watch debug
Watch_smart:
$(MAKE) -C Watch smart
Watch_release:
$(MAKE) -C Watch release
Watch_units:
$(MAKE) -C Watch units
Watch_examples:
$(MAKE) -C Watch examples
Watch_shared:
$(MAKE) -C Watch shared
Watch_install:
$(MAKE) -C Watch install
Watch_sourceinstall:
$(MAKE) -C Watch sourceinstall
Watch_exampleinstall:
$(MAKE) -C Watch exampleinstall
Watch_distinstall:
$(MAKE) -C Watch distinstall
Watch_zipinstall:
$(MAKE) -C Watch zipinstall
Watch_zipsourceinstall:
$(MAKE) -C Watch zipsourceinstall
Watch_zipexampleinstall:
$(MAKE) -C Watch zipexampleinstall
Watch_zipdistinstall:
$(MAKE) -C Watch zipdistinstall
Watch_clean:
$(MAKE) -C Watch clean
Watch_distclean:
$(MAKE) -C Watch distclean
Watch_cleanall:
$(MAKE) -C Watch cleanall
Watch_info:
$(MAKE) -C Watch info
Watch_makefiles:
$(MAKE) -C Watch makefiles
Watch:
$(MAKE) -C Watch all
.PHONY: Watch_all Watch_debug Watch_smart Watch_release Watch_units Watch_examples Watch_shared Watch_install Watch_sourceinstall Watch_exampleinstall Watch_distinstall Watch_zipinstall Watch_zipsourceinstall Watch_zipexampleinstall Watch_zipdistinstall Watch_clean Watch_distclean Watch_cleanall Watch_info Watch_makefiles Watch
ifdef TARGET_DIRS_REALTIMECLOCK
RealTimeClock_all:
$(MAKE) -C RealTimeClock all
RealTimeClock_debug:
$(MAKE) -C RealTimeClock debug
RealTimeClock_smart:
$(MAKE) -C RealTimeClock smart
RealTimeClock_release:
$(MAKE) -C RealTimeClock release
RealTimeClock_units:
$(MAKE) -C RealTimeClock units
RealTimeClock_examples:
$(MAKE) -C RealTimeClock examples
RealTimeClock_shared:
$(MAKE) -C RealTimeClock shared
RealTimeClock_install:
$(MAKE) -C RealTimeClock install
RealTimeClock_sourceinstall:
$(MAKE) -C RealTimeClock sourceinstall
RealTimeClock_exampleinstall:
$(MAKE) -C RealTimeClock exampleinstall
RealTimeClock_distinstall:
$(MAKE) -C RealTimeClock distinstall
RealTimeClock_zipinstall:
$(MAKE) -C RealTimeClock zipinstall
RealTimeClock_zipsourceinstall:
$(MAKE) -C RealTimeClock zipsourceinstall
RealTimeClock_zipexampleinstall:
$(MAKE) -C RealTimeClock zipexampleinstall
RealTimeClock_zipdistinstall:
$(MAKE) -C RealTimeClock zipdistinstall
RealTimeClock_clean:
$(MAKE) -C RealTimeClock clean
RealTimeClock_distclean:
$(MAKE) -C RealTimeClock distclean
RealTimeClock_cleanall:
$(MAKE) -C RealTimeClock cleanall
RealTimeClock_info:
$(MAKE) -C RealTimeClock info
RealTimeClock_makefiles:
$(MAKE) -C RealTimeClock makefiles
RealTimeClock:
$(MAKE) -C RealTimeClock all
.PHONY: RealTimeClock_all RealTimeClock_debug RealTimeClock_smart RealTimeClock_release RealTimeClock_units RealTimeClock_examples RealTimeClock_shared RealTimeClock_install RealTimeClock_sourceinstall RealTimeClock_exampleinstall RealTimeClock_distinstall RealTimeClock_zipinstall RealTimeClock_zipsourceinstall RealTimeClock_zipexampleinstall RealTimeClock_zipdistinstall RealTimeClock_clean RealTimeClock_distclean RealTimeClock_cleanall RealTimeClock_info RealTimeClock_makefiles RealTimeClock
endif
ifdef TARGET_DIRS_TIMERCALLBACK
timercallback_all:
$(MAKE) -C timercallback all
timercallback_debug:
$(MAKE) -C timercallback debug
timercallback_smart:
$(MAKE) -C timercallback smart
timercallback_release:
$(MAKE) -C timercallback release
timercallback_units:
$(MAKE) -C timercallback units
timercallback_examples:
$(MAKE) -C timercallback examples
timercallback_shared:
$(MAKE) -C timercallback shared
timercallback_install:
$(MAKE) -C timercallback install
timercallback_sourceinstall:
$(MAKE) -C timercallback sourceinstall
timercallback_exampleinstall:
$(MAKE) -C timercallback exampleinstall
timercallback_distinstall:
$(MAKE) -C timercallback distinstall
timercallback_zipinstall:
$(MAKE) -C timercallback zipinstall
timercallback_zipsourceinstall:
$(MAKE) -C timercallback zipsourceinstall
timercallback_zipexampleinstall:
$(MAKE) -C timercallback zipexampleinstall
timercallback_zipdistinstall:
$(MAKE) -C timercallback zipdistinstall
timercallback_clean:
$(MAKE) -C timercallback clean
timercallback_distclean:
$(MAKE) -C timercallback distclean
timercallback_cleanall:
$(MAKE) -C timercallback cleanall
timercallback_info:
$(MAKE) -C timercallback info
timercallback_makefiles:
$(MAKE) -C timercallback makefiles
timercallback:
$(MAKE) -C timercallback all
.PHONY: timercallback_all timercallback_debug timercallback_smart timercallback_release timercallback_units timercallback_examples timercallback_shared timercallback_install timercallback_sourceinstall timercallback_exampleinstall timercallback_distinstall timercallback_zipinstall timercallback_zipsourceinstall timercallback_zipexampleinstall timercallback_zipdistinstall timercallback_clean timercallback_distclean timercallback_cleanall timercallback_info timercallback_makefiles timercallback
endif
ifdef TARGET_DIRS_STOPWATCH
stopwatch_all:
$(MAKE) -C stopwatch all
stopwatch_debug:
$(MAKE) -C stopwatch debug
stopwatch_smart:
$(MAKE) -C stopwatch smart
stopwatch_release:
$(MAKE) -C stopwatch release
stopwatch_units:
$(MAKE) -C stopwatch units
stopwatch_examples:
$(MAKE) -C stopwatch examples
stopwatch_shared:
$(MAKE) -C stopwatch shared
stopwatch_install:
$(MAKE) -C stopwatch install
stopwatch_sourceinstall:
$(MAKE) -C stopwatch sourceinstall
stopwatch_exampleinstall:
$(MAKE) -C stopwatch exampleinstall
stopwatch_distinstall:
$(MAKE) -C stopwatch distinstall
stopwatch_zipinstall:
$(MAKE) -C stopwatch zipinstall
stopwatch_zipsourceinstall:
$(MAKE) -C stopwatch zipsourceinstall
stopwatch_zipexampleinstall:
$(MAKE) -C stopwatch zipexampleinstall
stopwatch_zipdistinstall:
$(MAKE) -C stopwatch zipdistinstall
stopwatch_clean:
$(MAKE) -C stopwatch clean
stopwatch_distclean:
$(MAKE) -C stopwatch distclean
stopwatch_cleanall:
$(MAKE) -C stopwatch cleanall
stopwatch_info:
$(MAKE) -C stopwatch info
stopwatch_makefiles:
$(MAKE) -C stopwatch makefiles
stopwatch:
$(MAKE) -C stopwatch all
.PHONY: stopwatch_all stopwatch_debug stopwatch_smart stopwatch_release stopwatch_units stopwatch_examples stopwatch_shared stopwatch_install stopwatch_sourceinstall stopwatch_exampleinstall stopwatch_distinstall stopwatch_zipinstall stopwatch_zipsourceinstall stopwatch_zipexampleinstall stopwatch_zipdistinstall stopwatch_clean stopwatch_distclean stopwatch_cleanall stopwatch_info stopwatch_makefiles stopwatch
endif
all: $(addsuffix _all,$(TARGET_DIRS))
debug: $(addsuffix _debug,$(TARGET_DIRS))

View File

@ -3,7 +3,7 @@
#
[target]
dirs=Watch
dirs=RealTimeClock timercallback stopwatch
[require]
packages=libndsfpc

View File

@ -1,8 +1,8 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/09/29]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/11/11]
#
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 i386-nativent i386-iphonesim 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-solaris 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 mipsel-linux
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 powerpc-gamecube powerpc-wii sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris 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 mipsel-linux
BSDs = freebsd netbsd openbsd darwin
UNIXs = linux $(BSDs) solaris qnx haiku
LIMIT83fs = go32v2 os2 emx watcom
@ -247,7 +247,7 @@ endif
ifndef CROSSBINDIR
CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
endif
ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
ifeq ($(OS_TARGET),darwin)
ifeq ($(OS_SOURCE),darwin)
DARWIN2DARWIN=1
endif
@ -267,195 +267,193 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
endif
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
BUILD = build
INC = inc
AUDIO_FILES = $(foreach dir, $(notdir $(wildcard audio/*.*)), $(CURDIR)/audio/$(dir))
AUDIO_FILES = $(foreach dir,$(notdir $(wildcard audio/*.*)),$(CURDIR)/audio/$(dir))
GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
BIN_FILES = $(foreach dir,data,$(notdir $(wildcard $(dir)/*)))
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-haiku)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-netware)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-emx)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-wince)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-symbian)
override TARGET_PROGRAMS+=watch
endif
ifeq ($(FULL_TARGET),i386-nativent)
override TARGET_PROGRAMS+=watch
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-gamecube)
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),arm-darwin)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),arm-wince)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),arm-gba)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),arm-nds)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),arm-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),arm-symbian)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),avr-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),armeb-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),armeb-embedded)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),mipsel-linux)
override TARGET_PROGRAMS+=watch
override TARGET_PROGRAMS+=RealTimeClock
endif
ifeq ($(FULL_TARGET),i386-linux)
override CLEAN_UNITS+=*
@ -517,12 +515,6 @@ endif
ifeq ($(FULL_TARGET),i386-symbian)
override CLEAN_UNITS+=*
endif
ifeq ($(FULL_TARGET),i386-nativent)
override CLEAN_UNITS+=*
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
override CLEAN_UNITS+=*
endif
ifeq ($(FULL_TARGET),m68k-linux)
override CLEAN_UNITS+=*
endif
@ -568,6 +560,12 @@ endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override CLEAN_UNITS+=*
endif
ifeq ($(FULL_TARGET),powerpc-gamecube)
override CLEAN_UNITS+=*
endif
ifeq ($(FULL_TARGET),powerpc-wii)
override CLEAN_UNITS+=*
endif
ifeq ($(FULL_TARGET),sparc-linux)
override CLEAN_UNITS+=*
endif
@ -644,378 +642,192 @@ ifeq ($(FULL_TARGET),mipsel-linux)
override CLEAN_UNITS+=*
endif
ifeq ($(FULL_TARGET),i386-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-win32)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-os2)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-beos)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-haiku)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-solaris)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-qnx)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-netware)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-darwin)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-emx)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-watcom)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-wince)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),i386-symbian)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
endif
ifeq ($(FULL_TARGET),i386-nativent)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),m68k-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),m68k-atari)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-gamecube)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc-wii)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),sparc-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),arm-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),arm-palmos)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),arm-darwin)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),arm-wince)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),arm-gba)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),arm-nds)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),arm-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),arm-symbian)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),avr-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),armeb-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),armeb-embedded)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
ifeq ($(FULL_TARGET),mipsel-linux)
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/* $(INC)/*
override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin $(BUILD)/*
endif
override INSTALL_FPCPACKAGE=y
ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-win32)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-os2)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-beos)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-haiku)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-solaris)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-qnx)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-netware)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-darwin)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-emx)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-watcom)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-wince)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-symbian)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-nativent)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),m68k-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),m68k-atari)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),arm-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),arm-darwin)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),arm-wince)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),arm-gba)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),arm-nds)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),arm-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),arm-symbian)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),avr-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),armeb-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),armeb-embedded)
override COMPILER_OPTIONS+=-g -Xm
endif
ifeq ($(FULL_TARGET),mipsel-linux)
override COMPILER_OPTIONS+=-g -Xm
endif
ifdef REQUIRE_UNITSDIR
override UNITSDIR+=$(REQUIRE_UNITSDIR)
endif
@ -1343,7 +1155,7 @@ DEBUGSYMEXT=.xcoff
SHORTSUFFIX=mac
IMPORTLIBPREFIX=imp
endif
ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
ifeq ($(OS_TARGET),darwin)
BATCHEXT=.sh
EXEEXT=
HASSHAREDLIB=1
@ -1354,13 +1166,24 @@ EXEEXT=.gba
SHAREDLIBEXT=.so
SHORTSUFFIX=gba
endif
ifeq ($(OS_TARGET),nds)
EXEEXT=.nds
SHAREDLIBEXT=.so
SHORTSUFFIX=nds
endif
ifeq ($(OS_TARGET),symbian)
SHAREDLIBEXT=.dll
SHORTSUFFIX=symbian
endif
ifeq ($(OS_TARGET),NativeNT)
SHAREDLIBEXT=.dll
SHORTSUFFIX=nativent
ifeq ($(OS_TARGET),gamecube)
EXEEXT=.dol
SHAREDLIBEXT=.so
SHORTSUFFIX=gamecube
endif
ifeq ($(OS_TARGET),wii)
EXEEXT=.dol
SHAREDLIBEXT=.so
SHORTSUFFIX=wii
endif
else
ifeq ($(OS_TARGET),go32v1)
@ -1847,12 +1670,6 @@ endif
ifeq ($(FULL_TARGET),i386-symbian)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),i386-nativent)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),m68k-linux)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
@ -1898,6 +1715,12 @@ endif
ifeq ($(FULL_TARGET),powerpc-embedded)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),powerpc-gamecube)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),powerpc-wii)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
ifeq ($(FULL_TARGET),sparc-linux)
REQUIRE_PACKAGES_LIBNDSFPC=1
endif
@ -2523,15 +2346,6 @@ GRIT:=$(firstword $(GRIT))
endif
endif
export GRIT
ifndef RMDIR
RMDIR:=$(strip $(wildcard $(addsuffix /rmdir$(SRCEXEEXT),$(SEARCHPATH))))
ifeq ($(RMDIR),)
RMDIR= __missing_command_RMDIR
else
RMDIR:=$(firstword $(RMDIR))
endif
endif
export RMDIR
debug: fpc_debug
smart: fpc_smart
release: fpc_release
@ -2546,45 +2360,25 @@ zipinstall:
zipsourceinstall:
zipexampleinstall:
zipdistinstall:
clean: fpc_clean
distclean: fpc_distclean
cleanall: fpc_cleanall
info: fpc_info
makefiles: fpc_makefiles
.PHONY: debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall distclean cleanall info makefiles
.PHONY: debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
ifneq ($(wildcard fpcmake.loc),)
include fpcmake.loc
endif
.NOTPARALLEL:
clean: dir_delete fpc_clean fpc_cleanall
all: dir_make $(BIN_FILES) $(GFX_FILES) fpc_all
dir_delete:
@$(DELTREE) $(CURDIR)/$(BUILD)
@$(DELTREE) $(CURDIR)/$(INC)
dir_make:
all: direc fpc_all
direc:
ifneq ($(BUILD), $(CURDIR))
@$(MKDIR) $(BUILD)
endif
ifneq ($(INC), $(CURDIR))
@$(MKDIR) $(INC)
$(MKDIR) $(BUILD)
endif
soundbank.bin.o : $(AUDIO_FILES)
@$(MMUTIL) $^ -d -o$(BUILD)/soundbank.bin -h$(BUILD)/soundbank.h
$(BIN2S) $(BUILD)/soundbank.bin > $(BUILD)/soundbank.bin.s
$(AS) -o $(BUILD)/soundbank.bin.o $(BUILD)/soundbank.bin.s
$(GFX_FILES): $(wildcard %.png)
@echo 'Converting $(@) file to asm...'
$(GRIT) gfx/$(@) -fts -ff gfx/$(basename $(@)).grit -o$(BUILD)/$(@)
@echo 'Assembling $(@).s file...'
$(AS) -o $(BUILD)/$(basename $(@)).o $(BUILD)/$(basename $(@)).s
@echo 'Done!'
$(BIN_FILES): $(wildcard %.*)
@echo 'Converting $(@) file to asm...'
@$(BIN2S) data/$(@) > $(BUILD)/$(@).s
@echo 'Creating $(@).inc include file...'
@echo "var" > `(echo "inc/"$(@F) | tr . .)`.inc
@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end: array [0..0] of cuint8; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`": array [0..0] of cuint8; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
@echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size": cuint32; cvar; external;" >> `(echo "inc/"$(@F) | tr . .)`.inc
@echo 'Assembling $(@).s file...'
@$(AS) -o $(BUILD)/$(@).o $(BUILD)/$(@).s
@echo 'Done!'
$(GFX_FILES).o:
$(GRIT) gfx/$(GFX_FILES) -fts -ff gfx/$(basename $(GFX_FILES)).grit -o$(BUILD)/$(GFX_FILES)
$(AS) -o $(BUILD)/$(basename $(GFX_FILES)).o $(BUILD)/$(basename $(GFX_FILES)).s

View File

@ -0,0 +1,46 @@
#
# Makefile.fpc for Free Pascal libndsfpc 2.x.y Examples
#
[target]
loaders=
programs=RealTimeClock
[require]
packages=libndsfpc
tools=bin2s mmutil grit
nortl=y
[install]
fpcpackage=y
[default]
cpu=arm
target=nds
fpcdir=../../../../..
[clean]
files=*.elf *.o *.s *.nds *.nef *.h *.bin \
$(BUILD)/*
units=*
[prerules]
BUILD = build
AUDIO_FILES = $(foreach dir,$(notdir $(wildcard audio/*.*)),$(CURDIR)/audio/$(dir))
GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
[rules]
.NOTPARALLEL:
all: direc fpc_all
direc:
ifneq ($(BUILD), $(CURDIR))
$(MKDIR) $(BUILD)
endif
soundbank.bin.o : $(AUDIO_FILES)
@$(MMUTIL) $^ -d -o$(BUILD)/soundbank.bin -h$(BUILD)/soundbank.h
$(BIN2S) $(BUILD)/soundbank.bin > $(BUILD)/soundbank.bin.s
$(AS) -o $(BUILD)/soundbank.bin.o $(BUILD)/soundbank.bin.s
$(GFX_FILES).o:
$(GRIT) gfx/$(GFX_FILES) -fts -ff gfx/$(basename $(GFX_FILES)).grit -o$(BUILD)/$(GFX_FILES)
$(AS) -o $(BUILD)/$(basename $(GFX_FILES)).o $(BUILD)/$(basename $(GFX_FILES)).s

View File

@ -1,4 +1,4 @@
program watch;
program realtimeclock;
{$mode objfpc}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,46 @@
#
# Makefile.fpc for Free Pascal libndsfpc 2.x.y Examples
#
[target]
loaders=
programs=stopwatch
[require]
packages=libndsfpc
tools=bin2s mmutil grit
nortl=y
[install]
fpcpackage=y
[default]
cpu=arm
target=nds
fpcdir=../../../../..
[clean]
files=*.elf *.o *.s *.nds *.nef *.h *.bin \
$(BUILD)/*
units=*
[prerules]
BUILD = build
AUDIO_FILES = $(foreach dir,$(notdir $(wildcard audio/*.*)),$(CURDIR)/audio/$(dir))
GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
[rules]
.NOTPARALLEL:
all: direc fpc_all
direc:
ifneq ($(BUILD), $(CURDIR))
$(MKDIR) $(BUILD)
endif
soundbank.bin.o : $(AUDIO_FILES)
@$(MMUTIL) $^ -d -o$(BUILD)/soundbank.bin -h$(BUILD)/soundbank.h
$(BIN2S) $(BUILD)/soundbank.bin > $(BUILD)/soundbank.bin.s
$(AS) -o $(BUILD)/soundbank.bin.o $(BUILD)/soundbank.bin.s
$(GFX_FILES).o:
$(GRIT) gfx/$(GFX_FILES) -fts -ff gfx/$(basename $(GFX_FILES)).grit -o$(BUILD)/$(GFX_FILES)
$(AS) -o $(BUILD)/$(basename $(GFX_FILES)).o $(BUILD)/$(basename $(GFX_FILES)).s

View File

@ -0,0 +1,68 @@
program stopwatch;
{$mode objfpc}
uses
ctypes, nds9;
//the speed of the timer when using ClockDivider_1024
const
TIMER_SPEED = (BUS_CLOCK div 1024);
type
TTimerStates = (timerState_Stop, timerState_Pause, timerState_Running);
var
ticks: cuint = 0;
state: TTimerStates = timerState_Stop;
down: cint;
begin
consoleDemoInit();
down := keysDown();
while (down and KEY_START) = 0 do
begin
swiWaitForVBlank();
consoleClear();
scanKeys();
down := keysDown();
if (state = timerState_Running) then
ticks := ticks + timerElapsed(0);
if (down and KEY_A) <> 0 then
begin
if (state = timerState_Stop) then
begin
timerStart(0, ClockDivider_1024, 0, nil);
state := timerState_Running;
end else
if (state = timerState_Pause) then
begin
timerUnpause(0);
state := timerState_Running;
end else
if (state = timerState_Running) then
begin
ticks := ticks + timerPause(0);
state := timerState_Pause;
end;
end else
if (down and KEY_B) <> 0 then
begin
timerStop(0);
ticks := 0;
state := timerState_Stop;
end;
iprintf('Press A to start and pause the '#10'timer, B to clear the timer '#10'and start to quit the program.'#10#10);
iprintf('ticks: %u'#10, ticks);
iprintf('second: %u:%u'#10, ticks div TIMER_SPEED, ((ticks mod TIMER_SPEED) * 1000) div TIMER_SPEED);
end;
if (state <> timerState_Stop) then
timerStop(0);
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,46 @@
#
# Makefile.fpc for Free Pascal libndsfpc 2.x.y Examples
#
[target]
loaders=
programs=timercallback
[require]
packages=libndsfpc
tools=bin2s mmutil grit
nortl=y
[install]
fpcpackage=y
[default]
cpu=arm
target=nds
fpcdir=../../../../..
[clean]
files=*.elf *.o *.s *.nds *.nef *.h *.bin \
$(BUILD)/*
units=*
[prerules]
BUILD = build
AUDIO_FILES = $(foreach dir,$(notdir $(wildcard audio/*.*)),$(CURDIR)/audio/$(dir))
GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
[rules]
.NOTPARALLEL:
all: direc fpc_all
direc:
ifneq ($(BUILD), $(CURDIR))
$(MKDIR) $(BUILD)
endif
soundbank.bin.o : $(AUDIO_FILES)
@$(MMUTIL) $^ -d -o$(BUILD)/soundbank.bin -h$(BUILD)/soundbank.h
$(BIN2S) $(BUILD)/soundbank.bin > $(BUILD)/soundbank.bin.s
$(AS) -o $(BUILD)/soundbank.bin.o $(BUILD)/soundbank.bin.s
$(GFX_FILES).o:
$(GRIT) gfx/$(GFX_FILES) -fts -ff gfx/$(basename $(GFX_FILES)).grit -o$(BUILD)/$(GFX_FILES)
$(AS) -o $(BUILD)/$(basename $(GFX_FILES)).o $(BUILD)/$(basename $(GFX_FILES)).s

View File

@ -0,0 +1,44 @@
program timercallback;
{$mode objfpc}
uses
ctypes, nds9;
procedure waitfor(keys: cint);
begin
scanKeys();
while ((keysDown() and keys) = 0) do
begin
swiWaitForVBlank();
scanKeys();
end;
end;
var
channel: cuint = 0;
play: boolean = true;
//this function will be called by the timer.
procedure timerCallBack();
begin
if (play) then
soundPause(channel)
else
soundResume(channel);
play := not play;
end;
begin
soundEnable();
channel := soundPlayPSG(DutyCycle_50, 10000, 127, 64);
//calls the timerCallBack function 5 times per second.
timerStart(0, ClockDivider_1024, TIMER_FREQ_1024(5), @timerCallBack);
waitfor(KEY_A);
end.

View File

@ -1,45 +1,5 @@
(*
$Id: audio.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifndef ARM7}
{$error Audio is only available on the ARM7}
{$error Audio is only available on the ARM7}
{$endif ARM7}

View File

@ -1,45 +1,5 @@
(*
$Id: clock.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifndef ARM7}
{$error The clock is only available on the ARM7}
{$error The clock is only available on the ARM7}
{$endif ARM7}
{$ifdef NDS_INTERFACE}

View File

@ -0,0 +1,34 @@
{$ifndef ARM7}
{$error i2c header is for ARM7 only}
{$endif}
{$ifdef NDS_INTERFACE}
const
REG_I2CDATA : pcuint8 = pointer($4004500);
REG_I2CCNT : pcuint8 = pointer($4004501);
procedure i2cWaitBusy(); inline;
type
i2cDevices = integer;
const
I2C_CAM0: i2cDevices = $7A;
I2C_CAM1: i2cDevices = $78;
I2C_UNK1: i2cDevices = $A0;
I2C_UNK2: i2cDevices = $E0;
I2C_PM : i2cDevices = $4A;
I2C_UNK3: i2cDevices = $40;
I2C_UNK4: i2cDevices = $90;
function i2cWriteRegister(device, reg, data: cuint8): cuint8; cdecl; external;
function i2cReadRegister(device, reg: cuint8): cuint8; cdecl; external;
{$endif NDS_INTERFACE}
{$ifdef NDS_IMPLEMENTATION}
procedure i2cWaitBusy(); inline;
begin
while (REG_I2CCNT^ and $80) <> 0 do;
end;
{$endif NDS_IMPLEMENTATION}

View File

@ -1,5 +1,3 @@
{$ifdef NDS_INTERFACE}
procedure inputGetAndSend(); cdecl; external;
{$endif NDS_INTERFACE}

View File

@ -0,0 +1,94 @@
{$ifdef NDS_INTERFACE}
const
SDMMC_BASE = $04004800;
DISPSTAT_CHK_VBLANK = (1 shl 0);
REG_SDSTATUS0 = $1c;
REG_SDSTATUS1 = $1e;
REG_SDRESET = $e0;
REG_SDCLKCTL = $24;
REG_SDOPT = $28;
REG_SDCMD = $00;
REG_SDCMDARG = $04;
REG_SDCMDARG0 = $04;
REG_SDCMDARG1 = $06;
REG_SDSTOP = $08;
REG_SDRESP = $0c;
REG_SDRESP0 = $0c;
REG_SDRESP1 = $0e;
REG_SDRESP2 = $10;
REG_SDRESP3 = $12;
REG_SDRESP4 = $14;
REG_SDRESP5 = $16;
REG_SDRESP6 = $18;
REG_SDRESP7 = $1a;
REG_SDBLKLEN = $26;
REG_SDBLKCOUNT = $0a;
REG_SDFIFO = $30;
TMIO_STAT_CMDRESPEND = $00000001;
TMIO_STAT_DATAEND = $00000004;
TMIO_STAT_CARD_REMOVE = $00000008;
TMIO_STAT_CARD_INSERT = $00000010;
TMIO_STAT_SIGSTATE = $00000020;
TMIO_STAT_WRPROTECT = $00000080;
TMIO_STAT_CARD_REMOVE_A = $00000100;
TMIO_STAT_CARD_INSERT_A = $00000200;
TMIO_STAT_SIGSTATE_A = $00000400;
TMIO_STAT_CMD_IDX_ERR = $00010000;
TMIO_STAT_CRCFAIL = $00020000;
TMIO_STAT_STOPBIT_ERR = $00040000;
TMIO_STAT_DATATIMEOUT = $00080000;
TMIO_STAT_RXOVERFLOW = $00100000;
TMIO_STAT_TXUNDERRUN = $00200000;
TMIO_STAT_CMDTIMEOUT = $00400000;
TMIO_STAT_RXRDY = $01000000;
TMIO_STAT_TXRQ = $02000000;
TMIO_STAT_ILL_FUNC = $20000000;
TMIO_STAT_CMD_BUSY = $40000000;
TMIO_STAT_ILL_ACCESS = $80000000;
procedure sdmmc_controller_init(); cdecl; external;
procedure sdmmc_initirq(); cdecl; external;
function sdmmc_cardinserted(): cint; cdecl; external;
function sdmmc_sdcard_init(): cint; cdecl; external;
procedure sdmmc_sdcard_readsector(sector_no: cuint32; _out: pointer); cdecl; external;
procedure sdmmc_sdcard_readsectors(sector_no: cuint32; int numsectors: cint; _out: pointer); cdecl; external;
procedure sdmmc_sdcard_writesector(sector_no: cuint32; _in: pointer); cdecl; external;
procedure sdmmc_sdcard_writesectors(sector_no: cuint32; int numsectors: cint; _in: pointer); cdecl; external;
var
sdmmc_curdevice: cint; cvar; external;
sdmmc_cid: pcuint32; cvar; external;
function sdmmc_read16(reg: cuint16): cuint16; inline;
procedure sdmmc_write16(reg, val: cuint16); inline;
procedure sdmmc_mask16(reg, clear, _set: cuint16); inline;
{$endif NDS_INTERFACE}
{$ifdef NDS_IMPLEMENTATION}
function sdmmc_read16(reg: cuint16): cuint16; inline;
begin
sdmmc_read16 := pcuint16(SDMMC_BASE + reg)^;
end;
procedure sdmmc_write16(reg, val: cuint16); inline;
begin
pcuint16(SDMMC_BASE + reg)^ := val;
end;
procedure sdmmc_mask16(reg, clear, _set: cuint16); inline;
var
val: cuint16;
begin
val := sdmmc_read16(reg);
val := val and not clear;
val := val or _set;
sdmmc_write16(reg, val);
end;
{$endif NDS_IMPLEMENTATION}

View File

@ -1,45 +1,5 @@
(*
$Id: serial.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifndef ARM7}
{$error Serial header is for ARM7 only}
{$error Serial header is for ARM7 only}
{$endif ARM7}
{$ifdef NDS_INTERFACE}

View File

@ -1,45 +1,5 @@
(*
$Id: touch.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifndef ARM7}
{$error Touch screen is only available on the ARM7}
{$error Touch screen is only available on the ARM7}
{$endif ARM7}
{$ifdef NDS_INTERFACE}

View File

@ -1,43 +1,3 @@
(*
$Id: background.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type
bg_scroll = record

View File

@ -1,44 +1,3 @@
(*
$Id: boxtest.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
function BoxTest(x, y, z, width, height, depth: v16): cint; cdecl; external;

View File

@ -1,53 +1,8 @@
(*
$Id: cache.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
procedure IC_InvalidateAll(); cdecl; external;
procedure IC_InvalidateRange(const base: pointer; size: cuint32); cdecl; external;
procedure DC_FlushAll(); cdecl; external;
procedure DC_FlushRange(const base: pointer; size: cuint32); cdecl; external;
procedure DC_InvalidateAll(); cdecl; external;
procedure DC_InvalidateRange(const base: pointer; size: cuint32); cdecl; external;
{$endif NDS_INTERFACE}

View File

@ -1,43 +1,3 @@
(*
$Id: console.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
//const
// CONSOLE_USE_COLOR255 = 16;
@ -117,7 +77,7 @@ const
procedure consoleSetFont(console: PPrintConsole; font: PConsoleFont); cdecl; external;
procedure consoleSetWindow(console: PPrintConsole; x, y, width, height: cint); cdecl; external;
function consoleGetDefault(): PPrintConsole; cdecl; external;
procedure consoleSelect(console: PPrintConsole); cdecl; external;
function consoleSelect(console: PPrintConsole): PPrintConsole; cdecl; external;
function consoleInit(console: PPrintConsole; layer: cint; atype: BgType; size: BgSize; mapBase,
tileBase: cint; mainDisplay: cbool; loadGraphics: cbool): pPrintConsole; cdecl; external;
function consoleDemoInit(): PPrintConsole; cdecl; external;

View File

@ -1,43 +1,3 @@
(*
$Id$
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
//type

View File

@ -1,43 +1,3 @@
(*
$Id: dynamicArray.inc 13585 2009-08-23 13:57:45Z Legolas $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type
DynamicArray = record

View File

@ -1,43 +1,3 @@
(*
$Id: exceptions.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
const
EXCEPTION_VECTOR : ^VoidFn = pointer($2FFFD9C);

View File

@ -0,0 +1,17 @@
{$ifdef NDS_INTERFACE}
const
GUITARGRIP_GREEN = (1 shl 6);
GUITARGRIP_RED = (1 shl 5);
GUITARGRIP_YELLOW = (1 shl 4);
GUITARGRIP_BLUE = (1 shl 3);
function guitarGripIsInserted(): cbool; cdecl; external;
procedure guitarGripScanKeys(); cdecl; external;
function guitarGripKeysHeld(): cuint8; cdecl; external;
function guitarGripKeysDown(): cuint8; cdecl; external;
function guitarGripKeysUp(): cuint8; cdecl; external;
{$endif NDS_INTERFACE}

View File

@ -1,43 +1,3 @@
(*
$Id: image.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type
//holds a rgb triplet

View File

@ -1,43 +1,3 @@
(*
$Id: input.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
procedure scanKeys(); cdecl; external;

View File

@ -1,30 +1,3 @@
(*---------------------------------------------------------------------------------
A simple linked list data structure
Copyright (C) 2008
Jason Rogers (dovoto)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
---------------------------------------------------------------------------------*)
{$ifdef NDS_INTERFACE}
type

View File

@ -1,43 +1,3 @@
(*
$Id: math.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
// Math coprocessor register definitions
const

View File

@ -1,41 +1,3 @@
(*
$Id: ndsmotion.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2007
Michael Noland (joat)
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2007 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type
MotionCalibration = record

View File

@ -0,0 +1,6 @@
{$ifdef NDS_INTERFACE}
function paddleIsInserted(): cbool; cdecl; external;
function paddleRead(): cuint16; cdecl; external;
procedure paddleReset(); cdecl; external;
{$endif NDS_INTERFACE}

View File

@ -1,43 +1,3 @@
(*
$Id: pcx.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type
// short int = cint16???

View File

@ -0,0 +1,24 @@
{$ifdef NDS_INTERFACE}
const
PIANO_PAK: pcuint16 = pointer($09FFFFFE);
PIANO_C = (1 shl 0);
PIANO_CS = (1 shl 1);
PIANO_D = (1 shl 2);
PIANO_DS = (1 shl 3);
PIANO_E = (1 shl 4);
PIANO_F = (1 shl 5);
PIANO_FS = (1 shl 6);
PIANO_G = (1 shl 7);
PIANO_GS = (1 shl 8);
PIANO_A = (1 shl 9);
PIANO_AS = (1 shl 10);
PIANO_B = (1 shl 13);
PIANO_C2 = (1 shl 14);
function pianoIsInserted(): cbool; cdecl; external;
procedure pianoScanKeys(); cdecl; external;
function pianoKeysHeld(): cuint16; cdecl; external;
function pianoKeysDown(): cuint16; cdecl; external;
function pianoKeysUp(): cuint16; cdecl; external;
{$endif NDS_INTERFACE}

View File

@ -1,41 +1,3 @@
(*
$Id: postest.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2007
Michael Noland (joat)
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2007 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_IMPLEMENTATION}
function PosTestBusy(): cbool; inline;
begin

View File

@ -1,43 +1,3 @@
(*
$Id: rumble.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
const
RUMBLE_PAK: pcuint16 = pointer($08000000);

View File

@ -1,44 +1,3 @@
(*
$Id$
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
procedure __sassert(const fileName: pchar; lineNumber: cint; const conditionString: pchar; const amessage: pchar); cdecl; external;
procedure sassert(e: boolean; msg: string); inline;

View File

@ -1,43 +1,3 @@
(*
$Id: sound.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type

View File

@ -1,45 +1,3 @@
(*
$Id: sprite.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
sprite.h -- definitions for DS sprites
Copyright (C) 2007
Liran Nuna (LiraNuna)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifndef ARM9}
{$error Sprites are only available on the ARM9}
{$endif ARM9}

View File

@ -1,43 +1,3 @@
(*
$Id: trig_lut.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
const
DEGREES_IN_CIRCLE = (1 shl 15);

View File

@ -1,43 +1,3 @@
(*
$Id: video.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifndef ARM9}
{$error Video is only available on the ARM9}
{$endif ARM9}
@ -89,6 +49,7 @@ const
VRAM_B_CR : pcuint8 = pointer($04000241);
VRAM_C_CR : pcuint8 = pointer($04000242);
VRAM_D_CR : pcuint8 = pointer($04000243);
VRAM_EFG_CR : pcuint8 = pointer($04000244);
VRAM_E_CR : pcuint8 = pointer($04000244);
VRAM_F_CR : pcuint8 = pointer($04000245);
VRAM_G_CR : pcuint8 = pointer($04000246);
@ -261,9 +222,12 @@ var
VRAM_G_EXT_PALETTE : P_ext_palette absolute VRAM_G;
VRAM_H_EXT_PALETTE : P_ext_palette absolute VRAM_H;
function vramSetMainBanks(a: VRAM_A_TYPE; b: VRAM_B_TYPE; c: VRAM_C_TYPE; d: VRAM_D_TYPE): cuint32; cdecl; external;
function vramSetPrimaryBanks(a: VRAM_A_TYPE; b: VRAM_B_TYPE; c: VRAM_C_TYPE; d: VRAM_D_TYPE): cuint32; cdecl; external;
function vramSetMainBanks(a: VRAM_A_TYPE; b: VRAM_B_TYPE; c: VRAM_C_TYPE; d: VRAM_D_TYPE): cuint32; cdecl; external; deprecated;
function vramDefault(): cuint32; cdecl; external;
procedure vramRestoreMainBanks(vramTemp: cuint32); cdecl; external;
procedure vramRestorePrimaryBanks(vramTemp: cuint32); cdecl; external;
procedure vramRestoreMainBanks(vramTemp: cuint32); cdecl; external; deprecated;
procedure vramRestoreBanks_EFG(vramTemp: cuint32); cdecl; external;
procedure vramSetBankA(a: VRAM_A_TYPE); inline;
procedure vramSetBankB(b: VRAM_B_TYPE); inline;
@ -426,14 +390,33 @@ const
DCAP_ENABLE = (1 shl 31);
function DCAP_MODE(n: cint): cint; inline;
function DCAP_DST(n: cint): cint; inline;
function DCAP_SRC_ADDR(n: cint): cint; inline;
function DCAP_SRC(n: cint): cint; inline;
function DCAP_SRC_A(n: cint): cint;
function DCAP_SRC_B(n: cint): cint;
function DCAP_SIZE(n: cint): cint; inline;
function DCAP_OFFSET(n: cint): cint; inline;
function DCAP_BANK(n: cint): cint; inline;
function DCAP_B(n: cint): cint; inline;
function DCAP_A(n: cint): cint; inline;
const
DCAP_MODE_A = 0;
DCAP_MODE_B = 1;
DCAP_MODE_BLEND = 2;
DCAP_SRC_A_COMPOSITED = 0;
DCAP_SRC_A_3DONLY = 1;
DCAP_SRC_B_VRAM = 0;
DCAP_SRC_B_DISPFIFO = 1;
DCAP_SIZE_128x128 = 0;
DCAP_SIZE_256x64 = 1;
DCAP_SIZE_256x128 = 2;
DCAP_SIZE_256x192 = 3;
DCAP_BANK_VRAM_A = 0;
DCAP_BANK_VRAM_B = 1;
DCAP_BANK_VRAM_C = 1;
DCAP_BANK_VRAM_D = 2;
const
GFX_CONTROL : pcuint16 = pointer($04000060);
@ -599,9 +582,9 @@ begin
DCAP_MODE := (((n) and 3) shl 29);
end;
function DCAP_DST(n: cint): cint; inline;
function DCAP_SRC_ADDR(n: cint): cint; inline;
begin
DCAP_DST := (((n) and 3) shl 26);
DCAP_SRC_ADDR := (((n) and 3) shl 26);
end;
function DCAP_SRC(n: cint): cint; inline;
@ -609,6 +592,16 @@ begin
DCAP_SRC := (((n) and 3) shl 24);
end;
function DCAP_SRC_A(n: cint): cint;
begin
DCAP_SRC_A := (((n) and 1) shl 24);
end;
function DCAP_SRC_B(n: cint): cint;
begin
DCAP_SRC_B := (((n) and 1) shl 25);
end;
function DCAP_SIZE(n: cint): cint; inline;
begin
DCAP_SIZE := (((n) and 3) shl 20);

View File

@ -1,44 +1,3 @@
(*
$Id: videoGL.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifndef ARM9}
{$error 3D hardware is only available from the ARM9}
{$endif}
@ -741,7 +700,7 @@ end;
procedure glVertex3v16(x, y, z: v16); inline;
begin
GFX_VERTEX16^ := cuint32((y shl 16) or (x and $FFFF));
GFX_VERTEX16^ := cuint32(cuint16(z));
GFX_VERTEX16^ := z;
end;
procedure glTexCoord2t16(u, v: t16); inline;

View File

@ -1,43 +1,3 @@
(*
$Id: bios.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type

View File

@ -1,36 +1,3 @@
(*
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
------------------------------------------------------------------------------
*)
{$ifdef NDS_INTERFACE}
const
// Card bus
@ -105,7 +72,7 @@ procedure cardParamCommand(command: cuint8; parameter, flags: cuint32; destinati
procedure cardReadHeader(header: pcuint8); cdecl; external;
function cardReadID(flags: cuint32): cuint32; cdecl; external;
procedure cardReset(); cdecl; external;
procedure cardReadEeprom(address: cuint32; data: pcuint8; length: cuint32; addrtype: cuint32); cdecl; external;

View File

@ -1,43 +1,3 @@
(*
$Id$
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
procedure nocashWrite(const aMessage: pchar; len: cint); cdecl; external;

View File

@ -1,43 +1,3 @@
(*
$Id$
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
const
@ -46,6 +6,8 @@ const
FEATURE_SLOT_GBA = $00000010;
FEATURE_SLOT_NDS = $00000020;
function DEVICE_TYPE_DSI_SD(): cuint32; inline;
type
FN_MEDIUM_STARTUP = function: cbool;
FN_MEDIUM_ISINSERTED = function: cbool;
@ -76,10 +38,18 @@ type
PI_CUSTOM
);
*)
var
__io_dsisd: DISC_INTERFACE; cvar; external;
{$endif NDS_INTERFACE}
{$ifdef NDS_IMPLEMENTATION}
function DEVICE_TYPE_DSI_SD(): cuint32; inline;
begin
DEVICE_TYPE_DSI_SD := ord('i') or (ord('_') shl 8) or (ord('S') shl 16) or (ord('D') shl 24);
end;
{$endif NDS_IMPLEMENTATION}

View File

@ -1,45 +1,3 @@
(*
$Id: dma.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
const
DMA0_SRC : pcuint32 = pointer($040000B0);

View File

@ -1,43 +1,3 @@
(*
$Id$
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
@ -80,10 +40,14 @@ const
type
FifoSystemCommands = integer;
const
SYS_REQ_TOUCH : FifoSystemCommands = 0;
SYS_REQ_KEYS : FifoSystemCommands = 1;
SYS_REQ_TIME : FifoSystemCommands = 2;
SYS_SET_TIME : FifoSystemCommands = 3;
SYS_REQ_TOUCH : FifoSystemCommands = 0;
SYS_REQ_KEYS : FifoSystemCommands = 1;
SYS_REQ_TIME : FifoSystemCommands = 2;
SYS_SET_TIME : FifoSystemCommands = 3;
SYS_HAVE_SD : FifoSystemCommands = 4;
SYS_SD_START : FifoSystemCommands = 5;
SYS_SD_IS_INSERTED : FifoSystemCommands = 6;
SYS_SD_STOP : FifoSystemCommands = 7;
type
FifoPMCommands = integer;

View File

@ -1,32 +1,3 @@
(*
$Id$
---------------------------------------------------------------------------------
Sound Functions
Copyright (C) 2008
Jason Rogers (Dovoto)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
---------------------------------------------------------------------------------*)
{$ifdef NDS_INTERFACE}
type
@ -38,6 +9,8 @@ const
MIC_RECORD_MESSAGE : FifoMessageType = $1237;
MIC_BUFFER_FULL_MESSAGE : FifoMessageType = $1238;
SYS_INPUT_MESSAGE : FifoMessageType = $1239;
SYS_SD_READ_SECTORS : FifoMessageType = $1240;
SYS_SD_WRITE_SECTORS : FifoMessageType = $1241;
type
{$PACKRECORDS 4}
@ -86,6 +59,13 @@ type
keys: cuint16;
end;
);
5: (
sdParams: record
buffer: pointer;
startsector: cuint32;
numsectors: cuint32;
end;
);
end;
TFifoMessage = FifoMessage;
PFifoMessage = ^FifoMessage;

View File

@ -1,40 +1,3 @@
(*
$Id: helper.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2007 Francesco Lombardi
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type
time_t = cint;

View File

@ -1,43 +1,3 @@
(*
$Id: input.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
// Keyboard
type

View File

@ -1,44 +1,3 @@
(*
$Id: interrupts.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type
IRQ_MASK = cuint;
@ -72,7 +31,7 @@ const
type
IRQ_MASKSAUX = cuint;
const
IRQ_POWER: IRQ_MASKSAUX = (1 shl 6); (* Power Button interrupt mask (DSi ARM7) *)
IRQ_I2C: IRQ_MASKSAUX = (1 shl 6); (* Power Button interrupt mask (DSi ARM7) *)
function IRQ_TIMER(n: cint): cint; inline;

View File

@ -1,43 +1,3 @@
(*
$Id: jtypes.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
//---------------------------------------------------------------------------------
{
//---------------------------------------------------------------------------------

View File

@ -1,43 +1,3 @@
(*
$Id: memory.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
const

View File

@ -1,5 +1,4 @@
(*
$Id: nds.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
@ -51,11 +50,8 @@
end.
------------------------------------------------------------------------------
$Log$
*)
*
*
{$ifndef NDS_INC}
{$define NDS_INC}

View File

@ -40,12 +40,16 @@
{$include arm9/sprite.inc}
{$include arm9/decompress.inc}
{$include arm9/ndsmotion.inc}
{$include arm9/guitarGrip.inc}
{$include arm9/paddle.inc}
{$include arm9/piano.inc}
{$endif ARM9}
{$ifdef ARM7}
{$include arm7/audio.inc}
{$include arm7/clock.inc}
{$include arm7/input.inc}
{$include arm7/i2c.inc}
{$include arm7/serial.inc}
{$include arm7/touch.inc}
{$endif ARM7}

View File

@ -1,43 +1,3 @@
(*
$Id$
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
//---------------------------------------------------------------------------------
{
//---------------------------------------------------------------------------------

View File

@ -1,43 +1,3 @@
(*
$Id: registers_alt.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
type
f32 = integer;

View File

@ -1,43 +1,3 @@
(*
$Id: system.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
const
REG_DISPSTAT : pcuint16 = pointer($04000004);

View File

@ -1,43 +1,3 @@
(*
$Id: timers.inc 25 2007-12-10 21:06:46Z p4p3r0 $
------------------------------------------------------------------------------
Copyright (C) 2005
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
------------------------------------------------------------------------------
Conversion by Legolas (http://itaprogaming.free.fr) for freepascal compiler
(http://www.freepascal.org)
Copyright (C) 2006 Francesco Lombardi
Check http://sourceforge.net/projects/libndsfpc for updates
------------------------------------------------------------------------------
$Log$
*)
{$ifdef NDS_INTERFACE}
const
@ -95,6 +55,8 @@ procedure cpuStartTiming(timer: cuint32); cdecl; external;
function cpuGetTiming(): cuint32; cdecl; external;
function cpuEndTiming(): cuint32; cdecl; external;
function timerTicks2usec(ticks: cuint32): cuint32; inline;
function timerTicks2msec(ticks: cuint32): cuint32; inline;
function timerFreqToTicks_1(freq: cint): cuint16; inline;
function timerFreqToTicks_64(freq: cint): cuint16; inline;
@ -167,4 +129,14 @@ begin
result := (-BUS_CLOCK shr 10) div freq;
end;
function timerTicks2usec(ticks: cuint32): cuint32; inline;
begin
timerTicks2usec := (cuint64(ticks) * 1000000) div BUS_CLOCK;
end;
function timerTicks2msec(ticks: cuint32): cuint32; inline;
begin
timerTicks2msec := (cuint64(ticks)*1000) div BUS_CLOCK;
end;
{$endif NDS_IMPLEMENTATION}

View File

@ -1,3 +1,35 @@
(*---------------------------------------------------------------------------------
libnds Copyright (C) 2005
Michael Noland (joat)
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
----------------------------------------------------------------------------
Free Pascal porting by Francesco Lombardi.
---------------------------------------------------------------------------------*)
unit nds7;
{$mode objfpc}
{$apptype arm7}

View File

@ -1,3 +1,34 @@
(*---------------------------------------------------------------------------------
libnds Copyright (C) 2005
Michael Noland (joat)
Jason Rogers (dovoto)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
----------------------------------------------------------------------------
Free Pascal porting by Francesco Lombardi.
---------------------------------------------------------------------------------*)
unit nds9;
{$mode objfpc}
{$apptype arm9}