February 8th, 2002


Oh, YES!!!

DemoDVD Project

Kick-ass! I can't wait for this to come out. I haven't been able to run Second Reality successfully on any system since back when I had my old 486. I have the S3M files of the music and listen to them all the time. (Winamp plays modular music files.)

For those who are scratching their heads, Second Reality is a "PC demo" created back in 1992/1993 by a Finnish coding group named Future Crew. The point of these "demos" is to demonstrate their ability to code video animations that look cool, go fast, and make computers seem damn cool. :) This was back before the day of 3D-accelerated graphics cards. The coding was all done by hand. So basically the whole art and skill was in coming up with the calculations needed to create a desired effect. Usually they're psychedelic-looking things, but sometimes venture into 3D vector graphics, with slides of 2D art interspersed. As would seem appropriate, these psychedelic visualizations are accompanied by techno music. The music was written in code as well. Imagine a MIDI file that contains tiny samples of the instrument sounds used within it. The file contains basically a spreadsheet of music instructions telling when to play what sample, at what pitch, for how long, at what volume, with what effects, on what channel, etc. The music was literally written in a program that looked like an elaborate spreadsheet full of numbers. Future Crew actually authored the software that writes this kind of music file, .S3M, for "ScreamTracker 3". I made an attempt at writing an S3M or two, but they were miserable. :) Purple Motion of Future Crew is an awesome composer of modular music. His musical contributions to the Second Reality demo are in this S3M file. (If you have Winamp it should be able to play it. Be sure to check out the File Info. Normally you would see ID3 tag info there for MP3s, but with modular music files you see something different. :) )

Anyway, the demo file for Second Reality is a little over 1MB and contains all the code for the real-time rendered graphics, as well as the S3M music, which also contains instructions within the score that the demo code watches for to keep the video synchronized to the music. It's all quite amazing.

Unfortunately, the video modes and direct video memory writing used by these demos isn't like much by modern hardware and operating systems at all. In order to play it on my Pentium 4 system with an ATI Radeon VE video card, I had to first find a DOS boot disk that had the himem and emm386 files on it. (Usually a DOS boot disk merely points to the files in C:\DOS, but with XP running on an NTFS drive, that won't exactly work.) My SB Live! 5.1 MP3 sound card doesn't offer DOS drivers, so unfortunately I didn't plan on running the demo with sound. But I thought if I could play the video part of it, and record it on videotape or something, I could then capture that and use the S3Ms of the demo music to add the sound by hand later. Unfortunately, when I played the demo, there were a few video glitches. After reading the Technical Issues page of the DemoDVD site, I realized that by outputting video to my TV, my video card was fording the video mode into a 60Hz vertical refresh, where it would normally be 70Hz. As a result, the video was playing slower, but the timing of the demo (linked to the audio which wasn't playing but was still used for timing) was still going at normal speed. As a result, when the video code looked for the sync instructions in the music, the one it was supposed to be waiting for would have already passed. So instead it waits for the next one. This causes delays at the end of one section of the demo followed by an entire section being skipped.

I think if I try it again without the TV-out, it will work much better. But then how would I capture it? If I use a passive VGA-to-TV converter, it will either cause jumpy motion when it converts 70Hz to 60Hz by dropping frames, or (more likely) refuse to convert a 70Hz signal at all.

These are all issues that the guys working on DemoDVD have already pondered, and are probably still working on. I wrote to them with my thoughts of possibly slowing down the music to match the 60Hz playback speed so that the video is synced with the audio and the sync instructions match up as well. But they probably already thought of that. :)

Anyway, I can't wait to get my hands on this DVD when it finally comes out.
  • Current Mood
    excited excited