For my 200th bog post I would like to present a preview of a graphical bootloader I'm developing for the handheld computer called the mikroMMB from MikroElektronika.
The firmware is called dsFreeloader and it will allow you to browse through a grid of HEX firmware files and bootload them using the microSD card reader. This means you could load hundreds of firmware files on a single microSD card and then launch them with a tap of a button.
The dsFreeloader firmware supports automatic display rotation using the built-in accelerometer and comes with a few programs like an egg timer app and a flashlight app.
There is still a lot of work to be done before it is ready for any public testing. I have the first version of the user interface working with a few built-in Apps. Right now I am working on the microSD card based bootloader code. This project will need a few months of development and testing before it will be available for download.
Here I am compiling the IRIX version of NEHE's OPENGL tutorials on Jan 3, 2011.
On Jan 2nd and 3rd I started with testing the RAM in my SGI O2 system. I removed the RAM in pairs to test which RAM sticks were acting up. In the end, I removed half the RAM sticks and the computer is now a bit lower on memory but it works a lot better. Part way through I experienced the dreaded blinking amber coloured status LED "memory error" and then a new error "relocation of a JUMPADDR overflows" dialogue that had me a little bit scared that I would have to go through a dreaded multi-hour IRIX 6.5 reload.
After the Silicon Graphics O2's RAM issues were resolved I got my system compiling code with GCC and downloaded the IRIX version of the NEHE OpenGL tutorials. Something funny must have happened with the language settings when I was setting up GCC. Whenever I ran GCC this morning all of the compiler status messages were output in German! I played with the $LC_LANG environmental variable and got things working again in English by editing the Unix shell's hidden .profile settings file and changed the Lang and LC_Lang values to:
export LC_ALL=en
export LANG=en
I also took a moment and added a few more directories to the system PATH.
This morning I was able to compile the first few of NEHE's OpenGL examples on my O2 system after some Google and Nekochan searching of GCC compiler errors. When I started compiling the NEHE code using GCC I had to edit the makefiles to link to the correct version of GLUT on my O2 system and link the code using the -L/usr/lib32/ option to get rid of the messages expecting n32 objects /usr/lib/libX11.so is o32 and remove the following error:
ld32: FATAL 12:Expecting n32 objects: /usr/lib/libGL.so is o32.
Collect2: lb returned 4 exit status.
*** Error code 1 (bu21)
Also I had to change the makefile line:
LIBRARIES = -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm
in the NEHE makefiles to:
LIBRARIES = -lglut -lGL -lGLU -lm
to remove the warnings:
ld32: WARNING 84: /usr/lib32/libX11.so is not used for resolving any symbol.
ld32: WARNING 84: /usr/lib32/libXi.so is not used for resolving any symbol.
ld32: WARNING 84: /usr/lib32/libXmu.so is not used for resolving any symbol.
With the GCC errors solved I look forward to tomorrow when I can start playing with OpenGL and learning new things!
I recently heard about an interesting activity for retro-computing enthusiasts called the RetroChallenge. The task for the competition is to do something unique between January 1st to 31st, 2012 with a computer system that is over 10 years old.
I'm entering the January 2012 Winter Warmup RetroChallenge with an interest in doing something with retro 3D graphics. My goal is to develop an IRIX based program that uses OpenGL on my Silicon Graphics R10K O2 computer.
The SGI O2 system runs IRIX 6.5 and has a MIPS R10000 195 MHz processor, 192 Mbytes of ram, a CRM Rev C graphics card, and an AV1 Video I/O card. Because of the Sync-on-Green requirements of the O2 VGA port the computer is picky about which displays you can use with it. I have an older Sony GDM-FW900 24" CRT Monitor that I will try and get running with the SGI O2 system for the challenge.
Computer Status
After I moved the SGI O2 computer from storage at my parent's place to my home I have been getting a few ECC Memory errors. I will have to try reseating all of the ram and do some more testing to fix the RAM problem.
IRIX ECC Memory Error
SGI O2 startup memory error - ALERT: Soft ECC Error in Back side DIMM...
I just completed a new touch based game called Snowburst for the mikromedia gaming system.
In the game you have to tap to the screen to melt the falling snowflakes before you get snowed in. If you miss a snow flake the snowbank gets higher. Every 500 points the snowbank starts to melt a bit. You can play with two fingers but be sure to tap only one snowflake at a time. If you tap the status bar at the bottom of the screen you can mute the background music.
Snowburst was created using MikroC Pro for dsPIC 5.40 and VisualTFT.
Tip: Melt the small snowflakes first because they fall the fastest.
Here is the title screen from the Snowburst game.
Can you melt all of the snowflakes before you are covered in snow?
Created just in time for Christmas is a falling snowflakes graphics demo for the MikroElektronika dsPIC 33 Mikromedia board. The demo was created using MikroC Pro for dsPIC and VisualTFT. The demo features a winter theme with randomly generated snow particles. Each snowflake has a random position, size, and speed value.
This is a snowy graphics demo for the Mikromedia board.
Edit: This demo has been expanded into the Snowburst game.