______/\___________________________      __  ________________ ___  /\_______
\____   \  ________ _   _ ______   \    /  \|  \  ________   |   \/  ______/
/   |    \  _)   \   \_/   \   |    \  /    \   \  _)   \    |    \______  \
/    |     \       \   |     \  |     \/          \       \  /~\    \    /   \
\_____     /_______/___|     /________/\____\_____/_______/_________/________/
===\_____/============|____/========================================[+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)-
                           [email protected]

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

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

<<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) - [email protected]

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

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

<<Music>>

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

_____Interview with Maelcum
      _    _               _
     / \  / \  ___  _____ | | ____ __      _   _
    /   \/   \/ _ \/ ___ \| |/ __// /   __/ \_/ \  Interview with Maelcum
---/  /\__/\  \/ \ \ \_/ /| | /   \ \   \ \/\_/\ \------------------------
   \  \    /  /\_/  \   /_| |\ \___\ \__/ /\   / /     of the Kosmic
    \__\  /__/\___/\_\_____\| \____\\____/\_\ /_/  Free Music Foundation

GD = GraveDigger of uuDW/CoRE ............. [email protected]
MA = Maelcum of Kosmic .................... [email protected]
--------------------------------------------------------------------------

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  @ ( %[email protected]=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'[email protected]%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  @ ( ([email protected](-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  @ ( '[email protected]@$<_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  @ ( )[email protected][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  @ ( [email protected]$+:N0$  "<$
M   )          $ (    &T0  !-051415-4+D-02P4&      D "0#: 0
&31(

end

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

<<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    [email protected]

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

<<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 [email protected] (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: [email protected] or Mind Side Out at:
  [email protected]  /  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: [email protected]

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)-
                           [email protected]

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,End.of.DemoNews.082.