PDA

View Full Version : FPC4NDS: devkitPro's 2D examples



Legolas
11-06-2007, 12:11 AM
I'm trying to fix bugs in libndsfpc and the 2D part should work pretty fine now (well, at least it works fine in dkp 2D examples). I have decided to upload those 2d examples on libndsfpc SVN (http://sourceforge.net/projects/libndsfpc), so if you are interested, you can get an idea about how things work.

About 3D: several problems here... I'm going on very slowly, because I need to test all code on the real NDS. In fact emulators aren't very good in 3D stuff at this time :(

Legolas
18-06-2007, 03:28 PM
Another update :D

This time I have put on SVN some NeHe's 3d examples, sound related stuff and... well, this is the changelog from SVN:


+ Added a lot of new examples from devkitPro (NeHe's 3d, sound, input, debugging, libfat)
+ Added Christmas PGD demo sources
* Fixed postest.inc, dma.inc, timers.inc
* Updated video.inc
* Fixed and updated a lot of stuff in videoGL.inc (mainly fixed point conversion and 3d funcs)


As usual, any feedback is very appreciated :P

technomage
18-06-2007, 04:09 PM
hi Legolas

It's been a while since I played with the DS stuff, I'll try and give it a go for you when I get a miniute.

I also tried to modify the port of SDL to allow 3D but didn't get very far cos the emulators are not good at 3D (in software or hardware).

I'll have a look at the nehe demos in SVN and see if I can figure out where I went wrong.

Dean

Legolas
18-06-2007, 04:21 PM
New No$gba 2.4b and Ideas 1.0.1.6 seem good enough for 3d. At this time I have some problems with display lists (some geometry flickering) and maybe I have found a bug in fpc in int64 handling, that prevents fixed point math coprocessor to work.

WILL
18-06-2007, 05:30 PM
Would OpenGL|ES work on the NDS? If there was compatibility with SDL that might be an option.

Legolas
18-06-2007, 06:53 PM
OpenGL for NDS is a sort of GL "simulator" only or, as stated on devkitpro's docs, "a Video API vaguely similar to OpenGL". IMHO an OpenGL|ES porting is feasible, but not at this stage of developement.

Legolas
07-07-2007, 11:19 PM
I have uploaded all remaining 3D examples now (excepted for a couple of overcomplicated NeHe conversions :roll:).
I have released a new zip package (http://sourceforge.net/project/showfiles.php?group_id=184355) with lib and examples too :)
For all interested people, I *strongly* recommend to update to this release, because there are tons of bugs fixed, several improvements and new features here and there :P

21o6
08-07-2007, 05:12 PM
hi.

using your package gives me an error.

code:

program Touch;
{$apptype arm7} //...or arm7
{$define ARM7} //...or arm7, according to apptype
{$mode objfpc} // required for some libc funcs implementation
uses
ctypes; // required by nds headers!
{$include nds.inc} // headers!
var
tempPos: touchPosition;

procedure CatchTheTouch();
begin
tempPos := touchReadXY();
IPC^.touchX := tempPos.px;
IPC^.touchY := tempPos.py;
end;

begin
// Reset the clock if needed
rtcReset();
irqInit();
irqSet(IRQ_VCOUNT, @CatchTheTouch);
irqEnable(IRQ_VCOUNT);
while true do
swiWaitForVBlank();
end.

error:
ppcarmnds touch.pp7 -Sg
dma.inc(111,83) Error: Identifier not found "DMA_START_FIFO"
dma.inc(111,84) Error: Illegal expression
touch.pp7(35) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted

i have tried it standalone and tried it with copying over the existing
libnds-directory. both gave me the same results.

is the error on my side?

Legolas
08-07-2007, 07:09 PM
This error should be fixed in svn now. :)

21o6
08-07-2007, 07:42 PM
wow, fast! :D

but ... still doesn't work. it gave me the same error. i even doublechecked
by downloading version 0203 again.

am i the only one who has this problem? ... or am i the first to try it out? xD

21o6
08-07-2007, 08:44 PM
I found a way to make it compile again.

// {$ifdef ARM7}
// DMA_START_VBL = (1 shl 27); //BIT(27);
//{$endif ARM7}

//{$ifdef ARM9}
DMA_START_HBL = (1 shl 28); //BIT(28);
DMA_START_VBL = (1 shl 27); //BIT(27);
DMA_START_FIFO = (7 shl 27);
DMA_DISP_FIFO = (4 shl 27);
//{$endif ARM9}

add the bold-written parts to \libnds\nds\dma.inc, line 84 and following.

btw, this doesn't change anything about my touchpad-problem xD

oh and i don't give any guarantee that this modificiation won't do your
nds any harm. :) i don't really know what i'm doing, actually :)

edit: /b doesn't seem to work in /code xD

Legolas
08-07-2007, 09:57 PM
I found a way to make it compile again.

// {$ifdef ARM7}
// DMA_START_VBL = (1 shl 27); //BIT(27);
//{$endif ARM7}

//{$ifdef ARM9}
DMA_START_HBL = (1 shl 28); //BIT(28);
DMA_START_VBL = (1 shl 27); //BIT(27);
DMA_START_FIFO = (7 shl 27);
DMA_DISP_FIFO = (4 shl 27);
//{$endif ARM9}

add the bold-written parts to \libnds\nds\dma.inc, line 84 and following.

btw, this doesn't change anything about my touchpad-problem xD

oh and i don't give any guarantee that this modificiation won't do your
nds any harm. :) i don't really know what i'm doing, actually :)

edit: /b doesn't seem to work in /code xD

Nonono, wait! :D
You will need to download the last package and, after that, check in the svn repository new dma.inc :)
In other words, replace your dma.inc with this (http://libndsfpc.svn.sourceforge.net/viewvc/libndsfpc/libnds/nds/dma.inc?view=markup) file.
However, here is the fix (line 111, dma.inc):

{$ifdef ARM9}
DMA_FIFO = (DMA_ENABLE or DMA_32_BIT or DMA_DST_FIX or DMA_START_FIFO);
{$endif ARM9}

21o6
08-07-2007, 10:14 PM
err okay :D

works. thanks :D

savage
09-07-2007, 10:16 AM
Great to see tweaks being done with this package.

I really wonder if we can create a competitor to Nintendo's Wiiware using Pascal. Maybe be we can call is PiiWare for PascalWiiWare :).

savage
27-09-2007, 04:14 PM
A question for Legolas or Technomage. Is it possible to write games for GBA or DS without using SDL?

Also how feasible is it to wack 3-4 games onto a flash cartridge and try to sell them ( the cartridges )?

Legolas
27-09-2007, 06:50 PM
A question for Legolas or Technomage. Is it possible to write games for GBA or DS without using SDL?

Of course! SDL is only a way (to be honest, I never seen a gba/nds game made with sdl); for homebrew games most preferred way is to use libnds and libgba.


Also how feasible is it to wack 3-4 games onto a flash cartridge and try to sell them ( the cartridges )?

http://forum.gbadev.org/viewtopic.php?t=9807
Seems that it is feasible, by putting a clear disclaimer about Nintendo endorsement on the game. The problem will be to find a cartridge seller :?

WILL
27-09-2007, 07:12 PM
If you want a clearer picture of Nintendo's past dealings with unlicensed distribution of games for their consoles you should have a read of this section of the article on the Nintendo Entertainment System.

http://en.wikipedia.org/wiki/Nintendo_Entertainment_System#Unlicensed_games

Nintendo has lately loosened it's previously very HIGHLY restrictive policy on licensing practices, but as we've seen with them since the time of the original NES this has fluctuated from generation to generation of consoles. Mostly due to things like; NES10 lockout chip bypassing, UltraHLE, the fall of Sega and competition with Microsoft & Sony, etc...

savage
07-12-2007, 03:25 PM
I think I may have asked this before, but can't find he post or the answer.

Where can I get some instructions about using my GBA and Nintendo DS with FreePascal? Basically I'm looking for some simple instructions that would tell me how to create an SDL compatible exe using FreePascal and then how to transfer the exe and the assocaited data onto a GBA, for starters, then a DS.

This is for a commercial proof of concept. The content, for now, would be 2D games, but may be 3D in future.

Basically at the moment the client wants to port their engine from Delphi to C++, but I want to show the same engine ported to FreePascal and running on a GBA/DS before they finish the port. I' have already got the engine compiling and running with FreePascal on Win32 and Mac OS X, but I want to add a bit extra to the deal and show it to them running on GBA or DS.

Maybe I'm getting a little ahead of myself. Maybe as a first step someone could show me how to compile the exe so that it will work in the GBA or DS emulator. Yes I think that would be a good first step to prove it works.

PS. Is Endianness important on GBA/DS?

I'll stop rambling now ( but I'm still excited >8-] ).

noeska
07-12-2007, 05:49 PM
For gba have a look at my scrolling with key input example. (http://itaprogaming.free.fr/download/scroll.zip) it is on http://itaprogaming.free.fr/ there you will find much more information.

Some step by step for gba:
1) Download the freepascal compiler for gba.
http://www.freepascal.org/down2/arm/gba-ftp.freepascal.org.var
2) Install it.
3)Download my example and put it in the examples folder of freepascal compiler you just installed.
4)Execute build .bat . It will use the makefile.
5)Now you will get an .gba file.
4)Load that gba file with the gba-emulator.

If you want to look the source take a peek in main.pp. Ignore the other files. You may even delete the bmp and .c files. They are inbetween steps.

Compiling for the nds is even easier:
1) Download the freepascal for nds
2) Install it
3) Create a build.bat with the following lines:



ppcarmnds -g --gc-sections -Tnds openglex1.pas
ndstool -c openglex1.nds -9 openglex1.arm9.bin
dsbuild openglex1.nds -o openglex1.nds.gba
del *.bin
del *.o
del *.elf

4) this will give you an .nds file that you can use with your nds emulator.

Using the .gba and .nds on real hardware requires additional hardware. And insturction would be specific to the hardware device. I personally use an M3 adapter with passcard.

in case you want to know what openglex1.pas is:


program helloworld;

{$apptype arm9} //...or arm7
{$define ARM9} //...or arm7, according to apptype

{$mode objfpc} // required for some libc funcs implementation

uses
ctypes; // required by nds headers!

{$include nds.inc} // headers!


var
i: integer;

function DrawGlScene(): shortint;
begin
//glLoadIdentity(); // Reset The Current Modelview Matrix
glTranslatef(-1.5,0.0,-6.0); // Move Left 1.5 Units And Into The Screen 6.0
glBegin(GL_TRIANGLES); // Drawing Using Triangles
glVertex3f( 0.0, 1.0, 0.0); // Top
glVertex3f(-1.0,-1.0, 0.0); // Bottom Left
glVertex3f( 1.0,-1.0, 0.0); // Bottom Right
glEnd(); // Finished Drawing The Triangle

glTranslatef(3.0,0.0,0.0); // Move Right 3 Units

glBegin(GL_QUADS); // Draw A Quad
glVertex3f(-1.0, 1.0, 0.0); // Top Left
glVertex3f( 1.0, 1.0, 0.0); // Top Right
glVertex3f( 1.0,-1.0, 0.0); // Bottom Right
glVertex3f(-1.0,-1.0, 0.0); // Bottom Left
glEnd(); // Done Drawing The Quad


result := GL_TRUE;
end;

begin


// Turn on everything
powerON(POWER_ALL);


consoleDemoInit();

// Setup the Main screen for 3D
videoSetMode(MODE_0_3D);

printf('Hello OpenGL!'+#10);
printf('www.pascalgamedevelopment.com'+#10);
printf('http://itaprogaming.free.fr/'+#10);
printf('http://3das.noeska.com');

// IRQ basic setup
//irqInitHandler(irqDefaultHandler);
//irqSet(IRQ_VBLANK, 0);

// Set our viewport to be the same size as the screen
glViewPort(0,0,255,191);

// Specify the Clear Color and Depth
glClearColor(0,0,0);
glClearDepth($7FFF);

while true do
begin
// Reset the screen and setup the view
glReset();
gluPerspective(35, 256.0 / 192.0, 0.1, 40);
gluLookAt( 0.0, 0.0, 1.0,
0.0, 0.0, 0.0,
0.0, 1.0, 0.0);

glPolyFmt(POLY_ALPHA(31) OR POLY_CULL_NONE);

// Set the current matrix to be the model matrix
glMatrixMode(GL_MODELVIEW);

//Push our original Matrix onto the stack (save state)
glPushMatrix();
glColor3f (1.0,1.0,1.0);
DrawGLScene();

// Pop our Matrix from the stack (restore state)
glPopMatrix(1);
// flush to screen
glFlush();
end;
end.

Legolas
07-12-2007, 06:34 PM
I'm not sure about a sdl porting... No one in the gbadev community uses sdl and I haven't seen any example working on fpc yet.

About fpc: there are some problems with the old memory manager hack in the 2.2.0. Long and sad story short, you could not use classes >_<.
The gba/nds port in the svn trunk uses the new fpc memory manager and it works pretty fine (supposing that you don't need recursive functions... in this case something goes wrong with the optimization flags, but I'm on it :P)

savage
07-12-2007, 11:38 PM
Does anyone in the community use SDL on DS?

At the moment the engine is hooking into SDL for window management and 2D rendering. Actually Dean gave me a JEDI-SDL patch for DS. I hope it also works with SDL_mixer as that is what I am using for sound.

savage
08-12-2007, 12:44 AM
OK I downloaded and installed the GBA and NDS FreePascal files, they are timestamped 10/05/2007 ( European Date ).

Do these include the latest memory manager?

Also what emulators do you guys use for GBA/NDS dev? I downloaded DeSmuME, is it any good?

Now I have to work out how to get SDL working on it.

Legolas
08-12-2007, 01:14 AM
The last version is the 2.2.0 (http://www.freepascal.org/download.var), released on september, but the new memory manager is in the trunk 2.3.x and there isn't a snapshot yet (I hope to release it next week-end, when I'll get some spare free time). However you can grab the daily source snapshot (ftp://ftp.freepascal.org/pub/fpc/snapshot/trunk/source/fpc.zip) (24 megs) and try to recompile it. In the case, I can help in this task, so let me know :)
(EDIT: I have a batch file that does the "dirty" job. ASAP I'll post it here)

The emulator of choice is no$gba (that despite its name, it is for ds too), but you can try iDeaS, that comes with a small debugger.
For the gba, you can use no$gba or visualboy advance.

WILL
08-12-2007, 03:35 AM
The only game/demo that I know of for the DS written in Pascal is the x-mas demo that Francesco and I wrote just last year. I can't recall if any SDL was used for graphics, but then again what was used to play the FastTracker2(.XM) module then? :P

I think the source was posed a few months ago.... as for the link... uh, Francesco? :)

dmantione
08-12-2007, 07:34 AM
Is the memory management fix in 2.2.1? It would be nice to have the 2.2.2 release with the fix.

Legolas
08-12-2007, 11:55 AM
@Jason: No SDL was used in the XMas demo, we used libnds only; about the XM, we converted it to wav, because the lack of mod libraries for ds. The sources are in the fpc4nds' "examples" directory.

@Dani?īl: I have removed the old hack for ds and gba, so now (I mean in 2.3.x trunk) gba and ds use the standard memory manager shipped with free pascal. Is it merged in the 2.2 fix branch now?

@Dominique: as promised, my batch file ^_^


rem This batch script is a little utility to make your fpc4nds in an easy way.
rem Make sure to install all stuff required and set the dirs accordingly.
rem For more infos feel free to contact me at francky74 AT gmail DOT com

@echo off

rem !!WARNING!! Set right directories!
rem FPC_INST_DIR&#58; The folder where you want your fpc4nds installed
rem FPC_SRC_DIR&#58; The folder where you have unpacked fpc sources
rem BINUTILS_DIR&#58; The folder where you have unpacked arm-nds binutils
rem FPC_BIN_DIR&#58; The folder where is fpc compiler used for build

set FPC_INST_DIR=C&#58;\fpc4nds
set FPC_SRC_DIR=C&#58;\fpc_sources
set BINUTILS_DIR=C&#58;\arm-nds-binutils
set FPC_BIN_DIR=C&#58;\fpc\2.2.0\bin\i386-win32

cls

echo ------------------------------------------------------------------------
echo FreePascal arm-nds installation script
echo ------------------------------------------------------------------------
echo You need to prepare the following stuff&#58;
echo 1. Install the arm-nds binutils into %BINUTILS_DIR%
echo http&#58;//itaprogaming.free.fr/download/arm-nds-binutils.zip
echo 2. Install the latest FreePascal snapshot into %FPC_SRC_DIR%
echo ftp&#58;//ftp.freepascal.org/pub/fpc/snapshot/v21/source/fpc.zip
echo.
echo According with this batch file, your fpc4nds will be installed in
echo %FPC_INST_DIR% from the fpc sources located at %FPC_SRC_DIR%
echo by using the Binutils located at %BINUTILS_DIR%.
echo.
echo At the end of this batch script, you could delete %FPC_SRC_DIR%/*.*
echo and %BINUTILS_DIR%/*.*.
echo Please, remember to add %FPC_INST_DIR% to your search path too!
echo ------------------------------------------------------------------------

if NOT EXIST %BINUTILS_DIR%\arm-nds-ld.exe goto errorarmmissing
if NOT EXIST %FPC_SRC_DIR%\compiler\cclasses.pas goto errorfpcmissing
if EXIST %FPC_INST_DIR%\ goto makefpc4nds

echo ------------------------------------------------------------------------
echo Creating the freepascal dir ...
echo ------------------------------------------------------------------------
mkdir %FPC_INST_DIR%\bin\arm-nds

&#58;makefpc4nds
pause
echo ------------------------------------------------------------------------
echo The necessary files were found, you may now continue.
echo ------------------------------------------------------------------------
pause

rem Creating cross compiler
rem ---------------------------

echo ------------------------------------------------------------------------
echo Cross compiler will now be created...
echo ------------------------------------------------------------------------

cd %FPC_SRC_DIR%\compiler
set path=%BINUTILS_DIR%;%PATH%;%FPC_BIN_DIR%
fpcmake -r -w -Tall
make distclean
make PPC_TARGET=arm
echo ------------------------------------------------------------------------
echo If you don't see any error messages, you may now continue.
echo ------------------------------------------------------------------------
pause
echo ------------------------------------------------------------------------
echo Creating the folder %FPC_INST_DIR%\bin\arm-nds ...
echo ------------------------------------------------------------------------
mkdir %FPC_INST_DIR%\bin\arm-nds
echo ------------------------------------------------------------------------
echo Copying %FPC_SRC_DIR%\compiler\ppcarm.exe
echo to %FPC_INST_DIR%\bin\arm-nds\ ...
echo ------------------------------------------------------------------------

rem Renamed to avoid conflicts with other fpc arm compilers &#40;like fpc4gba&#41;
copy %FPC_SRC_DIR%\compiler\ppcarm.exe %FPC_INST_DIR%\bin\arm-nds\ppcarmnds.exe
echo ------------------------------------------------------------------------
echo Copying %BINUTILS_DIR%\*.*
echo to %FPC_INST_DIR%\bin\arm-nds\ ...
echo ------------------------------------------------------------------------
copy %BINUTILS_DIR%\*.* %FPC_INST_DIR%\bin\arm-nds\
echo ------------------------------------------------------------------------
echo Creating the folder %FPC_INST_DIR%\msg ...
echo ------------------------------------------------------------------------
mkdir %FPC_INST_DIR%\msg
echo ------------------------------------------------------------------------
echo Copying %FPC_SRC_DIR%\compiler\msg\*.*
echo to %FPC_INST_DIR%\msg\ ...
echo ------------------------------------------------------------------------
copy %FPC_SRC_DIR%\compiler\msg\*.* %FPC_INST_DIR%\msg\
pause
echo ------------------------------------------------------------------------
echo The crosscompiler is created and installed. You may now build the RTL.
echo ------------------------------------------------------------------------
pause

rem Compiling rtl
rem -----------------

echo ------------------------------------------------------------------------
echo The rtl will now be compiled...
echo ------------------------------------------------------------------------
cd %FPC_SRC_DIR%\rtl\nds
fpcmake -r -w -Tall
make clean
make CPU_TARGET=arm OS_TARGET=nds PP="%FPC_INST_DIR%\bin\arm-nds\ppcarmnds" OPT="-Tnds -CX"
echo ------------------------------------------------------------------------
echo If you don't see any error messages, you may now continue.
echo ------------------------------------------------------------------------
pause
echo ------------------------------------------------------------------------
echo Creating the folder %FPC_INST_DIR%\units\arm-nds ...
echo ------------------------------------------------------------------------
mkdir %FPC_INST_DIR%\units\arm-nds
echo ------------------------------------------------------------------------
echo Copying %FPC_SRC_DIR%\rtl\units\arm-nds\*.*
echo to %FPC_INST_DIR%\units\arm-nds\ ...
echo ------------------------------------------------------------------------
copy %FPC_SRC_DIR%\rtl\units\arm-nds\*.* %FPC_INST_DIR%\units\arm-nds\


echo ------------------------------------------------------------------------
echo Creating %FPC_INST_DIR%\bin\arm-nds\fpc.cfg ...
echo ------------------------------------------------------------------------
echo -Tnds > %FPC_INST_DIR%\bin\arm-nds\fpc.cfg
echo -Fu%FPC_INST_DIR%\units\arm-nds >> %FPC_INST_DIR%\bin\arm-nds\fpc.cfg
echo -XParm-nds- >> %FPC_INST_DIR%\bin\arm-nds\fpc.cfg
echo -FD%FPC_INST_DIR% >> %FPC_INST_DIR%\bin\arm-nds\fpc.cfg
echo -FD%FPC_INST_DIR%\bin\arm-nds >> %FPC_INST_DIR%\bin\arm-nds\fpc.cfg


echo ------------------------------------------------------------------------
echo Creating some useful shortcuts ...
echo ------------------------------------------------------------------------
echo &#91;InternetShortcut&#93; > %FPC_INST_DIR%\freepascal.url
echo URL=http&#58;//www.freepascal.org/ >> %FPC_INST_DIR%\freepascal.url
echo &#91;InternetShortcut&#93; > %FPC_INST_DIR%\fpc4nds.url
echo URL=http&#58;//itaprogaming.free.fr/ >> %FPC_INST_DIR%\fpc4nds.url



echo ------------------------------------------------------------------------
echo Congratulations! Your fpc4nds is now correctly installed.
echo Remember to add %FPC_INST_DIR% to your search path. If you want, you
echo can delete %FPC_SRC_DIR%/*.* and %BINUTILS_DIR%/*.* now.
echo ------------------------------------------------------------------------
goto EOF
;

&#58;errorarmmissing
echo ------------------------------------------------------------------------
echo The ARM files are missing in %BINUTILS_DIR%!
echo Please install them, then restart this batch file.
echo.
echo You can download these files from
echo http&#58;//itarogaming.free.fr/download/arm-nds-binutils.zip
echo.
echo If you want to use different paths, please open this file in notepad
echo and change the first few lines according to your wishes.
echo ------------------------------------------------------------------------
pause
goto &#58;EOF
;

&#58;errorfpcmissing
echo ------------------------------------------------------------------------
echo The FPC files are missing in %FPC_SRC_DIR%\!
echo Please install them, then restart this batch file.
echo.
echo You can download these files from
echo ftp&#58;//ftp.freepascal.org/pub/fpc/snapshot/v21/source/fpc.zip
echo.
echo If you want to use different paths, please open this file in notepad
echo and change the first few lines according to your wishes.
echo ------------------------------------------------------------------------
pause
goto &#58;EOF
;

&#58;EOF
cd %FPC_INST_DIR%
set FPC_INST_DIR=
set FPC_SRC_DIR=
set BINUTILS_DIR=
set FPC_BIN_DIR=

pause

Hope it helps :)

savage
08-12-2007, 03:08 PM
The last version is the 2.2.0 (http://www.freepascal.org/download.var), released on september, but the new memory manager is in the trunk 2.3.x and there isn't a snapshot yet (I hope to release it next week-end, when I'll get some spare free time). However you can grab the daily source snapshot (ftp://ftp.freepascal.org/pub/fpc/snapshot/trunk/source/fpc.zip) (24 megs) and try to recompile it. In the case, I can help in this task, so let me know :)
(EDIT: I have a batch file that does the "dirty" job. ASAP I'll post it here)

Ok I've download no$gba as well now. Btw, I normally get my overnight snapshots from http://www.hu.freepascal.org/lazarus/, is this the same as your URL, but from a different location?

Thanks for the batchfile, I've added it to my arsenal.

Legolas
08-12-2007, 03:29 PM
Ok I've download no$gba as well now. Btw, I normally get my overnight snapshots from http://www.hu.freepascal.org/lazarus/, is this the same as your URL, but from a different location?

Thanks for the batchfile, I've added it to my arsenal.

You're welcome :)

About the sources, from my url you will get the development snapshot (2.3.x), from yours the fixes snapshot (2.2.x), that does not have my last fixes for nds/gba

savage
10-12-2007, 12:48 PM
Hi Legolas,
I tried recompiling things from source, but just got a load of error messages and then it said it had compiled correctly. I'll have to try out the exe to see if it really was built correctly.

I forgot about this thread, where Dean did some work with SDL and NDS ( http://www.pascalgamedevelopment.com/viewtopic.php?t=3949 )

Legolas
10-12-2007, 03:20 PM
Uhm... You should just get a lot of warnings :scratch:

I'm trying to make a complete rebuild now, and if it works fine I'll upload it somewhere :)

savage
11-12-2007, 06:14 PM
I'm trying to make a complete rebuild now, and if it works fine I'll upload it somewhere :)

Cool, I look forward to it. I could host it on PGD if you like.

Legolas
11-12-2007, 11:02 PM
I'm trying to make a complete rebuild now, and if it works fine I'll upload it somewhere :)

Cool, I look forward to it. I could host it on PGD if you like.

Thanks, but don't worry, I have uploaded both gba and fpc snaps to fpc server, in the hope that I haven't destroyed it... :whistle:... :shhh:...
When I need to upload something to fpc server I can't stop to feel like an elephant in a glassware... :elephant:

BTW, because I had some spare time to waste, I have put a new win32->arm-linux crosscompiler snapshot too, maybe it could be useful for gp2x.

Here's the ]
arm-nds-fpc-2.3.1.i386-win32 (ftp://ftp.freepascal.org/pub/fpc/snapshot/trunk/arm-nds/arm-nds-fpc-2.3.1.i386-win32.zip)
arm-gba-fpc-2.3.1.i386-win32 (ftp://ftp.freepascal.org/pub/fpc/snapshot/trunk/arm-gba/arm-gba-fpc-2.3.1.i386-win32.zip)
arm-linux-fpc-2.3.1.i386-win32 (ftp://ftp.freepascal.org/pub/fpc/snapshot/v23/arm-linux/arm-linux-fpc-2.3.1.i386-win32.zip)
[/list]

In the nds package you will find the latest libndsfpc release, that *should* work with devkitPro 21, and some examples, that maybe need some fixes because they're come from dkP 20.
In the gba package there is a new library for gba that I have ported from devkitPro. It's not tested at all, so I can't tell if it works or not... Well, try and feel free to fix it :D

Hope it works... Enjoy :)

savage
12-12-2007, 09:43 AM
When I need to upload something to fpc server I can't stop to feel like an elephant in a glassware... :elephant:

Cool expression. I think the English equivalent is "A bull in a china shop"

Ps. Thanks for the uploads, I'll try them tonight.

Legolas
12-12-2007, 10:07 AM
When I need to upload something to fpc server I can't stop to feel like an elephant in a glassware... :elephant:

Cool expression. I think the English equivalent is "A bull in a china shop"

Ps. Thanks for the uploads, I'll try them tonight.

You know, it comes from my "Itanglish" :lol:
A bull in a china shop... sounds cool! So now we need a bull emoticon :D

paul_nicholls
13-12-2007, 02:34 AM
I'm trying to make a complete rebuild now, and if it works fine I'll upload it somewhere :)

Cool, I look forward to it. I could host it on PGD if you like.

Thanks, but don't worry, I have uploaded both gba and fpc snaps to fpc server, in the hope that I haven't destroyed it... :whistle:... :shhh:...
When I need to upload something to fpc server I can't stop to feel like an elephant in a glassware... :elephant:

BTW, because I had some spare time to waste, I have put a new win32->arm-linux crosscompiler snapshot too, maybe it could be useful for gp2x.

Here's the ]
arm-nds-fpc-2.3.1.i386-win32 (ftp://ftp.freepascal.org/pub/fpc/snapshot/trunk/arm-nds/arm-nds-fpc-2.3.1.i386-win32.zip)
arm-gba-fpc-2.3.1.i386-win32 (ftp://ftp.freepascal.org/pub/fpc/snapshot/trunk/arm-gba/arm-gba-fpc-2.3.1.i386-win32.zip)
arm-linux-fpc-2.3.1.i386-win32 (ftp://ftp.freepascal.org/pub/fpc/snapshot/v23/arm-linux/arm-linux-fpc-2.3.1.i386-win32.zip)
[/list]

In the nds package you will find the latest libndsfpc release, that *should* work with devkitPro 21, and some examples, that maybe need some fixes because they're come from dkP 20.
In the gba package there is a new library for gba that I have ported from devkitPro. It's not tested at all, so I can't tell if it works or not... Well, try and feel free to fix it :D

Hope it works... Enjoy :)

Cool! a new arm-linux cross-compiler...I will try this myself :)

cheers,
Paul