Browse Source

--- Merging r15291 into '.':
U packages/libndsfpc/src/nds/system.inc
A packages/libndsfpc/src/nds/input.inc
U packages/libndsfpc/src/nds/arm9/background.inc
U packages/libndsfpc/src/nds/arm9/console.inc
U packages/libndsfpc/src/nds/arm9/sprite.inc
U packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc

# revisions: 15291
------------------------------------------------------------------------
r15291 | Legolas | 2010-05-18 18:46:02 +0200 (Tue, 18 May 2010) | 1 line
Changed paths:
M /trunk/packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile
M /trunk/packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc
M /trunk/packages/libndsfpc/src/nds/arm9/background.inc
M /trunk/packages/libndsfpc/src/nds/arm9/console.inc
M /trunk/packages/libndsfpc/src/nds/arm9/sprite.inc
A /trunk/packages/libndsfpc/src/nds/input.inc
M /trunk/packages/libndsfpc/src/nds/system.inc

* libndsfpc updated to 1.4.3
------------------------------------------------------------------------

git-svn-id: branches/fixes_2_4@16276 -

marco 15 years ago
parent
commit
6cf42b5512

+ 1 - 0
.gitattributes

@@ -3575,6 +3575,7 @@ packages/libndsfpc/src/nds/dynamicArray.inc svneol=native#text/plain
 packages/libndsfpc/src/nds/fifocommon.inc svneol=native#text/plain
 packages/libndsfpc/src/nds/fifomessages.inc svneol=native#text/plain
 packages/libndsfpc/src/nds/helper.inc svneol=native#text/plain
+packages/libndsfpc/src/nds/input.inc svneol=native#text/plain
 packages/libndsfpc/src/nds/interrupts.inc svneol=native#text/plain
 packages/libndsfpc/src/nds/ipc.inc svneol=native#text/plain
 packages/libndsfpc/src/nds/jtypes.inc svneol=native#text/plain

+ 1 - 0
packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile.fpc

@@ -32,6 +32,7 @@ GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
 [rules]
 .NOTPARALLEL:
 all: direc fpc_all 
+direc:
 ifneq ($(BUILD), $(CURDIR))
         $(MKDIR) $(BUILD)
 endif

+ 1 - 1
packages/libndsfpc/src/nds/arm9/background.inc

@@ -576,7 +576,7 @@ end;
 
 procedure bgScroll(id, dx, dy: cint); inline;
 begin
-  bgSetScrollf(id, dx shl 8, dy shl 8);
+  bgScrollf(id, dx shl 8, dy shl 8);
 end;
 
 procedure bgShow(id: cint); inline;

+ 2 - 1
packages/libndsfpc/src/nds/arm9/console.inc

@@ -105,7 +105,8 @@ type
 type
   DebugDevice = integer;
 const
-  DebugDevice_NOCASH: DebugDevice = $01;
+  DebugDevice_NULL: DebugDevice = $0;
+  DebugDevice_NOCASH: DebugDevice = $1;
   DebugDevice_CONSOLE: DebugDevice = $02;
   
 

+ 13 - 12
packages/libndsfpc/src/nds/arm9/sprite.inc

@@ -243,17 +243,17 @@ function SPRITE_SIZE_PIXELS(size: cint): cuint32; inline;
 
 
 type
-  SpriteMapping = integer;
+  TSpriteMapping = integer;
 const
-  SpriteMapping_1D_32     : SpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_32)  or (0 shl 28) or 0;
-  SpriteMapping_1D_64     : SpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_64)  or (1 shl 28) or 1;
-  SpriteMapping_1D_128    : SpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_128) or (2 shl 28) or 2;
-  SpriteMapping_1D_256    : SpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_256) or (3 shl 28) or 3;
-  SpriteMapping_2D        : SpriteMapping = integer(DISPLAY_SPR_2D) or (4 shl 28);
-  SpriteMapping_Bmp_1D_128: SpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_128) or integer(DISPLAY_SPR_1D_BMP) or integer(DISPLAY_SPR_1D_BMP_SIZE_128) or (5 shl 28) or 2;
-  SpriteMapping_Bmp_1D_256: SpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_256) or integer(DISPLAY_SPR_1D_BMP) or integer(DISPLAY_SPR_1D_BMP_SIZE_256) or (6 shl 28) or 3;
-  SpriteMapping_Bmp_2D_128: SpriteMapping = integer(DISPLAY_SPR_2D) or integer(DISPLAY_SPR_2D_BMP_128)  or (7 shl 28) or 2;
-  SpriteMapping_Bmp_2D_256: SpriteMapping = integer(DISPLAY_SPR_2D) or integer(DISPLAY_SPR_2D_BMP_256)  or (8 shl 28) or 3;
+  SpriteMapping_1D_32     : TSpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_32)  or (0 shl 28) or 0;
+  SpriteMapping_1D_64     : TSpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_64)  or (1 shl 28) or 1;
+  SpriteMapping_1D_128    : TSpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_128) or (2 shl 28) or 2;
+  SpriteMapping_1D_256    : TSpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_256) or (3 shl 28) or 3;
+  SpriteMapping_2D        : TSpriteMapping = integer(DISPLAY_SPR_2D) or (4 shl 28);
+  SpriteMapping_Bmp_1D_128: TSpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_128) or integer(DISPLAY_SPR_1D_BMP) or integer(DISPLAY_SPR_1D_BMP_SIZE_128) or (5 shl 28) or 2;
+  SpriteMapping_Bmp_1D_256: TSpriteMapping = integer(DISPLAY_SPR_1D) or integer(DISPLAY_SPR_1D_SIZE_256) or integer(DISPLAY_SPR_1D_BMP) or integer(DISPLAY_SPR_1D_BMP_SIZE_256) or (6 shl 28) or 3;
+  SpriteMapping_Bmp_2D_128: TSpriteMapping = integer(DISPLAY_SPR_2D) or integer(DISPLAY_SPR_2D_BMP_128)  or (7 shl 28) or 2;
+  SpriteMapping_Bmp_2D_256: TSpriteMapping = integer(DISPLAY_SPR_2D) or integer(DISPLAY_SPR_2D_BMP_256)  or (8 shl 28) or 3;
 
 type
   SpriteColorFormat = integer;
@@ -275,7 +275,8 @@ type
     gfxOffsetStep: cint; 
     firstFree: cint16;
     allocBuffer: PAllocHeader; 
-    allocBufferSize: cint16; 
+    allocBufferSize: cint16;
+    spriteMapping: TSpriteMapping;     
     case integer of
       0: (
             oamMemory: PSpriteEntry;
@@ -291,7 +292,7 @@ var
   oamMain: OamState; cvar; external;
   oamSub: OamState; cvar; external;  
 
-procedure oamInit(var oam: OamState; mapping: SpriteMapping; extPalette: cbool); cdecl; external;
+procedure oamInit(var oam: OamState; mapping: TSpriteMapping; extPalette: cbool); cdecl; external;
 procedure oamDisable(var oam: OamState); cdecl; external;
 procedure oamEnable(var oam: OamState); cdecl; external;
 function oamGetGfxPtr(var oam: OamState; gfxOffsetIndex: cint): pcuint16; cdecl; external;

+ 65 - 0
packages/libndsfpc/src/nds/input.inc

@@ -0,0 +1,65 @@
+(*
+  $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
+  KEYPAD_BITS = cint;
+const
+//!	Bit values for the keypad buttons.
+  KEY_A      : KEYPAD_BITS = (1 shl 0);  // Keypad A button.
+  KEY_B      : KEYPAD_BITS = (1 shl 1);  // Keypad B button.
+  KEY_SELECT : KEYPAD_BITS = (1 shl 2);  // Keypad SELECT button.
+  KEY_START  : KEYPAD_BITS = (1 shl 3);  // Keypad START button.
+  KEY_RIGHT  : KEYPAD_BITS = (1 shl 4);  // Keypad RIGHT button.
+  KEY_LEFT   : KEYPAD_BITS = (1 shl 5);  // Keypad LEFT button.
+  KEY_UP     : KEYPAD_BITS = (1 shl 6);  // Keypad UP button.
+  KEY_DOWN   : KEYPAD_BITS = (1 shl 7);  // Keypad DOWN button.
+  KEY_R      : KEYPAD_BITS = (1 shl 8);  // Right shoulder button.
+  KEY_L      : KEYPAD_BITS = (1 shl 9);  // Left shoulder button.
+  KEY_X      : KEYPAD_BITS = (1 shl 10); // Keypad X button.
+  KEY_Y      : KEYPAD_BITS = (1 shl 11); // Keypad Y button.
+  KEY_TOUCH  : KEYPAD_BITS = (1 shl 12); // Touchscreen pendown.
+  KEY_LID    : KEYPAD_BITS = (1 shl 13); // Lid state.
+
+  REG_KEYINPUT : pcuint16 = pointer($04000130);
+  REG_KEYCNT   : pcuint16 = pointer($04000132);
+
+{$endif NDS_INTERFACE}

+ 41 - 24
packages/libndsfpc/src/nds/system.inc

@@ -95,6 +95,7 @@ procedure lcdSwap(); inline;
 procedure lcdMainOnTop(); inline; 
 procedure lcdMainOnBottom(); inline; 
 
+procedure systemShutDown(); inline;
 
 procedure setVectorBase(highVector: cint); cdecl; external;
 
@@ -120,19 +121,20 @@ var
 type
   ARM7_power = cint;
 const
-  POWER_SOUND     : ARM7_power = (1 shl 0);
-  PM_CONTROL_REG  : ARM7_power = 0;
-  PM_BATTERY_REG  : ARM7_power = 1;
-  PM_AMPLIFIER_REG: ARM7_power = 2;
-  PM_READ_REGISTER: ARM7_power = (1 shl 7);
-  PM_AMP_OFFSET   : ARM7_power = 2;
-  PM_GAIN_OFFSET  : ARM7_power = 3;
-  PM_GAIN_20      : ARM7_power = 0;
-  PM_GAIN_40      : ARM7_power = 1;
-  PM_GAIN_80      : ARM7_power = 2;
-  PM_GAIN_160     : ARM7_power = 3;
-  PM_AMP_ON       : ARM7_power = 1;
-  PM_AMP_OFF      : ARM7_power = 0;
+  POWER_SOUND         : ARM7_power = (1 shl 0);
+  PM_CONTROL_REG      : ARM7_power = 0;
+  PM_BATTERY_REG      : ARM7_power = 1;
+  PM_AMPLIFIER_REG    : ARM7_power = 2;
+  PM_READ_REGISTER    : ARM7_power = (1 shl 7);
+  PM_AMP_OFFSET       : ARM7_power = 2;
+  PM_GAIN_OFFSET      : ARM7_power = 3;
+  PM_BACKLIGHT_LEVEL  : ARM7_power = 4;
+  PM_GAIN_20          : ARM7_power = 0;
+  PM_GAIN_40          : ARM7_power = 1;
+  PM_GAIN_80          : ARM7_power = 2;
+  PM_GAIN_160         : ARM7_power = 3;
+  PM_AMP_ON           : ARM7_power = 1;
+  PM_AMP_OFF          : ARM7_power = 0;
 
 function PM_LED_CONTROL(m: cint): cint; inline;
 
@@ -143,12 +145,15 @@ function writePowerManagement(reg, command: cint): cint; cdecl; external;
 
 function readPowerManagement(reg: cint): cint; inline; 
 
-procedure powerOn(bits: PM_Bits); inline;
-procedure powerOff(bits: PM_Bits); inline;
-procedure systemShutDown(); inline;
+procedure powerOn(bits: cint); inline;
+procedure powerOff(bits: cint); inline;
 procedure readUserSettings(); cdecl; external;
+procedure systemShutDown(); cdecl; external;
 {$endif ARM7}
 
+
+
+
 type
   tPERSONAL_DATA = bitpacked record
     RESERVED0: array [0..1] of cuint8;
@@ -200,6 +205,14 @@ type
 const
   PersonalData  : PPERSONAL_DATA = pointer($2FFFC80);
 
+type
+  BACKLIGHT_LEVELS = cint;
+const
+	BACKLIGHT_LOW  : BACKLIGHT_LEVELS = 0;
+	BACKLIGHT_MED  : BACKLIGHT_LEVELS = 1;
+	BACKLIGHT_HIGH : BACKLIGHT_LEVELS = 2;
+	BACKLIGHT_MAX  : BACKLIGHT_LEVELS = 3;	
+
 
 type 
   ppcchar = ^pcchar;
@@ -250,9 +263,11 @@ procedure resetARM7(address: cuint32); cdecl; external;
 procedure resetARM9(address: cuint32); cdecl; external;
 {$endif ARM7}
 
-
 {$endif NDS_INTERFACE}
 
+
+
+
 {$ifdef NDS_IMPLEMENTATION}
 
 procedure SetYtrigger(Yvalue: cint); inline;
@@ -275,6 +290,11 @@ procedure lcdMainOnBottom(); inline;
 begin
   REG_POWERCNT^ := REG_POWERCNT^ and (not cint(POWER_SWAP_LCDS)); 
 end;
+
+procedure systemShutDown(); inline;
+begin
+  powerOn(PM_SYSTEM_PWR);
+end;
 {$endif ARM9}
 
 
@@ -289,20 +309,17 @@ begin
 	result := writePowerManagement(reg or PM_READ_REGISTER, 0);
 end;
 
-procedure powerOn(bits: PM_Bits); inline;
+procedure powerOn(bits: cint); inline;
 begin
 	REG_POWERCNT^ := REG_POWERCNT^ or bits;
 end;
 
-procedure powerOff(bits: PM_Bits); inline;
+procedure powerOff(bits: cint); inline;
 begin
 	REG_POWERCNT^ := REG_POWERCNT^ and not bits;
 end;
-
-procedure systemShutDown(); inline;
-begin
-  powerOn(PM_SYSTEM_PWR);
-end;
 {$endif ARM7}
+
+
 {$endif NDS_IMPLEMENTATION}