convert any CRT TV or monitor into a vector (XY) monitor?

NOTE: I since found a couple links that might shed some light on the question...

From HackIt: New uses for old CRT monitors
It would be very hard to do, but it is possible a CRT could be converted to a vector monitor. Perfect for playing Asteroids, perhaps under MAME.
You would have to replace all the control circuits, probably with an FPGA and three ADCs (x/y/intensity).
Posted at 8:58 am on Feb 25th, 2008 by MoJo

Television and PC monitor experiments

old cga/vga monitor to oscilloscope ?

The inquiry:

Maybe I am over-simplifying but I was reading one of those examples of hacking into a CRT's horizontal & vertical yoke controls to sync to music:
and had the idea that it should be possible to create a DIY XY monitor (vector display like on an oscilloscope, Vectrex, Asteroids, etc.) for an Arduino or other uC, MAME or Vectrex emulator, from any TV or CRT, once you have hacked into the electron gun's yokes.

My understanding being:
Raster display: the horizontal yoke (an electromagnet) sweeps the electron gun from left to right turning on the beam wherever there's a "pixel" at that line (which lights up the phosphor at that point making it visible), then it starts over at the next line (vertical yoke moves down) and draws the next line, and so on,

Vector display: instead of rendering a moving image frame-by-frame using top to bottom/left to right scanning, shapes are drawn directly to the screen by positioning the horizontal & vertical yokes at the starting point, the beam turns on, and the yokes repoint to the end point, thus "drawing" the line inbetween the 2 points (I would assume this is for straight lines, not sure if circles or arcs are possible?) then the beam turns off, and the yokes get re-positioned to the next line's starting point. I'm not sure what turns the beam on & off or what kind of timing might be involved, obviously that needs to be controlled somehow. Or for color, where instead of a single white (or green, amber, etc) phosphor exists per pixel, there are multiple (red, green, blue) per pixel, and the beam hits each one at varying strengths (or for a varying length of time?) to 'mix" the primaries to the desired color? I'm not sure how that gets handled in a color vector monitor, but I would assume it's something similar to raster?

So if we can hack into a CRT's X/Y yokes and move them around with an audio signal, can we control the yokes more deliberately from a microcontroller to plot specific shapes or text, hence a vector display?

For those audio/TV hacks, what is the audio signal doing to the yokes that causes them to move? Whatever it is - voltage, resistance, etc - this is what our device would have to control.

Possible proof of concept version: make a device to control the yokes' position etch-a-sketch style with a couple of potentiometers, and turn on the beam with a switch or button. If you see a dot of light moving across the screen then it works.

I am thinking the controller might need to be "calibrated" for the individual CRT? (Maybe build some kind of calibration mode into the device.)

You might dedicate a microcontroller to driving the display - it could receive text or vector shape coordinates via serial, store the shapes to draw in its own memory, and persist or refresh the image independently, freeing up processing power for whatever device it's displaying for.

Another idea would be maybe add some kind of way to read light pen's coordinates, thus making the CRT an input device that can be read from the microcontroller or PC (the Vectrex had a light pen right?)  [This would be a cool mod for the Arduino composite TVout as well.]

So is this idea possible without a ridiculous amount of work & parts?  I may be dead wrong about how this stuff works (I'm sure that if this was possible, someone would have done it by now?) but figured it can't hurt** to put the idea out there.

I have visions of 4-player vector Arduino pong, Asteroids, Tempest, PDP-1 Spacewar!, vector NES Duck Hunt, a vector etch-a-sketch or lightpen drawing or animation program, or vector Atari Video Music. Possibly an open source color vector games system. Or just a vector display system for any Arduino or microcontroller project, made from any TV.

**WARNING: maybe it CAN hurt... Evidently hacking into any CRT can be deadly, you have to discharge the CRT and capacitors properly or you can get killed. So please be careful. This definitely is NOT for kids to try at home.

sort by: active | newest | oldest
Opcom4 years ago
Beyond the programming work, the challenging issues to overcome will be the deflection yoke and the deflection amplifiers. (also you need a spot killer and a protection circuit against DC or loss of signal on the input to the amp) TV and computer yokes usually have an inductance of 10-50mH and also a DCR of 10-60 Ohms. They vary widely and the only way to tell is to measure the individual yoke. TV and computer yokes have hundreds of turns of wire. The ideal vector display yoke has an inductance of as low as 0.1mH an a DCR of less than 1 Ohm and as few as 10-20 turns of wire per quadrant (e.g. a DISCOM yoke from a military vector display from the 1980's). The yoke rewound by the gentleman mentioned above has 92? turns per side on the vertical coil. IIRC He did not mention if he rewound the horizontal coil or not. (more on why 92T later) The existing H def coil in a yoke may be acceptable, especially if the monitor was designed for high scan rates rather than TV scan rates. The lower the product of inductance and resistance, the lower the peak voltage requirement from the amplifier. The lower the inductance, the faster the yoke can be driven. Keeping the rise time of the magnetic field short is of the utmost importance because a sluggish system will result in distorted figures displayed. It may be said that it takes 9 volts to put the beam all the way to the edge of the tube, but it is proper to say that it takes 3 Amperes to do it. It is current that defines the display, not voltage. The amplifier must be able to provide the steady state current and must have current feedback. the usual method is to place a resistor in the return leg of the yoke and tap feedback from there to an op-amp at the front end. All resistors in the yoke current path must be non-inductive, including any in series with emitters, etc. of the transistors. Because the time constant of the yoke will limit the speed at which the beam can be positioned, the amplifier must be able to provide high voltages. For example, if it takes 9V to push 3A through the yoke, and observation of this on a scope will show that the current builds up slowly, not immediately. To overcome this, the amplifier may put 50 or even 100 volts across the yoke for the time necessary to get the current built up to the 3 Amps. This time is short, but the requirement must be taken into consideration. The proof of what I say is shown by observing the waveforms in a TV set. The vertical yoke is hit with a retrace voltage pulse of several times the value of the trace voltage waveform. The current through the yoke is not distorted in this manner, but is a sawtooth with a short rise time. Vector based, stand-up arcade video games draw rather slowly and have few objects compared to something like the sparkfun scopeclock. The scopeclock has so many drawn objects that it takes a 60KHz bandwidth even if the clock was slown down to 8 refreshes per second (150ns between DAC writes). Vector games strike a balance between phosphor decay time, visual decay time, and an economical amplifier and yoke design. One very strong point I wish to make is that the deflection per inch on the CRT is directly related to the Ampere-turns in the deflection coil. Therefore, an economical design will use fewer turns and higher current. Arcade vector displays usually run on a power supply of +/-25 to +/-50 volts. If you want a high quality display, Be prepared to build a dc-coupled, current feedback amplifier capable of 50-200 volts peak to peak output and capable of providing 3-6 amperes (not at the same time fortunately) and with a bandwidth of at least 100KHz. Deflection yoke design is discussed well in this volume: http://www.bunkerofdoom.com/lit/mitser/V22.PDF and although the volume is oriented to vacuum tubes instead of transistors, and 50-70 degree deflection yokes instead of 110 degrees seen in modern instruments, the basic facts of magnetic deflection hold true. When winding a coil with so few turns, they must occupy the same area as the original coil winding and be evenly distributed across that area. Note: the schematic I have attached is not final and needs work, and does not work as-is, but this general kind of design is simple because the output stage has the necessary voltage gain. The page image is from the cited volume. The complete yoke shows that the common TV yoke does have far too many turns. The basket-looking drawing is the general form for a 110 degree yoke with distributed windings. The PDF is a simplified deflection amplifier.
ahill-34 years ago
This guy hand wound his own yoke for a vector monitor - http://www.jrok.com/xfer/xystuff/
Probably easier to just design a memory mapped display system, and stick with rasterising.
lemonie5 years ago
TV yokes are designed to operate with varying voltages, the AC-like nature of the signal is affected by inductive properties, and there's feedback to the HV supply.
Running them on straight DC isn't the same, it's not good for a vector display. Oscilloscopes (which are vector displays) can be adapted with boards like this:


Re-design5 years ago

Yes,  This is basically what a computer monitor does.  Except that most work as raster, but there are units that work on the vector mode.

A very important difference between displaying sound on a crt and displaying vector "art" or even raster "art" like the etch-a-sketch, is that to display anything for longer that a single impulse you have to have some circuit to redisplay it.  A TV re-displays the same image or the updated one 60 times a second IIRC.


That's why RF modulators were made and why video inputs were installed on TVs.  They're a standard way of getting your signal on the average tv unit.  If you design something that works on the crt level you will have to make many versions since there are different units that use different voltages and signal levels.

If you want to do something like this I would suggest that you work with the idea of using the video input or an RF modulator to get your signal into the tv to display.  It's much more versatile and you can move it from tv type to tv type.

apple-o (author)  Re-design5 years ago
The device I am thinking of would be a controller circuit for a vector display. Unless you control the display at the CRT level, it's not a true vector display, where you have the look & feel of a real vector monitor, and the simplicity of being able to plot a start/end point from the host device. (Otherwise you might as well just generate a raster image and that already can be done.) In theory the controller circuit's output needs to be calibrated only once for the individual CRT, but the *input* to the controller is standardized (some kind of serial communication?). Calibration of the output would just be determining the amount of [units] that positions the x/y yokes to the top left of the screen, and also to the bottom right. I still am not clear on what [units] is - what does the circuit need to manipulate to position the yokes, is it voltage, resistance, or what? So maybe my SONY TV takes 9.1v to position the x yoke all the way left and 9.5v to position it to the right side, and 9.33v to position the y yoke to the top and 9.6v to the bottom. And maybe  your RCA TV takes 9.24v to position the x yoke hard left & 9.52v hard right, and 9.1v for the y yoke to top and 9.6v for bottom. It doesn't matter, because once the controller is programmed for the CRT that won't change, it will know the range to manipulate the yokes' values to get the relative images drawn. However the input the controller expects is what will be standardized, with whatever serial protocol you come up with. I am aware the driver circuit would be redisplaying the image x times a second which is why we would probably dedicate a microcontroller to the task, storing the shapes' coordinates in its own memory and redrawing them x frames a second to create the persistence of motion.
.  NTSC draws 60 half-frames (interlaced) every second. At least the "old" analog TVs in the US did it that way - don't know about digital or PAL.