Important findings for machines with bad graphics or VRAM

Started by BlackVega, October 06, 2024, 11:31:26 PM

Previous topic - Next topic

BlackVega

I have an X68000 first model (shodai) that I recapped and replaced the power supply a while ago and after that it thankfully started to work perfectly fine. Or so I thought...... Once I plugged it into a bigger screen I noticed some small dots that probably shouldn't be there. Upon further inspection and checking things on an emulator it looked like there were some problems with the text plane. Graphics plane was all working fine. Naturally I suspected text VRAM was bad as these dots were actually dotted vertical lines. First of all, these were the visual symptoms:


I went ahead and did memtest68k:


Well..... VRAM is perfectly fine? Or is it? I tried 2 other memory tests and same results. The entire VRAM is working perfectly fine. What in the world is going on??? I swear the problem was in the VRAM because these symptoms scream of bad VRAM and even if VRAM is good then where else could the problem be?

You know what let's give it some benefit of the doubt. Perhaps there is some internal sync problem so I ordered and replaced the old 69mhz and 38mhz graphics oscillators, even though they were still working surprisingly. To my dismay, this didn't fix the problem at all. I was lost at that point. I was looking at the diagrams and found nothing obvious that could recreate the same issue and this started to be overwhelming for me. I was out of ideas. Maybe I will just order another motherboard or graphics card or both 1 day and spend like 500$ whenever they appear

However, one day I had an eureka moment. What if the memtest is lying? When I was looking at the schematics I had an idea- what if I disconnect pins 4,5,8 and 9 out of VRAM?

After all they are only connected to the GPU and probably serve as output. I can try to desolder some pins out of some text VRAM chip but which one? There is 16 of them (IC1-16). Well, I saw some yellow lines occasionally so maybe I should disconnect a blue text VRAM? This narrows it down to 4 (IC1-4). This is all trial and error and pure luck at this point. I just guessed and desoldered pins 4,5,8,9 out of IC2 so they aren't connected to the board. Now the findings are interesting: you can clearly see colored jailbars in games and they line up perfectly where the dotted lines previously were. Did I finally find the culprit? But hey, let's not get ahead of ourselves and do memtest:


Again, nothing bad was detected??? This is so ironic because you can barely read what the actual text says on the screen but it tries to say VRAM is perfectly fine ("Piss complete no errors"-sums it all up lol), even though it is obvious for us something is very terribly wrong with the screen now... or maybe, it's not bad VRAM after all, or is it? Is memtest even doing anything? I'm lost and totally clueless at this point. You know what, I decided to remove IC2 from the board completely and check VRAM again:


Ah yep, now it's vomiting thousands of errors right on the start but the visual symptoms are still identical so at least memtest is doing something. But, how can this be? Anyway, let's replace IC2 entirely with a good known chip but unfortunately I don't have any. I could order some chips online but I have a better idea- I read somewhere that Sega Genesis/Mega Drive uses the same exact VRAM chips as X68000 first model and I had some Genesis model 2 that had seen better days but the graphics were fine and tested fine. At least that's what was showing. Anyway, let's transplant the chip and see the results:


Oh lo and behold would you look at that, the graphics are perfect now, finally! This is definitely the happy ending I was hoping for but how can this be? Why was the issue completely undetectable? Why is there more questions than answers? Has anyone come across the same issue?

So the moral of this story is: don't trust any diagnostic tools designed for retro hardware! If they detect that something is faulty then you might get a clue but if they say everything is fine with the system then this might as well mean nothing at all or should I say, if they say everything is fine then this means they couldn't detect any defect and this doesn't give you any more clues. The question is- how does the VRAM in X68000 and Sega Genesis even work?? How is this possible that sometimes the problem can be detected but other times it's undetectable? This is a question for people who are more tech savy than me and I'd love to hear the explanation behind this

MartinW

I'm not at all familiar with X6000 yet, and I'm not that great with DRAM (I find the whole RAS / CAS thing kind of confusing), but... a quick look at the data sheet shows that they are dual port RAM and I think from your schematic snippet above, the main system is connected through the masked I/O pins and the GPU through the serial I/O pins. So, it would seem logical to me that the cells in the memory could be fine, which would mean the memtest, reading and writing the cells through the mask I/O would get valid values back for what it has written. If there is just a fault in the serial output section then despite the memory cells being good, the GPU is going to potentially get bad data.

That's my somewhat uneducated guess. I would say there isn't really any other way for a memory test running on the CPU side to be able to detect a fault on the GPU output side of the memory. In modern systems you could probably run a test from GPU code but not in a retro system like this.

[PS] You might be able to test / diagnose this kind of fault by momentarily grounding each of the serial I/O pins. If the I/O is completely dead you should find that grounding one of them doesn't change anything, but the other three does. You could also do the same with pulling each to VCC but you probably want an inline resistor for that. It may show you the culprit, it may not but it would be worth a go if you're struggling to find the culprit.

costa

Very good assessment, BlackVega. And outstanding outcome, congrats on your success fixing the VRAM problem with you X68K.
I have one myself with VRAM problems - Compact RedZone.
I am very frustrated, because I could not even identify which CI is bad.
Also, I am using the XVI schematic, which seems the more close related to the Compact.
And I do not have a Mega Drive lying around.... :)

l_oliveira

My CZ-600 had a different issue, it would error out reads or writes on GVRAM at oddly random timings. Turn out that it might have had it's VSOP board swapped out (by mistake) with one from a different unit and the board on it lacked the timing bodges the main board required. This is about the clocks output from the Hysteria chip, some CZ-600 units have a 150pf capacitor at the pin 18 of the Hysteria chip and the resistor R24 on the VSOP board (1k) has a 470ohm bodge resistor placed on it's back. After seeing a lot of pictures and videos of the OG X68000 unit being disassembled I figured out I could try add the capacitor and the resistor to my unit.

Adding the bodges to the clock line completely solved the graphics corruption issue I had before with it.
Now, what that clock line does is supply clock for the VINAS2 chip (the data half of the CRTC chipset) which handles (guess what) the data transfers between the 68K CPU and the VRAMs. TVRAM was not affected, I have no idea why.  And of course the DRAM chips were physically fine.