 ______/\___________________________      __  ________________ ___  /\_______
 \____   \  ________ _   _ ______   \    /  \|  \  ________   |   \/  ______/
 /   |    \  _)   \   \_/   \   |    \  /    \   \  _)   \    |    \______  \
/    |     \       \   |     \  |     \/          \       \  /~\    \    /   \
\_____     /_______/___|     /________/\____\_____/_______/_________/________/
 ===\_____/============|____/========================================[+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,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.part.1.of.3

SIZE:  81,428  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

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<HORNET News>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

_____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.

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<New Uploads>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   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>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

_____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 <g>. 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!).

DemoNews.082.continued.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.part.2.of.3

             SECTIONS          ARTICLES
             ----------------  -----------------------------------
             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

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<Music>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

_____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!

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<Code>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

_____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]        ; <empty>

 >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><G1QRCV+X'S\*TJ=",WDT3*Q)M]02P,$%  "  @ 9Z [
M'F/Q*,"<    / ,   8   !-,BY!4TVMD#T+PC 0AN<4^A\R*NG0"P[B)IRA
M0\40XP=(*;7&302;H3_?+E:K)D/)C??POMP]Q^O]<=N;VI8+2D2.E.!AHY!*
MK>C)7%HVRXHX(MV(]2X?P/,G_$VZ8R^R1)2DL1.8)HUU]K"Y[X(W_-?6[;[;
MTKI/;+4<T*IU?\-@M @&:19,!H2U 3X;_J_X>"$\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<P*KP_*/SK]ZBA&*7S9I#-LLA6D2'V9(QJ^G-S-YJ8CU_JD4\;L4<;TKPNI"
MW?[L&->;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<CI^I57V;N? >]: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<XDIA62IRV;RB*OY 'Q#[Y/I0Q$U'.]'S_P*GX06/;4F"W[\=N
MEY _]@T3_N">>*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<R.=B]')\N
MD4TC27QPC0P1M8OXXKYV^YF\?/XJ;G6:B)JF&ZQ[G8Q?^M*YH9*!HI0&B]02
M*Z2+J.DJ:)PW%E_)!U'S<7^=]D690JM[,FP?H5%\R$&]I)770+WS6Z_LODQS
M&,2Y?UEK9L[Y#75<8&MB?!@^W>/3;(C9I&H,$?,'M/C<TCI#/Z4$<D,-Y!.*
M$,-9O1I2Z-U+&%%ZI0*&:&7 U%^<\9/_4$L#!!0  @ ( (N@.QYFP(-HB@(
M .,*   &    33<N05--M59;;Z) %'X>$__#>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#<VH_$&%@4#KGGB9]E#3H6?116?7H\4X68LR>
M;>H:YA]A@9"20Z^K*-[^#9=L(98'8!NO\ 16F#"Q*%<LL3+V6;S^E-^'XCN-
M#O$R5)AV*U>!Z<PQ86(;,VXR@,3?AN G,.[#^X'!>L?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<HBNDH.]B_%Y
M(&GC21H?W"!#I-A%?.E<'_JYO-I_';<^3:28IN;6VGUN7?G2^4(ENI<K'8-%
M&HF5TD6*Z2IIY >+K^2#%/-Q>YWN19GSL&F:"MLIM&+_?J%!ZJ67L/V)FJ]"
M=@73S0QKGNO*/P[9R:^T/;&FXD%QW.!K<OP8/-WBK]V2LTW=&"/G%^B(N:>3
M0[^E!/*%&L@W%"&'NV8U'*$W+V%(Z94*.**3 8_^\DZEY#]02P,$%  "  @
ME: ['NMQV_>  @  [ L   8   !-."Y!4TVU5F^+HD <?CU!WV'>=;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[<T(7V8I-
M5^9A$O^]L/\3^I\</^/=GF.ZG:L*7"P]"[J.N61AWC\B"*)_QSB"IR2&FWUT
M"2 8P\.F'Z0711P^/TJ(WR7$\SF#R4+:,,AQ*( 20=8M$5(<"D"#*$9!PFF4
MC4AO%%3DISB<!:V4N.S^@'/R#3^!]%/N@XJ9B?)NAU%THF3TI,-S(O&U.CXM
M'MP6CT8\>T0UVFBIJL@>PWH=Q(W1MASM-@0*R@U%12J\F(92/!.%204M)M%<
M4)%2JZ(RJV0=DK8,TRT+LXR0RELWK<C2#PM5Q2G _<((Z$8X(]:=."2>. 53
M%?!*+4J_=<G=\(:@D9^]NSJ2=9%X "5ZOCLY76E:).[O0R6T*@6IH0;W!0KJ
M=WJ >=-PP)N"ZCJ<O:JQV$54NZ^#42'/ZZ_B5KL)BVYJ$7K8+_C*5WF+3 Q!
M*3<6;B0FN0N+[I(TKAN+[O@#B_YXO(Y6*R.U>LC-5H8JZ@^%!O%WXSDYE=1"
M;K([&*T(6/'<X/'C?5(:5QS77M 'XMR5KK$Y;/SZB$^WPX:\JGF.#7*P1P?
MWA7Z)2G@%CG@+TB"3;G-<LBA#T]A0LB=#%)$KP#F\=D==\E_4$L#!!0  @ (
M +&@.QX(Z!)TI (  'T-   &    33DN05--M9=O:^) $,9?K^!WV'=>+^$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:#IH<?>2H3%Y^8$6<Y]7'DN#]H"@ X#JQ?3NGQYV&?;>GR&/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)OVKITPZI<G3$]#IM-/DR6<9?.L5W%9F):B
M'R[K=I/N.)*UA-"0(DYEINC-@<C0J PQB6)7!HB7@^*KO TR+VM0[?1ZK J-
M9*-WAV5H49('05[<G7(JV#LSB(09;(>5V/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$$^[>CF8<B],,M3#"^XX!$],K (C_[Q+OD'U!+ P04  ( " #.H#L>7\XV
M,9,!  !^!   "0   $U!5$U!5$@N0ZU276OB0!1]CN!_N+@O2<RV)L*^6/M4
M L):%]LMMD5*,%>]D)G S*3$7?K?.Q_5&'!!82?SDG//.??<F?E&?%54.<*-
M5(+XYFI[V^TT(,O4UD)'8*\>YE?;WC&B:8[9L\P<U\01O+0H14KUM"KNYWX=
M[0+/K\-=8#C78;?C/:#ZS4GM%NM2,(-Z$_U+64$248"%(2LD(/(M4BYU$T%U
MMQ->=SOO)>70<O 7Z6P^=3+=Y*_V(ZZ 1M::(9.H?%N-!I&D/UBNG20('$67
M?!H/1G0S'%&_KST\S_)?::GW>'+_&/]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+\>2AC5<NKMI<C^?SAU?GCN^/'=\5N[X5.Z7T[F3RW,GE^=.
MSLJ='')_G'J!=Q5CN__R#+_L/P%02P,$%  "  @ TZ ['GC40MJY 0  )P0
M  D   !-051415-4+D.UDUUKVS 4AJ]E\'\0'BERICE.PBZV+H.M:TJAJ4WK
MCJSDQK/EY#!9#K8<&DK_>RW%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<G9FR# 1#
M7R\OKH(@O+Z;H;%O\)ZA\7O?]U7!IH 4Y3$(HDZN;3TVN[B\CL8C!%3MY*RH
MA:01)+\J^JW.\ZT^GMH61O-I<#/3BYMG19DW#(6!JD7A</(X]'S:?D_=T.A4
MZ3;@ELD[ 7*KB\FAC:OCJ.*,K<FPO1GEB:^:38N2 #53NLHV"N\CR%D9"-*6
MZ3PSQ3Y919 6^\X2J7N3DW!$#Q[H2;A7/C3-LD-7X^;MI UK 9V GG;OZ?^8
M_2>??[&X+D'(C#@+T<L<&HZ\N0Z^PC]^C^];&1-8"+.9C[C'@>(A3A6:]#*<
M;!/.*J?SBB@F&2]BZ1HT(.W<_<Z^^A_\(PL+\5)D]Z_F->\*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><!G?
M6&0"  "A"@  !@         ! "     1!   338N05--4$L! A0 %  "  @
MBZ ['F; @VB* @  XPH   8          0 @    F08  $TW+D%335!+ 0(4
M !0  @ ( )6@.Q[K<=OW@ (  .P+   &          $ (    $<)  !-."Y!
M4TU02P$"%  4  ( " "QH#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

DemoNews.082.continued.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.part.3.of.3

             SECTIONS          ARTICLES
             ----------------  -----------------------------------
             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

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<Denthor's High School Essays>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 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

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<Rumors>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

- 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.

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<Back Issues>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

_____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 <index>" 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

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<Advertisements>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

_____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.

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,

 <<Closing Comments>>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

 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.

