Browse Source

* libndsfpc updated to 1.4.3

git-svn-id: trunk@15291 -
Legolas 15 years ago
parent
commit
4e6a42cfd0

+ 1 - 0
.gitattributes

@@ -4100,6 +4100,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

+ 858 - 3
packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/12/24]
 #
 default: all
-MAKEFILETARGETS=arm-nds
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx haiku
 LIMIT83fs = go32v2 os2 emx watcom
@@ -269,18 +269,702 @@ PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(F
 BUILD = build
 AUDIO_FILES = $(foreach dir,$(notdir $(wildcard audio/*.*)),$(CURDIR)/audio/$(dir))
 GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png)))
+ifeq ($(FULL_TARGET),i386-linux)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-haiku)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+override TARGET_PROGRAMS+=audio_modes
+endif
 ifeq ($(FULL_TARGET),arm-nds)
 override TARGET_PROGRAMS+=audio_modes
 endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+ifeq ($(FULL_TARGET),arm-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc64-darwin)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override TARGET_PROGRAMS+=audio_modes
+endif
+ifeq ($(FULL_TARGET),i386-linux)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-haiku)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),arm-nds)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),arm-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc64-darwin)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
+ifeq ($(FULL_TARGET),i386-linux)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-haiku)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+override CLEAN_UNITS+=*
 endif
 ifeq ($(FULL_TARGET),arm-nds)
 override CLEAN_UNITS+=*
 endif
+ifeq ($(FULL_TARGET),arm-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc64-darwin)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override CLEAN_UNITS+=*
+endif
+ifeq ($(FULL_TARGET),i386-linux)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-haiku)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+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)/*
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+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)/*
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+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)/*
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+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)/*
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+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)/*
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+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)/*
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+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)/*
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+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)/*
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+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)/*
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+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)/*
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+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)/*
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+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)/*
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+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)/*
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+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)/*
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+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)/*
+endif
+ifeq ($(FULL_TARGET),arm-darwin)
+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)/*
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+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)/*
 endif
+ifeq ($(FULL_TARGET),arm-embedded)
+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)/*
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+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)/*
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+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)/*
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+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)/*
+endif
 override INSTALL_FPCPACKAGE=y
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
@@ -1049,9 +1733,180 @@ TAROPT=vz
 TAREXT=.tar.gz
 endif
 override REQUIRE_PACKAGES=libndsfpc
+ifeq ($(FULL_TARGET),i386-linux)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-haiku)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),arm-darwin)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(FULL_TARGET),arm-nds)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
+ifeq ($(FULL_TARGET),arm-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc64-darwin)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),avr-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifdef REQUIRE_PACKAGES_LIBNDSFPC
 PACKAGEDIR_LIBNDSFPC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libndsfpc/Makefile.fpc,$(PACKAGESDIR))))))
 ifneq ($(PACKAGEDIR_LIBNDSFPC),)

+ 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}