PDA

View Full Version : FPC 4 GBA: binaries uploaded



Legolas
30-05-2006, 12:41 AM
As promised, I made a zip package with fpc4gba binaries. In the package I have added a library (it works, but it needs some test) and a couple of examples. Speed is very improved from the last time, and now smartlinking works fine too.
You can find the package on my web page (http://itaprogaming.free.fr) :mrgreen:
BTW, now I'm investigating about the possibility to port fpc for nintendo ds too so, as for fpc4gba, any help is appreciated :P

To all SDL users: I have found a sdl porting for gba, so it could be interesting if someone would try to mix sdl for freepascal with it :D

WILL
31-05-2006, 02:46 AM
I'll post a news post and update the FPC4GBA site again. ;)

Legolas
31-05-2006, 12:44 PM
I'll post a news post and update the FPC4GBA site again. ;)

Yes, please :toothy:

Now that we have a working gba compiler, it could be nice to organize a sort of recruitment on pgd community. We need testing, demos, examples, games, libs, tutorials... well, we need anything could help to grow up fpc4gba project! :D
I can't do it all by myself (lack of time and skills), though I'll try, so any help would be VERY appreciated. :mrgreen:

savage
31-05-2006, 12:51 PM
Legolas, maybe you could write a small tutorial about what is involved ( tools required, setup etc ) in creating a simple GBA game. This should then encourage others to take part. I would also post an Image of the Day on GameDev.net to get the news out there to a wider audience. You have to think of these things like a product. To get people interested you need to advertise.

WILL
02-06-2006, 12:30 AM
Dani?īl had a really cool idea where we would put together a 'my first game' type of tutorial. In this we could go through and specify how to make a basic game using the FPC4GBA port in Pascal.

We just break it down into parts; game states/timers/etc(the basics), input controls, graphics, sound, link cable, and so on... I think Johns book would be a great help as a reference for this tutorial.

We could eventually use this tutorial to get a book made out of it later on too. Should we want to go that route. :)

Legolas
02-06-2006, 01:34 AM
[quote="WILL"]Dani?īl had a really cool idea where we would put together a 'my first game' type of tutorial. In this we could go through and specify how to make a basic game using the FPC4GBA port in Pascal.

We just break it down into parts; game states/timers/etc(the basics), input controls, graphics, sound, ]

I have started writing a 101 tutorial about gba programming with fpc4gba. I'm trying to show all aspects of gba (setting and using different modes, reading keypad, sound, and so on), by making a small demo for every argument. My biggest problem (as you can guess :oops:) is to write in english :P
I don't know if Mr Harbour's book is a good choice... I have read here and there that he has some coding habits to avoid, eg. including big header files for images instead of linking it as an external object. I think that TONC tutorial should be better, even if it is a bit more advanced. :)

WILL
02-06-2006, 02:19 AM
Well I don't nessissarily mean his programming, but his book's layout and it's published format style instead.

He seperated everything into logical sections which makes it a great learning tool and a wonderful reference even after reading it for the first few times.

WILL
17-07-2006, 01:31 AM
So any unsung project bare fruit from these binaries yet?

Or... any more examples/tutorials?

I believe that Noeska was been working on a small tutorial in addition to your own. Any progress on these?

Once PGD is properly restored, we'll have the Articles section back up... we can feature anything about this once you have something. :)

Legolas
17-07-2006, 06:13 PM
So any unsung project bare fruit from these binaries yet?

Or... any more examples/tutorials?

I believe that Noeska was been working on a small tutorial in addition to your own. Any progress on these?

Once PGD is properly restored, we'll have the Articles section back up... we can feature anything about this once you have something. :)

I'm curious too to know if someone is trying to make something for gba :)
About the tutorial, at this time I'm a bit busy (you know, real life :lol:) and I don't know if I should publish my tutorial "as is", without a deep checking :think:

WILL
17-07-2006, 06:47 PM
Is it complete as far as the technical side of it goes?

Legolas
17-07-2006, 09:30 PM
The finished part is on bitmap modes and IMO is complete enough, though I should check all code examples and "wash" a bit the language used (maybe you have noticed my awful english...) :alien:

savage
18-07-2006, 09:39 AM
hmm I wonder how easy it would be to port Siege of Avalon to GBA.

dmantione
18-07-2006, 09:46 AM
I once had a look at that game, but my conclusions is that that source code is hopeless; it is closely intermixed with the VCL and uses a proprietary blit engine. Even if you would be able to use the LCL, the GBA has way to few resources to support the LCL. I think making it run in FPC would be an accomplishment itself, porting it is another matter.

savage
18-07-2006, 10:22 AM
I have already started work on porting it to JEDI-SDL, so there is no dependency on the VCL. The idea was to get it up and running on Linux and Win32 ( and I think someone compiled it on MacOS as well ), which I managed to do at least the intro and main menu were working. I even added multi-language support.

SoA uses a layered sprite system, which allowed you to strip characters down to their underwear. Once the layering sprite system is ported the rendering loop could easily be re-written to be more effecient. Even the proprietry blitting system can be replaced. It's not an easy job, but it can be done. The main issue I see with GBA would be replace the SDL calls with GBA calls or alternatively we could write a thin SDL API replication layer that maps to GBA blit calls and the space restrictions that go with GBA.
All doable, but it takes time and loads of it. If I won the lottery I'd pay some people to finish it off.

dmantione
18-07-2006, 03:44 PM
Cool :) If you managed to kick out the VCL there might be some ways to save that code.

There are no GBA calls. The GBA is:

var videoram:array[0..xxxx] of word absolute $yyyy;

... and write the blitting code in assembler. We now have the Hermes blitting engine in FPC SVN, that one might help.

savage
18-07-2006, 04:03 PM
We now have the Hermes blitting engine in FPC SVN, that one might help.

Can you explain more about Hermes or provide links?

dmantione
18-07-2006, 04:46 PM
Hermes is a blitting engine that mainly focuses fast clearing of surfaces and on drawing bitmaps with colour space conversion (i.e. drawing 8-bit palette graphics in 32-bit graphics modes or drawing 32 bit graphics in 16-bit mode, or whatever).

MMX assembler accelerated versions of all routines exist.

It was translated from C to Pascal by Nikolay Nikolov:

Pascal version is here:

http://svn.freepascal.org/svn/fpc/trunk/packages/extra/hermes/

Original C version:

http://www.clanlib.org/hermes/