splash screen on beagleboard xm rev c

I'm struggling to get a working splash screen on the beagleboard xm
rev c. I understand that this involves patching uboot by adding
dss_init(). I've found a couple of people with patches:
1. Dirk Behme (2008) - http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624
2. Petr Štetiar (2010) - http://groups.google.com/group/beagleboard/msg/0fbbc2b2cc6e47c9

As far as I can tell, though, these patches aren't compatible the
current u-boot's beagle.c (e.g. <u-boot-git>/board/ti/beagle/
beagle.c). I can manually apply the relevant pieces of those patches
to beagle.c, but it still does not result in a working splash.
Instead nothing is displayed for a while and junk is sent over the
serial port.

So here are my questions:
1. Does anyone have a working patch compatible with the current u-boot
available from git that works with beableboard xm rev c?
2. The patches appear to write pixels starting at 0x80500000. Would
this address have changed in xm rev c?
3. The patches have about 90 lines where some values are written to a
bunch of memory locations. Any ideas as to what these do or why they
are required? I believe these lines are responsible for the junk sent
over the serial port. Here's the first few lines so you know what I
mean:
  writel(0xfefffedf, 0x48310034); /* GPIO_OE(1) */
  writel(0x01000120, 0x48310094); /* GPIO_SETDATAOUT(1) */
  writel(0x0001b00c, 0x48004D44); /* CM_CLKSEL2_PLL */
  writel(0x00001006, 0x48004E40);
  writel(0x00370037, 0x48004D00);
        ...
  writel(0x0001836b, 0x48050440);
  udelay(1000);

If I were able to write a single pixel to the screen during startup,
I'm confident I could find a way to draw the rest of my image, but so
far this task has proved problematic. The only thing I've been able
is change the background ORANGE to some other color by modifying
DVI_BEAGLE_ORANGE_COL in beagle.h, but that's a pretty weak splash
screen!

Thanks,
Peter