-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
A truly awful pacman clone. Was playing with building levels entirely…
… from img back in 2008
- Loading branch information
James Danielson
committed
Apr 16, 2022
0 parents
commit 333dae8
Showing
97 changed files
with
1,445 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
cp Pacman.nds "F:\games\mine\pacman.nds" | ||
@echo Transfered! You can now remove the disk. | ||
pause |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,299 @@ | ||
PROGNAME = PAlib | ||
OFILES += | ||
ADD_LIBS += | ||
|
||
PATH := $(DEVKITARM)/bin:$(PATH) | ||
|
||
ARM7BIN := -7 $(PAPATH)/lib/arm7/arm7.bin | ||
TEXT1 := Pacman DS | ||
TEXT2 := Gekinzuku | ||
TEXT3 := nintendo-revolutionized.com | ||
ICON := -b $(CURDIR)/../logo.bmp | ||
LOGO := -o $(CURDIR)/../logo_wifi.bmp | ||
|
||
#--------------------------------------------------------------------------------- | ||
.SUFFIXES: | ||
#--------------------------------------------------------------------------------- | ||
ifeq ($(strip $(DEVKITARM)),) | ||
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM) | ||
endif | ||
|
||
|
||
include $(DEVKITARM)/ds_rules | ||
|
||
|
||
#--------------------------------------------------------------------------------- | ||
# TARGET is the name of the output, if this ends with _mb generates a multiboot image | ||
# BUILD is the directory where object files & intermediate files will be placed | ||
# SOURCES is a list of directories containing source code | ||
# INCLUDES is a list of directories containing extra header files | ||
#--------------------------------------------------------------------------------- | ||
TARGET := $(shell basename $(CURDIR)) | ||
BUILD := build | ||
SOURCES := gfx source data | ||
INCLUDES := include build data | ||
|
||
EXPORT_DIR := /c/ndsexamples/ | ||
#--------------------------------------------------------------------------------- | ||
# ARM7BIN is the path to an arm7 binary other than the default | ||
# usage: ARM7BIN := -7 binaryName.bin | ||
# | ||
# ICON is the path to an icon to be used int the header plus text | ||
# usage: ICON := -t iconName.bmp "text line one; text line 2; text line 3" | ||
# | ||
#--------------------------------------------------------------------------------- | ||
|
||
|
||
|
||
#--------------------------------------------------------------------------------- | ||
# options for code generation | ||
#--------------------------------------------------------------------------------- | ||
ARCH := -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 -Wformat=2 -Winline -Wall -O2\ | ||
|
||
-mcpu=arm946e-s -mtune=arm946e-s -fomit-frame-pointer\ | ||
-ffast-math \ | ||
$(ARCH) | ||
|
||
CFLAGS += $(INCLUDE) -DARM9 -I$(DEVKITPRO)/PAlib/include/nds | ||
|
||
ASFLAGS := -g $(ARCH) | ||
LDFLAGS := -g $(ARCH) -mno-fpu -L$(DEVKITPRO)/PAlib/lib | ||
|
||
|
||
#--------------------------------------------------------------------------------- | ||
# path to tools - this can be deleted if you set the path in windows | ||
#--------------------------------------------------------------------------------- | ||
# export PATH := /d/dev/ds/devkitARM_r11/bin:/bin | ||
|
||
#--------------------------------------------------------------------------------- | ||
# PATH to ndslib - just make a system variable called NDSLIBPATH and be done with it | ||
#--------------------------------------------------------------------------------- | ||
# NDSLIBPATH := /d/dev/ds/ndslib/ | ||
|
||
#--------------------------------------------------------------------------------- | ||
# the prefix on the compiler executables | ||
#--------------------------------------------------------------------------------- | ||
PREFIX := arm-eabi- | ||
#--------------------------------------------------------------------------------- | ||
# any extra libraries we wish to link with the project | ||
#--------------------------------------------------------------------------------- | ||
LIBS := -lfat -lnds9 -ldswifi9 | ||
LIBSPA := -lpa9 | ||
|
||
|
||
#--------------------------------------------------------------------------------- | ||
# list of directories containing libraries, this must be the top level containing | ||
# include and lib | ||
#--------------------------------------------------------------------------------- | ||
LIBDIRS := $(DEVKITPRO)/libnds | ||
LIBDIRPA := $(PAPATH) | ||
|
||
|
||
#--------------------------------------------------------------------------------- | ||
# 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)) | ||
|
||
export CC := $(PREFIX)gcc | ||
export CXX := $(PREFIX)g++ | ||
export AR := $(PREFIX)ar | ||
export OBJCOPY := $(PREFIX)objcopy | ||
#--------------------------------------------------------------------------------- | ||
# use CXX for linking C++ projects, CC for standard C | ||
#--------------------------------------------------------------------------------- | ||
export LD := $(CXX) | ||
#export LD := $(CC) | ||
|
||
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) | ||
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) | ||
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) | ||
PCXFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.pcx))) | ||
BINFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.bin))) | ||
PALFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.pal))) | ||
RAWFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.raw))) | ||
MAPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.map))) | ||
JPEGFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.jpg))) | ||
MODFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.mod))) | ||
GIFFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.gif))) | ||
BMPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.bmp))) | ||
|
||
export OFILES := $(MAPFILES:.map=.o) $(RAWFILES:.raw=.o) $(PALFILES:.pal=.o) $(BINFILES:.bin=.o) $(PCXFILES:.pcx=.o) $(JPEGFILES:.jpg=.o) $(MODFILES:.mod=.o) $(GIFFILES:.gif=.o) $(BMPFILES:.bmp=.o)\ | ||
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) | ||
|
||
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ | ||
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ | ||
$(foreach dir,$(LIBDIRS),-I$(dir)/include/nds) \ | ||
-I$(PAPATH)/include/nds\ | ||
-I$(CURDIR)/$(BUILD) | ||
|
||
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) | ||
export LIBPATHPA := $(foreach dir,$(LIBDIRPA),-L$(dir)/lib) | ||
|
||
.PHONY: $(BUILD) clean export | ||
|
||
#--------------------------------------------------------------------------------- | ||
$(BUILD): | ||
@[ -d $@ ] || mkdir -p $@ | ||
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile | ||
|
||
#--------------------------------------------------------------------------------- | ||
clean: | ||
@echo clean ...$(TARGET) | ||
@rm -fr $(BUILD) *.elf *.*ds* | ||
|
||
export: | ||
@echo exporting ...$(TARGET) | ||
@cp *.nds $(EXPORT_DIR)/$(TARGET).nds | ||
|
||
#--------------------------------------------------------------------------------- | ||
else | ||
|
||
DEPENDS := $(OFILES:.o=.d) | ||
|
||
#--------------------------------------------------------------------------------- | ||
# main targets | ||
#--------------------------------------------------------------------------------- | ||
$(OUTPUT).ds.gba : $(OUTPUT).nds | ||
|
||
$(OUTPUT).nds : $(OUTPUT).bin | ||
|
||
$(OUTPUT).bin : $(OUTPUT).elf | ||
|
||
$(OUTPUT).elf : $(OFILES) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.ds.gba: %.nds | ||
@echo built ... $(notdir $@) | ||
@dsbuild $< | ||
@cp $(CURDIR)/../$(notdir $@) ../$(notdir $(OUTPUT)).sc.nds | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.nds: %.bin | ||
|
||
@ndstool -c $@ -9 $(TARGET).bin $(ARM7BIN) $(LOGO) $(ICON) "$(TEXT1);$(TEXT2);$(TEXT3)" | ||
|
||
|
||
#--------------------------------------------------------------------------------- | ||
%.bin: %.elf | ||
|
||
@$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.elf: | ||
@echo $(LD) $(LDFLAGS) -specs=ds_arm9.specs $(OFILES) $(LIBPATHPA) $(LIBSPA) $(LIBPATHS) $(LIBS) -o $(TARGET).elf | ||
@$(LD) $(LDFLAGS) -specs=ds_arm9.specs $(OFILES) $(LIBPATHPA) $(LIBSPA) $(LIBPATHS) $(LIBS) -o $(TARGET).elf | ||
|
||
|
||
|
||
#--------------------------------------------------------------------------------- | ||
# Compile Targets for C/C++ | ||
#--------------------------------------------------------------------------------- | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.cpp | ||
@echo $(notdir $<) | ||
@$(CXX) -MM $(CFLAGS) -o $*.d $< | ||
@$(CXX) $(CFLAGS) -c $< -o$@ | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.c | ||
@echo $(notdir $<) | ||
@$(CC) -MM $(CFLAGS) -o $*.d $< | ||
@$(CC) $(CFLAGS) -c $< -o$@ | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.s | ||
@echo $(notdir $<) | ||
@$(CC) -MM $(CFLAGS) -o $*.d $< | ||
@$(CC) $(ASFLAGS) -c $< -o$@ | ||
|
||
|
||
define bin2o | ||
cp $(<) $(*).tmp | ||
echo -n $$(( `cat $(*).tmp | wc -c` & 3 )) | sed -e 's/0//g' | sed -e 's/1/000/g' | sed -e 's/2/00/g' | sed -e 's/3/0/g' >> $(*).tmp | ||
$(OBJCOPY) -I binary -O elf32-littlearm -B arm \ | ||
--rename-section .data=.rodata \ | ||
--redefine-sym _binary_$*_tmp_start=$*\ | ||
--redefine-sym _binary_$*_tmp_end=$*_end\ | ||
--redefine-sym _binary_$*_tmp_size=$*_size\ | ||
$(*).tmp $(@) | ||
echo "extern const u8" $(*)"[];" > $(*).h | ||
echo "extern const u32" $(*)_size[]";" >> $(*).h | ||
rm $(*).tmp | ||
endef | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.pcx | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.bin | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.raw | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.pal | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.map | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.mdl | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.jpg | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.mod | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.gif | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
#--------------------------------------------------------------------------------- | ||
%.o : %.bmp | ||
#--------------------------------------------------------------------------------- | ||
@echo $(notdir $<) | ||
@$(bin2o) | ||
|
||
|
||
-include $(DEPENDS) | ||
#--------------------------------------------------------------------------------------- | ||
endif | ||
#--------------------------------------------------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
<Project name="Template"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="Template" path=""><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="source" path="source\"><File path="main.c"></File></MagicFolder><File path="build.bat"></File><File path="clean.bat"></File><File path="logo.bmp"></File><File path="logo_wifi.bmp"></File><File path="Template.pnproj"></File><File path="Template.pnps"></File></MagicFolder></Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
<pd><ViewState><e p="Template" x="true"></e><e p="Template\Template" x="true"></e><e p="Template\Template\source" x="true"></e></ViewState></pd> |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
make clean | ||
make | ||
pause | ||
cp Pacman.ds.gba "c:\Users\Jamie\Desktop\programming\emu\SLOT\pacman.ds.gba" | ||
cd c:\Users\Jamie\Desktop\programming\emu | ||
NOGBA c:\Users\Jamie\Desktop\programming\emu\SLOT\pacman.ds.gba |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
make clean |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[VisualHamOFileListV1] | ||
source/main.c |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[VisualHAMTreeContentV1] | ||
HAM Workspace= | ||
HAM Workspace\Source Files= | ||
HAM Workspace\Source Files=source/main.c | ||
HAM Workspace\Header Files= | ||
HAM Workspace=makefile |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#TranspColor Magenta | ||
|
||
#Sprites : | ||
C:\devkitPro\projects\Pacman\source\gfx\pacman.bmp 256colors pacman | ||
shot.png 16colors | ||
|
||
#Backgrounds : | ||
C:\devkitPro\projects\Pacman\source\gfx\Pac1.png EasyBg Pac1 | ||
C:\devkitPro\projects\Pacman\source\gfx\Pac2.png EasyBg Pac2 | ||
|
||
#Textures : |
Empty file.
Oops, something went wrong.