Hi,
I've recently got a Mac PowerPC G3 with an ATI Rage 128 RE.
I installed xmame (0.37b13.2) and it was OK except for the DGA
fullscreen display.
It was mangled as if some pixels were reversed, but it worked well
with "-scale 2".
The problem seemed only to be with 8bpp to 8bpp, 1x1 scale.
When I looked at blit.h, this variation is handled with a simple
memcpy to graphics memory.
It turned out that this memcpy is the reason for the screen garbage,
when I did the following change, it worked with 1x1 scale too.
The change byte-swaps every 16 bit value copied to screen mem.
diff -u -r1.1.1.1 blit.h
--- blit.h 2001/02/03 01:25:24 1.1.1.1
+++ blit.h 2001/04/30 23:04:33
@@ -86,8 +86,22 @@
#endif /* dga_16bpp_hack / packed / normal indirect */
#else /* not indirect */
+#if 0
#define COPY_LINE2(SRC, END, DST) \
memcpy(DST, SRC, ((END)-(SRC))*DEST_PIXEL_SIZE);
+#else
+#define COPY_LINE2(SRC, END, DST) do { \
+ unsigned short *src = (unsigned short *)(SRC); \
+ unsigned short *end = (unsigned short *)(END); \
+ unsigned short *dst = (unsigned short *)(DST); \
+ for(;src<end; src++, dst++) \
+ { \
+ unsigned short x; \
+ x = *src; \
+ x = (x & 255) << 8 | (x >> 8); \
+ *dst = x; \
+ } } while(0);
+#endif
#endif /* indirect */
#define SCALE_X(X) (X)
Since this a 8bpp display I'm a bit confused as to why this is
necessary.
So I'm not suggesting to use this modification, I'm curious as to why
it is needed on my machine. Maybe something else is misconfigured.
regards,
chris
_______________________________________________
Xmame mailing list
[EMAIL PROTECTED]
http://toybox.twisted.org.uk/mailman/listinfo/xmame