Oldskooler Ramblings

the unlikely child born of the home computer wars

Archive for the ‘Demoscene’ Category

Demographics and horses

Posted by Trixter on July 8, 2008

The MindCandy crew released the Volume 1 featurette Demographics: Behind the Scene to the public with a Creative Commons license this weekend. Enjoy, and spread the word.

I was in charge of processing, encoding, and uploading the video, and not coincidentally there is a lot of footage of me in the featurette, which I had to look at while processing. That footage was shot in 2002; almost exactly six years later I found myself staring at 31-yr-old me and wondering what god I must have pissed off to get so much neck fat since then. Also in the footage, at the end, is an outtake where Jeremy had me walk on a treadmill for no reason whatsoever. (I bought a nice Precor M9.25i with Internet Bubble Stock money back in 1998.)

Seeing it in the footage, I was reminded that it has a Fitness Test mode to be used with a heart monitor (I have one) and I realized that in the decade I’ve owned it I’ve never once tried the fitness test! So I dragged it out in front of the TV and took the test. I also decided to weigh myself and take a body fat percentage just so I can say that I’ve measured my baseline this year. Let’s see where 37-yr-old Trixter is at:

  • Fitness Score: 24 (Low Fitness — Medium Fitness starts at 35!)
  • Weight: 238 lbs
  • Body Fat: 28%

According to the fitness test and the above measurements, I died a few months ago. So I’m going to run on the thing every day, breaking a sweat, and will take the fitness test every week to see if I’m improving. Must… get… back up on the horse!

Or collapse and die. If the weblog entries stop, call for help!

Posted in Demoscene, Weight Loss | 6 Comments »

Crushed under the weight of my own fun

Posted by Trixter on June 11, 2008

I find myself, routinely, in the odd position of having so many fun things to work on that all I can do is sit motionless, trying to pick one. Most of the time I look forward to it; other times I feel confused or overwhelmed, watch TV for four hours, go to bed, then watch more TV in bed.

But still: Most of the time I look forward to it.

So, what is running around in Trixter’s head at any given time? What is the nerd nectar he drinks to keep him going? What electronic dreams keep him awake?

Here is a list of projects that I am working on. Some you already know about, some I have hinted about, and others I haven’t mentioned yet until now. Some have very close completion dates; others I am scheduling to start in 2009 and 2010. No, I’m not going to tell you which ones have which dates! You’ll just have to wait until I announce their start… or completion. (Hint: I’m not even sure when some will start.) And lest you think me a monster, I only work on these after the kids are in bed (and usually after the wife is in bed too).

MONOTONE V1. Most people know about this, but probably haven’t heard much about it since Block Party. I’m still working on finishing up my original milestones for the project, which were PC speaker and IBM PCjr/Tandy 1000 support, a serviceable interface, and an open architecture. Of all my projects, this one really is close to completion (mostly because I want to move on).

MONOTONE V2: Volume control, more device support, more effects, more capable file format. While I’m mostly happy with MONOTONE, the interface was the most irritating to program, especially since I was patently aware of how much wheel reinventing was going on. Since I’ve always wanted to give Turbo Vision a whirl, MONOTONE V2 will probably be converted over to Turbo Vision (if the memory requirements aren’t rediculous).

Halving my collection. I have too much hardware and software, period. I’m holding onto a lot of it needlessly, so I need to pick my priorities and sell/donate at least half of it. Some of the machines will be easy to give up: I have a few 1984-era Macs because I wanted to show my kids what the dawn of personal graphical computing looked like; they’ve seen them, so I don’t need them any more (the Macs, not the children).

Soundcard Museum. The aspect of personal computing that has fascinated me the most during the first decade of my hobby was the multitude of ways you could produce audio with a computer. While I’ve had my share of Apple IIgs and C64 gawking, the history of the IBM PC’s awkward attempts to produce audio holds a special place in my heart because there were so many different ways to do it. Some were flawed (CMS), some odd (msound), some ahead of their time (IBM Music Feature). So, I would like to open up a Soundcard Museum, with history, pictures, audio clips (recorded with a much better card than the one producing the audio, obviously!), programming information, example programs that can really show off what the card(s) can do, etc.

An oldskool PC demo. While there have been tens of thousands of demos released for the C64, Atari ST, Amiga, 386-era DOS, and Windows platforms, I can count the total number of 4.77MHz 8088/CGA demos ever released on one hand. I can count the total number of Tandy 1000 demos on one finger (hi Joe Snow!). There has never been an IBM PCjr demo. That’s where I come in.

Oldskool PC Profiler. I love DOSBox but am frustrated by how it isn’t anywhere close to being cycle-exact, for any CPU that ever supported DOS. I also love my fellow vintage computing community, but am frustrated by how they rely on benchmarks like Landmark CPU Speed and Norton SI to compare machines, which are just plain buggy and inaccurate. I feel it’s time for a utility that can serve two purposes: 1. Accurately determine what hardware a machine is made of (8086? NEC V30? 80386? etc.) and profile CPU, memory, and video adapter to come up with a metric, and 2. Provide a continuous display of how fast DOSBox is running by doing said benchmarks realtime and outputting what machine the reported metric is closest to. By running this utility on your classic machines, you can compare like machines to see how fast they are. By running this utility inside DOSBox, you can “dial” the speed of DOSBox up and down by hitting the emulator keys F11/F12 so you can FINALLY get DOSBox to closely match, a 386sx-16, or 486-33, or 80286-12.

Convert oldskool.org to a real content management system. I built oldskool.org in Zope almost a decade ago. I never quite liked python programming (not because python sucks, but because I suck) so I think it’s time I ditch my nice little code (it automatically builds the navigation tree, puts headers/footers on stuff, etc.) and commit to something like Plone.

Convert all my high-school era cassette tapes to CD. This is more than just every nostalgic adult’s hobby. I hit my darkest time as a human around my junior year of high school, where I was deeply depressed, contemplated suicide on a weekly basis, and attempted it once (which I somehow managed to hide from my parents — hope they don’t read this) I credit three things for keeping me alive during that time: Royally screwing up the dosage, gaming and programming on my AT&T PC 6300, and The Wave. I made many recordings of music I heard on my local Wave affiliate (106.7 here in Chicago until around 1990 when it got switched to Christian talk), and I really want to preserve them. (Plus, they had cute little station IDs, where the time was announced with a little sketch, which I’d like to make available.)

Finish at least one text adventure game. I have started at least 15, but the only one I’ve ever finished was Tass Times in Tonetown, and that was kind of a hybrid, and it took me 11 years (I got stuck from 1986 until 1997 — seriously). So I guess the real goal is Finish at least one Infocom game. Any suggestions?

Convert my rare videotapes to DVD. I have some rare tapes, like some Missing Persons concerts, Urgh! A Music War, The Best of Sex and Violence, and Gadget, that will probably never see release on DVD due to rights wars and lack of interest. I want to give these the full video noise-removal inverse-telecine enhancment treatment.

MindCandy 3. Well, you knew this had to be on the list somewhere. While I dearly love the work our team has done, and I love all of the admiration of fans, I simply don’t have the motivation to think about volume 3 right now. Hint: Cheaper technology will probably raise this motivation.

BLAZE. I have written what I believe to be the very fastest LZSS decompressor for 8086, utilizing all segment and offset registers and using 1-byte opcodes without any segment override prefixes. My decompressor is less complex than LZO and should significantly outperform it on 808x. I just need to write the compressor…  I call this system BLAZE, because I am pretentious to think that I have created the very fastest decompressor and the project should have a similarly pretentious name :-).

8088 Domination.  I have some more animation systems I’d like to pursue.  I have thought of a compression mechanism for the 8088 Corruption video system that guarantees realtime decompression (mainly because REP STOSW is faster than REP MOVSW, and REP nothing is fastest of all of course).  I would also like to adapt the concept of compiled sprites into compiled differential sprites (like Autodesk Animator FLICs but compiled) to see if graphical animation is possible at high speeds.

I think I’ll go watch some TV now.

Posted in Demoscene, Programming, Vintage Computing | 7 Comments »

MONOTONE Party Release

Posted by Trixter on April 16, 2008

It’s very basic, but it functions. Leech.

I’ll be working on MONOTONE very lightly until May, when I’ll dedicate more time to it. Why? Because I’m editing together the Block Party compo/awards footage for online release.

Posted in Demoscene, Programming | Leave a Comment »

Trixter’s wild compo entry — now with motion!

Posted by Trixter on April 10, 2008

Big BIG thanks to yesso and virt for the sample songs.

This clip thankfully cuts out the first time I tried to demonstrate it, in which I give a nice speech and then the projector wouldn’t display anything at all. I later got the CGA monitor while the compo was moving, hooked it up, and NOW the project synced up to the composite signal and worked. Hm.

For those who hate flash, you can get the raw MPEG-4 file of the performance.

If you have an hour to waste, the presentation I gave is available (warning: mpeg-1/mpeg-4/flash derivatives probably won’t be ready until 6 hours from now).

Posted in Demoscene | 1 Comment »

I need a better camera

Posted by Trixter on April 7, 2008

Here are some pictures from Block Party.  I usually don’t take many pictures because my camera is an 8-year-old 3MP camera with a few dead pixels, but I managed to squeeze out a few that don’t completely suck.

If it isn’t obvious, keep clicking on a picture repeatedly and you’ll eventually get the full-size pic.

Posted in Demoscene | 3 Comments »

Block Party is over

Posted by Trixter on April 6, 2008

…and I just arrived back home, and will promptly crash.  I will write a more detailed report with a few pictures tomorrow or Tuesday.

Posted in Demoscene | 1 Comment »

The hard part is over; now the hard part begins

Posted by Trixter on April 5, 2008

Just got finished with my talk at Block Party and I think it went well. It ended exactly when I wanted it to end (55 minutes after the hour, giving the next guys a few minutes to get set up (Circuit Bending, currently in progress, demonstrating very wrong yet very funny things with a Speak and Spell).

Already NOTACON/Block Party is turning out to be one of the best and most unique experiences I have ever had. The highlight of the event was having Jeri E. sitting next to The Fat Man, collaborating on their compo entries. YES THAT’S RIGHT I SAID COMPO ENTRIES. We are in for an old-fashioned, old-school beating… an enjoyable one, but still a beating :-)

A personal high was meeting The Fat Man and talking about the industry (thank you MobyGames!) and also meeting Virt and having him fast-track something in MONOTONE. There very few people I idolize more in the computer music industry than those two.  Speaking of which, both of their talks went really well, even though Fat had to deal with some soundsystem drop-outs and Virt had to deal with a young child in the audience who was, ah, very vocal about the presentation and how it should be run.

IC has done a great job, once again, of converting the democoder lounge into a place of scene spirit, with mood lighting and a running videotrack and soundtrack of all things scene.  Speaking of which, there are nearly double the people in the lounge this year (it’s full) which is a great sign.  You can go in and see people working on music in trackers, custom demotools of their own design, Visual Studio, even old stuff like Quickbasic and Turbo Pascal.

Six hours until the compo…

Posted in Demoscene | 5 Comments »

Slowly, Come, Together

Posted by Trixter on March 4, 2008

In the last two weeks, I have achieved the following in my quest to finish MONOTONE before arriving at Block Party:

  • Gotten the flu (took up three days right there)
  • Wrote a completely customizable abstract input routine (complete with keyboard configuration utility — with tipsheet writer!) because some composers will throw a hissy fit if the basic interface isn’t exactly like ${FAVORITE_TRACKER}
  • Wrote a keyboard interrupt handler (complete with human-readable labels so that “410Ah” reads like “Ctrl+LShift+Alt+F7”) because you never know when some hissy-fit composer will demand the use of Ctrl+LShift+Alt+F7
  • Wrote instantaneous-fast (not an exaggeration) text routines, including multiple virtual screens that use hardware video pages where available

…and I haven’t sounded a single note yet. But you can actually watch the pieces slowly come together now, and it’s pretty damn fun writing from scratch what is essentially turning out to be a miniature operating system.

Next up: The main framework request handler/dispatcher and a finalized abstract Song object (and MONOTONE-specific descendant). Hopefully both tomorrow night, or I’ll have to stop development to work on my presentation :-/

Posted in Demoscene, Programming | 3 Comments »

How I Learned to Stop Worrying and Love the Project

Posted by Trixter on February 21, 2008

One of the things that contributed significantly to MindCandy 2 being delayed for 18 months was self-inflicted implosion. I got so hung up in the project — worrying about what to do, how to do it, when to do it, who was waiting for it, what was affected by it, etc. — that I self-destructed and sought out anything that would help me avoid working on it.

Oh, I wanted to work on it. I love capturing video, especially from older computers doing their thing. I love processing it without touching the picture detail; I love compressing it to within an inch of its life without affecting picture quality. I love distributing it. And I especially loved the subject material. But left unchecked, my mind tends to enter a recursive death-spiral feedback loop during moments of stress and I just spin my mental wheels.

I started to get that hung up over my Block Party plans and obligations. Should I attend? If so, what should I bring? Should I give a talk? If so, on what? Should I bother with a compo entry? If so, what compo? Is it worth going if none of my very close friends will be there? If so, who will I talk to? What talks should I attend? Ahh! Aaaaaaahh!!

Five weeks ago, I was in #blockparty telling s_tec how much I enjoyed the invtro, and after a brief conversation, he innocently stated something that reminded me, after so many years, why I love the scene and all its related offshoots:

[14:49] <__Trixter> Almost makes me want to write a demo again :) but I'm not sure I will. I can't compete with the big boys and this hunk of junk is much slower than my imagination is
[14:50] <s_tec> So? Making demos isn't about winning, it's about making.

It is indeed. Thank you for the reminder; it was cathartic.

With my head cleared, I was able to sort out all of my thoughts, organize them, and get them down on paper (well, into a text file). I have a very clear direction on what I want to accomplish and how to accomplish it. Whether I get it done in time for Block Party ’08 or not, I make daily progress. This is a good thing. The experience, like all fun programming, is not unlike relaxing in a trance-like state punctuated by occasional moments of pure exhilaration.

I am working on creating a nearly useless piece of software. Only a handful of people will ever use it. It serves no practical purpose. But it is mine, created with my bare hands, where nothing like it existed before in the hardware space it commands.

For the curious, here is the some insight into my madness: MONOTONE development notes

Posted in Demoscene, Programming | 4 Comments »

Scope Creep

Posted by Trixter on February 11, 2008

One of the side effects of designing a tracker completely from scratch, using the best software design I can muster, is that everything is virtualized. A song is an object; the player engine is an object; the output device is an object. I’m probably going to make the editor an object itself, if just to keep the source consistent.  The nice thing about objects is that they can be abstracted and used as “parents” for descendant objects. So I have done just that for the internal speaker output. So that leads to some good news and bad news:

The good news is that the tracker will probably come with basic support for the Tandy/PCjr sound chip, and Adlib, and heck probably the CMS as well, out of the box, all in addition to the internal speaker.  This is because once the parent object is done, it’s easy to create a descendant for each output device.  And it will make it easier to add more complex internal speaker support in the future, such as mixing 3 or 4 voices realtime for “true” multichannel output from the speaker.  Just don’t expect the Adlib to sound better than the rest — I have a common denominator to target, and it ain’t 9-channel FM instruments.

The bad news about all this is that the tracker is still mostly in my head and not on paper. Which means I may only have a tracker to enter into the wild compo at Block Party instead of a demo. Or neither, considering that the presentation I’m giving takes precedence over compos :)

If I were never releasing the code, I could’ve hacked something together by this time already.  But I am, and I want people to be impressed by the code as much as music (democoder background, remember?  Both form and function are equally important :-)

Posted in Demoscene, Programming, Vintage Computing | 4 Comments »