Jump to content
IGNORED

TMS-RGB: An RGB Mod for 2020 and Beyond


Falonn

Recommended Posts

13 hours ago, ChildOfCv said:

Yikes.  That's probably a setup that was not envisioned, as even the TMS manual notes that usage of pin 38 is rare.

 

Yeah dividing the signal by 3 is easy.  But getting a 50% duty cycle isn't so easy, but not as hard as it seems either.

 

OxDE4.png

 

Note that the OR gate at the end can be replaced by a NOR, so you don't need an extra chip.  Also note that you need an inverter on the last flip-flop, which could use a 3rd NOR gate.  Either way, this is a 3-chip solution if using standard TTL.

Neat and thank you!

But being a programmer and therefore naturally lazy (KISS) would it be simpler to just to add a 3.57954Mhz oscillator instead?

ie. a 2-pin oscillator plus a removal of the trace to pin-38 of the TMS-9918 (which can be neatly done "non-destructively" due to the nature of the SG-1000 board).

Link to comment
Share on other sites

13 hours ago, slaanesh said:

Neat and thank you!

But being a programmer and therefore naturally lazy (KISS) would it be simpler to just to add a 3.57954Mhz oscillator instead?

ie. a 2-pin oscillator plus a removal of the trace to pin-38 of the TMS-9918 (which can be neatly done "non-destructively" due to the nature of the SG-1000 board).

Yeah, remove the trace to pin 38 definitely.  It looks like there are at least 2 things that need the CPU clock--the sound chip and the CPU (duh).  You could get a 3.58MHz crystal oscillator chip, but you should also use a buffer since they have weak output.

Link to comment
Share on other sites

  • 4 months later...

Hoping for a bit of help here...

 

I just installed the TMS RGB board in an NTSC Coleco Adam system. I was careful during the install, and checked my connections before putting the Adam back together. I'm pretty sure that there are no shorts, and that I soldered all the pads on the TMS RGB board to the TMS chip. I wired it to a 15pin VGA connector as follows:
 

S-TTL -> not connected

5v -> not connected

Red -> Pin 1

Green -> Pin 2

Blue -> Pin 3

Csync -> Pin 13

Gnd -> Pins 5,6,7,8,10

 

I have two monitors here that should work with this connection, but I am getting no display on either of them. These monitors support 15Khz on the VGA connector, and I can run Amiga RGB, Atari ST RGB, Apple IIgs RGB, C128 RGB (with a custom cable), TRS-80 Coco 3 RGB (with generated Csync added) and get a great picture.

 

The heatsink is glued to the TMS9928A chip, so I can't be 100% sure that it actually is a TMS9928A chip - but all the documentation I can find say that's what is used in these Adam computers. Can I be sure that it isn't a TMS9918A?

 

Before I pull the computer apart and check it over I thought I'd ask some questions...

- Do I need to use the S-TTL pad for Csync on the VGA connector?

- Do I need to connect the 5v pad on the TMS RGB to a 5v source, or is this a output?

- Should I assume that the monitors have 75ohm resistors built on RGB? How about sync? Should I short the four 75 ohm pads on the TMS RGB?

 

Any help I can get is REALLY appreciated!

Link to comment
Share on other sites

  • 3 weeks later...
13 hours ago, ChildOfCv said:

+5 does not need to be connected.  It's to power the monitor ID chip.  If your monitor accepts composite sync (VGA monitors are a mixed bag--some need HSYNC and VSYNC, some do CSYNC, some even want sync on green), it should use the TTL sync output. So TTL to pin 13.

Thanks!  Using the TTL sync made the difference.  I'm now running RGB on my Coleco ADAM.

  • Like 4
Link to comment
Share on other sites

I have a Sony HB-101 "HitBit Mezzo" MSX computer that uses the relatively rare TMS9118 VDP. This is the variant that has composite output and supports 16Kx4 video RAM chips. I'm going to attempt using a TMS-RGB to add RGB, swapping in a TMS9128 (needed instead of a TMS9928A because of the RAM interface). Another bonus is that the TMS9128 supplies CPUCLK, which this particular computer needs.

 

I've created this adapter PCB design that does the following:

- Moves the TMS9128 CPUCLK signal from pin 37 to pin 38, where it is on the TMS9118

- Adds 470 ohm load resistors on the Y, R-Y, and B-Y pins as there is no connection to the motherboard on this adapter for those pins.

The adapter is intended to go in the sandwich of: TMS9128 - socket - TMS-RGB - adapter - pin headers - socket - MSX motherboard. I'm using this approach so I don't have to do any mods to the MSX's motherboard and I can just pop in the old VDP if I want things to go back the way they were. I'm fairly confident this will work, but I thought I'd post here so anyone can say this is a crazy idea before I get in too deep.

tms-adapter.png

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

So it was the TMS9128NL chip! I got another one and it is working with the TMS-RGB through my adapter! I am getting jailbars in areas of solid color and some ringing on light/dark transitions, so if anyone has any ideas on how to combat that, I'm all ears. Attached is a screenshot captured on my RetroTINK 5X Pro with default settings.

 

If anyone that comes across this is interested in a plug in, no-cut solution to using a TMS-RGB with a TMS9128 in a system that normally uses a TMS9118, I've put the design files up on GitHub. I'll be adding an assembly guide soon, because it is a little bit fiddly. https://github.com/polpo/tms-adapter

shot0007.png

Edited by ianpolpo
add retrotink info
Link to comment
Share on other sites

Nice job troubleshooting and getting it up and running!  That's a nice guide and adapter board.

 

Coincidentally I just had my RetroTINK 5X order arrive a few hours after your post, so I could try the same test.  I was able to reproduce the same vertical lines in solid colored areas.  (It looks like Framemeister still does better horizontal pixel detection in this case.)  Like the product page mentions, the 5X ships with nearly the oldest available firmware.  After updating (to v2.39 as of today), you get a full OSD with a lot more settings.

 

The LPF (low pass filter) under "Video ADC" didn't seem to change much but in the "Post-Processing" menu, turning down the "Pre-emph" value had a noticeable effect.  Taking it all the way down to -3 made the vertical lines nearly disappear, but that also made the image softer than my tastes.  Setting it to -2 felt like a happy medium.  (You can also cheat and use any of the "Load Preset" options there, which completely obscure the effect, if scanlines are your thing.) :D

Link to comment
Share on other sites

42 minutes ago, Falonn said:

The LPF (low pass filter) under "Video ADC" didn't seem to change much but in the "Post-Processing" menu, turning down the "Pre-emph" value had a noticeable effect.  Taking it all the way down to -3 made the vertical lines nearly disappear, but that also made the image softer than my tastes.  Setting it to -2 felt like a happy medium.  (You can also cheat and use any of the "Load Preset" options there, which completely obscure the effect, if scanlines are your thing.) :D

Too bad such an option has never been added to the Tink2x SCART... it still has some nasty vertical bars with this RGB setup although it isn't quite as bad as it with the Tink5x out of the box or as it was when I first had one to test with last summer. 

 

Link to comment
Share on other sites

After talking with Mike Chi in great length last year, the pre-emph filter being added was a huge plus.  As Falonn mentioned above, setting it to -3 virtually eliminates the jailbars so the point where you really got to get up close to your tv set to see them.  Even then you've got to really look.  However you will have to update your firmware since the stock firmware won't have the pre-emph setting.  Personally I think this is more than sufficient for the TI99/4a and the Colecovision.

Link to comment
Share on other sites

  • 5 weeks later...

Jailbars tend to be the result of running wires too close to a clock signal and inadvertently leeching off of it.  Ringing is often a result of impedance mismatch.  The TMS-RGB has 75-ohm output resistors which are correct for component inputs on TVs, but perhaps the destination device expects a different impedance.

Link to comment
Share on other sites

The curious part is that the ringing is most visible in solid color areas, when the signals on the line aren't changing at all for "long" periods of time.  (I suspect it's always there, but solid areas just make it easier to see.)

 

I poked at the board a while back with some EM probes and didn't find any smoking guns.  It was my first time trying anything like that though, so I'd be as willing to believe in user error or my hobby-level equipment not being sensitive enough or something like that.

 

One of my hypotheses is that the GROMCLK pin (or something like it) is too close to a signal on the TMS-RGB board.  I wanted to check each VDP pin on the scope to see if anything matches the 1.0x pixel clock frequency we're seeing in the noise.  Maybe a component or some traces need to be moved farther away, and some ground or power fill needs to go in the space between...

 

Another idea was to try low-pass filtering the video signals right at the front end of the board in addition to the LPF in the output amp at the end.  We've got a direct connection to those pins right on the backside of the IC but those same signal lines spider out to the rest of the RF circuitry and elsewhere, so maybe the ringing is being introduced on the front end?

 

(These experiments are waiting until I'm a little more competent.  I've spent the last ~14 months learning EE stuff from the physics, up.  But I'm only about half finished.  If the TMS-RGB project taught me anything, it was that I'm not comfortable flying by the seat of my pants.  I'd rather have a reasoned basis to start from, so I've been spending all my hobby time for a year trying to get one.  I'm about three textbooks away in my homemade curriculum from signal integrity, which should help in this search.)

Link to comment
Share on other sites

28 minutes ago, Falonn said:

One of my hypotheses is that the GROMCLK pin (or something like it) is too close to a signal on the TMS-RGB board.  I wanted to check each VDP pin on the scope to see if anything matches the 1.0x pixel clock frequency we're seeing in the noise.  Maybe a component or some traces need to be moved farther away, and some ground or power fill needs to go in the space between...

I'd be interested to see if the typical jailbar pattern is different on a TMS9128NL as it has CPUCLK on pin 37 instead of GROMCLK. You can see the jailbars if you enlarge the screenshot I've attached in my post above.

Link to comment
Share on other sites

There are two things going on in this image. The first is a single sharp reflection. This suggests either improper impedance matching in the cable or termination at the receiver end. There is also a consistent clock pattern that looks like induced EMI. It is both positive and negative going. 

In this case, using a shielded cable from the TMS-RGB and also rerouting the cable well away from any sources of interference should resolve the issues.

The third and less likely alternative, but harder to address, is a failing capacitor or choke near the VDP. If power/ground bounce is happening, this gets imposed on all signals.

Link to comment
Share on other sites

Oh, hey!  Long time no see. :D

 

1 hour ago, MrPix said:

In this case, using a shielded cable from the TMS-RGB and also rerouting the cable well away from any sources of interference should resolve the issues.

This was another one of my (still baseless) guesses in the dark about ways to mitigate it.  There is still a TMS-Component mini project forthcoming (after my learn-EE-from-home curriculum is complete) which is really just the TMS-RGB with some of the components removed (coming in at, like, 1/3 the price and going through one fewer conversions).

 

For that one, running shielded cables gets even easier: component video is standard (unlike RGB) and every $2 YPbPr cable out there is already shielded.  So I was going to have the output end of the board have a ground pad next to each signal component.  That way you get a super easy "no cut" install just by snipping the ends off the cheapest cable you can find, running the clipped end through the RF hole, and then soldering the signal and shield wires of each to the board.

 

You'll end up with some YPbPr ends dangling out of the case which you could either use directly or connect to an extension cable or whatever.

Link to comment
Share on other sites

So I was originally going to do this mode on an SG-1000 but  after find out that this isn't going to work on a TMS9918A without some additional bits I thought I'd try in on my Sega SC-3000 instead. 

In preparation I thought I removed the TMS-9929ANL (yes, it's a PAL machine) and put a socket in place. The idea is to convert it to a 60hz machine down the track (If possible).

I actually did this a while ago and wasn't quite as experienced in removing components.

Unfortunately I pulled a trace even though I was working very carefully and delicately.

Anyway I fixed it and the machine still is functioning correctly.

 

The next step was to determine what AV cable to use? I would need more pins then what the SC-3000's standard 5-pin AV has.

After a bit of research, I found that the combination of existing AV outputs and what the TMS-RGBs additional pins have to offer found that the Sega Master/Megadrive 1 have a very similar composition. So I would create a very similar cable with the same pin outs as the Sega's 8-pin DIN but minus the resistors on the R, G and B lines (as they are already on the TMS-RGB board) and to add SYNC from the TMS-RGB to Pin 1.

 

Sega Master/Megadrive 1 SCART RGB

 

So the cable would need a socket on the computer and I found something very convenient: The existing 5-pin AV DIN can easily be replaced with an 8-pin DIN. The motherboard has allowance for an 8-pin DIN with holes in the right places and the motherboard even has traces with pads for all the extra pins which weren't being used (Yeno-3000?).

As a further bonus the existing 5-pin composite AV cable can still be used with the 8-pin socket as it's pattern is "backwards compatible".

 

SC-3000 and planned 8-pin DIN replacement sc3000_mod_ - 2.jpeg 973802535_sc3000_mod_-3.thumb.jpeg.e5084d6efe7df56d590f624a627b6ba7.jpeg  

 

Last step was to prepare the TMS-RGB by soldering the wires to it and then soldering it underneath the motherboard on to the pins of the socket where the TMS-9929ANL is positioned.

Then I soldered the wires to the correct positions on the pads.

I was a bit nervous testing it as this has literally been almost a year in the making - I bought these TMS-RGB about a year ago! :) 

 

1060673092_sc3000_mod_-4.thumb.jpeg.8eb4e3d870b1ca5c4dd4672efa45e87b.jpeg

 

 

My test game was Championship Tennis, popped it in and turned it on and nothing, much, well the sound was working no video... wait, there was SOME video, flickering white stripes.

 

I looked at what I had done and found that one of my soldered pins on the TMS-RGB to the TMS-9929ANL underneath wasn't sufficient, a bit more solder and try again.

 

Success!

 

Wow, what a clear and beautiful picture! The difference between composite and RGB is so astounding better.

 

Thanks so much for the TMS-RGB - very happy. Next is the SG-1000!

 

 

Edited by slaanesh
  • Like 2
Link to comment
Share on other sites

48 minutes ago, slaanesh said:

So I was originally going to do this mode on an SG-1000 but  after find out that this isn't going to work on a TMS9918A without some additional bits I thought I'd try in on my Sega SC-3000 instead. 

In preparation I thought I removed the TMS-9929ANL (yes, it's a PAL machine) and put a socket in place. The idea is to convert it to a 60hz machine down the track (If possible).

I actually did this a while ago and wasn't quite as experienced in removing components.

Unfortunately I pulled a trace even though I was working very carefully and delicately.

Anyway I fixed it and the machine still is functioning correctly.

 

The next step was to determine what AV cable to use? I would need more pins then what the SC-3000's standard 5-pin AV has.

After a bit of research, I found that the combination of existing AV outputs and what the TMS-RGBs additional pins have to offer found that the Sega Master/Megadrive 1 have a very similar composition. So I would create a very similar cable with the same pin outs as the Sega's 8-pin DIN but minus the resistors on the R, G and B lines (as they are already on the TMS-RGB board) and to add SYNC from the TMS-RGB to Pin 1.

 

Sega Master/Megadrive 1 SCART RGB

 

So the cable would need a socket on the computer and I found something very convenient: The existing 5-pin AV DIN can easily be replaced with an 8-pin DIN. The motherboard has allowance for an 8-pin DIN with holes in the right places and the motherboard even has traces with pads for all the extra pins which weren't being used (Yeno-3000?).

As a further bonus the existing 5-pin composite AV cable can still be used with the 8-pin socket as it's pattern is "backwards compatible".

 

SC-3000 and planned 8-pin DIN replacement sc3000_mod_ - 2.jpeg 973802535_sc3000_mod_-3.thumb.jpeg.e5084d6efe7df56d590f624a627b6ba7.jpeg  

 

Last step was to prepare the TMS-RGB by soldering the wires to it and then soldering it underneath the motherboard on to the pins of the socket where the TMS-9929ANL is positioned.

Then I soldered the wires to the correct positions on the pads.

I was a bit nervous testing it as this has literally been almost a year in the making - I bought these TMS-RGB about a year ago! :) 

 

1060673092_sc3000_mod_-4.thumb.jpeg.8eb4e3d870b1ca5c4dd4672efa45e87b.jpeg

 

 

My test game was Championship Tennis, popped it in and turned it on and nothing, much, well the sound was working no video... wait, there was SOME video, flickering white stripes.

 

I looked at what I had done and found that one of my soldered pins on the TMS-RGB to the TMS-9929ANL underneath wasn't sufficient, a bit more solder and try again.

 

Success!

 

Wow, what a clear and beautiful picture! The difference between composite and RGB is so astounding better.

 

Thanks so much for the TMS-RGB - very happy. Next is the SG-1000!

 

 

Excellent work!  :)

 

Yeah, Falonn did a damn fine job creating the TMS-RGB.  

 

Falonn is an alright guy, most of the time. I'm only kidding of course. ;)

 

 

Link to comment
Share on other sites

On 3/8/2022 at 1:26 PM, ianpolpo said:

If anyone that comes across this is interested in a plug in, no-cut solution to using a TMS-RGB with a TMS9128 in a system that normally uses a TMS9118, I've put the design files up on GitHub. I'll be adding an assembly guide soon, because it is a little bit fiddly. https://github.com/polpo/tms-adapter

 

So your solution looks like a good start for the SG-1000 as it uses the TMS9918.

The issue with the 9918 is that it generates the clock signal used by the CPU and sound ICs and therefore doesn't require an external oscillator.

Some system using 9918 have an external oscillator  but not the SG-1000.

So for TMS-RGB to work I need to replace the 9918 with the 9928 and add the external oscillator.

So your board with some mods may work!

 

Link to comment
Share on other sites

8 hours ago, slaanesh said:

So your solution looks like a good start for the SG-1000 as it uses the TMS9918.

The issue with the 9918 is that it generates the clock signal used by the CPU and sound ICs and therefore doesn't require an external oscillator.

Some system using 9918 have an external oscillator  but not the SG-1000.

So for TMS-RGB to work I need to replace the 9918 with the 9928 and add the external oscillator.

So your board with some mods may work!

 

All TMS9918/28/29 chips have 2 XTAL pins for the clock generator.  You can either put a 10.7MHz crystal between the pins, or provide an external clock source and connect it to one of the pins.  You don't need to modify the clock circuit.

 

Edit:  Oh, I see.  The 9918 has a 3.58MHz CPU clock output.  The 9928/29 use that pin for red output.  So you need a 3.58MHz clock for the rest of the system.

Edited by ChildOfCv
Link to comment
Share on other sites

8 hours ago, ChildOfCv said:

Edit:  Oh, I see.  The 9918 has a 3.58MHz CPU clock output.  The 9928/29 use that pin for red output.  So you need a 3.58MHz clock for the rest of the system.

Yes it's a bit of a bummer.

I'd love to see a v3 of TMS-RGB that could handle this. ie. add an extra output pin providing a ~3.58Mhz oscillator output :)

Or even space on the board to add an external oscillator 

 

Link to comment
Share on other sites

  • 10 months later...

I have a PAL SEGA SC3000, and the daughterboard that did the signal from the TMS9929ANL broke leaving me with an SC3000 that seemed to work (produced sound OK when BASIC cart inserted), but had no picture.

So in order to get a picture back I socketed the 9929 and soldered the TMS-RGB underneath.

Rather than go the whole hog with a 9-pin output jack (which is what I ordered when I bought the TMS-RGB), I figured I could simply get the composite signal from S to pin 3 of the original 5-pin video jack and wire the ground signal to pin 4.

 

This however, doesn't work at all.

 

I end up with some screeching coming out of the audio and no picture.

Clearly I have done something wrong, but I'm not sure what.

 

I tried plugging the daughterboard back in and the TV actually got a good sync on the sound with no screeching, but still no picture.

The daughterboard doesn't work though so it's no surprise there's no picture, but there's no screeching at least.

 

Any idea how I've flubbed this one? Hopefully it's an easy fix.

image0.jpeg

Link to comment
Share on other sites

11 hours ago, Neo-Rio said:

I have a PAL SEGA SC3000, and the daughterboard that did the signal from the TMS9929ANL broke leaving me with an SC3000 that seemed to work (produced sound OK when BASIC cart inserted), but had no picture.

So in order to get a picture back I socketed the 9929 and soldered the TMS-RGB underneath.

Rather than go the whole hog with a 9-pin output jack (which is what I ordered when I bought the TMS-RGB), I figured I could simply get the composite signal from S to pin 3 of the original 5-pin video jack and wire the ground signal to pin 4.

I'm not familiar with the SC3000, but...

 

The S pad on the daughterboard does not provide composite video. It only provide a composite sync signal, which is horizontal sync and vertical sync mixed together.

 

How did the daughterboard break? Hopefully it didn't take any other components with it.

 

If you remove the daughterboard and reinstall the 9918 video chip, does the stock video work?

If you are certain that the TMS-RGB board is bad, why not just get a replacement?  https://tms-rgb.com/install.html
 

Link to comment
Share on other sites

8 hours ago, Calab said:

The S pad on the daughterboard does not provide composite video. It only provide a composite sync signal, which is horizontal sync and vertical sync mixed together.

How did the daughterboard break? Hopefully it didn't take any other components with it.

If you remove the daughterboard and reinstall the 9918 video chip, does the stock video work?

Oh OK. I'll need to wire up the rest of the TMS pins to the 9 pin din instead and then I'll probably get some video.

I was hoping to get away with using the pre-existing 5 pin but I guess that's not how this works.

 

The daughterboard on the PAL SC3000 has a busted transistor set and can't convert the input 9V up to the 12V required for the daughterboard to produce composite PAL outputs. 

Note: Only the PAL SC3000 has one of these because it uses the PAL TMS9929ANL chip and not the NTSC 9918.

 

Hopefully the TMS-RGB does away with the need to have this daughterboard because it should be able to do it all by itself - I assume.

That's the reason why I got it in the first place. Finding replacement parts to the daughterboard is ... hard.

Edited by Neo-Rio
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...