Jump to content
IGNORED

External Video examples


rbairos

Recommended Posts

Hi everyone, sorry if this is the wrong forum.

Have there ever been any projects that utilized the external video input on the ColecoVision?
I think there was some chatter about an video disc player back in the day, but has anyone (commercially or privately) done

anything with it since?

My understanding is its only available through the expansion port and not the cartridge port (sadly).

How does it work in practise?  Does it overlay external video with its own? (How is it genlocked)?

Thanks + Happy New Year!
Rob

 

Link to comment
Share on other sites

7 minutes ago, evg2000 said:

the atari module uses it I believe, but just as a pass through.

Yah that's true. Just curious if anyone's built anything interesting with that function.

Again too bad it wasn't on the cartridge connector, would make for some amazing content.

Edited by rbairos
Link to comment
Share on other sites

The VDP (by itself) has some cool pass-through capabilities that TI talks about in the data sheet.  One example they give is chaining them together to get more sprites (without flicker).  They also described how you might overlay the graphics on a live video feed to show things like credits.  (This is why one of the colors in the palette is "transparent".  The Colecovision just shows that one as black, but in the pass-through case, it is distinct from black and will let the underlying video signal through.)

 

That said, the Colecovision didn't include any of those features in their design.  There is an "external video enable" pin available to the expansion slot.  That single line swaps between the external video and the internal (VDP-based) video without any way to enable both at the same time.  So on an unmodified console there won't be any way to use those (rather unique) features, unfortunately.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

I'll try and answer with my relatively limited knowledge so others I'm sure will fill in the gaps and with corrections as necessary.

 

The VDP in the ColecoVision is either a TMS9928A (NTSC) or a TMS9929A (PAL).  Neither of these VDPs has the ability to overlay external video onto the VDP generated graphics.  Of this family of VDPs (TMS9918A/9928A/9929A) it was only the TMS9918A that had an external video overlay input as a function within the VDP itself.  So, any video overlay capabilities would have had to have been built into the ColecoVision's circuit design.

 

There is only one external video input to the ColecoVision, which as you correctly stated is via the expansion port.  This is accompanied by an external video enable signal that expansion modules (such as the Atari 2600 module) also pass to the expansion port.  My understanding is that when the external video enable is active that the video output from the ColecoVision's VDP is disconnected.  So, as far as I'm aware the video output from the CV is either from the VDP or the external video and that they are mutually exclusive.  As such the CV has no video overlay capability.

Edited by Ikrananka
Fixed messed up cutting and pasting of paras
  • Like 1
  • Thanks 1
Link to comment
Share on other sites


Ah, good information everyone.
That's too bad it wasn't fully exposed.
Did the override just apply to video, or could the main CPU still generate audio as before?

Wondering now, if something (overrides) the video through the expansion port, like the Atari Expansion Module,
what does it do with the address and bus lines?
Did it just leave them floating?

Was the Z80 still listening in vain while the expansion module fed video?

Could the expansion module still use the Z80 and main board?
If so, hypothetically the expansion module didn't need its own joystick ports, and could have communicated the data
back from the main board.
Unless I'm mistaken, it could be a small eeprom continually polling the main joystick values and latching them somewhere
wired to the RIOT.
(Though don't remember the coleco ever supporting analog paddle controllers).

Cheers.


 

Link to comment
Share on other sites

43 minutes ago, evg2000 said:

I believe the adam module used the z80 on the main board.

Yah that's what we had growing up.
Just curious how that's handled in the case of the atari expansion module, which may not be using it at all.
How does it keep it from executing random code read from the bus.

EDIT: I'm now guessing there were CPU enable lines brought out to the expansion module.
My head is still in atari 2600 land, where the r/w line wasn't even considered worthy of access.

 

Edited by rbairos
Link to comment
Share on other sites

EM1 just shut off the Z80 CPU by holding its BUSRQ line low.  It did not use existing RAM either because it used the RIOT chip.

 

As for sound, the CV just mixes what the system produces with external audio input.

 

To answer @Ikrananka, you could still make the 9928 or 9929 cooperate with another but it was done in the YUV output side.  The two chips could be genlocked since they have absolutely deterministic startup times after reset, so selective machinery could choose which one takes precedence.  The 992x manual leaves that prioritizer circuit as an exercise for the reader though.  I won't swear to this, but I think that when you choose the transparent color, it causes the outputs to go high-Z.

  • Like 3
Link to comment
Share on other sites

@ChildOfCv Doesn't your diagnostic kit I bought from you last year use the external video input to generate the VDP test pattern that you have in there? I thought that is why it can only be seen properly through RF output and doesn't work through the RGB upgrades?

 

Link to comment
Share on other sites

On 1/2/2022 at 12:16 PM, ChildOfCv said:

EM1 just shut off the Z80 CPU by holding its BUSRQ line low.  It did not use existing RAM either because it used the RIOT chip.

 

As for sound, the CV just mixes what the system produces with external audio input.

 

To answer @Ikrananka, you could still make the 9928 or 9929 cooperate with another but it was done in the YUV output side.  The two chips could be genlocked since they have absolutely deterministic startup times after reset, so selective machinery could choose which one takes precedence.  The 992x manual leaves that prioritizer circuit as an exercise for the reader though.  I won't swear to this, but I think that when you choose the transparent color, it causes the outputs to go high-Z.


Has everyone ever experimented with toggling the video enable line per frame, per scan line, or even mid scan line?
You might be able to mix vdp and external video that way if:

1) You can control the vsync of the VDP (or monitor the vsync and control the external video sync)
2) the transition is relatively quiet.

Even if it could only be achieved per frame, you could get some interesting affects (though effectively dimming each video source by 50% at 30hz flicker)

 

Link to comment
Share on other sites

Might be an interesting project.  You'd likely need dedicated electronics to make sure the switch happens exactly when needed.  You can monitor the NMI line for the vertical interrupt, but you will need to reset it after each frame.  You can also use the 3.58MHz clock to approximate where in a scan the output is.

 

All that's left is the question of whether the switching electronics are fast enough to give you the desired precision.

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