+rbairos Posted December 31, 2021 Share Posted December 31, 2021 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 Quote Link to comment Share on other sites More sharing options...
+evg2000 Posted December 31, 2021 Share Posted December 31, 2021 the atari module uses it I believe, but just as a pass through. Quote Link to comment Share on other sites More sharing options...
+rbairos Posted December 31, 2021 Author Share Posted December 31, 2021 (edited) 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 December 31, 2021 by rbairos Quote Link to comment Share on other sites More sharing options...
Falonn Posted December 31, 2021 Share Posted December 31, 2021 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. 1 1 Quote Link to comment Share on other sites More sharing options...
Ikrananka Posted December 31, 2021 Share Posted December 31, 2021 (edited) 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 December 31, 2021 by Ikrananka Fixed messed up cutting and pasting of paras 1 1 Quote Link to comment Share on other sites More sharing options...
+rbairos Posted December 31, 2021 Author Share Posted December 31, 2021 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. Quote Link to comment Share on other sites More sharing options...
+evg2000 Posted December 31, 2021 Share Posted December 31, 2021 I believe the adam module used the z80 on the main board. Quote Link to comment Share on other sites More sharing options...
+rbairos Posted December 31, 2021 Author Share Posted December 31, 2021 (edited) 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 December 31, 2021 by rbairos Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted January 2, 2022 Share Posted January 2, 2022 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. 3 Quote Link to comment Share on other sites More sharing options...
+-^CrossBow^- Posted January 5, 2022 Share Posted January 5, 2022 @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? Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted January 5, 2022 Share Posted January 5, 2022 Yeah, the diag kit creates external video using the same circuit that the EM1 does. It holds the external video line active. The CV itself has an "either or" circuit to use only the VDP or the external video based on the external video activation. Quote Link to comment Share on other sites More sharing options...
+rbairos Posted January 11, 2022 Author Share Posted January 11, 2022 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) Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted January 11, 2022 Share Posted January 11, 2022 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.