diff --git a/.DS_Store b/.DS_Store new file mode 100755 index 0000000..b40fab4 Binary files /dev/null and b/.DS_Store differ diff --git a/._.DS_Store b/._.DS_Store new file mode 100755 index 0000000..94a48a8 Binary files /dev/null and b/._.DS_Store differ diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..5c981cb --- /dev/null +++ b/Makefile @@ -0,0 +1,138 @@ +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- + +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") +endif + +include $(DEVKITARM)/ds_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# DATA is a list of directories containing data files +# INCLUDES is a list of directories containing header files +#--------------------------------------------------------------------------------- +TARGET := $(shell basename $(CURDIR)) +BUILD := build +SOURCES := source +DATA := data +INCLUDES := include + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- +ARCH := -mthumb -mthumb-interwork + +# note: arm9tdmi isn't the correct CPU arch, but anything newer and LD +# *insists* it has a FPU or VFP, and it won't take no for an answer! +CFLAGS := -g -Wall -O2\ + -mcpu=arm9tdmi -mtune=arm9tdmi -fomit-frame-pointer\ + -ffast-math \ + $(ARCH) + +CFLAGS += $(INCLUDE) -DARM9 +CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions + +ASFLAGS := -g $(ARCH) +LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -mno-fpu -Wl,-Map,$(notdir $*.map) + +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -lnds9 + + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(LIBNDS) + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) + +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) +#--------------------------------------------------------------------------------- + export LD := $(CC) +#--------------------------------------------------------------------------------- +else +#--------------------------------------------------------------------------------- + export LD := $(CXX) +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +export OFILES := $(addsuffix .o,$(BINFILES)) \ + $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) + +export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) + +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) + +.PHONY: $(BUILD) clean all + +#--------------------------------------------------------------------------------- +all: $(BUILD) + +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(TARGET).elf $(TARGET).nds $(TARGET).arm9 $(TARGET).ds.gba + +run: + wmb -data $(OUTPUT).nds + + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).ds.gba : $(OUTPUT).nds +$(OUTPUT).nds : $(OUTPUT).arm9 +$(OUTPUT).arm9 : $(OUTPUT).elf +$(OUTPUT).elf : $(OFILES) + +#--------------------------------------------------------------------------------- +%.bin.o : %.bin +#--------------------------------------------------------------------------------- + @echo $(notdir $<) + @$(bin2o) + + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------------- diff --git a/arm9.arm9 b/arm9.arm9 new file mode 100755 index 0000000..da6f133 Binary files /dev/null and b/arm9.arm9 differ diff --git a/arm9.ds.gba b/arm9.ds.gba new file mode 100755 index 0000000..9c6e622 Binary files /dev/null and b/arm9.ds.gba differ diff --git a/arm9.elf b/arm9.elf new file mode 100755 index 0000000..989e25b Binary files /dev/null and b/arm9.elf differ diff --git a/build/arm9.map b/build/arm9.map new file mode 100755 index 0000000..73a2b96 --- /dev/null +++ b/build/arm9.map @@ -0,0 +1,572 @@ +Archive member included because of file (symbol) + +c:/devkitPro/libnds/lib\libnds9.a(video.o) + main.o (vramSetBankA) +c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + main.o (irqInit) +c:/devkitPro/libnds/lib\libnds9.a(biosCalls.o) + main.o (swiWaitForVBlank) +c:/devkitPro/libnds/lib\libnds9.a(interruptDispatcher.o) + c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) (IntrMain) +c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_divsi3.o) + main.o (__aeabi_idivmod) +c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_dvmd_tls.o) + c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_divsi3.o) (__div0) +c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_call_via_rX.o) + c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o (_call_via_r3) +c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(init.o) + c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o (__libc_init_array) +c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) + main.o (rand) +c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) (_impure_ptr) +c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_muldi3.o) + c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) (__aeabi_lmul) +c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a(malloc_vars.o) + c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o (fake_heap_end) + +Allocating common symbols +Common symbol size file + +stars 0x280 main.o + +Memory Configuration + +Name Origin Length Attributes +rom 0x08000000 0x02000000 +ewram 0x02000000 0x003ff000 +dtcm 0x0b000000 0x00004000 +itcm 0x01000000 0x00008000 +*default* 0x00000000 0xffffffff + +Linker script and memory map + + 0x01000000 __itcm_start = 0x1000000 + 0x023ff000 __ewram_end = 0x23ff000 + 0x023ff000 __eheap_end = 0x23ff000 + 0x0b000000 __dtcm_start = 0xb000000 + 0x0b004000 __dtcm_top = 0xb004000 + 0x0b003ff8 __irq_flags = (__dtcm_top - 0x8) + 0x0b003ffc __irq_vector = (__dtcm_top - 0x4) + 0x0b003f00 __sp_svc = (__dtcm_top - 0x100) + 0x0b003e00 __sp_irq = (__sp_svc - 0x100) + 0x0b003d00 __sp_usr = (__sp_irq - 0x100) + +.init 0x02000000 0x23c + 0x02000000 __text_start = . + *(.init) + .init 0x02000000 0x230 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o + 0x02000000 _start + .init 0x02000230 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + 0x02000230 _init + .init 0x02000234 0x8 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + 0x0200023c . = ALIGN (0x4) + +.plt + *(.plt) + +.text 0x02000240 0x7c8 + *(EXCLUDE_FILE(*.itcm*) .text) + .text 0x02000240 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o + .text 0x02000240 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .text 0x02000240 0x70 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + .text 0x020002b0 0x170 main.o + 0x020002e4 EraseStar + 0x020002cc DrawStar + 0x020002b0 ClearScreen + 0x020003d0 main + 0x020002fc InitStars + 0x02000380 MoveStar + .text 0x02000420 0x110 c:/devkitPro/libnds/lib\libnds9.a(video.o) + 0x020004e0 vramSetBankF + 0x02000470 vramRestoreMainBanks + 0x02000508 vramSetBankH + 0x020004b8 vramSetBankD + 0x020004cc vramSetBankE + 0x020004f4 vramSetBankG + 0x02000464 vramRestorMainBanks + 0x02000490 vramSetBankB + 0x020004a4 vramSetBankC + 0x0200051c vramSetBankI + 0x02000420 vramSetMainBanks + 0x0200047c vramSetBankA + .text 0x02000530 0x204 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + 0x02000698 irqEnable + 0x02000534 irqSet + 0x020006e8 irqDisable + 0x0200059c irqInit + 0x02000530 irqDummy + 0x02000668 irqInitHandler + 0x020005e8 irqClear + *fill* 0x02000734 0xc ff + .text 0x02000740 0x70 c:/devkitPro/libnds/lib\libnds9.a(biosCalls.o) + 0x02000750 swiSleep + 0x0200078a swiDecompressLZSSVram + 0x02000772 swiFastCopy + 0x02000776 swiSqrt + 0x02000740 swiSoftReset + 0x0200077a swiCRC16 + 0x0200078e swiDecompressHuffman + 0x020007a6 swiSetHaltCR + 0x0200075c swiRemainder + 0x02000782 swiUnpackBits + 0x02000786 swiDecompressLZSSWram + 0x020007a2 swiDecodeDelta16 + 0x02000744 swiDelay + 0x02000762 swiDivMod + 0x02000796 swiDecompressRLEVram + 0x02000792 swiDecompressRLEWram + 0x0200079e swiDecodeDelta8 + 0x02000758 swiDivide + 0x02000754 swiChangeSoundBias + 0x0200074c swiWaitForVBlank + 0x02000748 swiIntrWait + 0x0200077e swiIsDebugger + 0x0200079a swiWaitForIRQ + 0x0200076e swiCopy + .text 0x020007b0 0x0 c:/devkitPro/libnds/lib\libnds9.a(interruptDispatcher.o) + .text 0x020007b0 0xa4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_divsi3.o) + 0x020007b0 __aeabi_idiv + 0x020007b0 __divsi3 + 0x02000844 __aeabi_idivmod + .text 0x02000854 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_dvmd_tls.o) + 0x02000854 __aeabi_ldiv0 + 0x02000854 __div0 + 0x02000854 __aeabi_idiv0 + .text 0x02000858 0x3c c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_call_via_rX.o) + 0x02000860 _call_via_r2 + 0x02000870 _call_via_r6 + 0x0200086c _call_via_r5 + 0x02000864 _call_via_r3 + 0x02000884 _call_via_fp + 0x02000878 _call_via_r8 + 0x02000874 _call_via_r7 + 0x02000858 _call_via_r0 + 0x02000880 _call_via_sl + 0x0200088c _call_via_sp + 0x0200087c _call_via_r9 + 0x02000868 _call_via_r4 + 0x0200085c _call_via_r1 + 0x02000888 _call_via_ip + 0x02000890 _call_via_lr + .text 0x02000894 0x88 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(init.o) + 0x020008c4 __libc_init_array + 0x02000894 __libc_fini_array + *fill* 0x0200091c 0x4 ff + .text 0x02000920 0x58 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) + 0x02000934 rand + 0x02000920 srand + .text 0x02000978 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + .text 0x02000978 0x84 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_muldi3.o) + 0x02000978 __aeabi_lmul + 0x02000978 __muldi3 + .text 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a(malloc_vars.o) + .text 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + .text 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + *(.text.*) + *(.stub) + *(.gnu.warning) + *(.gnu.linkonce.t*) + *(.glue_7) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + .glue_7 0x020009fc 0x0 main.o + .glue_7 0x020009fc 0x0 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .glue_7 0x020009fc 0x0 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .glue_7 0x020009fc 0x0 c:/devkitPro/libnds/lib\libnds9.a(biosCalls.o) + .glue_7 0x020009fc 0x0 c:/devkitPro/libnds/lib\libnds9.a(interruptDispatcher.o) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_divsi3.o) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_dvmd_tls.o) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_call_via_rX.o) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(init.o) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_muldi3.o) + .glue_7 0x020009fc 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a(malloc_vars.o) + .glue_7 0x020009fc 0xc c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + 0x020009fc ___call_via_r3_from_arm + .glue_7 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + *(.glue_7t) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + .glue_7t 0x02000a08 0x0 main.o + .glue_7t 0x02000a08 0x0 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .glue_7t 0x02000a08 0x0 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .glue_7t 0x02000a08 0x0 c:/devkitPro/libnds/lib\libnds9.a(biosCalls.o) + .glue_7t 0x02000a08 0x0 c:/devkitPro/libnds/lib\libnds9.a(interruptDispatcher.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_divsi3.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_dvmd_tls.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_call_via_rX.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(init.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_muldi3.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a(malloc_vars.o) + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + .glue_7t 0x02000a08 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + 0x02000a08 . = ALIGN (0x4) + +.fini 0x02000a08 0xc + *(.fini) + .fini 0x02000a08 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + 0x02000a08 _fini + .fini 0x02000a0c 0x8 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + 0x02000a14 __text_end = . + +.rodata 0x02000a14 0x8 + *(.rodata) + .rodata 0x02000a14 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + 0x02000a14 _global_impure_ptr + *all.rodata*(*) + *(.roda) + *(.rodata.*) + .rodata.str1.4 + 0x02000a18 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + *(.gnu.linkonce.r*) + 0x02000a1c . = ALIGN (0x4) + +.ARM.extab + *(.ARM.extab* .gnu.linkonce.armextab.*) + 0x02000a1c __exidx_start = . + +.ARM.exidx + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + 0x02000a1c __exidx_end = . + 0x02000a1c . = ALIGN (0x4) + 0x02000a1c PROVIDE (__preinit_array_start, .) + +.preinit_array + *(.preinit_array) + 0x02000a1c PROVIDE (__preinit_array_end, .) + 0x02000a1c PROVIDE (__init_array_start, .) + +.init_array 0x02000a1c 0x4 + *(.init_array) + .init_array 0x02000a1c 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + 0x02000a20 PROVIDE (__init_array_end, .) + 0x02000a20 PROVIDE (__fini_array_start, .) + +.fini_array 0x02000a20 0x4 + *(.fini_array) + .fini_array 0x02000a20 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + 0x02000a24 PROVIDE (__fini_array_end, .) + +.ctors 0x02000a24 0x0 + *crtbegin.o(.ctors) + *(EXCLUDE_FILE(*crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + 0x02000a24 . = ALIGN (0x4) + +.dtors 0x02000a24 0x0 + *crtbegin.o(.dtors) + *(EXCLUDE_FILE(*crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + 0x02000a24 . = ALIGN (0x4) + +.eh_frame 0x02000a24 0x4 + *(.eh_frame) + .eh_frame 0x02000a24 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + .eh_frame 0x02000a24 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + 0x02000a28 . = ALIGN (0x4) + +.gcc_except_table + 0x02000a28 0x0 + *(.gcc_except_table) + 0x02000a28 . = ALIGN (0x4) + +.jcr 0x02000a28 0x4 + *(.jcr) + .jcr 0x02000a28 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + .jcr 0x02000a28 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + +.got + *(.got.plt) + *(.got) + +.ewram 0x02000a2c 0x0 + 0x02000a2c __ewram_start = (.) + *(.ewram) + *ewram.*(.text) + 0x02000a2c . = ALIGN (0x4) + +.data 0x02000a2c 0x41c + 0x02000a2c __data_start = (.) + *(.data) + .data 0x02000a2c 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o + .data 0x02000a2c 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .data 0x02000a2c 0x4 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + 0x02000a2c __dso_handle + .data 0x02000a30 0x0 main.o + .data 0x02000a30 0x0 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .data 0x02000a30 0x0 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .data 0x02000a30 0x0 c:/devkitPro/libnds/lib\libnds9.a(biosCalls.o) + .data 0x02000a30 0x0 c:/devkitPro/libnds/lib\libnds9.a(interruptDispatcher.o) + .data 0x02000a30 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_divsi3.o) + .data 0x02000a30 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_dvmd_tls.o) + .data 0x02000a30 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_call_via_rX.o) + .data 0x02000a30 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(init.o) + .data 0x02000a30 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) + *fill* 0x02000a30 0x0 ff + .data 0x02000a30 0x418 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + 0x02000a30 _impure_ptr + .data 0x02000e48 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_muldi3.o) + .data 0x02000e48 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a(malloc_vars.o) + .data 0x02000e48 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + .data 0x02000e48 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + *(.data.*) + *(.gnu.linkonce.d*) + 0x02000e48 . = ALIGN (0x4) + 0x02000e48 __data_end = (.) + 0x02000e48 __dtcm_lma = . + +.dtcm 0x0b000000 0x0 load address 0x02000e48 + *(.dtcm) + *(.dtcm.*) + 0x0b000000 . = ALIGN (0x4) + 0x0b000000 __dtcm_end = (.) + 0x02000e48 __itcm_lma = (__dtcm_lma + SIZEOF (.dtcm)) + +.itcm 0x01000000 0x1a0 load address 0x02000e48 + *(.itcm) + .itcm 0x01000000 0xc8 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + 0x01000000 irqTable + .itcm 0x010000c8 0xd8 c:/devkitPro/libnds/lib\libnds9.a(interruptDispatcher.o) + 0x010000c8 IntrMain + *itcm.*(.text) + 0x010001a0 . = ALIGN (0x4) + 0x010001a0 __itcm_end = (.) + +.sbss 0x0b000000 0x0 + 0x0b000000 __sbss_start = (.) + 0x0b000000 __sbss_start__ = (.) + *(.sbss) + 0x0b000000 . = ALIGN (0x4) + 0x0b000000 __sbss_end = (.) + 0x02000fe8 __bss_lma = (__itcm_lma + SIZEOF (.itcm)) + 0x02000fe8 __appended_data = (__itcm_lma + SIZEOF (.itcm)) + +.bss 0x02000fe8 0x2a4 load address 0x02000fe8 + 0x02000fe8 __bss_start = (.) + 0x02000fe8 __bss_start__ = (.) + *(.dynbss) + *(.gnu.linkonce.b*) + *(.bss*) + .bss 0x02000fe8 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o + .bss 0x02000fe8 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .bss 0x02000fe8 0x1c c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + .bss 0x02001004 0x0 main.o + .bss 0x02001004 0x0 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .bss 0x02001004 0x0 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .bss 0x02001004 0x0 c:/devkitPro/libnds/lib\libnds9.a(biosCalls.o) + .bss 0x02001004 0x0 c:/devkitPro/libnds/lib\libnds9.a(interruptDispatcher.o) + .bss 0x02001004 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_divsi3.o) + .bss 0x02001004 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_dvmd_tls.o) + .bss 0x02001004 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_call_via_rX.o) + .bss 0x02001004 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(init.o) + .bss 0x02001004 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) + .bss 0x02001004 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + .bss 0x02001004 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_muldi3.o) + .bss 0x02001004 0x8 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a(malloc_vars.o) + 0x02001008 fake_heap_start + 0x02001004 fake_heap_end + .bss 0x0200100c 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + .bss 0x0200100c 0x0 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + *(COMMON) + COMMON 0x0200100c 0x280 main.o + 0x0200100c stars + 0x0200128c . = ALIGN (0x4) + 0x0200128c __bss_end = (.) + 0x0200128c __bss_end__ = __bss_end + 0x0200128c _end = . + 0x0200128c __end__ = . + 0x0200128c PROVIDE (end, _end) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x00000000 0x1a2 + *(.comment) + .comment 0x00000000 0x2a c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + .comment 0x0000002a 0x2a main.o + .comment 0x00000054 0x29 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .comment 0x0000007d 0x29 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .comment 0x000000a6 0x2a c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(init.o) + .comment 0x000000d0 0x2a c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) + .comment 0x000000fa 0x2a c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + .comment 0x00000124 0x2a c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_muldi3.o) + .comment 0x0000014e 0x2a c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a(malloc_vars.o) + .comment 0x00000178 0x2a c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x00000000 0xb0 + *(.debug_aranges) + .debug_aranges + 0x00000000 0x28 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .debug_aranges + 0x00000028 0x20 main.o + .debug_aranges + 0x00000048 0x20 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .debug_aranges + 0x00000068 0x20 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .debug_aranges + 0x00000088 0x28 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + +.debug_pubnames + 0x00000000 0x1dc + *(.debug_pubnames) + .debug_pubnames + 0x00000000 0x6b main.o + .debug_pubnames + 0x0000006b 0xf1 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .debug_pubnames + 0x0000015c 0x80 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + +.debug_info 0x00000000 0x9e9 + *(.debug_info) + .debug_info 0x00000000 0x5b c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .debug_info 0x0000005b 0x213 main.o + .debug_info 0x0000026e 0x500 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .debug_info 0x0000076e 0x220 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .debug_info 0x0000098e 0x5b c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + +.debug_abbrev 0x00000000 0x348 + *(.debug_abbrev) + .debug_abbrev 0x00000000 0x10 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .debug_abbrev 0x00000010 0x134 main.o + .debug_abbrev 0x00000144 0xbf c:/devkitPro/libnds/lib\libnds9.a(video.o) + .debug_abbrev 0x00000203 0x135 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .debug_abbrev 0x00000338 0x10 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + +.debug_line 0x00000000 0x3aa + *(.debug_line) + .debug_line 0x00000000 0x49 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .debug_line 0x00000049 0xe1 main.o + .debug_line 0x0000012a 0x100 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .debug_line 0x0000022a 0xff c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .debug_line 0x00000329 0x81 c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o + +.debug_frame 0x00000000 0x224 + *(.debug_frame) + .debug_frame 0x00000000 0x98 main.o + .debug_frame 0x00000098 0xdc c:/devkitPro/libnds/lib\libnds9.a(video.o) + .debug_frame 0x00000174 0xb0 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + +.debug_str 0x00000000 0x974 + *(.debug_str) + .debug_str 0x00000000 0x10c main.o + 0x14a (size before relaxing) + .debug_str 0x0000010c 0x7a5 c:/devkitPro/libnds/lib\libnds9.a(video.o) + 0x822 (size before relaxing) + .debug_str 0x000008b1 0xc3 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + 0x184 (size before relaxing) + +.debug_loc 0x00000000 0x30e + *(.debug_loc) + .debug_loc 0x00000000 0xb0 main.o + .debug_loc 0x000000b0 0x129 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .debug_loc 0x000001d9 0x135 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.stack 0x00080000 0x0 + 0x00080000 _stack = . + *(.stack) +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o +LOAD main.o +LOAD c:/devkitPro/libnds/lib\libnds9.a +START GROUP +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libc.a +END GROUP +START GROUP +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libc.a +END GROUP +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o +LOAD c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o +OUTPUT(c:/arm9/arm9.elf elf32-littlearm) + +.ARM.attributes + 0x00000000 0x10 + .ARM.attributes + 0x00000000 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o + .ARM.attributes + 0x0000001e 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crti.o + .ARM.attributes + 0x0000003c 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtbegin.o + .ARM.attributes + 0x0000005a 0x1e main.o + .ARM.attributes + 0x00000078 0x19 c:/devkitPro/libnds/lib\libnds9.a(video.o) + .ARM.attributes + 0x00000091 0x19 c:/devkitPro/libnds/lib\libnds9.a(interrupts.o) + .ARM.attributes + 0x000000aa 0x19 c:/devkitPro/libnds/lib\libnds9.a(biosCalls.o) + .ARM.attributes + 0x000000c3 0x19 c:/devkitPro/libnds/lib\libnds9.a(interruptDispatcher.o) + .ARM.attributes + 0x000000dc 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_divsi3.o) + .ARM.attributes + 0x000000fa 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_dvmd_tls.o) + .ARM.attributes + 0x00000118 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_call_via_rX.o) + .ARM.attributes + 0x00000136 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(init.o) + .ARM.attributes + 0x00000154 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(rand.o) + .ARM.attributes + 0x00000172 0x1c c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libg.a(impure.o) + .ARM.attributes + 0x0000018e 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb\libgcc.a(_muldi3.o) + .ARM.attributes + 0x000001ac 0x1c c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/lib/thumb\libsysbase.a(malloc_vars.o) + .ARM.attributes + 0x000001c8 0x1c c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtend.o + .ARM.attributes + 0x000001e4 0x1e c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.1.1/thumb/crtn.o diff --git a/build/main.d b/build/main.d new file mode 100755 index 0000000..e30154c --- /dev/null +++ b/build/main.d @@ -0,0 +1,75 @@ +main.o: c:/arm9/source/main.c c:/devkitPro/libnds/include/nds.h \ + c:/devkitPro/libnds/include/nds/jtypes.h \ + c:/devkitPro/libnds/include/nds/bios.h \ + c:/devkitPro/libnds/include/nds/card.h \ + c:/devkitPro/libnds/include/nds/jtypes.h \ + c:/devkitPro/libnds/include/nds/dma.h \ + c:/devkitPro/libnds/include/nds/interrupts.h \ + c:/devkitPro/libnds/include/nds/ipc.h \ + c:/devkitPro/libnds/include/nds/memory.h \ + c:/devkitPro/libnds/include/nds/system.h \ + c:/devkitPro/libnds/include/nds/timers.h \ + c:/devkitPro/libnds/include/nds/arm9/boxtest.h \ + c:/devkitPro/libnds/include/nds/arm9/video.h \ + c:/devkitPro/libnds/include/nds/arm9/videoGL.h \ + c:/devkitPro/libnds/include/nds/arm9/videoGL.inl \ + c:/devkitPro/libnds/include/nds/arm9/cache.h \ + c:/devkitPro/libnds/include/nds/arm9/console.h \ + c:/devkitPro/libnds/include/nds/arm9/exceptions.h \ + c:/devkitPro/libnds/include/nds/arm9/image.h \ + c:/devkitPro/libnds/include/nds/arm9/pcx.h \ + c:/devkitPro/libnds/include/nds/arm9/input.h \ + c:/devkitPro/libnds/include/nds/arm9/math.h \ + c:/devkitPro/libnds/include/nds/arm9/rumble.h \ + c:/devkitPro/libnds/include/nds/arm9/sound.h \ + c:/devkitPro/libnds/include/nds/arm9/trig_lut.h + +c:/devkitPro/libnds/include/nds.h: + +c:/devkitPro/libnds/include/nds/jtypes.h: + +c:/devkitPro/libnds/include/nds/bios.h: + +c:/devkitPro/libnds/include/nds/card.h: + +c:/devkitPro/libnds/include/nds/jtypes.h: + +c:/devkitPro/libnds/include/nds/dma.h: + +c:/devkitPro/libnds/include/nds/interrupts.h: + +c:/devkitPro/libnds/include/nds/ipc.h: + +c:/devkitPro/libnds/include/nds/memory.h: + +c:/devkitPro/libnds/include/nds/system.h: + +c:/devkitPro/libnds/include/nds/timers.h: + +c:/devkitPro/libnds/include/nds/arm9/boxtest.h: + +c:/devkitPro/libnds/include/nds/arm9/video.h: + +c:/devkitPro/libnds/include/nds/arm9/videoGL.h: + +c:/devkitPro/libnds/include/nds/arm9/videoGL.inl: + +c:/devkitPro/libnds/include/nds/arm9/cache.h: + +c:/devkitPro/libnds/include/nds/arm9/console.h: + +c:/devkitPro/libnds/include/nds/arm9/exceptions.h: + +c:/devkitPro/libnds/include/nds/arm9/image.h: + +c:/devkitPro/libnds/include/nds/arm9/pcx.h: + +c:/devkitPro/libnds/include/nds/arm9/input.h: + +c:/devkitPro/libnds/include/nds/arm9/math.h: + +c:/devkitPro/libnds/include/nds/arm9/rumble.h: + +c:/devkitPro/libnds/include/nds/arm9/sound.h: + +c:/devkitPro/libnds/include/nds/arm9/trig_lut.h: diff --git a/build/main.o b/build/main.o new file mode 100755 index 0000000..4e79fa8 Binary files /dev/null and b/build/main.o differ diff --git a/source/main.c b/source/main.c new file mode 100755 index 0000000..9d9a49f --- /dev/null +++ b/source/main.c @@ -0,0 +1,91 @@ +#include +#include + +#define NUM_STARS 40 + +typedef struct +{ + int x; + int y; + int speed; + unsigned short color; + +}Star; + + +Star stars[NUM_STARS]; + +void MoveStar(Star* star) +{ + star->x += star->speed; + + if(star->x >= SCREEN_WIDTH) + { + star->color = RGB15(31,31,31); + star->x = 0; + star->y = rand() % 192; + star->speed = rand() % 4 + 1; + } +} + +void ClearScreen(void) +{ + int i; + + for(i = 0; i < 256 * 192; i++) + VRAM_A[i] = RGB15(0,0,0); +} + +void InitStars(void) +{ + int i; + + for(i = 0; i < NUM_STARS; i++) + { + stars[i].color = RGB15(31,31,31); + stars[i].x = rand() % 256; + stars[i].y = rand() % 192; + stars[i].speed = rand() % 4 + 1; + } +} +void DrawStar(Star* star) +{ + VRAM_A[star->x + star->y * SCREEN_WIDTH] = star->color; +} + +void EraseStar(Star* star) +{ + VRAM_A[star->x + star->y * SCREEN_WIDTH] = RGB15(0,0,0); +} + +int main(void) +{ + int i; + + irqInit(); + irqEnable(IRQ_VBLANK); + + videoSetMode(MODE_FB0); + vramSetBankA(VRAM_A_LCD); + + ClearScreen(); + InitStars(); + + //we like infinite loops in console dev! + while(1) + { + swiWaitForVBlank(); + + for(i = 0; i < NUM_STARS; i++) + { + EraseStar(&stars[i]); + + MoveStar(&stars[i]); + + DrawStar(&stars[i]); + } + } + + return 0; +} + \ No newline at end of file diff --git a/template.pnproj b/template.pnproj new file mode 100755 index 0000000..b3eb171 --- /dev/null +++ b/template.pnproj @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/template.prj b/template.prj new file mode 100755 index 0000000..bb41e6e --- /dev/null +++ b/template.prj @@ -0,0 +1,32 @@ +[Project ID] +Signature=UE Proj: v.1 +[Project Information] +Filter=*.* +Project Directory=C:\projects\devkitPro\test\nds_template\arm9\ +Use Relative Directory=1 +Relative to Project File=1 +Project Wordfile= +Project Tagfile= +Create Tagfile=0 +Include Sub Directories=0 +[Files] +0=include\ +1=Makefile +2=source\ +[Group] +0= +[Open Files] +Open File0=C:\projects\devkitPro\examples\nds\templates\arm9\source\main.c +Active File Display Mode=3 +Open File Pos0=751 +Open File Line0=0 +Active File Index=0 +Open File Window Pos0=2,3,-1,-1,-4,-23,0,0,918,359 +Open File1=C:\projects\devkitPro\examples\nds\templates\arm9\build\arm9.map +Open File Pos1=9864 +Open File Line1=15129 +Open File Window Pos1=0,1,-1,-1,-4,-23,22,22,944,385 +Open File2= +[File View] +Current Select=Project Files\source\main.c +Scroll Position=0