Thanks to Robert Tray for helping me finding the proper protocol
that has to be used with the xmap9 and 24 hours of rest, the X server
is now displaying correctly on my machine.
The reason the ioctl NG1_SETDISPLAYMODE was hanging my machine was
pretty easy: on the xmap9 documentation it says that the number of
entries available on the xmap9 fifo is a 3 bit number, but later on
the document, it explains that this number is actually mapped like
000 - no entries available
001 - one entry available
011 - two entries available
010 - three entries available.
Next time I will be more careful reading that.
Now, I am off to test xterm and merge my code with the cvs
repository at linux.sgi.com.