Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 17 submissions in the queue.
posted by janrinok on Monday December 29 2014, @10:46PM   Printer-friendly
from the something-to-do-on-these-cold-dark-nights dept.

Spotted on The Verge is a demonstration video of Quake running on an Oscilloscope.

Väänänen's announcement explains the creation of the demonstration, and includes some open problems, inferring this might not be the last we see of Quake on oscilloscope. If you want to play, you can grab a Hitachi V-422 oscilloscope — the model used for this demonstration — on eBay right now for $149.99.

This is a demonstration by Pekka Väänänen, and he provides additional details on how this done (TLDR; Scope XY mode, with a modified Quake engine renderer to generate line segments). The source engine port used is DarkPlaces, and the scope in question is an elderly Hitachi V-422 (Dual channel, 40MHz B/W).

Direct YouTube link, and the same story on Kotaku

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Interesting) by VLM on Monday December 29 2014, @11:03PM

    by VLM (445) on Monday December 29 2014, @11:03PM (#130064)

    40MHz B/W

    That might be slight overkill for a 20 khz peak signal. Whats the old rule of thumb something like the scopes vertical speed is when the level is 3 dB down, so 1/10th the speed will be just fine? So you don't need much of a scope. The $25 ham radio fest special will be quite adequate.

    The biggest problem you will run into with old scopes is non-linearity. Think of the proverbial "analog clock dial" on a scope. The problem is unless you use a decent (HP or tek) scope your round clock dial will probably resemble a Dali melting pocketwatch painting at least in part. Probably not a big issue with Quake.

    Personally I'd like to see some pr0n on an oscilloscope. And no, feeding sine waves into the vert/horiz to get a circle and calling it an electronic goatse isn't good enough.

    • (Score: 1) by nomel on Tuesday December 30 2014, @08:49PM

      by nomel (4959) on Tuesday December 30 2014, @08:49PM (#130320)

      I'm guessing the problem would become finding a with less than 40mhz! Any digital scope wouldn't have a fast enough update.

  • (Score: 0) by Anonymous Coward on Monday December 29 2014, @11:24PM

    by Anonymous Coward on Monday December 29 2014, @11:24PM (#130068)

    Just a reminder that Kotaku is held by Gawker Media and supports corruption in gaming "journalism" in the name of SJWs.

  • (Score: 2) by Foobar Bazbot on Tuesday December 30 2014, @01:42AM

    by Foobar Bazbot (37) on Tuesday December 30 2014, @01:42AM (#130090) Journal

    He uses stereo audio to feed a scope in X-Y mode. Then he's disappointed with the crappy output quality.

    Well, no surprise there. There's two problems... first, there's only two channels, though I suppose that could be rectified by using three channels of a 5.1 sound card. You need three channels, one for X, one for Y, and one for Z (intensity). Not only is intensity nice to control the actual intensity of the lines, it's the only way to blank the beam, which is key to getting the most out of available bandwidth. (To understand why, contemplate a sawtooth wave passed through a lowpass filter. The middle of each ramp looks pretty good, but the ends adjacent to the discontinuity are way off. IF you can blank the beam, you can simply stretch the ramp 10% each direction, and blank it for those parts.)

    The other, more serious, issue is one of bandwidth. Sounds card are made to reproduce sound, and thus have sample rates of no more than 192 ksample/s, and thus an absolute bandwidth limit below 100kHz. (That's ignoring reconstruction filters.) If you want, let's say, 60 fps, and 500 vectors per frame, that's about 30k vectors/s -- picture that as a 30kHz sawtooth (pessimistic) or a 15kHz triangle wave (optimistic), and it should be obvious 100kHz won't yield a satisfactory approximation, but a few MHz will be plenty, and let us do even more vectors.

    So then, what analog interface

    • is rather common on PCs (and popular enough it's easy to find convertors for those PCs with its digital successors)
    • has 3 channels
    • has a bandiwdth of at least, say, 10MHz?

    If you said "VGA", you got it!

    The bit depth of VGA (8 bits/channel) may seem a trifle low -- after all, that's only 256x256 addressable positions, if used naively. But the bandwidth is ludicrous (modern VGA cards typically have a dotclock well over 100MHz), so we can trade some bandwidth for resolution by dithering and adding our own reconstruction filter.

    Literally the only way the sound card is better for this is that it outputs a continuous stream of samples (allowing one to naively pack vectors in the buffer), while VGA cards introduce vertical and horizontal blanking intervals. Though Z/intensity modulation will reduce the effect, there will still be a visible glitch if these blanking intervals occur in the middle of a vector.

    One option is to use the longest/fewest lines per frame the video card will allow, the shortest horizontal blanking and sync (no monitor really needs to sync to it), and pack as many vectors as will fit in each line, maybe with clever reordering to maximize utilization. Indeed, that's highly desirable -- but i'd leave it out for a proof of concept.

    Instead, why not set the highest ordinary video mode, let's say 1024x768, and decree that we will output 768 (or maybe 2304) vectors per frame, one (or 3) per line? Make each vector's X and Y ramps extend beyond the ends of the desired vector, and use Z blanking to suppress the transients, as discussed before. For each vector, pick the axis with the bigger delta, and ramp that one up/down by 1 unit per 3 (or 1) pixels, calculating fractional pixels for the other, slower-moving axis, and dithering them as mentioned before. Sure, we waste lots of time on short vectors, since we finish our count early, and then idle (with the beam blanked, of course) until the next scheduled vector start, but it's much simpler than doing it right, and still gets way better results than all these hacky sound-card X-Y demos.

    • (Score: 1) by anubi on Tuesday December 30 2014, @03:21AM

      by anubi (2828) on Tuesday December 30 2014, @03:21AM (#130107) Journal

      I was quite impressed with it. Yes, he could have used some custom hardware, like two high speed DAC channels ( maybe a National Instruments card ) that would set one back several hundred dollars.... but he did it with commodity hardware.

      As would be the spirit of resurrecting retro technologies.

      Looking at the images shown on an oscilloscope like that reminded me of my early days horsing around with a microcomputer, when both teletypes and any sort of monitor was quite expensive. I remember one of the graduate students at University got our lab machine displaying lines of ascii on one of the lab scopes. It was something like 4 lines of 16 characters and blinked like crazy ( just as in the linked video ), but you could at least read it and know immediately what characters the computer had in its input buffer. Again all vector font. I learned a helluva lot from that guy.

      This was back in the days of paper tape and KSR33 teletypes. The university did have one Tektronix CRT vector display unit, but even the graduate students rarely got their hands on the thing. The graduate student had constructed a crude ( err, by today's standards anyway ) DAC board that fit the computer's backplane and made X and Y for the Tektronix 545 lab scope.

      At the time, I was still playing around with an EAI 580 Analog computer, full of adders, integrators, multipliers, whatever, and programmed with patch wires and potentiometer settings. It was lousy at precise numbers, but gave a lot of insight into differential equations and what happened when various parameters were varied. We undergrads got to do things like calculate the trajectory of golf balls and for control systems lab got to connect the computer to a motorized platform and do the broom balance ( which looks like it eventually evolved into a Segway ). I wonder if the broom balance was a standard curriculum thing, as a lot of fellow engineers I have met had the same setup at their university.

      Even to this day, I still routinely construct analog computers... although I call them PID controllers. ( Proportional, Integral, Derivative ).

      I thoroughly enjoyed the little trip into the past this article triggered.

      --
      "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
      • (Score: 2) by Foobar Bazbot on Tuesday December 30 2014, @04:24AM

        by Foobar Bazbot (37) on Tuesday December 30 2014, @04:24AM (#130116) Journal

        I was quite impressed with it. Yes, he could have used some custom hardware, like two high speed DAC channels ( maybe a National Instruments card ) that would set one back several hundred dollars.... but he did it with commodity hardware.

        Commodity hardware... like a graphics card?

        • (Score: 2) by VLM on Tuesday December 30 2014, @01:17PM

          by VLM (445) on Tuesday December 30 2014, @01:17PM (#130186)

          Commodity lab hardware. Any lab thats not hopeless can host a microcontroller with some cheap audio dacs and jumper wire over to the scope.

          Very few labs (possibly no home labs?) can interface to a PCI-express card. I've never researched the situation and I wonder if there are any dynamic registers or lower limits for pic-x clocks, like if it pleased me to try it, I could solder many jumper wires to a PCI express card and have an arduino or PIC32 or similar toggle the wires on the PCI-express around 10 K or so, to get a video card talking. That would be fairly impressive. In my infinite spare time.

          • (Score: 2) by Foobar Bazbot on Tuesday December 30 2014, @03:26PM

            by Foobar Bazbot (37) on Tuesday December 30 2014, @03:26PM (#130210) Journal

            Eh, the guy in question isn't using a microcontroller -- he's using a laptop, so I was looking at this from a perspective of a PC-based project. But now I see your point, for a more scratch-built sort of project.

  • (Score: 3, Informative) by wonkey_monkey on Tuesday December 30 2014, @10:20AM

    by wonkey_monkey (279) on Tuesday December 30 2014, @10:20AM (#130164) Homepage

    a demonstration video of Quake running on an Oscilloscope.

    This is Quake drawn on an oscilloscope, not running on one.

    --
    systemd is Roko's Basilisk
    • (Score: 0) by Anonymous Coward on Tuesday December 30 2014, @05:46PM

      by Anonymous Coward on Tuesday December 30 2014, @05:46PM (#130258)

      It's Quake rendered on an oscilloscope, and nothing else matters! L33t G@m3rZ only care about graphics, n00b.