[The timeless way of building a 64k...]
A strange story and a masterpiece intro
A strange story and a masterpiece intro
"Do you know how many of these you can fit on a 1.44Mb diskette?"
Yeah, you probably do. The answer, by the way, is 1.474.560/61.952=23,8. Or maybe 42. Or maybe you have to take into account the space allocated for the boot sector, the FAT and the root directory. So that would really be 1.457.664/61.952=23,52. But I'm just digressing. The truth is that we want to talk about this 61.952 bytes intro (sometimes known also as "64k") that threw millions of coders into panic since the first frame appeared on the megascreen.
Yeah, because Mercury has *hexagonal* *lens* *flares*!
Yeah, because Mercury has *dust* *on* *the* *camera*!
(Did I say they have hexagonal lens flares?)
There were those two coders, urs and cupe, that had nothing to do that day, and were greedly devouring their copy of "The timeless way of building", a book by Christopher Alexander that explains how to create beautiful buildings using design patterns and blue screens of death.
Suddenly, urs said: "Hey, why don't we do a 64k for Revision, a 64k that has nothing to do with this book except for the title?!". Cupe answered: "Yes, that's a great idea! People will try for ages to understand what this book has in common with the intro, except for the title!!".
Unfortunately, in the next days, ideas were lacking (as usual).
But why inventing something when you can copy?
Yeah, that's a design pattern! That's the beautiful truth Christopher Alexander taught us!
So they started with an ocean scene, copied from NeHe's tutorial number 12, but adding *hexagonal* *lens* *flares*. Then urs came with a great proposal: "14 years have passed from fr-08: the product. It's time for another church scene, with multicolour glass and, obviusly, *hexagonal* *lens* *flares*". But cupe said: "Hey, I think people still remember that scene...". And urs: "Nah, just add more dust on the camera and that will be fine".
Things were going on steadily.
Urs added three or four camera paths "a-la-Elevated", one Still-esque scene with nonsense trapezoidal buildings, some more dust and, obviously, *hexagonal* *lens* *flares*. Then, the stroke of genius hit cupe: "Urs. Hey urs. I've got it. I've got our main scene for the intro. People have never heard of this". Urs said: "What's that?". And cupe: "Get ready: a *city* *scene*". Urs: "You mean... a scene with buildings, shadows, fog, reflections, hexagonal lens flares and all the rest...?". Cupe: "Yeah! That's fantastic! A scene where the buildings move like in Incep... err, where the buildings move!!! Isn't that insane?". Urs: "Yep...".
platipus" by Incognita was a demo noone remembers today ("It's a 1999 demo, you morons"), and added a scene with marble textures on the walls and some beautiful columns. Then he made the columns distort like in Incep... yep, the columns distort.
Only one thing was missing: one majestic closing scene. Cupe&urs where out of ideas (as usual). In that precise moment, las came out of nowhere and said: "Guys, I've got your definitive, psychedelic, groundbreaking final scene! Listen: think of Times Square at night, think of the lights, the illuminated signs, the cars running and their lights reflecting on the wet asphalt!!! Think of that!". But cupe&urs said: "Are you joking? One scene with *cars*? What is this, some sort of 1992 Amiga prod? Or "Rush Hour" by nextempire???". And las: "But you know, this night scene, with some hexagonal lens flares...". "Oh, shut up and go back to your framework, you silly framework coder!". And las sadly went away.
The entire Mercury team was adding the last bytes to the intro. And a couple of hexagonal lens flares here and there. Deadline fastly approached. Then Okkie announced their 64k. Lights went out, strangely there was silence in the hall in Saarbrücken.
"The Timeless" started running on the screen.
Two coders committed suicide just as the first sea-wave rolled in. All of cupe's and urs' lives were passing in front of their eyes.
At the 10th hexagonal lens flare, many heads exploded just thinking of how the hell did they do that.
"The Timeless" was a milestone.
And at last, the final scene, some night city with cars, yes cars, and neon signs glared on the screen.
Las said: "But... you put this scene... this was my scene...", to whom urs&cupe answered:
"Shut up, you silly framework coder!".
That's how a successful 64k is born.
Because, you know, it's not important if you copy 10 thousand times from Debris, it's not important if your scenes have no logical link, it's not important if a city scene has been seen in 4879128 different intros.
No, that's not what counts.
What counts, dear friends, is *hexagonal* *lens* *flares*. All of them.
posted by friol at 4/23/2014 01:00:00 PM - under: 64k, mercury, parties, revision - comments? here (6)
[Life of a demoscene..........................]
Italy and the (forgotten) C64 scene
Italy and the (forgotten) C64 scene
Page 109 of "Freax", the only book* (I'm aware of) on the demoscene, reads:
"There was some C64 scene in Italy but it was the weakest of all European countries. The only group worth mentioning was F4CG's Italian section but they were mainly importers, rarely releasing a few cracks".
That's all the book has to say about Italian scene (C64 and Amiga**).
I don't know, or better, I didn't know C64 Italian demoscene before (my activity in the scene starts around 1997), but that sentence triggered some serious doubts in my mind. Italians are usually full of ideas and a resourceful kind of population, so it seemed strange to me that all that remains of C64 Italian scene is a group that was made mainly of "importers". So I started to delve into that years (somewhere between 1984 and 1992), speaking with Italian sceners that lived that era in first person, watching all the material that is on CSDb, staring at hypnotic scrolls on black backgrounds that last for ages.
The result isn't so far from Tomcat's sentence, but this post may be seen as an "addendum" to what isn't written in "Freax".
And, trust me: 8 years of C64 scene deserve more than 2 rows in a 300-pages book.
Maybe what I'll write may not be 100% accurate (since almost 30 years have passed from that days, and traces are fragmented and unclear sometimes). Maybe some works (intros) could be just reuse of international material (I'm no C64 expert, after all). Also, 1985s were the years when it was not unusual to pick a .sid from some game and put it straight into a cracktro. Copyright laws were fuzzy at that time, and pouet threads on "ripped commercial music in demos" were still years to come.
Italian C64 scene shows mainly two phases (that merge into each other):
1) A "cracking/swapping/trading" phase, from around 1984 to 1989
2) A "maturity" phase, from 1989 to 1992, when we start to see typical products of the demoscene: demos, intros, music disks, diskmags and so on - and, consequently, the demoscene becomes also self-aware (yep, as Skynet does in Terminator)
2703, NIWA, PM and so on. Mystery and funny anecdotes remind of mythical figures, like Piersoft "the hairdresser" that (legend says) had a swapping/trading-base in the back of his barber shop. Or Wildcat, the "cracker" of ICS that is flagged as a lamer, a "re-cracker" and a ripper by almost every group of that period.
Those were the days of "the Wizard", a copy-protection mechanism for floppies that, if forced, made your 1541 vibrate so badly that, after five or six unsuccessful tentatives, you had to buy another disk drive.
With the decline of C64 in favour of Amiga and other computers, the C64 cracking scene went disappearing (even if there are trainer/cracker "nostalgia" groups even at the time I'm writing this, in 2013!); what remained was the beginning of the "real" C64 Italian demoscene. This scene was, indeed, a prologue to the Amiga Italian demoscene.
Gax777, Demons, ARM, The Force (an italian-hungaro-israelian-australian collaboration) and Air Design. As said, groups started to produce more serious demos, not only one-screen intros, but charts, original music compilations, graphic packs and disk magazines. One for all: the funny-named (funny just for the few among us that understand Italian) "Coolface" (a beautiful joke on a word that sounds like "cool" in Italian). This C64 diskmag reached even 5 editions, mainly composed of flames towards (yep, again) Wildcat/ICS and reviews of Italian cars.
Relevant coders and graphicians emerge, like gi 909 of the Force and Zagor and Zoris of Gax777. Graphicians are now capable of drawing nice logos and pictures, and coders can open the borders of a C64 like a child opens his presents at Christmas time. At the same time, some (unfortunately not long-lived) game companies were starting to produce software, and some demosceners worked there as coders or artists.
The first "real" Italian party, in 1994, and some early "crackdowns" by the police mark the end of an era. F4CG and a few other groups still produce intros and scene-related material, but after 1993 the main targets of Italian scene will be PCs and Amigas.
(The Italian Amiga&PC scene produced, in particular, world-class demos and sceners, winning international parties and writing pages of demoscene history)
Italo-sceners on C64 gave us hundreds of cracks/trainer intros, kilometers of cassette tape and tons of insults towards Wildcat/ICS. And still, survivors of that strange and obscure period are proud of what your imagination and will could produce in a world that still had no Internet, wi-fi or broadband, where the only way to swap software ("swap", a term that lost its significance, today) was sending a real paper mail into the void and waiting for an answer.
* People pointed out that there is at least another printed book (in English) on the demoscene: Demoscene: the art of real-time. I haven't read it, but since it has only 72 pages, I hardly think it talks about Italian demoscene.
** At page 327 "Freax" dedicates 9 lines (yes, nine) to the Italian Amiga scene of the 90s. That's all.
posted by friol at 6/05/2013 10:46:00 PM - under: C64, history, Italy - comments? here (4)
[Intros that defined the 64k genre..........................]
Choose zero demotools and shaders
Choose zero demotools and shaders
There was an era when demotools were not needed to create a mindblowing intro, an era when 2D effects outnumbered 3D effects, sounds were not realtime generated but sampled, scene poetry was scene poetry and progress bars were made of ASCII characters. In that era the PC scene broke its Amiga roots and assumed its own shape.
This is a trip through that period and its milestones we still remember now, 15 years from there.
Symbology - Admire (1993)
The 64k format wasn't perfectly consolidated (this intro weights 75kb, in fact), but intros up to 1993 had always shown quite static scenes and repeated the same cliches ad infinitum: multicolour plasmas, 3D starfields, shadebobs.
Symbology, instead, makes a technological step forward: it shows 3D scenes and a free camera, and an embrional but vivid "story".
The plasma-cube eaten by the landscape-wormhole is epical.
Drift - Wildlight (1995)
Drift shows some youth errors (full blue is a coder-colour, the 3D-julia is a nerdy and old effect), but the use of shadows and the (generated) music create an unpreceded episode. There are not toroids or ducks in this intro, but objects with a well-defined personality.
The end credits make you shiver still today.
Lasse Reinbøng - Cubic team (1995)
The quantity of simultaneous rotozoomers in one of the first parts impressed everybody, running at full framerate on a 486.
Supermax - Complex (1996)
A bunch of shiny spotlights and an extremely realistic bump mapping are enough to create a sci-fi mood. This time Complex needs no 3D scenes, no strange effects, only the title, some four fingers melody and a breathtaking typograpy.
Paper - Psychic Link&Acme (1996)
Some moments, like the 2D drawing that comes to life and gains the third dimension, or the paper planes that fly along some splines at the end, are unforgettable still today.
Legend says that sceners at Wired '96 continued to build and throw paper planes for hours after seeing this intro.
Famous cyber people - Pulse (1996)
Orange influence in this really peculiar intro.
Famous Cyber People doesn't impress for the variety of effects (at the end it's made of variations on the same one) or for the 3D models (during the whole 64k, only one is shown, and it's almost hidden), but for the beauty of music, pixeled images and chromatic choice.
The 2D bumped tunnel is something organic and threatening.
Deesbab - Orange (1996)
The constellations and alien sounds of Deesbab create in a few seconds an unique and inimitable atmosphere. We'll find echoes of this intro in masterpieces like Bjoer or Viagra, or in anything else, up to the SQNY productions. The makers of Bjoer (TPOLM) will negate the similarities with Deesbab, but it's like negating a portrait owes something to the Mona Lisa.
Drain - Vista (1997)
Despite its low resolution, Drain doesn't look out of place if compared to modern intros. The number of effects, each one different from the others, is elevated. The technical mastery of the medium is impressive (there are a few intros with sound for GUS and Soundblaster).
Scenes are clean and linear, but evocative.
The cut between the purple free directional planes and the lens flare at the end is flawless.
Spotlite - Funk (1997)
The scenes, if watched nowadays, have a really slow pace, but the spotlight of the title made people scream for a miracle. Even for modern intros, it's rare seeing a similar level of detail in object illumination.
It's strange that from a kitchen (where legend says that Digisnap, the coder, wrote this beauty) comes one of the most advanced intros of the last millennium.
And as a final gift, daTunnel has packed those 8 intros in a nice demozip. Watch it with Dosbox and imagine 1993 is here again.
posted by friol at 4/22/2010 10:33:00 PM - under: 64k, intro, past - comments? here (2)
A challenge to the last clock cycle of the Z80
A challenge to the last clock cycle of the Z80
An oscilloscope, a nerdy calculator or a digital camera could have uses different from the original intention.
TI-83. TI-83 is a programmable calculator made by Texas Instruments in 1993, with a 6Mhz clocked Z80 inside, a bunch of kilobytes of RAM and a black&white dislpay of 96x64 pixels. This object was originally made to solve equations, trace polar coordinate graphs, draw sinusoidal lines and multiplicate matrixes. In "monochromatic" by noice the little calculator makes all of this, but with a totally unexpected output: wormholes, plasmas and "Silent"-bars. Also, two shades of gray, obtained rapidly flipping two static images, sum up to the classic black and white.
And if a calculator can become the platform for a quick dentro, a 4 rows by 20 columns LCD display becomes place for an entire megademo as in "LCD megademo" by Hedelmae. The slowness of liquid crystals on the microscopic screen fool the eye to perceive the plasma effect in more colours than the "factory" two.
But who needs colours, anyway.
The scene brings its trademarks towards new and not so new platforms.
Thomson MO5, on an Epson HX-20 (the bridge between a calculator and a portable computer) or on a BK-0010, even if those objects are peculiar, but it becomes a matter of life or death doing it on a Vectrex, a bad fated videogames console from 1982.
In the hands of the demosceners, Vectrex loses its colorful overlays. The enthusiastic faces of families from the Eighties disappear, to leave space for the blue phosphorescence of lines traced on the curved CRT of the console. In the "bresenham" demo from Metalvotze, vectors are used to greet a few elite groups worth mention on the limited RAM the console has (one, yes one, kilobyte).
"lineart" realizes (as usual) the unreal, visualizing on the Vectrex screen some rubber-bars with bending lines (noteworth for a console whose only primitive is the straight line).
We've asked nitro/Metalvotze more detail on how a demo on this platform comes to life:
"I guess it simply started when I bought one and wondered if it was possible to do some own stuff on it.
The one shown in all the videos of our releases is mine (although other members of my group as well as some friends also own a Vectrex). I saw a sales offer in a local newsgroup and as I was actively collecting old hardware at that time I decided to buy it. That's when all the fun started."
What is the hardest part of coding on the Vectrex? Which are the limitations?
"There are a lot of limitations on this hardware, but in my opinion the hardest ones are the amount of RAM on the one hand, which is 2k (sounds a lot) minus everything the BIOS claims, resulting in a user space of around 500 bytes. On the other hand it's the fact that the entire drawing machinery is based on analogue circuits, meaning that you have to deal with inaccuracies everywhere (that's why you cannot create actual productions in an emulator only) and those inaccuracies also differ from machine to machine.
Finding a way to handle this correctly on all different machines is very tricky, that's why high-end releases for Vectrex (like YASI) feature some kind of calibration screen on startup."
What do you use to compose music on this platform?
"Our musician uses a standard mod-tracker for creating his tracks. The first three channels are then converted using one of our own tools to a format that pretty much resembles the BIOS music patterns as we use a player which is actually based on the BIOS player. Of course the mod file itself does not sound exactly like the music does on the real platform but it gives a first preview which seems to be sufficient for our composer."
It happens in "blureu" by Crest. The REU (Ram Expansion Unit) of Commodore 64 is used, but in a totally different way from the raw few-framed animations that the demodisks of the time managed to create. Scenes from demos that run on way more powerful modern PCs, or a surprise rickroll are shown in sequence, with colours and dithering that astonish more than one scener. And nothing matters if the 3d animations are too perfect for not being pre-rendered.
But what to do if the though quite rare hardware of obsolete machines still seems too mainstream?
Simple: you create your own platform, from scratch, from zero. And then you fly on it with the demoscenic LEM and the usual luggage. It's the philosophy behind "Phasor" and "Craft" by lft, but also behind the Z80 on steroids of "loopback" by altair, or behind the 4x4 LED matrix of "led it be" by Darklite.
Linus Akesson (the creator of "Craft" and the other demos on custom hardware) explains what this approach means:
"Nearly all existing machines have a dedicated video chip and sound chip. In Craft and Phasor, the microcontroller must not only calculate the effects, but also generate the audio and video signals in realtime. Something similar happens when a C64 coder breaks borders or does other kinds of extreme video hacking; it is critical that the instructions execute at precisely the right moment, otherwise it won't work.
But on the C64, the CPU only modifies the video signal. On my systems the CPU generates the video signal from scratch.
The ZX80 and ZX81 home computers partly generate the video signal from scratch using the CPU, but they use a much slower CPU than my projects, and they have an external chip that encodes the colour information into the composite signal. In conclusion, Craft is like a ZX81 on steroids, or even a C64 without the VIC and SID, but with a 20x faster CPU. Phasor is like Craft in a straitjacket."
"Yeah, I wanted to generate a (colour) PAL signal with a small microcontroller, because nobody had done it before. Well, there are some primitive projects on the web, like displaying four static colour bars, but I wanted to go all the way. I was aware of the fact that people would see a demo that was kind of similar to Craft, and probably not be as impressed this time, but those who know the details of the PAL signal would be amazed. You can't impress all the people all the time. =)"
What do you use to write music in your productions? Do you have a sort of custom tracker?
"Yes, I write my own tracker for every project (but I re-use much of the code). In Phasor, for instance, I started by writing the sound routine on the target system. It had to run in 77 clock cycles in order to fit inside the horizontal blanking period, so I had a hard limit to guide me through the decision making. I ended up with four channels (triangle, filtered pulse, unfiltered pulse and noise).
Next step was to port this code to C, and build a play routine around it (sound routine gets called for every sample; play routine gets called only 50 times per second). Then I could re-use most of the tracker code from Craft, and start composing music. During this process, I would sometimes modify the play routine to fit the music."
insane of the reborn altair goes into the technical details of the Z80 based custom made V6Z80P, on which "loopback" runs:
"I got a V6Z80P after Malfunction got me interested about it some time ago.
Originally I wanted to use it as a FPGA trainer. But that never happened. Instead I learned Z80 and the OSCA architecture. Doing a demo on it for the final Breakpoint simply seemed like a good idea to both Malfunction and me. I never really tried programming demo effects before so the weeks before Breakpoint were spent trying to learn to do 2d and 3d stuff. About 80% of the demo was coded/rushed during breakpoint and I never did include everything Malf and I planned."
"There are some things you don't notice right away, like having 1 scroll register common for all 8 bitplanes (which complicated the interference part a bit) or having a blitter operate in video memory only (memory is split into 512KB CPU-RAM and 512KB Video-RAM) as well as it really being a byte-copy processor. It's fast for copying memory regions but it can't compare to the Amiga blitter with its minterms.
The Copper would also be more useable if it was pixel instead of line based."
Did you use any particular trick/feature of the hardware in "loopback"?
"I mostly (ab)use the blitter and the paging system of the V6Z80P. The only real trick/problem was to get the (slow) SD-loader and decruncher running at the same time as the mod player without breaking the flow of the demo. Add to that the 32KB memory pages and it starts to get complicated, especially with big files like the scrolling girl.
But that's stuff nobody "sees" while the demo is running :)"
Wild demos of the future probably won't run on "ancient" Pentiums. The scene has always looked for new limits. A Pentium is an upper limit (see we go). Probably there will be productions on machines and chips that have much more "personality" than the anonymous contemporary PC. Unless they have all exploded. If so, we'll take solders and tin and we'll build the machine of the future. Rigorously clocked at 20Mhz.
posted by friol at 4/12/2010 11:57:00 PM - under: 20Mhz, microchip, wild, z80 - comments? here (0)