XScreenSaver 4.14

XScreenSaver 4.14 out now. Seven new hacks this time!

The coolest part is that mad mastermind Trevor Blackwell generalized his analog TV code from the recent Apple ][ mode of BSOD and we split it out into a few different programs:

  • xanalogtv displays a slideshow of images, except with all the TV artifacts like snow, bloom, distortion, ghosting, hash noise, and rolling when changing "channels." It's incredible.
  • apple2 -text is a text-scroller that puts phosphor to shame. I strongly recommend:
                apple2 -text -program 'ljlatest --cols 40'
    to see the most recent LiveJournal posts scrolling by in their 40 column all-caps heavily distorted BBS-in-1982 glory.

  • apple2 -slideshow displays a slideshow of images, but dithered to the Apple ][ 6-color hires pallette! It was kind of a rough draft of xanalogtv.

  • apple2 -basic does something I won't spoil for you.

  • pong plays a game of pong on an analog TV.

  • gleidescope does a very nice simulation of a kaleidescope using any image as a source. If you run it in a window, you can drag the "tube" around with the mouse.

  • mirrorblob draws an environment-reflecting blob on top of an image.

  • blinkbox does, uh, stuff.

Trevor says:

/* A maxim of technology is that failures reveal underlying mechanism. A good way to learn how something works is to push it to failure. The way it fails will usually tell you a lot about how it works. The corollary for this piece of software is that in order to emulate realistic failures of a TV set, it has to work just like a TV set. So there is lots of DSP-style emulation of analog circuitry for things like color decoding, H and V sync following, and more. In 2003, computers are just fast enough to do this at television signal rates. We use a 14 MHz sample rate here, so we can do on the order of a couple hundred instructions per sample and keep a good frame rate. */
Tags: , , , ,

12 Responses:

  1. brad says:

    whoa, that apple2 stuff is cool.

    man, he needs to take that display stuff and hook it up to one of the many apple2 emulators....

  2. ewindisch says:

    Wow.. finally Xinerama support in .13! Unfortunately, it causes flickering with OpenGL screensavers with my hardware/drivers :(

    I'm using a Nvidia Geforce2 mx on the first head and an ATI Mach64 on the second head.

    • jwz says:

      Actual flickering, or just "slow"?

      I can't see how it would cause flicker now if it didn't before: it's not actually doing anything different, there are just two small windows instead of one big one.

      • ewindisch says:

        Actual flickering and maybe even tearing.

        I just installed .14 and it is gone. So whatever you did (or didn't do) fixed it ;)

      • ewindisch says:

        On another note, the two features I'd like added to Xinerama support is:
        1. To allow the demos to be spread across both monitors as before. This looks neat for demos like bouboule.
        2. To allow selections of screensavers per-monitor. I'd like to blank my non-3d head and keep 3d on my primary head - running both just slows down my system for graphics that aren't rendered anyway.

        Of course, I'm always willing to try and hack it myself, if you don't want to :)

        • jwz says:

          The hard part about this is not the code so much as the UI. Which would be so much more complicated that my answer has to be, "here's $5, go get a video card that was manufactured after 1997."

          • ewindisch says:

            Both video cards were manufactured after 1997 I believe - and that isn't the problem. With Xinerama, one cannot get acceleration on the second video head unless you have a (supported) dual-headed card.

            Of course, I plan to get a good dual-headed card eventually - and you can get a Geforce 5200FX for $60 these days, so maybe I should. But, the above features would still be nice to have. I do agree that the UI would have to be a little complicated.

            You can keep your $5 :)

  3. lincoln3 says:

    Hmmm, it looks like the analogtv stuff doesn't always draw to the whole window. With some Gnome themes, it looks like XClearWindow does not set the whole window to black. Instead, it uses the color from the theme.

    I have no idea of the right X drawing command to set the background to black, but here is a screenshot:

    It looks like the problem might be fixed around line 1419 of analogtv.c.

  4. waider says:

    -basic is just SICK.

    At this rate, I expect the next xscreensaver release to have a fully-functioning apple ][ emulator built in.

  5. wwwwolf says:

    More Apple2 stuff. Where's all of the Commodore 64 stuff? That would be far cooler. Too bad I don't have a free month or so to do that myself, but I'm hoping some old 64er could do that. Preferrably with reasonable Teraterm or Minioffice2 terminal emulations, or even Therm with is uber-leet "80 unreadable blobs per line" mode =)

    analogtv seems to Rule™, though.