pouët.net

Copper by Surprise!Productions [web]

                                 *C*O*P*P*E*R*
                                ~~~~~~~~~~~~~~~
                  Copyright (C) 1992 by Surprise! productions


       This  file gives some informations and (technical) details about
       the Copper demo. Of course you don't have to read this shit, but
       I would apreciate if you do it anyway....

       Copper requires:

       * About 430k of free memory. The Exe-file itself needs about 330
         kilobytes  (uncompressed), approx. 96kb more are needed during
         program execution.
       * A more or less 100% IBM compatible standard VGA
       * an Adlib,  SoundBlaster, SoundBlaster Pro, Thunderboard or any
         other  Adlib  compatible  Soundcard.  Without  a soundcard you
         won't hear much of the whacky sound :-(

       This  demo  is some kind of unusual for PC demos. A lot of demos
       achive their effects by massive usage of the CPU.
       But  this  one  hardly uses the CPU, the effects are achieved by
       hardware functions of the VGA.
       A  tipical example for a 'CPU-heavy' program is the fucking best
       PC  demo ever made: Unreal by the Future Crew. On fast CPU's the
       demo's  great.  But on a slow CPU, for example a 386SX or even a
       286 the action gets a bit sickening.
       This  is  because nearly everything from grafics to sound output
       is done by our poor and lonesome CPU.
       I  wanted to create a demo which simulates a copper in a PC. For
       your  information:  The copper chip is one of the AMIGA's chips.
       Besides  of  the  blitter, the copper is the main reason for the
       AMIGA's great grafics and demo capabilities.

       I'm  not the first to simulate a copper. Quite a few coders have
       found  out how to do it. But they only used the copper trick for
       changing the colors each raster line.
       I  want to show all those coders that far more powerfull effects
       can  be  done  by  this mighty copper trick, even in combination
       with  music. (By the way, 'copper' is often also called 'raster'
       trick on PC)

       To  say  it  loud and clear: !ALL! effects occuring in this demo
       are  hardware  functions of the VGA! Believe it or not.
       The  only  problem  is, that these hardware functions have to be
       absolutely  perfectly timed. This is quite difficult, because no
       two  CPU's  run at the same speed. But! since this demo is based
       on  Hardware  effects,  this  demo  depends very much on the VGA
       adaptor in your machine...
       If  you've got an cool adaptor such as a Tseng ET4000, this demo
       should run perfectly on a 286.
       But  if  you've  got a xy-taiwan-0%-compatible-slow-vram then it
       won't  help  much to have a 486! So don't blame the coder, blame
       your hardware!

       I  can't  guarantee  that this demo will run on each PC! Anybody
       who  ever  has  written  a demo for the IBM knows, how difficult
       that is. And because of the difficult, complex and tricky timing
       and synchronisation algorthims I had to use, I guess this demo's
       gonna  bug  on  quite  a lot machines. But if it does work, then
       you'll see a great show.

       Copper has been tested with the following configurations:

             * 486, 33/16 Mhz, Tseng ET4000
             * 486, 50/25 Mhz, Tseng ET4000 (8-Bit DAC's)
             * 386, 33 Mhz, Tseng ET3000

       On  some  computers,  even  on  some using a Tseng, the parts in
       which  I  used  colorpages, don't run. (The computer & the music
       doesn't stop, only the screen stays black.)
       If  that happens, press Escape, then the part should be skipped.

       Copper DOES NOT run properly under OS/2. So you really shouldn't
       bother trying to run it. If you still are crazy enough, and want
       to  see  10 minutes of awfull flickering combined with bad timed
       music, you should at least run it as full screen session, simply
       because OS/2 doesn't like Chain-4-mode in a window.

       Now  some technical details for guys, who think they could do it
       better:

       Copper  runs  in  the  undocumented VGA mode known as tweaked or
       chain-4  mode. Check your VGA hardware reference or e.g. 'Mental
       Surgery'  by  FC  for  details on how to initialize this special
       mode.
       The  music  routine is an optimized Adlib player by Jesper Olsen
       of  Vibrants. It runs at 70 calls per second. It's NOT called by
       timer, instead it's called through vertical interrupt. (A big HI
       to  JCH!  I  know,  you've  told  me to ALLWAYS use timer, but I
       couldn't resist the temptation of doing it my way...)
       The  whole program is written in 100% of Assembler (what else?).
       I  used  TASM / TLINK for assembling it. It runs in .286 mode (I
       used some PUSHA / POPA commands here and there...)
       Some details on how to program copper effects:

               *  check bit 0 in 3BAH / 3DAH (input state #0)
                  for horizontal retrace

               *  change colors with usual 3C8H / 3C9H registers

               *  use 3B4H / 3D4H, index 13H for stretching

               *  use 3B4H / 3D4H, index 4 for wobbling

               *  use 3C0H index 10H,14H for color pages

       Of course, the above is only a brief outline on how to do copper
       effects, but one should experiment to find new tricks. I'm sure
       I haven't done everything possible.

       If  you need some help on copper, or if you wanna get in contact
       with me, then write to this address:

                  Rick Dangerous / Erik Pojar
                  Siegfriedgasse 55
                  A-1210 Wien
                  AUSTRIA     Phone: +43 222 25 30 423 (1500-000 CET)

       For  membership/friendship/demo swapping contact Rick Dangerous,
       or one of the following:

                  Red Scorpion
                  Bogevej 5, Harridslev
                  DK-8900 Randers
                  DENMARK     Phone: +45 86 44 22 44 (also Fax)

       We are looking for more members, especially from Austria, Germany
       or Denmark. Don't hesitate. Join us.

       Signed,
                        Rick Dangerous / Surprise! productions
                        late December 1992.

       Have fun & enjoy life!

       Last minute notes:

       We've also got a BBS in Austria:
       HIGHLANDER
         Austria
       +43 14093937