• Raster-to-vector Conversion

    06/12/2023 at 02:48 0 comments

    Continuing on with the video theme in these “maybe someday” projects, here's one about vectors:

    I've read that converting raster CRT displays to vector input is impractical because of the horizontal drive circuitry (flyback) being part of the HV generation, and the deflection coils basically having to be completely rewound, because they're tuned for specific (too low) frequencies.

    While pondering these things, I started to wonder if maybe I could make a hybrid raster/vector monitor that retains the horizontal sweep and the original coils.

    Here's the plan:

    1. Sort the list of vectors that need to be drawn by the X position of their first coordinate

    2. Keep track of the horizontal raster position. When it gets to the value of the next entry of the list, turn on the beam.

    3. Change the vertical deflection and beam intensities as needed to draw the line.

    Possible Issues:

    1. Only one line per horizontal scan?

    Q. Is this really an issue, given persistence of vision and high scan rates (e.g. VGA's 31kHz)?

    Q. Could the signal be "chopped" between multiple lines rapidly enough to appear to be multiple continuous lines?

    2. Perfectly vertical lines would be very difficult – or maybe impossible – depending on the original horizontal scan rate and the slew rate of the vertical amplifier.

    Q. Could it be compensated for in software, somehow?

    Q. Could this effect be mitigated by rotating the deflection yoke at a 45° angle, with respect to the tube?  The raster would scan diagonally, and both vertical and horizontal lines would be drawn as 45° lines. 45° lines in the direction perpendicular to the  original horizontal axis would, of course, still be impossible/difficult, but these could likely be designed around.

    I welcome any feedback; especially from those who've implemented a similar conversion before.

  • Upcycling and Color-cycling

    11/04/2022 at 18:29 3 comments

    I'm going to start putting my silly/just-for-fun/rainy-day projects up in little logs like this.  If I actually take one on, I'll put up an actual project page for it.

    To start off, here's one that came from having something "too good to toss, but not worth enough to sell" that I think I could improve.  In this case, it's an IBM 8503 greyscale VGA monitor.  While it is only greyscale, this is not the main issue.  In fact, it might be fun to add an amber or green gel across the front and get an even better old-school vibe.  The problem is that a bean-counter at Big Blue decided to save a 15th of a penny per unit by not including red or blue signal wires.  Thus hobbled, it doesn't even actually produce a greyscale image!  It only displays the green channel of the source material, which is very disappointing.

    At first, I was planning to transplant a new cable and install a resistor mixer to get true greyscale, but then I had an epiphany about possibly adding full color to this beast!  The plan centers around a cheap color filter wheel from a DLP projector.  Build a synchronized pair into some goggles, and you can make any switchable white light source into any color you want, given the proper timing.

    In the case of the monitor, if you could ensure that only the red, green, or blue image was displayed while the respective color wheel sector was being peered through, the image would be in color.  The first plan was a frame-sequential concept, but that would reduce the frame-rate to a nominal 20Hz, and I'm already sensitive to slow frame-rates (I can see the flicker in older LED brake lights, for example).  It would also require a lot of very fast electronics to get everything synched up.  That's when another epiphany hit me: why does it need to be synchronized at all?  I have access to all three color signals at all times.  If the wheel spins fast enough, and switching between the three video signals is fast enough, it could run at any arbitrary speed.

    While searching for video switchers, I learned about chips like the MAX454.  It's a high-speed, analog, 4-channel multiplexer with a unity-gain video amplifier stage.  The datasheet says it has a 50MHz bandwidth, so I figure it can switch in 20-50ns, which is hundreds of times faster than the line rate of a 640x480 VGA display.  I'm beginning to think this might work!

    The color wheel goggles are probably the limiting factor, but they can be run open-loop at whatever speed I want, as long as no rapid, unplanned disassembly occurs.  Two wheels will require the two wheels to stay synchronized, but perhaps there is some optical trickery that can allow the use of a single wheel for both eyes.  I might just make a monocular to test the concept.

    So, here's the plan:

    1. Break out all the VGA signals to some perfboard.

    2. Mount the '454 and connect each color channel to it.

    3. Run the '454's output to the gray” (green) input on the monitor (and pass all other signals through unchanged).

    4. Build the goggles, with a way to extract a 2-bit address from the current sector of the wheel.

    5. Connect the address to the '454.

    6. Try it out with something colorful!

    Stretch Goals

    I found an eBay listing for four MAX454s for cheap, so I grabbed them.  Since they each have four channels, I could, in theory, use the fourth input to switch in the aforementioned greyscale mixer, and have a standard greyscale image, when I don't want to bother with the head-gear.

    Speaking of head-gear, I've always wanted a shutter-glasses-based, stereoscopic display system.  I even have pairs of both wired and wireless glasses.  If I set up a system with two VGA outputs, I could use the other three chips to make a similar, asynchronous (open-loop) 3-D display on one of my color CRTs.