|
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 @@
tmp=image+((y*8+b)*hsize+x*8)*SCALE*(linelen==512?2:1);
t = (unsigned short*)tmp;
mask=256;
+ int bitnum=-1;
while((mask>>=1))
#if SCALE<2
{
@@ -1602,13 +1603,15 @@
}
#else
{
+ bitnum++;
m=((d&mask)?black:white);
for(j=0;j<SCALE;j++)
for(k=0;k<SCALE;k++)
if (linelen==512)
t[j*hsize+k]=m;
else
- tmp[j*hsize+k]=m;
+ // tmp[j*hsize+k]=m;
+ XPutPixel(ximage,SCALE*(x*8+bitnum)+k,SCALE*(y*8+b)+j,m);
tmp+=SCALE;
t+=SCALE;
}
|