Nintendo 8bit-rgb, finally! but..

Started by Rockard, December 10, 2003, 02:51:47 AM

Previous topic - Next topic

ido8bit

Do accurate or at least close colors exist in any of the RGB PPUs?  Even if the colors are in the wrong order could is be possible to translate the palettes on the fly using a PIC or something.  For example NES game calls for color X, PIC intercepts this and calls for color Y which looks closer color X on the RGB PPU.  

The other idea I had was to modify the incorrect colors after they come out of the PPU.  For example if color X is too bright than when the PIC detects color X it attenuates the RGB lines by the necessary amount to correct the color.  

Obviously I haven't built any of this, nor do I know if it's actually practical.  Either approach would be a lot of work.  I'm just throwing ideas around.  After all, if the perfect RGB can be gotten out of a 3D0 surely it can be gotten out of a NES...


Moosmann

QuoteNo, sorry if I confused you - the 1K resistor won't fix the colors - that's for games that have problems with the graphics. When I installed the RGB PPU in my top-loading NES in hopes of eliminating the vertical bars (which I finally figured out how to eliminate recently), I had a problem with almost any game that was not released in a Playchoice format, where the backgrounds would appear to have "static", or other tile errors. The signal going to pin 11 of the 74LS373 goes through several buffers on the Playchoice boards, with jumpers to select how many buffers to use. Having no luck getting this to work on the NES, I noticed that touching the line made some minor improvement, and when trying different resistors tied to the ground or +5V, I found that a 1K resistor to the ground eliminated all of the problem (a little bit still shows in Bubble Man's level on Mega Man 2, but it's not very noticable or distracting).

Do you really mean Pin 11 with 1K to ground ? I do not notice any difference.
I see vertikal stripes lines on Castlevania 2 -Title screen and Probotector 2/Super Contra (background 2.Stage).

And I think, the RC2C05-99 PPU from FC Titler have the same color palette like the RP2C03, because on both systems I have a black instead white background from the game "Totally Rad/Jaleco".

Bye Markus

Moosmann

Photos:
Video PPU RP2C02


RGB PPU RP2C03 & RC2C05-99


The screenshot from the japanese sales packing shows by the way the RGB Version with black background. It`s the first game I see wrong colors, most other games looks nice with the rgb mod.

Bye Markus

rt9342

The resistor won't fix the vertical stripes - only "static" (by static, I mean flickering pixels - a lot of my games, when I don't have this resistor, have pixels, or short lines, flickering all over the screen, looking something like that force-field thingee on Zar's Revenge).  The best way I found to reduce the vertical lines is to cut the pathway going from PPU pin 21 to the video transistor (Q2, I believe) - cut it right at the PPU AND right at the transistor, not just at one end.  Then run a wire on the bottom side of the board from pin 21 to the transistor.  Someone told me they didn't have as much luck as I did - perhaps because I rewired mine so that the transistor outputs a full-strength composite signal, which may be more immune to interference from the VRAM, since the video path runs right under this chip.
    Oh, and thanks for putting up those photos.  I always wondered if any games had this problem.  Colors 2D and 3D on the RP2C02 and even on the RP2C07 (PAL) are dark gray (darker than 00) and light gray respectively (almost white - lighter than 10, but darker than 20 & 30).  But on the RC2C03B these colors (as well as the "blacker than black" 0D) are black.  I don't have a RC2C05-99, so I don't know if any of its colors are different, but apparently that game has that problem on that PPU as well, and I hear that the mirrored colors (0B mirroring 1A and 3B mirroring 2B) also exist on the RC2C05-99, so they must have pretty much the same palette - unless they changed the values of the lightest yellow - this color was changed on the RP2C04 series.
    Most games never use 2D and 3D as shades of gray, so perhaps they were "illegal" colors, like 0D.  I don't know if Nintendo really enforced this or not, but apparently Jaleco got away with it.  I wonder about 1D as well - it appears to be a normal black, but if you turn on color emphasis bits (on a composite PPU), it'll go blacker than black, while the other blacks stay normal (and with no color emphasis).

rt9342

Thanks, DarthCloud.  If I'm successful with the adaptor, I'm considering adding a link on the adaptor itself, that way it'll work with Famicom to NES adaptors.  The trouble, though, is that the cartridge slot doesn't have any of the P0, P1 connections, or the INP0 & INP1 lines, which would be needed to read the dip switches and coin buttons, which I would have to put somewhere on the adaptor (otherwise how would you select free-play, or make it think you put in a quarter?).  Also, to make it compatible with daughterboards (I might make 2 different versions - 1 for daughterboards and 1 for ROMS), I would need the PPU's ALE signal, which also does not go to the cartridge slot.  I know I can reporduce the INP0 and INP1 signals by using a "4016 detector" - I just have to figure out how to reproduce the other signals.  I think it can be done...I just have to find a way.
    The hardest thing, of course will be finding a way to convert the palette data so that the Famicom or NES PPU shows the right colors.  If I can figure this out, I think I could use a similar method to make any vs. PPU work in a NES with the right colors.  Or, as I mentioned before, use 3 PPUs to generate a component video signal.  I think this would be more practical than generating RGB - with RGB, you must make sure the greens are darker than the reds and the reds darker than the blues, to get the proper NES colors - with component video, you simply make the Y signal the same for colors 01-0C, the same for 11-1C, the same for 21-2C, and the same for 31-3C, as they are on the composite PPUs - then just fill in the right R & B values on the other PPUs & use the Y signal to generate R-Y & B-Y signals, or RGB signals, using analog circuits.
    I also want to find out how to convert those RC2C05 vs. PPUs to work on a NES.  For those who were wondering, the pinouts are the same, but supposedly they changed the memory addresses or something - probably moved the palette memory to a new address (this would explain why using a different PPU in vs. Top Gun will still give you a "ROM OK" screen with the wrong colors, but then freezes).

CFN

#45
Hi everyone!

I recently finished installing a RP2C03B in a US frontloader. Got the PPU from a VS. Duck Hunt kit, and soldered togther a RGB amp using Moosmann's schematics (Thank you Moosmann!!!).

The screen is (very) bright and super sharp. Some games look great, such as SMB3. However Chip N'Dale could have been looking better:
- a brown-red colour in NTSC looks pink in RGB
- one of the white (?) colours in NTSC looks yellow in RGB

Here are some photos:

Left is RGB (Chip or Dale is pink). Right is composite NTSC (Chip or Dale is brown-red).


Left is RGB (Chip/Dale is yellow). Right is composite NTSC (Chip/Dale is white or very light yellow?).


Could I have made a mistake with the amp (used a BC557B for the BC557) or are these also colour issues with the RP2C03B PPU?

CF

viletim!

DarthCloud,
Someone did put a NES PPU in an FPGA. Along with the CPU and other bits... FPGA Game Console

Russell,
It shouldn't be too hard to intercept the palette data before it gets to the PPU and replace it with your own. I was thinking of.. some 74ls logic (688 maybe?) acting as a decoder on the address lines to find out if the data is in range (3F00-3FFF ??) and valid. This can control a tri-state buffer on the data lines and a rom (where you'll store the palette lookup tabe).
.                                   /-------\
.  ADDRESS -------+-----------------|       |
.   /WR           |                 |       |
.             |ADDR DEC|            |       |
.                 |                 | PPU   |
.             +---+ /INRANGE        |       |
.             |   |                 |       |
.             |  |\                 |       |
.  DATA-+--------| >--------+-------|       |
.       |     |  |/ LS244   |       |       |
.       |  /CE|             |       |       |
.       |    /-------\      |       |       |
.       |    |       |------+       |       |
.       +----| EPROM |DATA          |       |
.    ADDRESS \-------/                
.

This is just a guess though....all I know about the NES workings is what I've just read in a few text files. Do you think it would work?

Guest

Quoteone of the white (?) colours in NTSC looks yellow in RGB

The color looks yellow, because of quality lost with the video signal from the rp2c02/7 ppu.

QuoteCould I have made a mistake with the amp (used a BC557B for the BC557) or are these also colour issues with the RP2C03B PPU?

No. But you can try for "R6" 75 ohm instead 47 ohm.

Bye Markus

rt9342

Thanks for that info, Viletim!  That actually looks a lot like something I had in mind, so I guess maybe I'm headed in the right direction.  Hopefully I can start making some real headway soon.
Oh, and for those of you discussing the yellow and pink on the RGB PPU, I'll have to check in on that pink - I don't recall any reddish browns looking pink on the RGB PPU.  Are you using an RC2C05-99 or an RC2C03B?  I'm just wondering because I haven't had a chance to extract the exact palette colors from the RC2C05-99, since I don't have one yet, so I don't know if they may have changed the colors or not.  
But the yellow you notice is color 38 I believe, which looks very white on most normal NES systems, especially if it had a Mitsumi modulator instead of an Alps modulator.  But on the RGB PPUs, it's a lot more yellow (especially on the RP2C04 series, possibly the RC2C05-99 as well).  So if you're using an RC2C05-99, it's possible that the colors may look better with an RC2C03B, but I'm not going to guarantee that.
Another game this is noticable on is Super Mario Bros.  When you get the fireflower on a composite PPU, Mario (or Luigi) looks white and red, but on an RGB PPU, he looks yellow and red.
Another tricky color is 3B - this is a pale turquoise color that also looks white on a composite PPU, but looks very colorful on the RGB PPUs, mainly because they accidentally mirrored color 2B for this color.  I first noticed this on the title screen of Castlevania 3 - you can also see it on parts of Blaster Master (which is one of the few games that looks absolutely horrible on an RGB PPU, mainly because of the heavy use of color 0B in the backgrounds, which is also a screwed up color on the RGB PPUs, as it mirrors color 1A).

CFN

Moosmann, thanks for your advice!
rt9342, about the yellow and pink: I have a RP2C03B PPU

Anyone else with a RGB PPU that can post a photo of their Chip N'Dale title screen?

CF

rt9342

Gotcha.  Sorry I overlooked the part # on your previous post.  I now believe color 15 is the culprit for the pink - it's supposed to be a medium red, but more on the magenta side, but most TVs, with a composite PPU, show this color as more of a dark red, kind of brownish looking, depending on the tint adjustment.  But they made it a bright magenta-red, pink looking color on the RC2C03B - I noticed this when going back and looking at the palette.  I'm bidding on a Playchoice board with an RP2C03B, so I may find out if the P version has different colors than the C version, but I'm guessing they're the same.
I don't have a copy of Chip N' Dale, but if I come across one, I'll check out the palettes to see if I have the same problems and try to post the screens, and see if I can come up with a way to correct this.

rt9342

Just thought I'd mention, if anyone's concerned: the 1K resistor that I mentioned before - I found that this is only necessary on the top-loader NES.  My AV Famicom doesn't need it.  But this is apparently an alternative to the capacitor that people add to pin 24 of the CPU.  It seems that either one works - either connect a cap. between pin 24 & ground, or a resistor between pin 39 & ground (since pin 39 of the PPU is connected to pin 11 of the 74LS373, and the pin directly across, pin 10, is grounded, I found this to be the most convenient place to put the resistor).
Also, I had suspected that different versions of the PPUs may have different colors, but that doesn't seem to be the case.  Although I have not checked the RC2C05-99, I recently got an RP2C03C (anyone else ever seen one that ends with a C?) and found every color to have the exact values of the colors on the RC2C03B.  
I'm still wanting to figure out a simple way to make a converter to convert the colors of the RP2C04 series, as I think this is the best way to fix most of the bright, or wrong, colors, without having to use a PDLA or something.  This is because the RP2C04 series have 10 additional colors (taking the place of 8 of the 12 blacks found on the Rx2C03x PPUs and the 2 duplicated colors), which include a dark red, dark green, dark blue, dark, medium, and light brown, and more shades of gray.  By properly mapping these colors, as I did in a paint program on my PC, you can get the browns to be dark enough, fix the problem with the bright green that's supposed to be a dark blue/green, and even get those shades of gray that show up as black on the Rx2C03x PPUs, as well as fixing other color problems.

Rockard

..just want to say that I LOVE these discussions about getting the colours right!
I'm about to modify my nice condition original famicom, but are not decided yet because of this colour issue.

I'm am really looking forward to the progress!! Great job rt9342! =D

acem77

Quote..just want to say that I LOVE these discussions about getting the colours right!
I'm about to modify my nice condition original famicom, but are not decided yet because of this colour issue.

I'm am really looking forward to the progress!! Great job rt9342! =D
i love my rgb nes. i have no regrets. even if the colors are not 100% perfect on 100% of the games its well worth it. getting rid of the pixel crawl and other artifacts make it well worth it.
but i do have an unmodded nes if i need to fall back.
i recomend the stereo mod also very cool

rt9342

Rockard (and anyone else wishing to modify their Famicom):
To be honest, I think that the Famicom has such a good composite video quality that it may not be worth the trouble, unless you really want to see how it looks in RGB and are good at deslodering.  I modified my AV Famicom, but ended up putting the composite PPU back in, though I sometimes change it out from time to time, usually for experimentation purposes, to figure out the palettes of all the different PPUs, using my Basic cartridge & Famicom keyboard to compare palette values.
But the RGB PPU will certainly give you a clearer image.  And I'll admit, most games do look great with it.  Blaster Master (or Meta Fight on the Famicom) and MegaMan 5 (RockMan 5) are 2 games that I don't think look too good in RGB, and I know that some games that use all 3 color emphasis bits make the screen go white, since these bits simply set the R, G, and/or B output to full brightness when activated.
By the way, if anyone's curious as to the exact colors on the RGB PPU, I'm attaching a palette to this post.  Due to size limitations, I don't have the palettes for the color emphasis bits here, but just remember, red, green, and/or blue goes to full brightness with the bits on, and the "monochrome bit" makes all the colors 00, 10, 20, or 30.  The numbers shown in the palette here are in range from 0 to 7, as the RGB PPUs have 8 different brightnesses for each signal.

Shadow_Zero

Quote from: Fudoh on August 16, 2006, 01:57:09 AM
The french NES doesn't actually output real RGB, it just uses a FBAS to RGB encoder. It's just nice to use because of the multi-AV socket and the Nintendo Scart cable which comes with it.

The picture produced by the french NES without adding a REAL RGB chip is a bit more colorful than the standard video signal, but hardly any sharper.

Fudoh
Ah, that was the info I was looking for! (as posted in http://nfggames.com/forum2/index.php?topic=2731.0)
QuoteI did some checking, and noticed the picture quality between a French RGB NES and a composite PAL NES on my CRT was quite different. Colors on the composite seemed a bit washed out and there was noise in the image. So in that regard I would say the French NES' RGB looks better. Some photos: http://s1293.photobucket.com/user/Shadow_Zero80/library/NES%20FRA%20RGB%20vs%20NES%20HOL%20CVBS
I don't have a true RGB NES, so can't compare with that.