Jump to content
IGNORED

TMS9918A Video Input


jdgabbard

Recommended Posts

While messing around with my 99/4A, I decided it might be fun to rig up a circuit to play with external video. From my understanding of the 9918A, the EXTVDP pin is the pin that is responsible for video input. As I understand it, this was used on some computers to do video text overlays. However, I cannot find any documentation of this. The 9918A manual suggests that it is used solely for the purpose of cascading VDPs, utilizing RESET as a "Sync". To my mind, this was in reality a poor man's SYNC, as you're only resetting both controllers to put them on the "same page" so to speak. And would make sense, since the circuits I have seen show that both the VDPs use the same crystal oscillator to keep "in-time". But that is just my impression.

 

Who knows a thing or two about the the EXTVDP pin, and can speak intelligently about video input circuits and how they interface to the VDP? Is it as simply as supplying the EXTVDP pin with a composite signal? Or is there something more that is required? The BYTE article on the 9918A adapter for the Apple I ("High Resolution Sprite-Oriented Color Graphics" - Steve Ciarcia) has a schematic that suggests that it truly is as simple as inputing a composite signal. However, the text of the article contains the following:

 

 

The last, rearmost plane is called the external VDP plane, which can allow one 9918A chip to overlay its display over the output of a second 9918A. But the external VDP plan could contain a video image from almost any compatible external source such as a TV camera, a video-tape recorder, or another computer display, as long as the external source is synchronized to the 9918A's Clock and Reset/Sync inputs. It might also be necessary to adjust the signal voltage levels. - BYTE August 1982, Pg 58

 

To me that suggest that there needs to be some type of decoding logic. But for the life of me, I cannot figure out how this would work. Even if you used the composite signal to creat a SYNC signal, there would still be no way of synchronizing with the VDP's clock.

 

But it seems as though it should be possible, as I seem to remember hearing somewhere that MSX computers were popular with TV stations for text overlay. Does anyone have any information on this?

Edited by jdgabbard
Link to comment
Share on other sites

The 9918 datasheet describes how to use the video input to cascade two VDPs, but it's very simple as you've already seen. There was also an article in Radio Electronics many years ago about using the 9918A to make a video titler. This article notes several issues with the clock rate of the VDP by default - I don't know how serious those issues are.

 

It's worth noting that the reset pin is not being used to reset the VDP for sync -- it has a secondary function triggered by a higher voltage. So you'd need first to strip the sync from your external video, then amplify it for use with the VDP.

 

On the TI, the reset pin is hard wired to the rest of the reset circuitry, so you need to lift it from the socket to avoid the higher voltage from damaging anything else on the board. In my testing many years ago, the console runs okay like this. Of course you also need to lift the video input pin. (I can't remember if it's routed on the PCB).

 

I didn't know anything about sync circuitry when I did it back in the day. I just lifted the pins and fed composite video in. Doing so, with no attempt to balance the video or synchronize the two streams, "worked" insofar as I was able to use software to switch external video from a VCR on and off. When it was off, there was some crosstalk to the VDP's signal. When it was on, it looked fine, but the video overlay was completely out of sync (as would be expected).

 

I've attached the docs I have.

9918a28a29a.pdf

Radio-Electronics-1982-04.pdf

Radio-Electronics-1982-05.pdf

  • Like 2
Link to comment
Share on other sites

Tursi, thanks for the response. You're always Johnny on the spot with your experience. So to confirm what your saying, when the TMS9918 is fed a composite signal without decoding the Sync (and timing it with the VDP's sync) the video in seems to display just fine when the external video is the only thing on the screen. When an overlay is attempted they get all out of whack. And when the TMS is just doing it's normal everyday thing there seems to be crosstalk between the two. Would that sum it up?

 

In your experience, do you believe it would possible without a lot of hardware? It seems like separating the sync from the composite signal is doable. However, timing it to the VDP wouldn't be so straight forward. Obviously it does work, as you have played with it yourself. However, I'm curious if it could be made reliable without having to create a whole new daughter board full of circuitry. It seems like you could use an open-collector not-gate (74LS06) to generate a 9v sync signal from the composite video. Since the sync signal is below 0v. However, then you'd have to figure out how to amplify the lumanince above the required voltage to switch the 74LS06 back on. And then you still need to create the timing....

Link to comment
Share on other sites

Tragic that Coleco didn't use this chip variant, expansion model games might have been augmented by 9918 overlays.

The datasheet shows (loosely, again) how overlay was meant to be handled externally on the 9928 - a special voltage level is output during 'transparent'.

Link to comment
Share on other sites

Tursi, thanks for the response. You're always Johnny on the spot with your experience. So to confirm what your saying, when the TMS9918 is fed a composite signal without decoding the Sync (and timing it with the VDP's sync) the video in seems to display just fine when the external video is the only thing on the screen. When an overlay is attempted they get all out of whack. And when the TMS is just doing it's normal everyday thing there seems to be crosstalk between the two. Would that sum it up?

I simplified a bit, since the article I linked has a lot more information about how it works. Basically, the "external video" enable bit in the VDP does two things. It makes transparent switch in the "extvid" pin, and it makes the VDP counters sync to the sync input on the reset pin.

 

So, when the VDP did NOT have external video enabled, you should not see anything of the external video. Because I didn't balance the levels, there was crosstalk and I could see the external video. However, it was not synchronized with the VDP's video.

 

When external video is turned ON, then the external video is fed through anytime the display is showing transparent pixels - this appears to include the blanking areas. So, the external video's sync is stable through the chip. However, the VDP's counters are not in sync, so the non-transparent pixels appear at semi-random locations and the image is clearly out of sync on top of the composite video.

 

In your experience, do you believe it would possible without a lot of hardware? It seems like separating the sync from the composite signal is doable. However, timing it to the VDP wouldn't be so straight forward. Obviously it does work, as you have played with it yourself. However, I'm curious if it could be made reliable without having to create a whole new daughter board full of circuitry. It seems like you could use an open-collector not-gate (74LS06) to generate a 9v sync signal from the composite video. Since the sync signal is below 0v. However, then you'd have to figure out how to amplify the lumanince above the required voltage to switch the 74LS06 back on. And then you still need to create the timing....

I don't have that experience, because I didn't do it. However, you do /not/ need to create any timing -- that's the whole point of the sync input on the VDP. It makes the VDP reset its counters so that it's in sync with the external video. The only question is whether the timing discrepancies noted in the Radio Electronics article are a problem in the 99/4A console. Only way to know is to try it. If it's off, I'd expect the overlay image to be okay near the top and more and more out of alignment towards the bottom.

 

But I can't help with analog circuit design. I've no idea. :)

Link to comment
Share on other sites

But I can't help with analog circuit design. I've no idea. :)

 

 

Don't feel bad. I know nothing about analog signaling either. But how you just described it made a lot more sense. My understanding from reading the the information I had is that you still need a way to slow down the signaling to match the VDP's. However, what you're saying is that the 9918A handles that itself. You just have to tell it when to do it, i.e.: provide the 9v sync signal. And if it truly is that simple, it should be just a matter of inverting the horizontal sync and amplifying the signal to a 9v level.

Edited by jdgabbard
Link to comment
Share on other sites

But how you just described it made a lot more sense. My understanding from reading the the information I had is that you still need a way to slow down the signaling to match the VDP's. However, what you're saying is that the 9918A handles that itself. You just have to tell it when to do it, i.e.: provide the 9v sync signal. And if it truly is that simple, it should be just a matter of inverting the horizontal sync and amplifying the signal to a 9v level.

Well, it's a little worse than that. You tell the 9918A when to start counting, but after that, it just has to match! This is the heart of the timing issue that the Radio Electronics article mentions. You can't do anything about it (the only possible way would be to regenerate the video signal entirely, and that's way beyond the scope.) The Video Titler actually uses an off-spec clock to the 9918 to make up the difference. On the 4A, I think you're stuck just trying it (but who knows, the same tweak might work).

 

I don't know whether it's horizontal or vertical sync that the chip expects. If it's horizontal then the impact of clock skew will be a lot less than if it's vertical.

Link to comment
Share on other sites

I took the liberty to make the 9918 document searchable by running it through OCR. Due to the quality of some of the words on the pages, and the quality of Adobe Acrobat, YMMV.

 

(Case in point on the quality of Adobe Acrobat, I took a 5MB file and made it 39MB after OCR, and nothing I do can make it any smaller.)

9918a28a29a(OCR).pdf

  • Like 2
Link to comment
Share on other sites

Back in the mid-80s I agreed to help my daughter and several of her girlfriends with a fourth- or fifth-grade class project to make a video report on Australia. I used the TI-99/4A for screen titling. It worked pretty well, as I recall. I think I did have sync problems, but managed to get a pretty good video out of it, nonetheless. I do not now remember very many of the details. I may have some cryptic notes about it somewhere, but don't hold your breath.

 

...lee

Link to comment
Share on other sites

I was actually looking at the LM1881N and the LM1981 ICs this weekend. They are video separator circuits that can strip the sync (1881 = vertical, 1981 = vertical and horizontal) signals out of a composite video source.

 

Then you would just have to translate this to a 9v logic level, as well as inverting (I believe). That means you should be able to tie it though a transistor pair (for amplifying) to a 74LS06 (open collector) to generate the 9v sync signal.

Link to comment
Share on other sites

  • 1 year later...

The 9918 datasheet describes how to use the video input to cascade two VDPs, but it's very simple as you've already seen. There was also an article in Radio Electronics many years ago about using the 9918A to make a video titler. This article notes several issues with the clock rate of the VDP by default - I don't know how serious those issues are.

 

It's worth noting that the reset pin is not being used to reset the VDP for sync -- it has a secondary function triggered by a higher voltage. So you'd need first to strip the sync from your external video, then amplify it for use with the VDP.

 

On the TI, the reset pin is hard wired to the rest of the reset circuitry, so you need to lift it from the socket to avoid the higher voltage from damaging anything else on the board. In my testing many years ago, the console runs okay like this. Of course you also need to lift the video input pin. (I can't remember if it's routed on the PCB).

 

I didn't know anything about sync circuitry when I did it back in the day. I just lifted the pins and fed composite video in. Doing so, with no attempt to balance the video or synchronize the two streams, "worked" insofar as I was able to use software to switch external video from a VCR on and off. When it was off, there was some crosstalk to the VDP's signal. When it was on, it looked fine, but the video overlay was completely out of sync (as would be expected).

 

I've attached the docs I have.

 

Sorry for resurrecting an old thread, but in case anybody else is investigating this (I am for a TRS-80 Model 1 peripheral I've designed -- I'd like to be able to merge the TMS9918 video and the TRS-80's native video), the articles referenced above in the thread are the wrong dates from Radio Electronics. Although there's a video titler described, it's *not* one that uses the TMS9918. That came later, in November and December of 1985. It took me a while to figure that out, so I thought I'd save some future explorer the trouble.

 

https://archive.org/details/radio_electronics_1985-11/page/n41

  • Like 4
Link to comment
Share on other sites

Merging two TMS9928/29A is quite interresting and full of potential :) To put into practice, I made a dual VDP video card for Apple II (my second old computer love) . The board stayed as a prototype stage but it is fully functional. It has 2048 octets of memory (stored with a CR232 battery) to contain graphics library utility toolkit. At the time, I worked on the hardware design and a friend, an Apple II programmer of genius, would make the software part when the board was ready. Alas, he decided to stop developping software. So, I made two embryo tools to verify the working state of my board. It works (and assurely can be improved) but here is the end of the story of this board. It is lying in one of my boxes since 2016.

D-VDP9929A.jpg

But the story could revive by taking a different path, as a dual TMS9928/29A VDP on a futur TIny-99/4A version? who knows :)

  • Like 5
Link to comment
Share on other sites

Merging two TMS9928/29A is quite interresting and full of potential :) To put into practice, I made a dual VDP video card for Apple II (my second old computer love) . The board stayed as a prototype stage but it is fully functional. It has 2048 octets of memory (stored with a CR232 battery) to contain graphics library utility toolkit. At the time, I worked on the hardware design and a friend, an Apple II programmer of genius, would make the software part when the board was ready. Alas, he decided to stop developping software. So, I made two embryo tools to verify the working state of my board. It works (and assurely can be improved) but here is the end of the story of this board. It is lying in one of my boxes since 2016.

D-VDP9929A.jpg

But the story could revive by taking a different path, as a dual TMS9928/29A VDP on a futur TIny-99/4A version? who knows :)

 

 

So are they using a sync'd clock? In my project what I'm trying to do is take raw composite video from a TRS-80 model 1 and merge it as an underlay for the VDP. In that case, I don't have a clock signal to work with. I have to treat the video signal like any other composite video signal and get it massaged so that it will work as an input to the VDP.

 

My current prototype is at github.com/calphool/TRS80GS

Link to comment
Share on other sites

Calphool, as I mentioned earlier in this thread, you'd need to strip the composite sync signals as a reference for the timing. The datasheet does talk about this, but they do not go very deep into the application. And as Tursi pointed out, there may be a bit of skew. I never got around to prototyping anything out, I always have too many projects going as is. But the LM1981 is where I would start for testing. In short, you'll have to play with it to know how well it will work.

Link to comment
Share on other sites

If your system allows you to run the TMS99x8 at a multiple/division of the main clock (or thinking backwards, you run the system on a divisor/multiple of the TMS clock), you should be able to avoid skew. Pretty much any system today that takes a crystal can instead take a generated clock in the x2 pin instead, which skips the internal clock generation entirely. The TMS99x8 is no exception.

Link to comment
Share on other sites

I spent 15 years in the Eng. Dept of a TV studio/transmitter complex (CFPL channel 10) and left the industry when everything was still analog. It's been over 24 years since I thought much about this but typically here is how this would work in the old days. :-)

( I remember taking my TI-99 into the station to see if the Video outputs were RS170A compliant. (They were not quite correct as I recall, which is what we noticed about all the computer gear made for Video use in the old days by computer engineers. That eventually improved in the 90s. But Then they just digitized everything to solve that problem! ) :)

How it was done in a pro analog studio:

  • You would use an external video source that could take another NTSC signal as its sync reference. This input is typically called GENLOCK.
    * It used a PLL to lock to the horizontal sync pulses. With that is could find the sub-carrier burst (3.58Mhz) and phase lock its own color-oscillator to the external signal. (+/- 3 degrees of phase error was the max allowed for color accuracy as I recall)
  • So if you loop the TI-99 though the GENLOCK input/output (un-terminated) you can use the TI-99 Video output to also feed a monitor or a recorder.
    The final device must be terminated with 75 ohms to prevent reflections in the image.
  • The Genlocked device is now in sync so that video can be fed into the TMS9918 external video input with no problem, as long as the cables are not too long...
  • If the cables are long then you will need a vectorscope to check the phase alignment of color bars between the TI-99 and the now synchronized external source.
    Adjust the genlock phase on the external device to get that matched.


    The alternative to this involves use a digital time base corrector (TBC) which would be Genlocked to the TI-99 and then any video fed into it could be "forced" to sync to the TI-99 by removing the external sync signals, replacing them with new locked signals and dropping the external video on top of that new set of sync pulses.

    Chances are nobody has a TBC lying around these days. The TBC output could be put back into the external input and the picture edges and color could be tweaked to match the TI-99.

 

None of this may help but it gives you some idea of what a PITA analog video was. ;)

 

 

"And if you tell the kids that today, they won't believe it!"

 

Monty Python, Yorkshiremen routine

Edited by TheBF
  • Like 4
Link to comment
Share on other sites

It's been on standby since around 2008! accumulated a little dust... Ha!

I got this in the hope I could use it to strip the macrovision before the sig. got to the DVR. One of the channels from my cable provider at the time actually injected the macrovision signal over the CATV (FCC VIOLATION) during sports events... sometimes they left it on all night.

 

post-64523-0-84829300-1548842156_thumb.jpg

post-64523-0-87183000-1548842376_thumb.jpg

 

 

It worked! Surprisingly, only the composite video needed to be passed through the TBC. This unit is designed for small studios that need compatibility with non-professional or low grade studio equipment.

It does have GEN-LOCK and dedicated dual-channel color processing.

 

This is a Pyxis E

 

E-BAY -about $40.

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

Decades ago... I excitedly tried to route video through the VDP...
as I recall I came to a similar set of understandings as Tursi's.
Since obtaining the TBC I haven't been able to get back to that place... So many things... ...so little me.

Thanks for the great explanation! Practical insider information. :thumbsup:

Edited by HOME AUTOMATION
  • Like 3
Link to comment
Share on other sites

Back when, some UK TI employees designed a computer around the 9995 cpu and the 9929 vdp (pal), which was called the CORTEX. I recall seeing a demonstration of the Cortex in which text was displayed over external video (live cctv) although the principal ETI construction articles (1982/1983) didn't cover this. It may be worth looking through the Cortex newsletters.

 

Cortex documentation including newsletters is at: http://www.powertrancortex.com/documentation.html

 

The whole point of the transparent colour was for external video- 36 layers being black-external video-background-foreground-32 sprite planes. Plane 3 had to be transparent to see the external video.

 

I have also used the modulator output from a 99/4a to title videotapes- pretty fair quality.

 

stephen

Link to comment
Share on other sites

It's been on standby since around 2008! accumulated a little dust... Ha!

I got this in the hope I could use it to strip the macrovision before the sig. got to the DVR. One of the channels from my cable provider at the time actually injected the macrovision signal over the CATV (FCC VIOLATION) during sports events... sometimes they left it on all night.

 

attachicon.gifpyxisE.JPG

attachicon.gifbackview.JPG

 

 

It worked! Surprisingly, only the composite video needed to be passed through the TBC. This unit is designed for small studios that need compatibility with non-professional or low grade studio equipment.

It does have GEN-LOCK and dedicated dual-channel color processing.

 

This is a Pyxis E

 

E-BAY -about $40.

Yikes. I used to have a Macrovision defeater box that watched for vertical retrace and blacked out the first however many lines where MV was incorporated (minus the sync pulses, of course). It was the size of a pocket transistor radio and ran from a 9V battery. I think it just used a simple counter, an analog switch, and one of those LM sync separator chips to do most of its magic.

Link to comment
Share on other sites

Back when, some UK TI employees designed a computer around the 9995 cpu and the 9929 vdp (pal), which was called the CORTEX. I recall seeing a demonstration of the Cortex in which text was displayed over external video (live cctv) although the principal ETI construction articles (1982/1983) didn't cover this. It may be worth looking through the Cortex newsletters. Cortex documentation including newsletters is at: http://www.powertrancortex.com/documentation.html The whole point of the transparent colour was for external video- 36 layers being black-external video-background-foreground-32 sprite planes. Plane 3 had to be transparent to see the external video. I have also used the modulator output from a 99/4a to title videotapes- pretty fair quality. Stephen

 

That's exactly it. All one has to do is sync the external video to the TI... unless the TI will genlock to the external input... ?

How smart is the 9918? In TMS9918 Data book they show using a common Xtal for 2 VDP chips and a common reset line.

 

But in the block diagram on page 2-2 I see that the clock generator goes into a block called "video logic".

 

The other input is External Video and this block creates the composite video signal.

 

Is it possible that the video logic block will force the TI video to sync to external video?

I have never tried it.

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...