Slashdot Mirror


1.6 Megahertz per Pixel: TMDC6

TMDC Organizing writes "The sixth pseudoannual text mode demo competition is on. The goal is to make cool audiovisual demos that run in an NT console. Deadline for submissions is 12.12.2003 (Slashdot has covered TMDC before). An invitation demo and all the entries from two last contests are available." The FAQ has some static screenshots.

6 of 136 comments (clear)

  1. Here's my text demo by nacturation · · Score: 4, Funny

    I demo this to my coworkers about 10 times a day. It always makes them laugh. I guess that means I have a chance of winning?

    --
    Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  2. Sure you've seen the Paris Hilton video... by mikeophile · · Score: 4, Funny
    but have you seen it in text-mode?

    On weed?

  3. What is IRQL_NOT_LESS_OR_EQUAL by sgasch · · Score: 5, Informative
    IRQL is "Interrupt Request Level". This is a DWORD in the NT kernel that cooresponds to a system state and determines what can preempt the currently running code. For example, raising the IRQL causes different priority device IRQs (interrupts) from the PICs to be masked off and ignored until the IRQL is lowered again. But the IRQL is not just to mask off interrupts, the NT kernel uses it for synchronization, communication between different CPUs on MP machines, to determine whether DPCs can run, to determine whether its ok to run user mode code, etc...

    Any code running in kernel mode (x86 ring 0) on NT (drivers or the kernel) can change the IRQL by making a call. Code typically raises the IRQL when it needs to do something critical and cannot afford to be preempted. The IRQL has to be at a certain level to acquire certain system locks, etc. So with all this raising of the IRQL people have to remember to put it back before they return.

    Invariably what happens is that someone forgets to lower the IRQL after they have raised it... maybe on an error path or something. They leave it raised, returned to whoever called them etc... and eventually you get to code that requires that the IRQL be below some level. For example, you try to acquire a spinlock, take a page fault, try to allocate memory (pool), try to schedule the next user mode job etc... All of these actions have code that basically asserts that the IRQL is where it should be. When it's not, the machine is bugchecked and you get the bluescreen.

    This kind of bugcheck is not ususally caused by hardware, it's almost always software related. Someone raised the IRQL and forgot to lower it. There are ways to find out who, basically by logging all calls to KeRaiseIrql, KeLowerIrql and some other routines that change the IRQL as a side effect.

  4. ASCII Matrix by Anonymous Coward · · Score: 5, Interesting
    Somebody threw together a

    Matrix clip in ASCII.

  5. Bitmapped text mode by Jhan · · Score: 4, Interesting

    The last time this competition came up, I got to wondering what's to stop you from doing "bitmapped" text mode? Standard 80x25 text mode is 30 KHz ie. 30,000 lines per second, each 640 pixels wide. That's about 24 million pixels per second. These day we have multi giga-op processors, and interrupt hardware can't be far behind (?).

    Simply set the screen to 80x25 space characters then trigger interrupts a bit before each pixel and change the background color. Hey presto, 16 color bitmapped mode. Then use temporal anti-aliasing to yield even more colors. Kudos to the first person who makes a X driver for this mode.

    Sure, this will eat a lot of CPU time, but that's what this sort of competition is all about.

    --

    I choose to remain celibate, like my father and his father before him.

  6. Open source anyone ? by stud9920 · · Score: 4, Interesting

    One thing that has always bothered me about the demo scene, is their lack of openness. It's very hard to come across the source code of a demo, or even just a description of how it was done.

    It's frustrating for multiple reasons. First, because it's harder for newbies to learn the art, and second because after some time, demos that were real pieces of art, Second Reality for instance, are pretty much unrunnable on a modern computer. And this is truly sad.