quadra 700 desktop icon corruption @ 24bit in 7.6 / 8.1

Xero

6502
i recently acquired a quadra 700 that I upgraded with 68mb ram, 2mb vram and a zuluscsi compact, and i'm having a strange issue under 7.6 or 8.1 when running at 640x480 or 832x624 @ 24-bit/"millions of colors", where some icons on the desktop seem to get corrupted - especially the imagewriter icon, but it seems like it can happen to any of them.

If i rename an icon for example, the area where the text overlay used to cover, will turn into rainbow pixels, likewise moving the corrupted icon will often leave a rectangle around where the text box was with the same corruption. Rebuilding desktop doesn't seem to effect anything. Disabling all extensions, likewise has had no effect.

I've tried deoxit on the vram slots, to no avail, the majority of the screen looks fine, likewise it doesn't seem to happen at all in 256 colors or any other mode. I haven't noticed nearly the same issue when running 7.5.x and i presume that it's something introduced in 7.6+ that is pushing it harder? but also wanted to confirm this isn't some known bug - i've seen nothing about this. I've tried swapping the vram around to different slots, although I only have these 6 sticks to play with so I can't rule out VRAM entirely...I've been tempted to buy some more to swap around. However, I figured before I start throwing more money at the problem, I'd make a post here.

The posts I have seen about quadra corruption like this are often answers I am less happy to hear - like ramdac issues or bad traces, however, the board on this looks very clean, no battery leakage or etc. It was pretty dusty when I got it though - including dust in some of the vram slots, I've since deoxit'd both the vram and the slots, running some paper through it as well, which did take off a good amount of gunk. I definitely could try another round of cleaning, but I'm starting to feel that i'm going in circles.
 

Attachments

  • IMG_9097.jpeg
    IMG_9097.jpeg
    1.2 MB · Views: 43
I think my 700 does this too in 8.1 but it's been years since I played with it. It's possible that this is just a bug/slight incompatibility.

If you think contemporarily, there wouldn't have been many people actually using the onboard video at 24bit - it's slow on the 700 and anyone who truly needed 24bit would have been able to justify an accelerated video card instead.

Later quadras removed 24bit support from the onboard video, justifiably IMHO, leaving the first gen quadras kind of orphaned in that respect and they probably received very minimal testing on later versions of the system software...
 
Later quadras removed 24bit support from the onboard video, justifiably IMHO
The Q660 and 840av both do 24bit. The Quadra brand was a little diluted by them moving Centris and even LC / Performa machines into the range sadly. It was much cheaper to do fast Thousands of colours than Millions. Shame really.
 
Last edited:
The Q660 and 840av both do 24bit. The Quadra brand was a little diluted by them moving Centris and even LC / Performa machines into the range sadly. It was much cheaper to do fast Thousands of colours than Millions. Shame really.

Yes, I forgot about the av machines, but the point stands IMHO - by the time of 7.6 all the Quadras were firmly in apple's rear view mirror...

I honestly think apple had the right strategy with wombat - fast 16bit at reasonable resolutions was good enough for everyone who wasn't doing graphics professionally, and those who were would want the high resolutions and acceleration provided by a video card.

My 840av is my goto 68k - it definitely still struggles a bit with 24bit. Not as badly as the Q700, but still...
 
i recently acquired a quadra 700 that I upgraded with 68mb ram, 2mb vram and a zuluscsi compact, and i'm having a strange issue under 7.6 or 8.1 when running at 640x480 or 832x624 @ 24-bit/"millions of colors", where some icons on the desktop seem to get corrupted - especially the imagewriter icon, but it seems like it can happen to any of them.
I've seen this with one of my 840AV boards, but I think it was a main RAM issue rather than VRAM - swapping modules/trying different slots made it go away. I don't recall if it was in Millions specifically.
 
The Q660 and 840av both do 24bit. The Quadra brand was a little diluted by them moving Centris and even LC / Performa machines into the range sadly. It was much cheaper to do fast Thousands of colours than Millions. Shame really.
Also worth noting: all of the Quadras except the AVs and 630 have mostly-compatible video and use the same driver, and that makes corner case bugs more likely. The Q700/900 ROM programs the wrong VRAM base and vertical resolution if the 512x384 monitor is connected. The Q800 and later ROMs corrected the bug.

Granted, I don't think Apple actually sold such a monitor (it's described as a modified IIgs AppleColor RGB in various parts of the SuperMario source) but my understanding is that they were often used for factory testing of new machines.
 
This is pretty weird, but I swear qemu-system-m68k emulating a Quadra 800 produces these exact same artifacts, when I use it (Mac OS 8.1). I am certain the rectangular outline one has shown up several times, like the damage/repaint isn't working as intended.
 
I think my 700 does this too in 8.1 but it's been years since I played with it. It's possible that this is just a bug/slight incompatibility.

If you think contemporarily, there wouldn't have been many people actually using the onboard video at 24bit - it's slow on the 700 and anyone who truly needed 24bit would have been able to justify an accelerated video card instead.

Later quadras removed 24bit support from the onboard video, justifiably IMHO, leaving the first gen quadras kind of orphaned in that respect and they probably received very minimal testing on later versions of the system software...

I guess I take this for granted, my other two machines are both later G3 / PCI era (g3 desktop & B/W), and I'm a bit spoiled by those, they can both drive 1600x1200 at high res. I'm actually waiting for a thunder II nubus card to arrive, it's "untested" but hopefully works and should be able to do 1152x870 or 1024x768 @ 24bit. The latter is probably all I really need, as I was hoping to run some webapps i designed to run in IE5/NS6 on the quadra.

I've seen this with one of my 840AV boards, but I think it was a main RAM issue rather than VRAM - swapping modules/trying different slots made it go away. I don't recall if it was in Millions specifically.

Hmm, I did upgrade to 68mb ram, I did try putting the original 4x4mb back into it (20mb), but it didn't seem to make a difference. Bad motherboard ram would be annoying, though I was running some memory tests in mactest pro and didn't seem to find anything obviously wrong there, but I don't know how accurate that truly is. I ran the "long" vram tests in there too, for that matter, and nothing really turned up there, either. It was able to stay up and running for a few days while I was doing all that. The machine does seem fairly stable otherwise, though it probably wouldn't hurt to recap the PSU...
This is pretty weird, but I swear qemu-system-m68k emulating a Quadra 800 produces these exact same artifacts, when I use it (Mac OS 8.1). I am certain the rectangular outline one has shown up several times, like the damage/repaint isn't working as intended.
That's somewhat re-assuring. My searching around did seem to indicate that the appearance manager/quickdraw changes in 7.6 and 8.1 could be to blame, i know with even later/PPC-only versions they added proper alpha transparency support.
Did you ask Dennis Nedry?
LMFAO, I'm glad I checked that name before replying, I had been referring to it as "the jurassic park PC" assuming people might remember it from that, but, most people I've said that to think I'm referring to the whole "it's unix, i know this!" line. And I clearly can barely remember the guy's name from the movie. Haha. A/UX might make an appearance on this machine at some point, though I would love an actual IRIX machine, those are way more daunting to me...
 
This is pretty weird, but I swear qemu-system-m68k emulating a Quadra 800 produces these exact same artifacts, when I use it (Mac OS 8.1). I am certain the rectangular outline one has shown up several times, like the damage/repaint isn't working as intended.
You're not gonna believe this, but I think I just fixed a 30 year old Apple Bug with Claude. That little tip ended up being crucial. I setup qemu m68k for quadra 800 and confirmed it was the exact same problem. I'd been debugging this in a chat session already, so I fed it this information - all the sudden we went from assuming weird hardware problems, to working it down at the software level. I said, wait, can we actually fix this? Next think you know, it's installing retro68 compiler, and I had it searching the web for tons of information about quickdraw, 7.5 vs 7.6/8.1 differences, etc, and it literally built me a system extension that so far seems to have fixed the issue. I still can't believe this is seemingly working LOL. More testing to do for sure, but I put a stuffit archive up here if anyone wants to try it.

 
I setup qemu m68k for quadra 800 and confirmed it was the exact same problem
Just a quick note for interest that a real Quadra 800 won't do Millions of colours on built in video, interesting that the QEMU one does. I use it quite a lot, but only in 256 colours.

How fast is the fix? Does it slow things down when there are a lot of icons to draw? Does it impact any other software? Games? Illustrator? Photoshop?
 
Just a quick note for interest that a real Quadra 800 won't do Millions of colours on built in video, interesting that the QEMU one does. I use it quite a lot, but only in 256 colours.

How fast is the fix? Does it slow things down when there are a lot of icons to draw? Does it impact any other software? Games? Illustrator? Photoshop?
Yup, QEMU's Q800 emulation gives it 4mb vram, so it's technically not true-to-reality, but it seemingly recreated the same exact bug. I still need to do a lot more testing on this machine. I did a "full os8.1 install", literally checked every box on the installer, including a bunch of PPC crap I don't need, because I wanted to rule out a missing extension or etc, but I think i'm going to do a more cut-down install with just the stuff I need, then I'll start setting up this system for real with all my favorite stuff.

I asked claude for some more details, since it knows it's work better than I, LMFAO. I can't in my wildest dreams imaging pulling this off myself, although admittedly I did spend hours into the night vibing, and then finally got it working this morning.

"The FillCRgn fix only fires for small regions (under 250px) drawn through the Window Manager's color port, below the menu bar, and not overlapping any window. So it should only trigger on actual desktop icon redraws. The rendering it does is simple - for each pixel in the region, it does a modulo to find the tile position, one array lookup in the color table, and a direct framebuffer write. It exclusively targets draws through WMgrCPort (the Window Manager port). Applications draw through their own ports, so the patch just passes straight through to the original trap - zero overhead. The EraseRect patch is a little broader (works in any color port) but it checks every rect against the window list and skips anything that overlaps a visible window, so app content is never touched.

And the whole thing only activates at 32bpp. The INIT checks the pixel depth at startup - at 256 Colors or Thousands of Colors, the trap patches aren't installed. Complete no-op."

Haha, and just like that, I've found a bug - switching modes post-startup was resulting in some funny artifacts. It's working on a fix now! EDIT: Fixed!
 
Last edited:
Yup, QEMU's Q800 emulation gives it 4mb vram, so it's technically not true-to-reality, but i
It's not just the amount of VRAM - I believe the video circuit can't do millions.

(Need to read the rest of your post - I'm outside and it started raining and had to put my phone away :LOL:
 
And the whole thing only activates at 32bpp. The INIT checks the pixel depth at startup - at 256 Colors or Thousands of Colors, the trap patches aren't installed. Complete no-op."

Haha, and just like that, I've found a bug - switching modes post-startup was resulting in some funny artifacts. It's working on a fix now! EDIT: Fixed!
I was just about to say :LOL:
 
I've seen this type of desktop icon corruption appear in Basilisk II as well. I don't know what graphics system that emulator targets, but maybe its the same? It could also be various bugs that emulator is famous for as well.
 
Back
Top