40

Context: I'm building a gameboy color flash cartridge based on the rp2040 mcu, I have came to the point where it displays an almost complete nintendo bootlogo at the startup. However, a few pixels(consistently the same ones) in periodic locations are missing so the cartridge doesn't boot as expected. I know I can diagnose the problem by sniffing the lines with a logic analyzer or even an oscilloscope(which I have both), I want to do it by analyzing the logo, just for the kicks. If I know the faulty lines I can simply trace if there is any broken solders or faulty chips on the line even.

Question: Do the locations of missing pixels give any information about the faulty lines on the cartridge connections? If so, what is the relation? Are the locations a simple [address x data] matrix or something even more complicated?

I have not been able to find an information straight to the point so any direct information to the problem is highly appreciated!

Below you can find the corrupted bootlogo in case you wonder, I have also marked the visible wrong pixels in red for convenience: enter image description here enter image description here

4
  • Why it looks like base width(like N horizontal lines) is 2 when on real device it takes 4 pixels
    – Selvin
    Commented Mar 16 at 21:00
  • 1
    @Selvin what do you mean by base width, can you explain? The image here is 48x8 pixels and if it's made of 8x8 sprites it's 6 sprites side by side Commented Mar 16 at 21:05
  • this is normal logo on gameboy ... so fx "N" takes 4 tiles not 1
    – Selvin
    Commented Mar 16 at 21:12
  • 4
    @Selvin this is gameboy color, everything is half the size except the registered trademark logo Commented Mar 16 at 21:19

1 Answer 1

63

Yes, it is possible to determine the problem from the bit pattern.

Sometimes it is bit 5 and sometimes it is bit 4. It seems that the problem never happens if both bits are equal, and the problem happens every time they should be different and the result is 0.

Best guess is your card has bits 5 and 4 shorted somewhere and the bit that outputs zero is stronger than the bit that outputs high, or the intermediate halfway voltage is interpreted as zero.

4
  • 4
    Your answer is valuable, thank you. I also guessed that bit 4 and 5 is problematic through some online information about the bootlogo, but never realized when one of the bits are white the other becomes white. The problem not occuring at the letters "t" and "o" has really puzzled me. It makes total sense now, will look into that! Commented Mar 16 at 23:53
  • 35
    there was a short between bit 4 and 5 pins under the mcu that was not visible, your guess was dead on, thanks! Commented Mar 17 at 15:29
  • It would be interesting to know what logic you used to determine that it was bits 4 and 5.
    – user4574
    Commented Mar 19 at 2:16
  • 3
    @user4574 The logo is stored in ROM in such way that when written to screen the errors are in pixels that are bits 4 and 5 in ROM.
    – Justme
    Commented Mar 19 at 5:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .