[AD] DS/GBA Port

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


hello,

We, Tomasu, relpats_eht and I, have working on the DS/GBA port (4.2.1) for 
some time now and have been doing so on a separate repository hosted by 
Tomasu. I was curious to know if it would be feasible to be able to merge our 
work into the main repository or move into a branch there? The reason I ask 
is so that we can stay concurrent with changes in SVN instead of having to 
every so often merge the changes from the main repo to ours. Most of the 
ground work is done and the library compiles for the NDS and GBA. Granted 
some things aren't fully working yet but in time we hope to be able to get 
them up to speed. I've attached a patch of what changes need to be done to 
accommodate the port which covers: 
makefile.lst
fix.sh
fix.bat
alconfig.h

The other items that need to be added are (which aren't in the patch):
makefile.nds
makefile.nds.arm7
makefile.nds.arm9
makefile.nds.demo
src/nds/*
obj/nds
include/allegro/platform/aintnds.h
include/allegro/platform/alndscfg.h
include/allegro/platform/alnds.h
tests/nds
makefile.gba
src/gba/*
obj/gba
include/allegro/platform/aintgba.h
include/allegro/platform/algbacfg.h
include/allegro/platform/algba.h
obj/c
obj/misc

In order to compile the port you will need to have DevkitPro, libnds/libgba 
and libfat. But this should already be known if you are developing for the 
NDS or GBA. :)

-- 
-juvinious

http://saggui.sourceforge.net - Simplified All Gaming GUI
http://openlayer.berlios.de - Openlayer
Index: makefile.lst
===================================================================
--- makefile.lst	(revision 7952)
+++ makefile.lst	(working copy)
@@ -393,6 +393,38 @@
 	src/unix/uthreads.c \
 	src/misc/colconv.c
 
+ALLEGRO_SRC_NDS_ARM_7_FILES = \
+	src/nds/ndsarm7main.c
+
+ALLEGRO_SRC_NDS_ARM_9_FILES = \
+	src/nds/ndsfile.c \
+	src/nds/ndsjoy.c \
+	src/nds/ndskeybd.c \
+	src/nds/ndsmouse.c \
+	src/nds/ndssystem.c \
+	src/nds/ndstimer.c \
+	src/nds/ndsdigi.c \
+	src/nds/ndsmidi.c \
+	src/nds/ndssoftgfx.c \
+	src/nds/ndsinfo.c \
+	src/nds/ndshwgfx.c \
+	src/nds/ndsdrv.c \
+	src/nds/ndsmem.c
+
+ALLEGRO_SRC_GBA_FILES = \
+        src/gba/gbafile.c \
+	src/gba/gbajoy.c \
+	src/gba/gbakeybd.c \
+	src/gba/gbasystem.c \
+	src/gba/gbatimer.c \
+	src/gba/gbadigi.c \
+	src/gba/gbamidi.c \
+	src/gba/gbasoftgfx.c \
+	src/gba/gbainfo.c \
+	src/gba/gbahwgfx.c \
+	src/gba/gbadrv.c \
+	src/gba/gbamem.c
+
 ALLEGRO_MODULE_VGA_FILES = \
 	src/linux/lvga.c \
 	src/misc/modex.c \
Index: include/allegro/internal/alconfig.h
===================================================================
--- include/allegro/internal/alconfig.h	(revision 7952)
+++ include/allegro/internal/alconfig.h	(working copy)
@@ -56,6 +56,10 @@
       #include "allegro/platform/alqnxcfg.h"
    #elif defined ALLEGRO_UNIX
       #include "allegro/platform/alucfg.h"
+   #elif defined ALLEGRO_GBA
+      #include "allegro/platform/algbacfg.h"
+   #elif defined ALLEGRO_NDS
+      #include "allegro/platform/alndscfg.h"
    #else
       #error platform not supported
    #endif
Index: fix.bat
===================================================================
--- fix.bat	(revision 7952)
+++ fix.bat	(working copy)
@@ -37,6 +37,8 @@
 if [%1] == [msvc8]   goto head
 if [%1] == [icl]     goto head
 if [%1] == [watcom]  goto head
+if [%1] == [nds]     goto head
+if [%1] == [gba]     goto head
 goto help
 
 
@@ -56,6 +58,8 @@
 if [%1] == [msvc8]   goto msvc8
 if [%1] == [icl]     goto icl
 if [%1] == [watcom]  goto watcom
+if [%1] == [nds]     goto nds
+if [%1] == [gba]     goto gba
 
 echo fix.bat internal error: not reached
 goto help
@@ -136,12 +140,27 @@
 echo #define ALLEGRO_WATCOM >> include\allegro\platform\alplatf.h
 goto tail
 
+:nds
+echo Configuring Allegro for NDS/DevkitPro...
+echo #define ALLEGRO_NDS >> include\allegro\platform\alplatf.h
+echo include makefile.nds >> makefile
+if [%2] == [--crlf] goto crlf
+if [%3] == [--crlf] goto crlf
+goto done
+
+:gba
+echo Configuring Allegro for Nintendo GBA/DevkitPro...
+echo #define ALLEGRO_GBA >> include\allegro\platform\alplatf.h
+echo include makefile.gba >> makefile
+if [%2] == [--crlf] goto crlf
+if [%3] == [--crlf] goto crlf
+
 :help
 echo.
 echo Usage: fix platform [--crlf] [--nomsvcpaths]
 echo.
 echo Where platform is one of:
-echo     bcc32, djgpp, mingw, msvc6, msvc7, msvc8, icl, or watcom.
+echo     bcc32, djgpp, mingw, msvc6, msvc7, msvc8, icl, watcom, gba, or nds.
 echo.
 echo The --crlf parameter is used to turn on LF to CR/LF conversion.
 echo The --nomsvcpaths parameter is used to turn off special MS Visual C++
Index: fix.sh
===================================================================
--- fix.sh	(revision 7952)
+++ fix.sh	(working copy)
@@ -10,7 +10,7 @@
    echo "Usage: $0 <platform> [--quick|--dtou|--utod|--utom|--mtou]"
    echo
    echo "Where platform is one of: bcc32, beos, djgpp, mingw, qnx, unix"
-   echo "mac, macosx, macosx-universal and watcom."
+   echo "mac, macosx, macosx-universal, watcom, gba and nds."
    echo "The --quick parameter turns off text file conversion, --dtou converts from"
    echo "DOS/Win32 format to Unix, --utod converts from Unix to DOS/Win32 format,"
    echo "--utom converts from Unix to Macintosh format and --mtou converts from"
@@ -47,6 +47,26 @@
    echo "#define ALLEGRO_MACOSX" >> include/allegro/platform/alplatf.h
 }
 
+proc_fix_nds()
+{
+   echo "Configuring Allegro for Nintendo DS (DevkitPro) ..."      
+   echo "# generated by fix.sh" > makefile
+   echo "include makefile.nds" >> makefile
+   
+   echo "/* generated by fix.sh */" > include/allegro/platform/alplatf.h
+   echo "#define ALLEGRO_NDS" >> include/allegro/platform/alplatf.h
+}
+
+proc_fix_gba()
+{
+   echo "Configuring Allegro for Nintendo GameBoy Advanced (DevkitPro) ..."
+   echo "# generated by fix.sh" > makefile
+   echo "include makefile.gba" >> makefile
+  
+   echo "/* generated by fix.sh */" > include/allegro/platform/alplatf.h
+   echo "#define ALLEGRO_GBA" >> include/allegro/platform/alplatf.h
+}
+
 proc_filelist()
 {
    # common files.
@@ -148,6 +168,8 @@
    "macosx"  ) proc_fix "MacOS X"           "makefile.osx" "ALLEGRO_MACOSX";;
    "macosx-universal" ) proc_fix_osx_ub ;;
    "watcom"  ) proc_fix "DOS (Watcom)"      "makefile.wat" "ALLEGRO_WATCOM";;
+   "nds"  ) proc_fix_nds ;;
+   "gba"  ) proc_fix_gba ;;
    "help"    ) proc_help;;
    *         ) proc_help;;
 esac


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/