XAce Jupiter ACE display problem with newer X versions

The Jupiter ACE was the first computer I ever bought, back in 1984, with my lunch money. I still have it, it doesn't work anymore, but I will fix it some day, and I have another one which works, I can use it on a SVGA screen through a UHF signal converter. I'm looking for a 48 ko memory extension, by the way. It's a great machine, which would have deserved a wider dissemination.
Lately I found Xace a Jupiter ACE emulator for X machines made by Edward Patel. It is faithful to the original, minus the sound capabilities, but plus the increased speed and the ability to run it inside my GNU/Linux laptop.
If you've got a display problem (4 dots aligned in the middle of the window) with XAce v0.4, apply this patch and recompile. This should fix it with SCALE>1 (2 is fine).
This is just a quick fix, a bit dirty, but I wanted to make as few changes as possible, unless Edward Patel doesn't want to maintain the code anymore, in which case I would gladly be willing to take over the code maintenance for this emulator.
--- xace-0.4/xmain.c	1999-02-15 21:54:15.000000000 +0900
+++ xace-0.4-vido/xmain.c	2003-12-16 12:33:48.000000000 +0900
@@ -1591,6 +1591,7 @@
 		       t = (unsigned short*)tmp;
+			int bitnum=-1;
 #if SCALE<2
@@ -1602,13 +1603,15 @@
+			bitnum++;
 			     if (linelen==512) 
-			       tmp[j*hsize+k]=m;
+			     //  tmp[j*hsize+k]=m;
+				XPutPixel(ximage,SCALE*(x*8+bitnum)+k,SCALE*(y*8+b)+j,m);