______/\___________________________ __ ________________ ___ /\_______ \____ \ ________ _ _ ______ \ / \| \ ________ | \/ ______/ / | \ _) \ \_/ \ | \ / \ \ _) \ | \______ \ / | \ \ | \ | \/ \ \ /~\ \ / \ \_____ /_______/___| /________/\____\_____/_______/_________/________/ ===\_____/============|____/========================================[+tZ^]== DemoNews Issue #82 February 5, 1995 - February 11, 1995 ------------ DemoNews is a weekly publication for the demo scene. It is produced at the Internet FTP site ftp.eng.ufl.edu (HORNET). This newsletter focuses on many aspects of demos and demo making. Everyone is welcomed to contribute articles, rumors, and advertisements. Information about HORNET and DemoNews can be found under /demos/README -Christopher G. Mann (Snowman)- r3cgm@dax.cc.uakron.edu Start.of.DemoNews.082,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., SIZE: 80,185 SUBSCRIBERS: Last week: 1241 This week: 1252 Change: +11 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' SECTIONS ARTICLES ---------------- ----------------------------------- HORNET News Setag and Notron (A New Format) New Uploads Files recieved at HORNET NAID NAID Frequently Asked Questions Editorial Right Brain Left Out Music Interview with Maelcum/KFMF Code Optimizing Vector Transforms. on P5 Denthor's High The Perfect Body School Essays Back Issues How to Get 'em, Descriptions Advertisements Mind Side Out Help Me! Closing Comments DemoNews Top 10 LIst ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' _____A New Format Notron : Good evening, this is Notron... Setag : ...and I'm Setag... N+S : And THIS, is the HORNET News. Setag : Our top story tonight is The Party 1994! Fresh from dopey Denmark, this party promises to rock the demo scene off its butt. Its scheduled to begin in late December, so get your tickets now! Notron : Setag, that party is over a month old. Setag : Crap! Well, I don't have direct 'net access, so how am I supposed to keep up with stuff like 'dat? Notron : By reading DemoNews each and every week of course. For information on how to subscribe, be sure to read the README file under /demos. Setag : What a shameless plug. Why don't you just give them a 1-800 number and a free trial issue if they subscribe in the next 24 hours?! Notron : Why don't YOU just go back to Composer 669 and crank out a couple more 185bpm tunes? Setag : And what would that accomplish? In our already decadant and immobilized society, two more rapid-paced tracks won't make much of an impact. Governmental hypochondria and continued debasement of the moral foundations laid down by previous generations only propagte the further disintegration of humanity as a whole. Notron : I guess you're right Setag, I never thought about it that way before. Setag : Plus, FastTracker 2 rulez! Notron : Did you hear about Triton's new demo "Axis" due to be released this March? Setag : No. Notron : Well, neither did I, so I guess we'll have to move on to something else. With us tonight is GraveDigger, our roving rumor collector. GraveD : Hello everyone! Notron : What juicy information do you have for us this week Gravie? GraveD : Don't call me Gravie. Its GraveDigger. Notron : Sorry, my mistake. GraveD : Well folks, we have four tidbits fresh from the grapevine (i.e. IRC). The first is that Quarex has been averaging 4 glasses of milk per day since age 4. Setag : You're kidding!? 4 glasses! But what does that have to do with the demo scene? GraveD : Well, nothing really, but I thought it was interesting. Anyway, our second rumor is that Necros won't be attending the NAID demo party this April. Notron : No way! NAID is supposed to be the biggest thing to hit North America since the atomic bomb in World War ][. Why isn't he coming? GraveD : What do I look like, his mom? I just get the rumors, I don't research them. Our third rumor is that Musicman has left epinicon. Setag : Who's Musicman? GraveD : Never mind. The last rumor I have for you is that Zer0 wastes too much time with MUD's. Setag : MUDs are the tool of the devil. Notron : Yes Setag, I agree. Back in high school I did some research on these so-called "Multi-User Dungeons" and found out that they are just a front for drug dealers and gun runners. Setag : ...and they erode the fundaments of civilization. Notron : But heck, they sure are FUN, so what's the harm? Setag : GraveD, how reliable are all of these rumors? GraveD : Hey, I just tell 'em. I don't check for accuracy. Setag : But what if you're wrong. Won't Snowman get flamed? GraveD : Oh, who gives a crap about Snowman. *Snowman* Ahem! GraveD : Er... Hello there Snowman. How's it going? *Snowman* All aspects of my body and mind are functioning within tolerable limits, so I conjecture that one could say "I am fine". Setag : Hey Snowy, lighten up a bit, this is supposed to be a funny article. *Snowman* Something has gone drastically awry. The three of you were supposed to report interesting and informative information to the demo community. Instead I find rumors and nonsensical comments. Where is Ryan Cramer anyway? RCramer: Right here man. School has been eating up most of my time lately so I won't be able to contribute as much to DemoNews for awhile. *Snowman* This is unfortunate. How do you suggest we compensate for lack of material in your absense? RCramer: Well, what about Denthor? He always seems to contribute something interesting. Denthor: Hello Hello Hello! Can anyone see me? I'm here! Hello? *Snowman* Greetings Mr. Smith. Are you aware that I had to completely reformat this week's issue of DemoNews to accomodate your essay? Denthor: Gosh, I'm sorry. Won't happen again. Nope, won't happen again. :) So did you like it? Huh? Huh? Did ya? *Snowman* Actually I have not had time to read it yet. I've been busy editing articles in the "Code" section (where your articles are SUPPOSED to go). Do you notice that Tom and Jason (Dee-Cug) are writing articles that actually deal with coding-related topics? Denthor: Well, if you don't like my stuff, then mabey you should find someone else! Dee-Cug: Hey you two, cut it out! I think that bloody tutorial converting is making you two blokes a bit testy. Its not bloody Denthor's fault if he can't bloody contribute something code-related each bloody week. Snowman, Denthor is bloody the 'thing', and you should be happy to bloody know him at all. *Snowman* All right. Denthor, I apologize. Denthor: Hey, no problem. :) Setag : Snowman, why do you get those '*' thingies around your name and all we get is a freaking colon? GraveD : That's what I want to know! *Snowman* Excuse me? Who is writing this article? I did not have to include you two at all. I just thought that this format for presenting the weekly HORNET news would be more interesting than previous weeks' format. Notron : But this format takes up a lot more room... GraveD : ...and most of the readers don't really care anyway... Denthor: ...and I want those '*' thingies on my name too! *Snowman* Well, we will try this format for an issue or two. If the readers do not like it, we will discontinue it. If however, the readers give positive feedback, we will make this news a regular feature of DemoNews. Agreed? ALL : Agreed. *Snowman* In that case, we had better wrap this thing up. Notron and Setag? Notron : This is Notron... Setag : ...and I'm Setag... N+S : And THIS has been the HORNET News. Dee-Cug: BTW Snowman, check the bloody spelling next time. There must have been 10 bloody errors. *Snowman* Whoops! Will do Jason. ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' NOTE: All locations start with /demos and then their respective sub- directory. Please note however that the actual base directories (like /pub/msdos/demos) may differ from mirror to mirror. Location Filename.Ext Size Description ---------------- ------------ ---- ---------------------------------------- /demos /alpha/NEW amb_lego.zip 143 Amable presents LEGO (386,GUS) classika.zip 601 Classika by Renegade (386,GUS) hobtro .zip 9 18th Birthday intro for Hobbes nooon_no.zip 1339 NO, the official release demo from TP94 sci .zip 177 Smash the Control Images by Jourgensen stargate.arj 11 Stargate BBstro done by n-Factor /parties g-proba2.zip 58 General Probe Invitation Intro naidinv2.zip 206 NAID invitation intro by Night Vision /diskmags dask04 .zip 181 DaskMig Issue IV (TP94 report) /music /disks reflctns.zip 851 Reflections, the Christmas Musicdisk sr-feb95.zip 572 February Collection/Surrounders(MTM,MOD) /programs/frontend dmpc260.zip 105 DMP Companion 2.60 Front End /programs/players iplay121.zip 139 Inertia Player v1.21 (ASM94 CD version) sonix07b.zip 34 SONIX v0.7b GUS/SB MOD Player /songs/midi sewnui .zip 8 Silly Girl by Priscilla Chan /songs/mod mntl-sez.zip 41 Mental Seizures by Spam /songs/s3m batchman.arj 604 Upped by Batchman (in 3 parts) b13-0001.zip 124 Electronic LSD by Lankmar defi-agc.zip 226 Against the Clock by Blackwolf/Defiance defi-top.zip 136 Top of the Mountain by Blackwolf/Def. k-higher.zip 297 Take Me Higher by Basehead of KFMF kradkrad.arj 148 In the Study by Hector lemming!.zip 95 Little Lemming by The Avatar lil'funk.zip 346 Little Funk Machine by Vinyl/Mindprobe new_age .zip 65 New Age by Mr. Fix It (Michael Gaare) nightmre.zip 134 Nightmare by Corsaire/HS sky_blus.zip 344 Blues Train by Skyjump Team sky_jngb.zip 922 Jungle Baby Love by Skyjump Team smeg_mnd.zip 679 Mindstream by Smeghead/TF tearsvic.zip 217 Tears of Victory by Populus/HS thestudy.arj 96 In The Study by Digital Music Kings tuntemat.zip 144 Tune from 'Unknown' demo by Vinly/MP /songs/special perfect .zip 336 PTM Module by Vic/Acme - Perfect Reason right .zip 290 PTM Module by Vic/Acme from TP94 /songs/xm 6daysrmx.zip 174 Six Days (Ravehard-Rmx) by Nomad/SXS c_pak00 .zip 109 ClaimPak 00 - 3 .XM modules /graphics /pictures wntd_ray.lha 202 Wanted brings you 2 cool ray-traced ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' _____NAID Frequently Asked Questions v1.0 written by Veritech Knight (William Le) (25th of January,1995) To start this off, a little description of the town of Montreal, and Longueuil (where the party is at). It isn't exactly a FAQ, but I've had some mail that made me believe that some people don't know where Canada is, let alone the city of Montreal. Canada is not a state, it's that huge mass of land that's north of the USA. Montreal is an island city in the province (roughly the equivalent of a state) of Quebec, surrounded by the St-lawrence river, and a few urban towns (including Longueuil), with a total population of around 3 million +. The State just south of the province of Quebec is Vermont. The average temperature in the winter in montreal is -15C (5F) although this winter has been pretty warm to date (-10C average). In the spring (eg.easter), it's hot enough outside to start biking, say about 10degrees C to 15C (50F - 60F). (The girls start wearing mini-shorts as soon as the snow has all melted, right before easter, what a coincidence!..). The first language is french, although most people speak english too nowadays (look at me). Of course, I can go on and on but.. On with the real questions.. Q - How can I get road maps to get to the party be car? A - When you buy your tickets, we send you a map along with the tickets if you request it.(see next question). Q - How do I buy tickets? reserve my space on the site &/or sleeping room? A - This is the address you should write to for tickets. NAID / APRAXIA College Edouard-Montpetit 945, chemin de Chambly Longueuil (Qubec) J4H 3M6 Include in your enveloppe: - a check for 5$ (per person) if you are staying one day only. - a check for 7$ (per person) if you are staying both days. - add one dollar if you want maps (shipping&handling) - a letter with the names of the people comming, the number of tickets, if you would like to reserve sleeping quarters, a table on the site,etc. Check payable to: NAID/APRAXIA - College Edouard-Montpetit Money is in canadian funds (equals about 5-6$ US). All donations accepted. Keep in mind that this is a non-profit organization, and all donations will be put to good use to make the party better for everyone. Q - What can you tell me about the sleeping quarters? A - People will be staying in classrooms. A group can request to have their own room (specify in letter for tickets). A room can accomodate 20 people comfortably. Each classroom can be locked using a key which is available following a 20$ deposit. The key is given to the "leader" of a group. One key per classroom. Electricity is available in every room, and bathrooms aren't far away. Q - Can my group and I have a table on the site? A - -ALL- groups will have a place on the site. Don't forget to request it in the letter sent for tickets. If possible, mention the number of computers you are bringing along, or that you need (though there is no guarantee you will get a computer if you don't bring your own). Reserving space in advance helps alot, so don't hesitate to send for tickets today. Q - Will there be any trouble finding a parking space near the party-place? A - The party being in a school (and a big one at that), lots of parking space is available (about 2000cars).Oh, and it's free too :) . Q - Can we arrive on friday and leave on monday? A - We are aware that some people/groups have to arrive early, either to get their computers installed or because their plane/train/bus can only come on friday/leave on monday. There won't be a problem if you arrive earlier.. actually, you might just be lucky enough to help us put things up... and clean up aferterwards :) Q - Will there be food available on the site? A - Subway (the famous submarine makers) will have a stand in the school and will be selling their subs cheap to feed hungry democoders.. There will also be lots of coffee, Tim Horton's donuts and other little goodies on sale onsite. Right outside the school, there is a Pizza Hut, a Suisse Chalet, a hotdog joint, a Harvey's and a Tim Horton's. Other known restaurants are also available not too far away (a few minutes of city bus), along with arcades, bars, etc. Q - Which groups are going to be at the party and will compete? A - I am not a PR for all the groups out there, so please stop asking this question. Lots of groups have shown interest in the various compos, but it's too early to know for sure who is comming or not, who will be competing in what, so my final words on this subject are: BE THERE AND FIND OUT FOR YOURSELF. Thank you :) Q - I am not going to NAID, but I want to enter a compo anyways, how can I? A - Basic rule number one, to collect a prize you gotta be there. Being nice guys =), we've decided to be a bit flexible: regarding the demo and intro compo: you can enter it, it will be shown on the big screen, but no prize will be awarded (eg. no voting will be done on it). Regarding the music and graphics compo: if a person who is absent, but his/her GROUP is present on the site, a song/pic can be submitted with the GROUP's name on behalf of mr./missus X . Limit one song/pic per GROUP, and one song per person. Which means (Yes, I'll draw a picture for you) : Let's take for example the group ELiTE, with these members: T00 Cool, Radboy, and Gino. T00 cool can enter a song and/or a pic in the respective compos Radboy can do the same Gino too. Afterwards, t00 cool, radboy and gino all enter either compo as "ELITE" and run away with the first prize in all compos.. Q - Frankly, why does the NAID invitation intro suck ? A - We are also disapointed about the intro. First off, it was supposed to be finished months ago, and yes, the coding isn't incredible. When NAID started in August, we were all demo *lovers*, and not some kind of world-famous demo group organzing a demo party (oh, which reminds me of the question: Q - Why doesn't the "NAID / The Apraxia factor" team have a group name? A - It's because we havn't DONE anything yet. ;> ). ... The people whose names are mentioned in the info-file were "picked up" along the way from our computer science courses. We were lucky to have at least one person with a little bit of demo coding knowledge. Yes, we could have had the intro done by a group with more experience, and yes, some groups offered there help at the time (thanx to NV and Abstract for wanting to help), but we had our little "team" who wanted to help too. I personally didn't know any of these people, but the other main organizer Khan had discovered that Boggart was really a good coder (and mind you, he isn't so bad). So we gave him a chance to do something for us. Every bit of code in the intro is his, the best part being the flame effect in the NAID font. Unfortunately though, that little effect seems to eat up all of the cpu's speed, thus making the rest slooooow. The 10k S3M player is also his, but a little unfixed bug in it didn't like the tune I had made for the intro, so at the last minute we had to take one of our buddy's existing "ready-in-5minutes" tunes, which explains the somewhat "crappy" music (Although you gotta admit that phone ringing is pretty funny :) ). At any rate, what is done is done, and from now 'till easter, another intro will probably be released... this time not done by us . And please remember that although the intro doesn't help NAID's image, there is basically ONE thing that'll make this demoparty good or not: the ORGANIZING. So 99.999999% (as an intel pentium would put it..) of our efforts is put into it. (1/ to make sure we'll have lots of fun and 2/ to avoid hidden "NAID SUCKS" messages in future demos :> ). ..stay faithful kids! Send for your tickets today! Remember: Be there and die or be nowhere and cry. Veritech Knight (William Le) - naid@ebsco.com BTW, I get ALOT of mail, and answer ALL of it, so please be patient in waiting for a reply (don't send new mail every day because you think your mail didn't get thru!). ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,, <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' _____Interview with Maelcum _ _ _ / \ / \ ___ _____ | | ____ __ _ _ / \/ \/ _ \/ ___ \| |/ __// / __/ \_/ \ Interview with Maelcum ---/ /\__/\ \/ \ \ \_/ /| | / \ \ \ \/\_/\ \------------------------ \ \ / /\_/ \ /_| |\ \___\ \__/ /\ / / of the Kosmic \__\ /__/\___/\_\_____\| \____\\____/\_\ /_/ Free Music Foundation GD = GraveDigger of uuDW/CoRE ............. digger@freeside.scsd.k12.ny.us MA = Maelcum of Kosmic .................... dan@bowker.com -------------------------------------------------------------------------- Maelcum is the head man of the Kosmic Free Music Foundation, a group of 18 composers, 2 artists (who are also musicians), 2 coders (one is also a musician), and 2 PR members, totaling 24 people. Maelcum himself has written somewhere in the range of 1500-2000 tracks in his lifetime, and he currently prefers Renaissance's MultiTracker for composing. With such a large number of tunes under his belt, Maelcum probably boasts the largest personal PC music library. "This will sound like I'm an ego-maniac," he told me, "but I haven't talked to anyone else who's written more than half the amount of stuff I've written that I can remember. The only person I can remember being anywhere close is Sidewinder. I think he's been tracking a lot longer than me though :)" In 1994, Maelcum released 52 tracks under Kosmic (an average of one a week). This makes up a little more than 1/3 of Kosmic's 125 total releases in 1994. When I first approached Maelcum about being interviewed for DemoNews, I asked if he wanted to set up a time to meet on IRC to conduct the interview. He then suggested that I mail him a list of questions instead. This sounded like the better option, due to the fact that I was unlikely to find time to do this anyways, with my finals approaching. I mailed him three sets of questions, and in each case, got the responses less than a day later. Due to the fact that it was already Saturday by the time I got the first completed list of questions, and DemoNews comes out on Sundays... plus, the interview had not yet been completely formatted and Maelcum doesn't like to use capital letters, this interview is actually a week late. I tried to get it done in time, but despite Snowman's plea to have it done to avoid another small issue of DemoNews, well... here it is, however late it may be. -------------------------------------------------------------------------- GD: How old are you, where do you go to school, and what is your major? MA: I'm 20 years old. I dropped out of Union County College (cheapo state school) in 1993. I was studying Communications. GD: Where are you living? Are you currently employed? MA: I live with my mother in a small house. I do freelance music and graphics work for different companies. Mostly music for video games and graphics for different corporate computer companies. I also do consulting, mostly to at-home PC users in my area. GD: Give us a run-down of a typical "Day in the life of Maelcum.." MA: Wake up anywhere from 6am-6pm (depending on when I last fell asleep), watch some tv or go onto the net, eat food, listen to news radio or those lame top 40 stations, read email, write some music (never when i've just woken up though). Not necessarily in that order! I go through phases... GD: What's been keeping you busy recently? MA: Right now I'm just sitting around a lot trying to get different things organized and keep up with different things that interest me, like the Russians slaughtering the Chechen people and the various things going on in Congress. if I had some iniative perhaps I might have gone into politics. GD: Tell us about your songwriting... Do you follow a specific pattern when composing? MA: Not really. I mean, subconsciously I'm sure I do, but I don't intentionally try to follow any 'rules'. That's one of the things that I hate about a lot of music - the really stupid rules. My only rule is it has to sound good, or at least interesting. Actually a lot of the "melodies", "riffs" or whatever they're all called, I just make up randomly. Like I'll just hit some keys on the keyboard to randomly enter notes, then go back and mess around with them till I get something interesting. GD: Approximately when did you start composing? MA: From what I can tell, sometime in late 1991. I think the oldest song that I have here (excluding the 1000+ on QIC-80s, some of those might be older) is from October 4th, 1991. I couldn't have been composing for more than a few weeks at that time. GD: What made you decide to begin tracking? MA: I really can't answer that, because I'm not sure. I basically just started fooling around with Modedit when v1.0 came out. I'd been doing stuff with waveform editors, multitracks and other stuff for about two years before that, but i didn't really own any equipment so i couldn't do much. GD: What's the best part about composing? MA: I dunno, maybe the money and the girls. GD: How do you know when you've written a good tune? MA: When i like what i've written. :) GD: Do you have any background in music theory? MA: I really don't know much real music stuff, even though my mom was a music teacher. I probably know a lot of stuff that I just don't know what terms to use for it - that's the downside to not having any clue about the theory, I probably am re-inventing the wheel half the time. But I guess that's some of the fun. GD: What kind of sound equipment do you own? MA: I use a Gravis UltraSound with 16-bit daughtercard and 1mb of ram currently. It's hooked up to a Sony 70 watt/channel ProLogic (surround sound) receiver which drives two 10 inch speakers left and right, a 6 inch center channel speaker, and two 7 inch rear channel speakers. All my speakers are really old ones, I think the newest ones are probably almost as old as I am. I have a few really cheap microphones, a bottom-of the line Japanese DJ mixer, and a few really lousy MIDI modules from the early to mid 80s. Probably my most expensive single piece of equipment is the receiver, which cost $250 :) GD: Of the 1500-2000 tracks you have composed, do you still have all of them? MA: I *think* I have most of them. I say think because many of them (primarily 4 channel and FastTracker 1 .MODs) are on QIC-80 tapes which I have not been able to access for over a year since my tape backup drive died. It would be really cool if someone would donate one, and it would let me release a lot of material that's never been heard before :) GD: What software do you use for sampling/tracking, and why? Are there any programs that you hate? MA: Usually I use Goldwave 2.10 (Windows program) to sample stuff in 16-bit, edit everything in 16-bit and then resample it down to 8-bit samples and load into MMEDIT v1.01b. I just use what works for me. A lot of people say MMEDIT sucks compared to Screamtracker but I just can't stand the interface of ScreamTracker. I couldn't exactly explain why but it really slows me down. I've been thinking about starting to use Fasttracker 2 though, since I was using Fasttracker 1 before I used mmedit. GD: From what source do you get the majority of your samples? How many of the samples that you use are originals? MA: I sample 90% or so of my stuff from different CDs. I have the x-static goldmine sampling cds, but so many people use those same sounds that I don't like to use them a lot unless I totally change them, like re-sequence the drum loops, add reverb and flanging, that kind of thing. A lot of people think they're great because you don't have to spend hours trying to come up with the perfect sound, but I think that a good tracker musician has to be able to make their own sounds. GD: So, you frown on ripping samples? MA: Ripping samples is fine, I do it quite a bit myself, but if everyone just rips, the music will get really dull. Come to think of it, maybe that's why so much of it sucks right now. GD: What's the strangest thing you ever did to create a sound which you sampled and used in a song? MA: I don't know, I try to do a lot of things randomly. I guess maybe the samples I made for "Bang A Can" where I smacked the microphone against a PC tower case and then edited them to bits in goldwave was pretty strange. GD: There's something I'd never do! Of course, I'd probably end up wrecking something in the process. What is your favorite tracked music? MA: I don't really listen to a lot of tracked music that I don't write. I think a lot of people listen to too much of it - that's the only reason I can possibly see for why amiga-style demo muzak which was popular six years ago is still the most written kind of music by pc composers! It's really sad I think, a real de-evolution. There are some good composers out there though. GD: Who, then, do you think of as a good composer? MA: Everyone says Necros to these kinds of questions, and it's certainly true. Nec is a great musician. December.s3m was one of the best tracked songs i've ever heard. Krystall is also really good, he does just great trance songs, those are always really good. There's a lot of people out there who do a few great songs, but tons of crap. I'd like to see people try to be more consistent in their creativity. Floss is a really creative musician - here is a perfect example. The guy is really doing what needs to be done - taking some inspiration perhaps from the tired old demo muzak and really inventing something that no one else has thought about. His stuff is always great. GD: What's your opinion on the rest of the KFMF composers? MA: The whole Kosmic group is full of really great musicians - yes, maybe I'm biased, but I haven't seen another group which has so many diverse and stylish musicians. I think it really is like a "Dream Team" of tracker music. GD: Yes, you are really lucky to have such a wide range of styles. What kinds of professionally-recorded music do you prefer? MA: As far as real music goes, it would take far too long to list it all. I'm into lots of techno, ambient, trance, world music - I love lots of middle eastern music, it's just so much more interesting than most western music. Some groups, I guess would be like Orbital, Front 242, Depeche Mode, Erasure, Brian Eno, Aphex Twin, Stone Temple Pilots, De La Soul, A Tribe Called Quest, Tim Simenon (Bomb The Bass), The Orb, Bill Nelson, Public Image Limited, Negativland, Enya, Moby, Bjork, Renegade Soundwave, Primus, Ravi Shankar, Material... I just listen to lots of different music. As much as there is crap music out there, there's some great stuff too - you just gotta look for it. A lot of people might find this funny, but the groups that I grew up on were stuff like The Police, Men At Work, Dire Straits, the Pretenders.. Johnny Cash and U2 are huge influences. GD: What are some favorite songs of your own? MA: Well, right now I like a song I wrote called "Calling Heaven" quite a lot. It's going to be on the Intelligent Dance Music list's compilation CD "Threads". It's really simple, but the simplicity works. Of my past KLF releases, some favorites are "That Noise," my remix of Material's "Mantra,".. there's just too many. I used to hate everything I had written more than 2 weeks ago, but looking back on it all i'm really happy with most of it. GD: Over the years you have been composing, your music has undergone changes in style. Can you explain what causes that? MA: I'm not really sure! I guess the easy answer is that it is because my tastes have changed. Like in 1993 - I was totally into rave and traditional techno. The prodigy, stuff like that. then I got into a lot of IDM type stuff - orbital, black dog productions.. later in 1994 I really started to get heavily into ambient music like Irresistable Force and other weird stuff. Now i'm kind of coming out of that phase - a lot of the stuff on the second FTZ album which i'm writing with IQ of Kosmic is back to the hard techno stage. My latest thing though is not really any kind of classified music that I know of. It might be 'trip hop' but I really haven't heard anything that I knew IS trip-hop, so i'm not sure what that is. A lot of slower, heavy groove things with different styles of percussion use. It's music to bob your head to. So far 'loend' is probably the only thing i've released that demonstrates this new direction. GD: Do you have any goals, such as tracking for a full-blown demo? MA: I'm working on something like that right now - but that's not really a major goal for me. I mean, this sounds cocky or something, but i've already worked with people who are like the Steven Spielbergs of the video game world on things that put my music in front of an audience of 40,000 people or more, so I really can't see demos as such a big thing. It's the same thing as with music. Perfect test is to put the end result on tape. Would you watch most PC demos on videotape? I wouldn't! MTV's crap is more interesting! I guess changing the face of PC demos is one goal i'd like to pursue. I'm much more interested as a long term goal in things like doing music for a motion picture, and getting a lyrics-free video on U.S. MTV. GD: I have to agree, I wouldn't bother watching a PC demo on TV. It would just take all the magic out of it. MTV, though, is a different kind of media, and like you say, relies heavily on lyrics. How and when did KLF come to be? MA: I started it in either late 1991 or the very beginning of 1992 I think, although I might be wrong by a year.. 1992 was basically the year it began though. It started as a VGA and Ansi group, but we sucked pretty hard at Ansi, so when I got into tracking it gradually became more and more of a music group. by 1993 it was nearly all music. the group died in spring 1993 but we resurrected it as a music-only group in September of 1993. Now it's on it's way back away from music-only :) GD: About a month ago, a decision was made to change the group's name from Kosmic Loader Foundation [KLF] to Kosmic Free Music Foundation [KFMF]. Is this something you had been thinking about for a while? What made you decide to change the name? MA: Yeah, we had been considering a name change for at least half a year. We needed to get away from being confused with both The KLF and Keen Like Frogs, and we had started to use "Free Music Foundation" some, so it was a pretty logical decision. This lets us put our names on CDs with a lot less problem too :) GD: So you're thinking in terms of an identity crisis and commercially... which makes sense... why let others get any credit for your work? :) On December 23, "Santro" was released with a track composed by you for accompaniment. How much time went into "Santro?" MA: I don't know exactly how much time went into Santro, because my only involvement was writing the music. I wrote the music in two or three hours I guess, all in one sitting. I think the whole coding was only about the same, and Sophisto's cheezy santa anim can't have taken too long :) It was put together really quickly. GD: You usually write MTM's. Why was the DSM music format used for "Santro"? MA: Ask GooRoo why DSM was used - I gave him an MTM in the first place :) It's probably because we used DSIK for sound. GD: What do you see in the future of Kosmic? MA: Hopefully a lot more exposure. We'd like to get the word out to more non-hacker people. That's probably going to mean doing less "free" music, but we'll always be doing some. I'm really interested in working out a kind of 'shareware' music - giving people a way to support musicians directly if they like what they're doing. I think most of my songs are worth at least $0.25 :) GD: A quarter? Hmm. You might have some trouble with your shareware music, then. :) How do you expect people to react to this "shareware music" concept? MA: While people might say "Oh no! That would suck!" They need to look at the other side of it - if we could support ourselves doing this, or at least help to support ourselves, we could do a lot more music, and a lot better music. Most of us don't even have MIDI gear, and we're already making music on a par with most commercial music. GD: You've been working on a CD project... Any news on that? MA: The sister of Kosmic, Area 51 Records, will be releasing my first CD hopefully right around NAID. My partner Riku Nuottajarvi and I are working really hard to get the company off the ground and well established, and I think you'll be seeing some crossover between Area 51 and Kosmic. GD: In early January 1995, Kosmic's "Egg2: Trancescrambled" MusicDisk was released. What are your future musicdisk plans, if any? MA: There will be another musicdisk or two in 1995, but right now other things are the priority. GD: What experience do you have in writing music for games? MA: Well, i've written music for several already, and hopefully I'll be getting more work in this field this year. I'd like to warn other musicians out there that it's not necessarily as great as it sounds. The first few were fun but I've had some projects that were really not much fun. It's not a good thing to do just for money, as I've learned the hard way. I am going to be more selective about what jobs I take in the future, to only be involved with things that I can be happy with. GD: Are you planning to attend and compete in NAID? If so, will you be taking the "Kosmic Train" to get there? MA: I'm hopefully going to attend NAID, although I don't know yet if I will compete. I'm not too sure about how i'm going to get there though. GD: What kind of advice could you give to other musicians out there, who are just starting out? MA: Don't listen to people who dis you and push you down - just keep working at it. The best way to improve is to just keep writing lots of music. The more you write, the better you'll get. And don't be discouraged if it seems to take you a long time - some people just get it faster than others. It took me three years to get to where I really feel "good". Above all, try hard to be your own person. Individuality and creativity is what separates great music from good music. Technical prowess may be wonderful, but you're nothing more than a performer if you don't have your own style. GD: We better throw in a Kosmic plug... Where can others find your songs, as well as other KFMF releases via FTP, and is there any WWW sites for the KFMF? MA: We have two FTP sites, one in the U.S. and one in Europe. Both of them are really big sites but have occasional hardware problems, so if one is down, try the other: US: ftp.wit.com in /klf/songs/ subdirectories Europe: ftp.luth.se in /pub/misc2/kosmic/songs/ subdirectories We also have WWW sites on both of these machines, in various states of disrepair: US: http://www.wit.com/~klf/ Europe: http://ftp.luth.se/pub/misc2/kosmic/www/ GD: Thanks for doing this interview! Hope to hear more from you and the rest of the Kosmic guys in the future. Anything you'd like to add before we close? MA: Yes. A huge thank you to all the people out there who listen and who have really let me know they appreciate the music. You are the reason behind the KFMF! ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' _____Optimizing Vector Transformations on a Pentium by Tom Verbeure About 7 years ago, I sold my Commodore 128 after 2 years programming and playing games (in C=64 mode) and bought my first 'big' computer: a 8088 clone, running at 8 Mhz with a hard disk of 32 MB. A few months later, I was programming in assembler and trying to get the maximum possible out of the processor. It was fun trying to make clever combinations of exotic instructions instead of the normal ones, just to win a few cycles. Back then, optimizing was a real art and the rules were not clear. Things have changed. Optimizing code on a 486 can be described by a few simple rules: 1. try to avoid anything but MOV, ADD and a bunch of other core-instructions. 2. Don't use the result of an instruction as in the next one. Demo coders might add: 3. Avoid floating point, use fixed point math. It's almost always faster. One of the only challenges left, is trying to find the best mapping of registers to avoid memory variables in a main loop. Since I bought a Pentium-90 about two months ago (yep, it has the famous FDIV bug), things have changed again and optimizing is fun again too: not only is the order in which instructions are executed extremely important, there's also a major shift in the way calculations are done: under optimal conditions, floating point adds are as fast as integer ones (1 cycle) and, much more important, floating point multiplications can be more than 5 times as fast as their integer brothers! During the rest of the article, I will show you how I optimized a standard vector transformation in floating point. Starting with the compiler generated code, ending with a routine that is about 40% faster. Testing Environment: * Pentium 90MHz with 8 mb ram * C Compiler: Watcom 10.0a C/C++. 32-bits protected mode. * Assembler: Tasm 3.0 * Dos extender: PMODE/W, public domain dos extender of Tran. * Timer: ZenTimer of Michael Abrash, converted to 32-bits, with a precision of 1 microsecond. ZenTimer and PMODE/W are available at Hornet. Timings were done as follows: Diskcache disabled, to prevent disk operations during timings. First a dummy loop was executed to time all overhead. The dummy loop had exactly the same instructions, only the call to XformVect was replaced by XformVectDummy, an empty routine in another c-file. (Don't place the dummy routine in the C-file with the timing code. Watcom is clever enough to eliminate the dummy code completely!) After the dummy loop, the main loop was executed, with XformVect. By subtracting the dummy time from the real time, one gets the time spend in XformVect. Results: I will upload the results and source code to Hornet as soon as possible. I hope to have FTP-access on Friday, but no promises... XFORMVECT: The caller of XformVect has to give three parameters: a source and destination vector and one 3x4 matrix to transform between them. As the bottom row of a transformation matrix is mostly [0.0 0.0 0.0 1.0], I removed it. XformVect, written in C, was already in optimized form: every loop was completely unrolled, it was just a sequence of 9 muls and 9 adds. As a worst case test, I compiled XformVect with full debugging mode on, without any optimizations. I used wdisasm to convert the resulting .obj file into a readable .asm file. The result (M1.ASM) is horrible and takes 98 cycles to execute (still faster than the best 486 code!). No further comments required. The second and third test were also compiled C code, with full optimizations enabled. Both resulted in the same code and would be near optimal on a 486. The calculations for the X,Y and Z components are identical, so just duplicate the listing below 2 times, update the offsets and you get the actual routine (M2.ASM). Next to the assembler instructions, the stack is listed as it is after execution of the instruction on the left . The first one being ST(0) and so on... C code: D->X=M[0][0]*S->X+M[0][1]*S->Y+M[0][2]*S->Z+M[0][3] EBX: Source Vector EDX: Matrix EAX: Destination Vector ST(0) ST(1) Asm FLD DWORD PTR [edx+4H] ; M01 FMUL DWORD PTR [ebx+4H] ; M01*S->Y FLD DWORD PTR [edx] ; M00 M01*S->Y FMUL DWORD PTR [ebx] ; M00*S->X M01*S->Y FADDP st(1) ; M00*S->X+M01*S->Y FLD DWORD PTR [edx+8H] ; M02 M00*S->X+M01*S->Y FMUL DWORD PTR [ebx+8H] ; M02*S->Z M00*S->X+M01*S->Y FADDP st(1) ; M02*S->Z+M00*S->X+M01*S->Y FADD DWORD PTR [edx+0cH] ; D->X FSTP DWORD PTR [eax] ; >From now on, S->X will be noted S0 and so on... This is very straightforward code and easy to understand. For those who have never played with floating point assembler: FLD pushes a float on the stack. FMUL multiplies its operand with the top of the stack and puts the result at the top of the stack, FADDP adds its operand to the top of the stack, places the result in the specified element and pops the top of the stack. FSTP stores the top of the stack and removes it. Ok. This code (3 times) takes 58 cycles to execute, resulting in nearly 28 MFlops at 90MHz. These are workstation-like numbers! At first, it doesn't seem a lot can be won by optimizing. However, several bad things happened in this code: FADDP is executed immediately after FMUL, causing one extra cycle and it is using the same register, causing another extra cycle. Please note that FLD after FMUL/FADD never adds an extra cycle to the FMUL/FADD, because we're not using the arithmetic unit or the result of a previous calculation. So, the first 4 instructions are optimal. How to avoid the extra cycles? Well, there is an instruction named FXCH that switches the top of the stack with its operand. So FXCH ST(2) puts ST(0) in ST(2) and vice versa. On a 486, FXCH costs about 3 cycles, so it wasn't used very often on that processor. On the Pentium however, it's the only floating point instruction that can run in the second pipeline parallel to a limited set of other instructions. It's no coincidence that this set consists of the most used instructions: FADD, FSUB, FMUL, FLD, FCOM, FUCOM, FCHS, FTST, FABS and, most famous of all (except in Australia ?), FDIV. This means that using FXCH after one of these instructions, no cycle penalty is generated. It is FREE, use it! This leads us to the first handcoded assembler version (M4.ASM). Only the code for one component has been modified. FLD DWORD PTR [EDX] ; M00 FMUL DWORD PTR [EBX] ; M00*S0 FLD DWORD PTR [EDX+4] ; M01 M00*S0 FMUL DWORD PTR [EBX+4] ; M01*S1 M00*S0 FLD DWORD PTR [EDX+8] ; M02 M01*S1 M00*S0 FMUL DWORD PTR [EBX+8] ; M02*S2 M01*S1 M00*S0 ==> FXCH ST(2) ; M00*S0 M01*S1 M02*S2 FADDP ST(1), ST ; M00*S0+M01*S1 M02*S2 FADDP ST(1), ST ; M00*S0+M01*S1+M02*S2 FADD DWORD PTR [EDX+12] ; D0 FSTP DWORD PTR [EAX] What has changed? After the FMUL, ST(0) is exchanged with ST(2), costing us nothing. Next, two already calculated values are added, causing no extra cycle to FMUL, because FADDP isn't executed immediately after FMUL and FADDP doesn't use a result of FMUL. This code takes 56 cycles, exactly the number we expected. Using this 'trick' for the 3 components, results in... 52 cycles (M5.ASM). Looking at each component separately won't help us much: there's just nothing to move or to load after the first FADDP. The first FSTP costs 2 cycles and uses the result for the previous instruction. That's a shame, because it costs us a cycle. We have 8 registers in our copro, so, just leave D[0] on stack and group all the FSTPs at the end. This is gives us M6.ASM: two FSTP's removed and placed at the end of XformVect. The last lines of M6.ASM now look like this: FADD DWORD PTR [EDX+44] ; D2 D1 D0 FSTP DWORD PTR [EAX+8] ; D1 D0 FSTP DWORD PTR [EAX+4] ; D0 FSTP DWORD PTR [EAX] Execution time of M6.ASM is 46 cycles. 6 less than M5.ASM. That's 2 cycles for each replaced FSTP ?! Two? Don't ask me why, I'm happy with it. But wait! We're doing it again: D[2] is stored immediately after it was calculated. Replace the last 4 lines with this (M7.ASM) ... FADD DWORD PTR [EDX+44] ; D2 D1 D0 FXCH ST(2) ; D0 D1 D2 FSTP DWORD PTR [EAX] ; D1 D2 FSTP DWORD PTR [EAX+4] ; D2 FSTP DWORD PTR [EAX+8] ... and ze rezultz ov ze Belgian Jury are... 43 cycles! I think that the trick of moving FSTP to the end of the file also helps for a 486. If someone can confirm this, please let me know. At this point, we have done everything to optimize individual calculations for the separate components and it was relatively easy to follow everything without writing down a complete stack-trace. We have shaved of 15 cycles from the initial 58, which is already a substantial improvement. Looking at the code, we can see that there are two conflicts for each component: two ADDs are executed after an ADD. If we can remove these conflicts, a 2*3=6 cycle improvement should be possible. These improvements are not as easy as before: a lot of instructions have to be moved to get the wanted speed. Let us first remove the conflicts in the first component. The original code looked like this: 1 FADDP ST(1), ST ; M00*S0+M01*S1 M02*S2 2 FADDP ST(1), ST ; M00*S0+M01*S1+M02*S2 3 FADD DWORD PTR [EDX+12] ; D0 4 FLD DWORD PTR [EDX+16] ; M10 D0 5 FMUL DWORD PTR [EBX] ; M10*S0 D0 Conflicts are at the (2) and (3). To remove the first conflict, place (4) immediately after (1). Exchange M[1][0] with M[0][2]*S[2]. There are no more calculations pending, now execute the FADDP (2). Exchange the result of the add with M[1][0] (hopping back to ST(0)). We can now safely execute (5). Exchange the result with the only remaining number on the stack et voile, we've eliminated the first conflict. Do the same with the second conflict and you get this result (M8.ASM) : 1 FADDP ST(1), ST ; M00*S0+M01*S1 M02*S2 4 FLD DWORD PTR [EDX+16] ; M10 M00*S0+M01*S1 M02*S2 FXCH ST(2) ; M02*S2 M00*S0+M01*S1 M10 2 FADDP ST(1), ST ; M00*S0+M01*S1+M02*S2 M10 FXCH ST(1) ; M10 M00*S0+M01*S1+M02*S2 5 FMUL DWORD PTR [EBX] ; M10*S0 M00*S0+M01*S1+M02*S2 FXCH ST(1) ; M00*S0+M01*S1+M02*S2 M10*S0 3 FADD DWORD PTR [EDX+12] ; D0 M10*S0 FXCH ST(1) ; M10*S0 D0 After dust had fallen back on the ground, one could time that, as expected, everything ran in 41 cycles, 2 cycles less. It is left as an exercise (don't you hate that phrase?) to do the same for the second component. Now let's have a look at the third component. Same problem here, but not the same solution: there isn't anything to load anymore! Let's have a look at it: 1 FADDP ST(1), ST ; M20*S0+M21*S1 M22*S2 D1 D0 2 FADDP ST(1), ST ; M20*S0+M21*S1+M22*S2 D1 D0 3 FADD DWORD PTR [EDX+44] ; D2 D1 D0 FXCH ST(2) ; D0 D1 D2 4 FSTP DWORD PTR [EAX] ; D1 D2 5 FSTP DWORD PTR [EAX+4] ; D2 6 FSTP DWORD PTR [EAX+8] Well. When there's nothing to load, let's store! After the first add, put A1 on top of the stack with FXCH and store it. This is the result (M9): 1 FADDP ST(1) ; M20*S0+M21*S1 D1 D0 M22*S2 FXCH ST(1) ; D1 M20*S0+M21*S1 D0 M22*S2 5 FSTP DWORD PTR [EAX+4] ; M20*S0+M21*S1 D0 M22*S2 2 FADDP ST(2) ; D0 M22*S2+M20*S0+M21*S1 4 FSTP DWORD PTR [EAX] ; M22*S2+M20*S0+M21*S1 3 FADD DWORD PTR [EDX+44] ; D2 6 FSTP DWORD PTR [EAX+8] <---- Conflict. Aaaargh. And now for the big disappointment: I've been moving instructions around and tried various combinations, but I can't eliminate the conflict on the last line. If someone can resolve it, please send your solution to DemoNews as soon as possible. As expected, we have saved (only) one cycle during the last step, giving a total running time of 38 cycles. On a 90MHz machine, this gives us almost 43 MFlops, or more than 11 000 000 vector transformations/second! These numbers certainly are comparable to lots of workstations. It is very important to notice that this kind of optimization is unlike traditional optimization techniques, used in demos or games: we haven't replaced calculations by tables or removed mults using a special trick. On the contrary: we have added instructions and haven't removed a single one! On a 486, one could suppose there were some RISCy things hidden behind the surface, now, it is so apparent, you just can't ignore it. Make use of it! I wasn't able to time my code on a 486, but as we have added 10 FXCH instructions, I think M9.ASM might be slower than the original, compiler generated code. Moving FSTP to the end should be beneficial for both processors, though. What are the implications of all this: First, when your program is speed-critical and math-intensive, you can't just ignore the 486 and are almost forced to create a separate version for each processor. If you can avoid floating point math but need lots of multiplications, create an integer version for the 486 and a float point version for the Pentium. Secondly, even when you don't hand-optimize your floating point code, the speed-increase can be big. If you do optimize, it can be Very Big. Perhaps the most important implication, is that one might win even more by redesigning the whole algorithm. I have a specific routine of my 3D engine in mind, but I haven't tested it. I will try it in the future. If I was right, I'll write about it. I realize that a lot of people don't have a Pentium yet, and that it will take some time until it becomes the standard machine at demo parties. Nevertheless, I think one has to be ready for a big shift in the way we approach algorithms, code optimization and the use of floating point, especially in demos. -Tom Verbeure / Synergy Design References: * Pentium Processor User's Manual: Volume 3, Architecture and programming Manual, Intel 1994, ISBN 1-55512-223-X * Pentium Optimizations and Numeric Performance, Stephen S. Fried, Dr. Dobb's Journal, January 1995 * Zen of Code Optimization, Michael Abrash, Coriolis Group Books 1994, ISBN 1-883577-03-9 * Mijn eerste kompjoeter, Annie M.G. Schmidt Starting with the "begin 600" is a uuencoded copy of the source code referred to in this article. begin 600 vector_t.zip M4$L#!!0 @ ( %J@.QZJ=8:)"@$ ,8+ & 33$N05--W99+B\(P%(7W M0O]#E@Y&:$(7,KL98NFBI:$/9T!$^HC@0BR3+OKSI\$9%]-KQJ)5FKO)XGPY MO6ERX'[NCE^'E2CJ[2M2Q=/84ZLH&FN"_M19E'N-6.K$O.J*0;A"/R(6$@#B M]/T$R K;IRJ\RS[L(XP8XDF$UJWEO&4W6&3-U1L6BB^OYQW%YQJ^_3CN?J/+ MNS[K^&?-S(%8C3?(NT'JW\&[1]^#-0V!;XSQ=I7UE+Q@60]V%XL![P+NXU$G M4S'I90YO^+]?-T[XK:^ES\'(2/,S([9G9(:(N2$BSPW1H,^1CC5'U- <47-S M1)^<(_V?E14&!UD>C)7%HVRXHX(MV(]2X?P/,G_$VZ8R^R1)2DL1.8)HUU]K"Y[X(W_-?6[;[; MTKI/;+4"$\H! >5@CW"NGKU$K'T1-0 M2P,$% " @ =* ['IFB 1S_ 0 &@@ 8 !--"Y!4TVUE6UOVC 0QU\[ M$M_AWF4MT50\-*&BOC"QRZKE2;&S(B&$& G:I%)0""H?O[83J/+0C$[4BHA] M=[__70YR?.T/OF\[!D(><1G(Y1(A+^=1V1S?)@[O&!V#CD,_"N"TCD?;][BP M]">VYI0(8LU'7"-SP2;BC0#.QB[S!-!'/Z001"/GP0;3]BDS(>+L&U89">>1 MJL/FMSEO47Z;)[?X<:=+(^&8<4'LGRH70H4>3%:;=/TK669S91\"(Q.X YKL M,F74%JHL[B)+_Q[T>:3.?+-/ETD>TS'>5" (?1L\1D*990@/SUFZB??+)(;- M;00V0NJJ]9>D2(T.;P(9,@Q.%)3!MY^L/5.)EW!DBLH&J^EWV!5\A M5&U(,UYH*WP1Q]L<[UU9\E93Z)XA@,[%NPUTM86]W+/+MB7/XC#3/Y1[A^JW MH7@+1%A0_1\*NW]:4&UAU :G)JTRUJD!FU5%,X&-6EJ4EOF M !=!U;LHGNG]4O#_-P1?KB'XH@W!K0T9% T)F2@-(.;10#F:9JKTZ5D[O+O$ MZAAZD/]K9NMA#:8:]F8=^922\,=+PI]7DOZ?^UB7JLC%2QIQ#F>6)$/-.G&L M""&Y4YM74$L#!!0 @ ( (*@.QYP&=]89 ( *$* & 338N05--M59; MCYI %'X>$__#>;-;2>.,UI@U^X! 3%,5XV#7Q!##"MMMLE8#F/KS.Q? 80'% MQ#5$8?@NAS-?\'SK#?J'9@.AF3ZUT%1WV#%YY@L3V] GM-EH-LSQPE[.$4+R MU[!GU-'$-]$VIN[HVF9$!7+C6"N' :DUGEHS!\QG>V'"?#F:_#"@9=BFU8(E MM;J$&^B4+IFG01\%#323/DHKC:9GHA!],;:HHQL_N05"4@ZM7O?A[E>PC3=\ M>0B6OH(G,(,HYHMBQ>0K4R\._YS$]8A?T_TQW 82TVR<56"^L V86?J"F0R! M>KL O BFW\7ERS&&*-Z'002_P_WQ$/C@Q1"_!1#\]45=K^\^(/_?/O3A$(>P M#OR3"XRY6W=<=G#$[OB>0[SD$%^C!%84:O?<%(==*!"*NCD"PV$7U7 99"3" M7-8JO9:IRF>*J*UN*^[ WF+@GT0B!P5DR&+1$EG4Q4/F8)K3H;6,U&3<,S ME:2&2I?KV0\4C30E5W4*4<%J5 KT1#FCE^XX5G?\KA+M*H5"0P/3;(C9I&H,$?,'M/C$__#>7.[FDUG2@RIZ0,":3:K8AS< M-FF(H8*IB8J!,=N?OW-!0 &EB6U(Q>&[G#GS!<\O3>_OVRV$)L;81F/#Y=?H M12R,'-,8T7:KW;*>9\Y\BA!2GZ8SH6Y/_B>]A66X1F\QI!*Y<.U7EP.I_3RV M)RY8+\[,@NE\./IM0L=T++L# M;>H:YA]A@9"20Z^K*-[^#9=L(98'8!NO\ 16F#"Q*%!ZL?B*#@L0UA]+C_ 9\ ^ M0@AW@02S",+->KO>^2R$A$5Q",MHM]JLE0E:;0((_D5Q 'L6PUL8?'J .&_[ M=N_Q2R"VAPTJ0MX%)$/\3%)82:BK>9D2]J!$*.L*1D;@..RAZRYZ[D*XRUN1 MWLA4]W(^QY'4M%:"=QDE[ >Y0PB=]:&*F8H*IA\$>T'%=SU^%B5V]W;L;@49 MG34.$[%Q7^ZJNK6XG_86"Y<4>B$0."LFPY9%R7TNJK990:O/!BYFHYFAEAN2 MHV&AR\WL=2_7.*;DJDXI*K@8E1(]5<[HE2>.BR=^4XENG<)Y+K^2#%/-Q>YWN19GSL&F:"MLIM&+_?J%!ZJ67L/V)FJ]" M=@73S0QKGNO*/P[9R:^T/;&FXD%QW.!K3 M0[^E!/*%&L@W%"&'NV8U'*$W+V%(Z94*.**3 8_^\DZEY#]02P,$% " @ ME: ['NMQV_> @ [ L 8 !-."Y!4TVU5F^+HD =;O*T4P1 MLK$O3"6.*XW&;H.0\++E#C8*<[D^_CDS:F,SFD(;4C8^S_/[,\_([_O0&)VZ M'0!<<^Z N>FGU^R-+LP\RYR1;J?;L:=+;[4 /!?RW.)K[-OK&]MTS?U[80P MY-9WUGX*),YT[K@^M-^\I0T7J\GLAP5[EF<[/;@BS@#3 "8AJS2F15X8#>HV M>>&A=)+?L43,Y=0AOFG]I"$ X')@_7Z,#[_VNV1+E\?0,=?P%=K[T0UVFBIJL@>PWH=Q(W1MASM-@0*R@U%12J\F(92/!.%204M)M%< M4)%2JZ(RJV0=DK8,TRT+LXR0RELWK. 53 M%?!*+4J_==-PP)N"ZCJLC-5H8JZ@^%!O%WXSDYE=1" M;K([&*T(6/'+^$P M:Q"I]$5,@ARGB;CQ*D@0SUCNH*+$E.O'O_V3Q(W979.C%6GM=I[?/+,[DVZ_ MV:/AN=L!('#F/I@[$7G/GNG"+'2=&>YVNAUON@Q7"P _^Z& 8Y,]A696\^) M'',[P2QR&_GKB 1B?SKW@PAZS^'2@XO59/;=A3TW]/P>7&%_@&@"!^,5R>GB M1R:#IH2H3%Y^8$6GR&/K.&CY![W#) MZ");\>C*?)>E?][9SQ/Z,SZ]I?L#C^EVKA2X6(8N#'QGR=*\O"80)']/:0+/ M60HWA^0]AF ,CYM^3-XTXOCV6HGX58GX>LG#ZB##CHLX*X8U09U;$9 X*P8- MLHQ*$2)9-J*\45)13^)0GE2)>-__!I?L"WH Y%7=!YDRA_+=WB7)F8JM!Q-> MLIK>T.EI\>"V>&O(W5N4T8:EJ4*CA$6J]N48"DYIQ2JM\&(:HK@329,*+(9H M#I18:E54WBKY#M6.#-$CV^6.K)OVKITPZI5V/N/,O7SB$9\'LFVRU3R1AB6C<"; MV-+D5(\FJ@R"BB%U8/=+!"H4558+.R.!54YI4W/Y"=G5!BH?N5J,XH]CG60T M!=6>';M\GC0L&>62G2N[M!,/K3E(K N5CF[C#"55;N4Z5PT BK:W;=[VRG)' M7)L>LLK]T0^\!?V%>!$F:^QB/'[ZB%>WPV[=J@LVNUG#'KV1]ZZAGV(!M?" M/L$$^[>CF87\XV M,9,! !^! "0 $U!5$U!5$@N0ZU276OB0!1]CN!_N+@O2]D)G S*3$7?K?.Q_5&'!!82?SDG//.??YE?;WC&B:8[9L\P=SOO)>70'+_&/]X>YR]I3]G\W2R\&,C_#C,8[E/N%+6 M[0D%0TZ;]ZK(:0,/9256:*K 4($2&9>&GRE"-Q=,C\8SGQWQ8.K_FND 0PCO M4"H#1+ JN53@QG;B/;;G-EV_3F0O_GZ[&$/K@IS!ZV"I=]3H-#& OCD*,.L? MDK@M>3Y#DK0E+\>2AC5RW%B=QT;.QB%P;I.1_O>P[RH&];:/8EBLYO(^_, MMII;Q"J)*\'XBD&*-[' >2Q+>, ;5N9,P')3\Q26():VU1^HDC<@$EZG#'^J M9 J%M_I\Q#C\/())(5XE-C(KC;IPR00K8W[,G8=QZJV<+FG*=QT??[&X+D'(C#@+T(A3A6:]#*< M;!/.*J?SBB@F&2]BZ1HT(.W<_\*O=0@^OK.2+E_ MTM(;>@902P$"% 4 ( " !:H#L>JG6&B0H! #&"P !@ ! " M 33$N05--4$L! A0 % " @ 9Z ['F/Q*,"< / , 8 M 0 @ +@$ $TR+D%335!+ 0(4 !0 @ ( '2@.QZ9H@$<_P$ !H( M & $ ( .X! !--"Y!4TU02P$"% 4 ( " ""H#L>".@2=*0" !]#0 !@ ! " #K M"P 33DN05--4$L! A0 % " @ SJ ['E_.-C&3 0 ?@0 D M 0 @ LPX $U!5$U!5$@N0U!+ 0(4 !0 @ ( -.@.QYXU$+:N0$ "<$ M ) $ ( &T0 !-051415-4+D-02P4& D "0#: 0 &31( end ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Hi there. For this article in DemoNews, I decided to break from my normal "humour" section, and present something else. I wrote this essay a few years ago, when I was in Form 4 (Standard 8/Grade 10). I converted it faithfully, with no alterations (though I wanted to make one or two! ;-) It didn't get a very good mark, but hey, what does that prove? ;) I only hope it doesn't destroy my happy-go-lucky reputation :) _____The Perfect Body The lady behind the desk was an exxelon. Duke hated her instantly. She was exquisite in every detail. The rounded figure, the full mouth, the blond hair, each of these features made her more warped in his eyes. "Good morning," she said, the silken syllables tinkling into place like cold spring water. His hatred grew even more intense. "May I help you?" she asked, unaware of the disgust written over his face. Go help yourself, he snarled to himself. You traitor to your race, to your heritage, to nature itself. He hated her. "I am here to see Mr. Linard," he said, trying to keep the disgust out of his voice. "I have an appointment." "One moment please," sung the goddess in the chair before him. "I will see if he is in." Duke took a step back, too repulsed to be standing so close to her. "Go right in," she smiled, showing a perfect row of teeth. Duke walked passed the desk, careful not to get too close in case he touched the exquisite, disgusting skin. He opened the office door and walked inside. A normal was sitting at the desk. Duke was astonished, and he jerked back in surprise. Shaking, he closed the door and seated himself on the luxuriant leather recliner in front of the desk. The man behind the desk smiled. He had crooked teeth, stained with nicotine. Duke felt as if he had never seen a more beautiful sight. "I can see that you are surprised that I am not an exxelon," the man grinned. "My name is Samule Linard. I am the president of the Exxelon Corporation. I have been looking forward to our little meeting." Duke, so astonished by the sight of another normal, merely nodded. "I was watching you when you entered the building. It is surprising that you hate the exxelons so. You must realise that they are the future. A future which, I might add, you yourself may become a part." "Plastic bastards!" snarled Duke. "That blond at your desk was probably a hag with no teeth a few months ago. They're all so much plastic dolls. Wind them up and watch them go." He spat on the carpet. "I hate them all." The smile did not waver. "What you are experiencing is only natural. You want to be one of them, but you are also frightened. I am here to help you through this stage and into perfection." "Go psych out someone else, shrink." The words that Duke spoke were however much harder then his tone. He tried to collect himself. "I'm no traitor to my race, not like those wax dummies out there." Linards smile widened. "I see that you have the wrong idea about our operation here. A few years ago, we at Exxelon Corporation realised that with technology as far advanced as it is, disease, tooth decay, old age ... none of it needed to occur. We allow people to become what they want. A small amount of money for a new body. Become young again, change your color, change your face. Perfect bodies for the perfect age. Welcome to Utopia, Duke, no sickness or death anywhere. Every human is the perfect human. And you can be too." "And along the way, people lose their heritage, their individuality." Duke kept his voice steady, but a flicker of uncertainty crossed his eyes. Linard smiled. He knew he had him. "Tell me Duke, when did you last see an act of racialism? Or heard about one? Not for quite a long time, I'm sure. We have destroyed the greatest barrier to peace ever faced by man! Everyone is now, in almost every way, truly equal! Who do you know that plays sport? Why bother, when bulging muscles are just an hour of surgery away? You can become young again, Duke, young and fit. You never have to grow old. You can become truly immortal!" The interview did not continue for much longer then that. Duke left the room, promising to "think about it", with Linard knowing that he would be back. They all came back. He reached over the desk and flipped a switch, and activated the hidden recorder. He paced up and down the room as he spoke. "Report for the Directors meeting next week. Ladies and gentlemen, the time has arrived. We have achieved the last convert. Every single person on the planet, aside of course from the board of directors, is, or is about to be, an exxelon. In approximately one month, people will realise that after a while, their perfect bodies will begin to decay. And the only way to maintain eternal youth, is to come back to us for more surgery. The members of the board will surely recognise that, in addition to becoming the richest people on the planet, they will also be the most powerful. Anyone who does not cooperate will be allowed to grow old and die, and the fact that all the exxelons have been sterilised ensures that there will be no unconverted, rebellious youth to contend with. The directors of course will not have these restrictions when they are converted. Fellow directors, we have complete control of the planet Earth. This is the true Utopia, and we are it's collective Gods. We shall rule supreme. Forever." - Denthor denthor@beastie.cs.und.ac.za ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - Musicman left epinicon - Necros won't be at NAID - Zer0 wastes too much time with MUD's - Quarex has been averaging 4 glasses of milk a day since age 4. ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' _____How to Get 'em After reading this issue of DemoNews, you may be wondering how you can get previous ones. Well fear not! There are two different ways to do so: 1: FTP to hornet.eng.ufl.edu and go to /pub/msdos/demos/news/OLD_NEWS and start downloading anything you see. 2: Now you can request back issues of DemoNews via e-mail. Start a letter to listserver@oliver.sun.ac.za (any subject line) and in the body of the letter include "get demuan-list " where INDEX refers to the index number of the issue. For example: get demuan-list 43 This would retrieve DemoNews #76 (part 1 of 2). For more recent issues that are split into multiple parts, you must send an individual request for each index number. _____Descriptions Issue Index Date Size Description ----- ----- -------- ------ ---------------------------------------------- 76 43,44 12/25/94 92589 Interview with EMF, DemoNews Readers Write, Kimba's Life Story, X-Mas in the Demo Scene, CORE, Demo & Music Database, Interview with Purple Motion/Future Crew, Interview with Krystall/Astek, Common Sense ][ by Perisoft, Its X-Mas in Africa, Interview with Maxwood of Majic 12, Assembly Part ][, Common Sense Response by Stony. 77 45,46 01/01/95 101100 Chart History, Snowman Near-Disaster, Son of Snowman, The Party 1994, Making Waves, Using Assembly Part 2. 78 47-49 01/08/95 111185 The Party 1994: Results and Reviews, Report by Stony and Friends, What happened to PC- Demo competition. Editorial: TP94 = ASM94 part 2. Egg2: Trancescrambled Review, More on Fast Tracker 2.03. General Rambling by Denthor. 79 51 01/15/95 41832 A Day in the Life of Snowman, Ambient Sample CD 1, Where's the Sound Blaster, TP94 Graphics review. 80 55 01/22/95 27028 DemoNews/HTML, Traffic Jam, CodeThink(School); The Solo Sample CD 81 58,59 01/29/95 53434 NAID Survival Guide, General Protection Relationships, Ctrl-Alt-Delete, Now Its a Game!, Assembly Part 3 (It ain't no party), BSP Trees ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' _____Mind Side Out // Intro for : cd_demo1.zip If you're looking for a fresh, new band to check out, I highly suggest checking out MSO. I happened upon this band by chance, after reading an advertisement on the wall of a local record shop. I found their internet address and talked with one of the members, and decided to give them a try. I'm glad I did. Anyhow, here's a review of the Phoenix band's first and only cd, Synergy. Synergy is a compilation of a Phoenix synthpop bands three cassettes. >From my understanding, it was completely done by the band themselves. The album chonricles the band's past four years, where they've been and where they are going. The album is split into three 'phases.' Phase 3 starts off the album, with their most recent material. It opens with a wonderful track called 'Sacrifices.' The intro to the song immediately reminded me of Red Flag. Very well written song, kept up the synthpoppy programming, but with an industrial flare. The other tracks on this phase keep up this feel, some a little harder, some not so hard. At times, Roman Chance's vocals sound almost a bit like Michael Hutchance of INXS. You sit there listening to the song, trying to get over the fact that he can sound almost exactly like him. One of the best and most memorable tracks from the Phase, is Twist (blood mix). No, its not an NIN cover of the pre-ring finger track. Its an original song, with a very catchy sound. Twist, also appears in different mixes in the other two stages, but the stage three mix is the best, IMHO. Phase 3 ends with the track 'money' which askes the question, "what's gonna happen to us when the money goes?" Very playful programming on this track. Phase two opens up with a kinda Cause & Effect-ish type of track. Good steady beat, great programming and awesome vocals. No Michael Hutchance on this track. The most memorable track in this phase, aside from the catchy opening track, 'can't tell' has to be 'mariana diving.' Nice, calm, relaxing beat and programming. It opens with an beach sample, with the waves coming onto shore. The song creates a different kind of mood from the other tracks, not as energetic, a sort of laid back mood. Most of the tracks on this phase aren't as hard as phase three. Mostly reminiscent of a combination of Red Flag and Cause & Effect, if I had to think of someone they sounded like. They in no way copy either band's sounds and nicely develope a sound, all their own. Another song that touched me personally on this phase was the 14th track, called 'more.' A lyrically rich song, one definately worth a listen. Phase one ends the cd compilation with tracks 16 through 20. The programming and sound quality on these tracks isn't quite as complex as the other two phases, but that's not to say that these tracks are bad. In fact, most of them are really good. These tracks reminded me a lot of early Depeche Mode stuff, but with a modern drum machine. Real playful sounds, intense programming, and unlike early dm stuff, intense lyrics. One of my favorite tracks on this album is in this phase. 'spirits of jealousy's' lyrics hit home for me. Perhaps thats why I liked it so much. This track also features a female back up vocalist, who actually doesn't ruin the track unlike most back up vocalists. Overall, a very decent effort by an unsigned band. They are in the process of putting up a home page, I will annouce it here (if they don't themselves) when its up. Or, you can always look at http://mcmuse.mc.maricopa.edu/~xymox/ to see if its there, and my other links. Check out the demo: cd_demo1 if you would like a sample. If you are interested in the band, I can give you information on how to get a hold of their cd. Email me at: xymox@primenet.com or Mind Side Out at: mndlink@primenet.com / Enjoy the demo! _____Help Me! Hi mod fellows!! I have a big question for you . Would you answer me? I hope so :) Well , I am looking for spanish techno mod's, specially if they are made in Valencia, if you have any idea please contact me PLEASEEEEEE!!!!!!! There is a song I had heard that it's really good, it's call "Poem without words" is a really cool techno song that I heard last summer in Spain, is anyone knows if is available in mod format please let me know! :) Thanks! Jose Luis Torres R. e@mail: treboll@a.cs.okstate.edu Wait for my new release of my own techno mix is gonna be one of the best you had ever seen, it's a mix based on the best songs that last summer were heared in Spain, if you know what I am talking about wait for my mod file and you'll see. ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., <> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' I've been watching a lot of David Letterman lately. That show has inspired this week's Top 10 list for DemoNews: Top 10 Mistakes of Beginning Assembly Language Coders: 9. Using ANSI standards to make sure code is portable to different platforms 8. XOR AX,0 used to clear out registers 7. Look ma', no stack! 6. "What does that 'H' after all the numbers mean?" 5. "PUSH and POP? Isn't that by Nine Inch Nails?" 4. INT 2H graphics mode 3. Storing sin and cos tables at address 0000:0001H for easy access 2. "I do not need sleep, I can code Assembler" 1. "Comments are sissy" 0. One word: "MASM" See you in CyberSpace, -Christopher G. Mann (Snowman)- r3cgm@dax.cc.uakron.edu ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,End.of.DemoNews.082.