Francesco's knick-knacks
Menu
_News

Articles
_FPC 4 GBA Game Programming Tutorial
_Setting up a FPC 4 NDS development environment

Other
_About me
_Links

Projects
_bin2unit - bin to pascal converter
_FPC 4 GBA
_FPC 4 NDS
_FPC 4 Wii (NEW!!!)
_Nintendo DS programming with Free Pascal - WIP (!!!NEW!!!)


Site made with
pspad

Valid CSS!

Valid HTML 4.01 Transitional


2006.11.20 Busy!
I'm a little busy because in a month I should take an exam... law stuff, that I hate. =(
For this exam I have made a little WinCE app with Lazarus for browsing the italian laws with my pocketpc (yes, it's much more easy to handle compared to a book =P)
About fpc4nds, now seems that the fpc compiler is stable enough to try to go on with the port. Another good news is that I will get a ds-x card for free, because I was chosen for their developers support program. :D

2006.11.09 no$gba debugger
Finally I have got for 15 bucks a no$gba debugger! Still I not had the time to test it very deeply (I have received it yesterday), but it seems very good. I'll spend next few days to acquire confidence with this new tool, then I'll try to find where are the bugs on fpc4nds. Please, let me know if someone is in gba/nds debugging... I have a LOT of questions to ask ^_^

2006.10.22 Little compilers grow up
Things are going well, because the code I have posted a couple of days ago compiles and works fine ^_^
Next step is to make a working crt0 and linker script (the step that drove me crazy with gba compiler...) and making a better rtl (the one I have made is only a draft made by the gba one).
Only for your eyes, here is a screenshot of the demo (as for the gba, a wonderful red pixel in the middle of the screen!):

The wonderful fpc4nds demo


2006.10.19 First nds attempts
Florian has confirmed that current fpc compiler for arm can produce asm code compatible with arm9 cpu, so a nds porting should be doable. I have just started converting stuff: the compiler itself is identical to the gba one; the rtl need some (heavy?) adjustment... This first stage of porting is only matter of "try'n'compare", though it's a bit harder than the gba was: unfortunately I don't have found a nds emulator with debugger suitable for my attempts. I'll need to open a bank account in order to buy no$gba debugger =] Here the source code of a little demo I'm trying to make it working (it should draw a red pixel in the middle of the upper screen of the nds):
program main;
const
  DISPLAY_CR      : ^dword      = pointer($04000000);
  SUB_DISPLAY_CR  : ^dword      = pointer($04001000);
  VRAM_A          : ^word       = pointer($6800000);      
  VRAM_A_CR       : ^byte       = pointer($04000240);
  VRAM_ENABLE                   = (1 shl 7);       
begin
  DISPLAY_CR^ := $00020000;
  VRAM_A_CR^ := VRAM_ENABLE or 0;
  VRAM_A[24450] := $001f;
end.

2006.10.16 Changes in the compiler
Florian has made some changes in the fpc compiler: now softfloat emulator is enabled by default, so you can use floating point variables, though it's very slow. Instead, you can use fixed point values or/and lookup tables.
Another change is that the linker script is now integrated in the compiler, so you can compile things by:
fpc -Parm myfile.pp -Xs -XX -Tgba -vi
without calling the linker. If you need to use different linker script, you can still use the way it was used before :)
A thank to Bernd Mueller that has reported the softfloat bug ;)

1 2 3 4 5 6 7 8 9 10 
11 12 13 14 












Get Firefox!

!!!Disclaimer!!! Read it carefully!!! : All the software you can find in this site is provided as is. I can't be considered responsible for damages caused directly or indirectly by my software. Gameboy, Gameboy Advanced, Nintendo DS are trademark of Nintendo. I'm not related to Nintendo in any way and all informations you can find in these pages come from reverse engineering, search'n'try and from publically and available docs.