Showing posts with label locals. Show all posts
Showing posts with label locals. Show all posts

Thursday, December 31, 2009

Finally! The all-text release

Today I integrated the last three text-mode-only modules left I had planned to integrate before starting work in the graphical part of Bennu: mod_sort, mod_mem & mod_timers.

This means that most of the non-graphics related part of Bennu for the Wii is now done -just in time to celebrate the new year- and now it's time for me to focus on the part of Bennu that you can actually show to other people.

I also updated mod_sound and fixed a couple of bugs I had put there.

Last but not least, I did the same offsetting for the GLOBALs as I had to do for the LOCALs.

Happy new year, and say welcome 2010: the year of graphics for Bennu in the Wii! :)

PS: Just like it happens with the MacOSX platform (which isn't compiling right now in Bennu but has a lot of supporting code inside) memory_total() and memory_free() are placeholders and always return 0. I might be able to implement those, but I am not sure.
PS2: The text-only modules I have not yet implemented fall in one of these categories:

  • Either they don't make sense in the Wii (mod_wm, mod_sys). These will just be a list of placeholder functions that will only return default values and run no code.
  • Or they provide functionality not always present in the Wii (mod_key, mod_cd).
  • They're mod_debug, This one is big&complex and even if it's very useful, I want to focus on the rest of Bennu first.

Monday, December 28, 2009

Upsss! mod_proc is now working

mod_proc seems to be working now. I will have to do more testing, but LOCALs such as FATHER seem to work now.
The problem was that when I inserted the code for the LOCALs defined in mod_proc, I had not taken into the account how their values where referred in the DCB (file offsets.h).

This was quite a complex bug in the sense that it would've been very hard for me to find. I have created a modified Makefile so that now I can compile and test most of the code without having to be in front of my Wii.
That helped a bit to find the bug but it was my brother who did most of the debugging this time, so thanks to him :)

So now, only mod_sort, mod_mem and mod_timers are left before I start with the graphical part of Bennu!

Sunday, December 13, 2009

A bit of hacking with globals, locals and DLVARFIXUP, in general

I'm not having much time lately to work on Bennu, but today I got to hack a bit on it.
Basically, what I've done is finish the mod_sound module (remember some time ago I said there were some bits left?).

What I've one is implement the code that initializes the global variables. The mechanism is the same as used for initializing local vars, so those should be easy to do now, too.

This is, however, a more important change that it can appear to be, as this was basically the only thing I didn't really understand about the new Bennu modular architecture (as opposed to the old Fenix static design). This means that I can finally also try to finish mod_proc.

So I'm hoping on having all applicable non-video related modules done very soon so that I can start with the code that makes Bennu so great: graphics :)

Happy coding!