PC DEMOS FAQ, Version 1.63 The official FAQ of the Usenet Newsgroup comp.sys.ibm.pc.demos This FAQ was last modified on: 4/18/96 Before You Begin: ~~~~~~~~~~~~~~~~~ This is a list of Frequently Asked Questions regarding PC demos. The information contained in this FAQ is geared mainly toward people with IBM PCs or compatibles with Internet access, although much of the information is useful to people asking questions about demos in general. All questions are answered by the maintainer (trixter@mcs.com), although corrections and additions by other parties are encouraged. If you prefer viewing this FAQ via the World Wide Web, Houman maintains an HTML verion of the FAQ at: http://bowler.dacc.wisc.edu/~ghahrema/faq.html If you're interested in *Amiga* demos, this isn't the FAQ you should be reading. That FAQ is the alt.sys.amiga.demos FAQ for Amiga by Hollywood/AXIS (s.m.carless@dur.ac.uk). After FAQ # 4.0, the questions are not in any particular order (except for the order they became asked too frequently on comp.sys.ibm.pc.demos). So, if you're looking for something specific, use your text-file viewer's case-insensitive "search" function to find all occurances of it. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+INDEX+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ General: 1.0 What is a Demo? 1.0.1 Where do/did demos come from? 1.1 How/Where do I get a demo? 1.2 What are the best Demos? 1.3 I can't get this Demo to run! What can I do? 1.3.1 What's the best PC system to run a demo? How to create demos: 2.0 What Compilers do I use? 2.1 Are there any programming references I can read? 2.2 Where can I find some example Source Code? 2.2.1 I'm no idiot--I want some REAL programming info! 2.3 Where can I find some painting programs? 2.4 Where are some music composition programs? 2.4.1 How can I play music modules from my own code? Demos and the Internet: 3.0 Is there a place on the Internet I can learn more about demos? 3.0.1 What can I talk about on comp.sys.ibm.pc.demos? 3.0.2 What can I *NOT* talk about on comp.sys.ibm.pc.demos? 3.0.3 I'm new at this... How can I post a message without sounding like a total fool? 3.0.4 Can I erase my old postings? 3.1 What's IRC? Are there any IRC channels established for demos? 3.2 What's the World Wide Web (WWW)? Are there any places to learn about demos on the WWW? 3.3 Are there any newsletters about demos? 3.4 How can I contact demo people? Misc. Information Regarding Demos: 4.0 What are the different types of GUS sound cards? 4.0.1 Why is the Gravis Ultrasound sound card supported more than the Sound Blaster in demos? 4.0.2 Why is the Gravis Ultrasound sound card supported more than General MIDI? 4.0.2.1 Has MIDI been used in any demos? 4.0.3 Why is the Gravis Ultrasound sound card supported more than the Sound Blaster AWE32? 4.0.4 Can I emulate the GUS with my Sound Blaster? 4.1 Which video card is best for viewing demos? 4.2 What CDROMs exist with demo-related material on them? 4.2.1 I want to create my own demo or demo-music CDROM... What's involved? 4.3 What's Mode X? 4.3.1 Why is Mode 13 sometimes faster than Mode X? 4.4 What's a Demo Party? What's a Demo Compo? 4.4.1 When and Where are Demo Parties held? 4.4.2 How are Demo Compos judged? 4.5 What are some of the more interesting quotes said in the demoscene? 4.6 What are some of the hidden parts in demos? 4.7 What's a diskmag? 4.8 What's a musicdisk? 4.8.1 How is a musicdisk different from a music pack? 4.9 How can I create or join a demo group? 5.0 Why aren't there any Windows/Windows 95 demos? 5.0.1 Why aren't there any Linux demos? 5.0.2 Are there any demos that run on PC platforms that aren't DOS-based? 5.1 I don't own a PC. Are demos written for other computers? 5.2 What's the fastest PutPixel? FAQ information: 10.0 Who's contributed to this FAQ? 10.0.1 How can I contact you guys to submit something? +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+DEMOS+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1.0 What is a Demo? A Demo is a program that displays a sound, music, and light show, usually in 3D. Demos are very fun to watch, because they seemingly do things that aren't possible on the machine they were programmed on. Essentially, demos "show off". They do so in usually one, two, or all three of three following methods: * They show off the computer's hardware abilities (3D objects, multi-channel sound, etc.) * They show off the creative abilities of the demo group (artists, musicians) * They show off the programmer's abilities (fast 3D shaded polygons, complex motion, etc.) Demos are an art form. They blend mathematics, programming skill, and creativity into something incredible to watch and listen to. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1.0.1 Where did/do demos come from? Demos started as loaders for cracked games (a loader is a small program that was used to identify who had cracked the game you were currently (illegally) playing.) This gradually expanded into being programmed just for fun, or as a way for the programmer to show off. You can find more expanded information on the history of demos at: http://www.cdrom.com/pub/demos/hornet/html/demo_history.html Also See FAQ 5.1. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1.1 How/Where do I get a demo? Many demos can be found on local BBSes, but if you have Internet access, you can easily get them off Internet sites. You need to have ftp access to a couple of ftp sites. Here are some listings: ftp://ftp.cdrom.com/pub/demos A huge site in the U.S; carries diverse programs related to music, graphics, magazines, programming info/source code. Some other sites are: (Some of these are mirrors of ftp.cdrom.com) ftp.luth.se ftp.sun.ac.za ftp.uwp.edu wuarchive.wustl.edu ftp.arosnet.se hagar.arts.kuleuven.ac.be ftp.uni-paderborn.de Demos are usually in a subdirectory similar to /demo, /demos, /pub/demos or /pub/msdos/demos. Here's some more examples: /pub/demos/groups or /pub/demos/alpha +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1.2 What are the best Demos? Since demos are an art form, no single person is qualified to say which ones are the best. Since here are plenty available, you can choose. Here's a list of the most praised demos overall, and are highly recommended to beginners to the demo scene: Name: Sound cards supported: ~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ Unreal / Future Crew Sound Blaster | GUS Panic / Future Crew Sound Blaster | GUS Second Reality / Future Crew Sound Blaster | GUS Crystal Dream I / Triton Sound Blaster | Crystal Dream II / Triton Sound Blaster | GUS Show / Majic 12 | GUS Verses / EMF Sound Blaster | GUS Stars / Nooon Sound Blaster | GUS These demos are available in the ftp sites listed in the above FAQ 1.1, "How/Where do I get a demo?". You can also grab them directly off of PC Demos Explained (see FAQ 3.2) on the World Wide Web. For continuing reports on what people think is a good or bad demo, you can monitor what people say on the Internet (see FAQs 3.0-3.3). The semi-weekly newsletter DemoNews (see FAQ 3.3) also rates demos on a five-star system. Another way to find good demos is to check the compo (competition) results from various Parties. The largest party is called The Party held each year around Christmas. Another big party is Assembly, held in the summer and reputed to show the best demos. Here's the top three from each: -THE PARTY- TP93 PCDemo 1. Untitled by Dust 2. The Good, the Bad, the Ugly by S!P 3. Cardiac by Infiny -- TP93 PCIntro 1. Cyboman by Gazebo 2. Symbology by Admire 3. Blackzone by Masque TP94 PCDemo 1. Project Angel by Impact Studios 2. No by Nooon 3. Contagio by The CoExistance -- TP94 PCIntro 1. Cyboman 2 by Complex 2. Peripheral Vision by Valhalla 3. Finkel by Jamm TP95 PCDemo 1. Caero by EMF & Plant 2. Dream by Jamm 3. Reanimator by Rage -- TP95 PCIntro 1. Lasse Reinbong by Cubic Team 2. Illumination by Yodel 3. Intro by Cascada -ASSEMBLY- ASM93 PCDemo 1. Second Reality by Future Crew 2. Optic Nerve by Silents 3. Elements by Xography -- ASM93 PCIntro 1. Eclipse by EMF 2. Tangle by Epical 3. Debut by Darkzone ASM94 PCDemo 1. Verses by EMF 2. Holistic by Cascada 3. Heartquake by Iguana -- ASM94 64KB Intro 1. AirFrame by Prime 2. Space Jam by Fascination 3. Fyvush by Jamm -- ASM94 4KB Intro 1. Stoned by Dust (not on ftp.cdrom.com?) 2. Spam4kb by Tobial Gloth 3. Optimize by Feenix/Epical ASM95 PCDemo 1. Stars... by Noon 2. Psychic Link by Juice 3. DX Project by RealTech -- ASM95 64KB Intro 1. Drift by Wild Light 2. Stickman's World by Coma 3. Bill G Force by Complex -- ASM95 4KB Intro 1. Animate by Schwartz 2. Heaven by EMF 3. Crashtest by J-P/Rebels +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1.3 I can't get this Demo to run! What can I do? First of all, the problem may be your operating system or environment. You can expect to have some problems if you are running: Windows 3.1 Windows 95 OS/2 2.X, 3.X In the case of Windows 3.1, exit windows via Program Manager's File|Exit menu; if you're running Windows 95, shut down to "MS-DOS mode"; if you're running OS/2, try the demo in a full-screen session with "Vertical Retrace Emulation" turned OFF. If that doesn't work and you're not running actual DOS, then you must reboot your machine and boot DOS 5.0 or later. For instance, you *absolutely cannot* run demos under: Windows NT SoftPC (Macintosh MS-DOS emulator) This is because demos sometimes rely on hardware tricks to achieve their effects, and these operating systems do not allow direct access to the hardware. In fact, these operating systems must *emulate* DOS, so the demos, if they did run, would run twice as slow anyway. If you boot actual DOS and it *still* won't run, you might be hitting the "Protected Mode" issue: Many complicated demos (high-speed specialized graphics, for instance) usually work best when they take over the entire machines' hardware. This can complicate running the demo on different machines ("It worked on my friend's machine, why not mine?" and so on). Furthermore, since a couple of years ago, demo programmers started to use more and more of their own protected mode programming routines instead of using the ones already running on the system. So usually, if you have QEMM386, 386MAX, or EMM386 installed (protected mode memory managers), those demos would not run. (This does not mean all demos won't run on today's memory managers--all Future Crew demos, for instance, run just fine.) So, the solution is to boot your machine without a protected-mode memory manager. Personally, we suggest you do a clean boot by hitting F5 when you see the message "Starting MS-DOS" (or F8 if you're running Windows 95), or to make a multiple config menu system that includes a "bare-bones" config.sys and autoexec.bat configuration. Here's what a "bare-bones" configuration looks like: Your CONFIG.SYS should look like: DEVICE=C:\DOS\HIMEM.SYS REM Some programs require HIMEM in conjunction with their custom REM protected mode memory managers Your AUTOEXEC.BAT should look like: SET BLASTER=A220 I5 D1 H5 T6 REM if you have a Sound Blaster sound card; make sure you use the REM right settings, the above is an example SET ULTRASND=240,7,6,7,5 REM if you have a Gravis Ultrasound card; make sure you use the REM right settings, the above is an example C:\ULTRASND\ULTRINIT REM if you have a Gravis Ultrasound card ...and any other sound card initialization programs. (These will depend on your sound card, of course.) That's it--nothing else. Try running the demo; with nothing in its way, it should work. If you *absolutely must* have some other programs in your CONFIG.SYS or AUTOEXEC.BAT in order for your computer to run, then try having them take up as little memory as possible, if they provide the option. Note: Some programs need EMS to run. For that, you *need* a memory manager. To do this, add this line after the "HIMEM.SYS" line in the above CONFIG.SYS example: DEVICE=C:\DOS\EMM386.EXE RAM Also, a demo might complain about not having enough free DOS memory. To fix that, add this line after the "HIMEM.SYS" line in the above CONFIG.SYS example: DOS=HIGH +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+ 1.3.1 What's the best PC system to run a demo? Ironically, a *slower* system is better for appreciating demos, because you can really see how good the code is. One of the great things about the early demoscene was how 3D shaded objects were displayed at 60 or 70 frames per second--on a 16 MHz machine. You just couldn't ignore how fast the code was. Nowadays, the best machine for appreciating demos is probably an 80486-based PC running at 66 MHz (a 486/66). It's slow enough so that you can appreciate the coding, but fast enough so that the newer generation of demos won't be laboriously slow. It's also a very compatible system; most demos will run on a 486. This is because many older demos fail completely on a Pentium due to timing issues, and a 386 is sometimes too old and might has flaky components. If speed is an issue, then get a Tseng Lab's ET4000-based card. If compatibility is an issue, then a Cirrus Logic or S3 based card might be good. See FAQ 4.1 for more information. If you want to appreciate the sound, one of the Gravis Ultrasound family of cards (see FAQ 4.0) is required, as over 90% of all demos support it, and many *only* support it. As to *why* many only support it, see FAQ's 4.0.1 to 4.0.3. When it comes to RAM, the more the better. :) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-CODING DEMOS-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2.0 What Compilers do I use? In order to make a demo, you need to know how to program. Self-explanatory, I guess, but we still needed to address it. :-) You need to know a common language that lends itself to programming DOS programs, like Assembler, Pascal, or C/C++. Some Assembler compilers are: Turbo Assembler 3.1 or above ("TASM") Microsoft Assembler ("MASM") Some C/C++ Compilers are: Watcom C++ 10.5 Borland C++ 3.1, 4.0, 4.5 Visual C++ Turbo C/C++ GNU C for DOS (FREE 32-bit C compiler! You can get it at ftp://ftp.idsoftware.com/djgpp/v2) Some Pascal Compilers are: Turbo Pascal 6.0 or 7.0 Borland Pascal 7.0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2.1 Are there any programming references I can read? ASSEMBLER: * Assembly Language for the IBM-PC 2nd Edition, by KIP R. IRVINE + Mastering Turbo Assembler by Tom Swan (Hayden Books, ISBN 0-672-48435-8). * PC System programming, Abacus 1990, by Michael Tischer * Zen of Code Optimization, by Michael Abrash C/C++: * A Book on C, programming in C, Third Edition Kelley/POHL VGA: * EGA / VGA a programmer's reference guide, 2nd edition, Bradley Dyck Kliewer * Programmers guide to EGA and VGA cards, 3rd Edition, Addison Wesley, by Richard Ferraro Graphics: * Computer Graphics: Principles and practice, 2nd edition, Foley, Van dam, Feiner, Hughes * The "Graphics Gems" series, currently volumes 1 through 5 (first one edited by Glassner). These books are full of useful tricks and algorithms, for all types of graphics related stuff from 3D to image processing Demo Programming: * PC INTERDIT (French version), PC Underground (English version) by Boris Bertelsons and Mathias Rasch from Micro Application/Abacus/Data Becker Magazines: * Dr. Dobb's Journal * Game Developer * PC Techniques You can also consult The Programmers' Booklist, which is a list of books, magazines, emags, digital sources, WWW pages, etc. of programming resources. This can be found at http://intranet.ca/~sshah/booklist.html and ftp://ftp.intranet.ca/usr/synapsis/progbook.lst +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2.2 Where can I find some example Source Code? You can find plenty of source code for graphic effects, sound routines, and other examples in the following ftp sites: ftp://ftp.cdrom.com/pub/demos/code Included are subdirectories which are categorized depending on the nature of the effects. Most of the interesting stuff is under graph and demosrc. ftp://x2ftp.oulu.fi/pub/msdos/programming Same as above, but different subdirectories, of course. Also a fantastic wealth of programming information. As for CDROM's, the Nightowl CD rom series, Software Vault CD's & Emerald CD's have been suggested as a source of source code. :) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2.2.1 I'm no idiot--Where can I find some REAL programming info?! Okay, okay--you don't have to yell. :) The sites listed above are fairly complete, but some readers of this FAQ have suggested some other things to look at if you didn't know about them: - Hardware descriptions of different hardware, like Intel processor optimizations, are at http://www.intel.com/IAL/processr/ap500ovr.html - "Real-time" methods of Phong shading can be found at ftp://ftp.cdrom.com/pub/demos/code/graph/phong - Graphics algorithms can be found in the usenet newsgroup comp.graphics.algorithms and in their FAQ. - The PC Games Programmers Encyclopedia has lots of juicy tricks, and can be found at ftp://x2ftp.oulu.fi/pub/msdos/programming/gpe/pcqpe10.zip - Mode X programming information and libraries can be found at ftp://x2ftp.oulu.fi/pub/msdos/programming/xlib - The PC Games Programing Encyclopedia is a good collection of documents on VGA programming, as well as other issues of game and demo programming. There are two versions available: DOS executable version: ftp://x2ftp.oulu.fi/pub/msdos/programming/gpe/pcgpe10.zip Windows Help format version: ftp://x2ftp.oulu.fi/pub/msdos/programming/gpe/wpcgpe10.zip There are also many other technical documents on the Internet, including: DOSREF34.ZIP : Programmer's technical reference DOS by Dave Williams INTDOS44.ZIP : MSDOS Interrupt List by Ralph Brown HELPPC21.ZIP : Help PC by David Jurgens +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2.3 Where can I find some painting programs? Most demo coders use Deluxe Paint ][e by Electronic Arts. This program is out of print for the IBM, but you can find it in some bargain bins or you can purchase it directly from Electronic Arts. If you own an Amiga, you can easily purchase Deluxe Paint IV for the Amiga and use that. Another set of DOS users argue that Animator PRO 1.3a by Autodesk is the best bitmap illustration program to use. For photographic bitmap editing, Adobe Photoshop is easily one of the best programs; for "natural bitmap" creation, Fractal Design Painter is the best. There is a freeware program called Satan Paint, which is by the same guys as Abuse (cool shareware game) - you might find it at ftp.cdrom.com /pub/gamaes/abuse. There are some good shareware painting programs as well, such as Paint Shop Pro 3.11 for Windows, and Neopaint for DOS. You can find them at: Paint Shop Pro: ftp://ftp.cica.indiana.edu/pub/pc/win3/desktop/psp30.zip Neopaint: ftp://x2ftp.oulu.fi +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2.4 Where are some music composition programs? For music, most demo groups use "music modules", a format that originated on the Amiga. MODS vary greatly in formats on the PC, however; the standard formats right now are S3Ms; some lesser-used formats are MTM and XM, with a newcomer IT gaining popularity. In order to create a module, you need a program called a "Tracker". The best ones so far are: Name Loads Saves ~~~~ ~~~~~ ~~~~~ Fast Tracker II 2.06 by Triton MOD, XM, S3M MOD, XM Scream tracker 3.21 by Future Crew MOD, S3M, STM MOD, S3M MultiTracker 1.01 by Renaissance 669, MOD, MTM MTM Impulse Tracker MOD, S3M, IT, MTM S3M, IT Velvet Studio MOD, S3M, AMS, XM AMS You could find these trackers in ftp://ftp.cdrom.com/pub/demos/music/programs/trackers FT2.06, MultiTracker, and ST3.21 are fully functional (FT2.06 is shareware <$20>). Velvet Studio is crippled (no save ability). For more info on the different types of PC MOD formats, check out PC Demos Explained--specifically, at this URL: http://www.cdrom.com/pub/demos/hornet/html/demo_reference.html +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2.4.1 How can I play music modules from my own code? There are several libraries for playing music on several demo sites. One place to get them is ftp://ftp.cdrom.com/pub/demos/code/sound; in there, you'll find many libraries, including: Name filename formats language ~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~~~ MIDAS 0.40 mdss*.zip most modules - XM ASM, PAS, C MIDAS 0.5x mdss*.zip most modules + XM C Mikmod 2.xx mik*.arj most modules + XM C Bells, Whistles bwsb*.zip most modules - XM ASM, PAS, C FMODDOC2 fmoddoc2.zip most modules - XM C CapaMOD 3.xx cmod3xx.zip most modules + XM C, Basic, PAS, ASM Any of the above libraries are more than enough to play modules on any sound card (such as Sound Blaster/Pro, Sound Blaster 16, Pro Audio Spectrum/+/16, and of course, the Gravis Ultrasound). FMODDOC2 contains *fantastic* and *complete* information on file structures, period values, information, etc. It's highly recommended if you want to write your own player. (Note that these libraries are for playing MODs or MOD-related formats, and do not play MIDI music. For that, you could try the widely available Miles Drivers; or, if you only have a GUS, you could use UltraMID or the GUS SDK. See the GUS FAQ for more info.) +-+-+-+-+-+-+-+-+-+-+-+-+Demos and the Internet+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.0 Is there a place on the Internet I can learn more about demos? There are several, actually: For files or information: ftp://ftp.cdrom.com/pub.demos For discussions or news, you have two choices, Usenet and IRC: IRC: #coders (programming talk) or #trax (music talk) Usenet: comp.sys.ibm.pc.demos For General Info on the WWW, you can always try: http://www.cdrom.com/pub/demos/hornet/html/demos.html (Note: Although this newsgroup has "demos" on the end of it, it does not talk about subjects such as GAME DEMOS. For those, look in series comp.sys.ibmpc.games.XXXXX) comp.sys.ibm.pc.demos is a nice place to ask questions about demos in general, so if you have any general questions concerning demos, ask here first. As such, we'll talk about comp.sys.ibm.pc.demos first, then IRC and the WWW later in this document. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.0.1 What can I talk about on comp.sys.ibm.pc.demos? People post various things. Some concerning Demos, others about technical questions, such as: "How do I code Gouraud Shading?" "How do I code Plasma/Copper bars, etc.?" "Does anyone know how to contact xxx?" Other misc. postings are about new programs coming out. For example, if you coded a demo or made some of your source code public, let us know about it here. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.0.2 What can I *NOT* talk about on comp.sys.ibm.pc.demos? Some posts come up so frequently that many of the members of the newsgroup are getting tired of hearing them. Here's a list of subjects to avoid: "GUS is better than SB!" These arguments should be posted "SB is better than GUS!" on a sound card group like comp.sys.ibm.pc.soundcards.advocacy, not here. "What's the fastest PutPixel?" This is asked way too many times. (It is covered in this FAQ as question 5.2, BTW) "mY dEm0 t0TalLy rUleZ!" "Elite" postings are usually the mark of a "lamer", and are ignored. "PC SUCKS!" Usually, these are posted by people who have left their terminal unattended :), or by Amiga/Atari advocates. These kinds of posts usually bring lots of replies--and they're not friendly ones! Also, comp.sys.ibm.pc.demos is NOT a binary newsgroup! Many people in third-world or poor countries get this newsgroup the only way they can-- delivered directly to their home computer. A binary file in comp.sys.ibm.pc.demos can easily cost them a lot of money! So, please do not post any binaries. If you want to upload a binary file where many other demo people can get at it, however, look in the above section about ftp sites--you can upload there as well, usually in /incoming directories, like ftp://ftp.cdrom.com/pub/demos/incoming/demos +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.0.3 I'm new at this... How can I post a message without sounding like a total fool? - Be yourself. - Use common sense; sometimes a reply to the original sender would be much better than posting it into comp.sys.ibm.pc.demos if there's already a ton of replies. - Flaming (sending mean messages to) other people will get you nowhere. - Avoid long signature files. Another good practice to follow when posting is to edit the original message and answer appropriately; i.e. don't just reply back with *all* the text of the previous senders already shown. It is usually a hassle to go through 5 pages of old replies, and then 1 sentence of answer. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.0.4 Can I erase my old postings? ONLY IF YOUR NEWSREADER PROVIDES THE OPTION TO DELETE POSTS. Otherwise, you can't. Once you've posted something, it is posted to every newsgroup it was bound for, and some people may see it before you cancel it. So, think before posting a message. If you post something that you realize was a mistake, cancel it (if you can) and post another one, right away, and write in it what you really meant. That usually stops people answering another 50 messages to the (incorrect) original. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.1 What's IRC? Are there any IRC channels established for demos? IRC stands for Internet Relay chat. You can find more info about it in newsgroups such as alt.irc, etc. With IRC, you can enter "channels" (like a CB Radio) and discuss things with people located all around the world in real time. It is a good place to stop by and ask questions. As of this writing, the main two channels concerning demos are #coders Concerning PC Demo coders #trax Concerning PC Music Makers Note: #trax moved to Anothernet, so if you join #trax and nobody is there, type "/server neato.org" or the name of another Anothernet server, like peak.org, and then try again. There are other channels dedicated to demos and democoding: #daskmig Lots of chat about demos #nlcoders The Dutch and Belgian scene #demofr French chats about demos #codersnl Dutch chats about democoding #amigascne Amiga demoscene chat Also, lots of groups have their own channel while they're online, like #massive and #natives. Finally, some parties have their own channel during the party, like #asm95, #naid, etc. Feel free to join at any time... it is fun, and fairly addicting! For those of you who have been having problems connecting to AnotherNet (the IRC network that #trax has moved to and #coders is trying to move to) recently, I finally managed to get my hands on the little script that fixes the problem. Here's what to do: Start your IRC client (this script is written for ircII). Load the script. Connect to the server. Here's the script: (begin script) # Script to fix irc~2.2.9 to work with AnotherNet "initping". on ^raw_irc "PING :%" {quote PONG $1-} on ^raw_irc "% PING :%" {quote PONG $2-} (end script) Just take those 3 lines, and save them as "initping.irc" ... and add a line to your .ircrc file. Should work perfectly then. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.2 What's the World Wide Web (WWW)? Are there any places to learn about demos on the WWW? Created by university professors in CERN (Switzerland), WWW is a network of hypertext documents that can connect to other hypertext documents. Accessible by WWW "browsers", such as Mosaic and Netscape, it allows you to connect to WWW pages, where you can read articles, look at pictures, download files, etc. In short, if you haven't tried the WWW yet, you're missing a whole new aspect of the Internet. If you're looking for a browser, try one of these three: Mosaic, the original WWW browser, can be found in ftp://ftp.ncsa.uiuc.edu and exists for Windows, Mac and Unix. Netscape, a very nice browser that supports additional layout commands, is available in ftp://ftp.netscape.com Lynx is a text-mode browser that you can use on any terminal. Many demo groups in the demo scene have their own WWW home pages. It would be too long here to list all of them, however Trixter has a homepage which explains about PC demos and lists many, many demo resources. You can access this page at: http://www.cdrom.com/pub/demos/hornet/html/demos.html +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.3 Are there any newsletters about demos? Other than the irregularly-released diskmags (see FAQ 4.7), there are two semi-weekly newsletters produced for the demo scene: DemoNews and TraxWeekly. DemoNews is both a list of new files uploaded to ftp.cdrom.com (Hornet's home base and the largest demo site on the Internet), news, interviews, and articles that pertain to the demo scene. DemoNews was started by Dan Wright (Pallbearer / Toxic Zombies & Hornet) and is continued by the Hornet demogroup, led by Snowman. TraxWeekly is similar to DemoNews, but is dedicated to the music scene (see FAQ 2.4). It's called "TraxWeekly" because it stemmed from the IRC channel #trax (see FAQ 3.1). Here's how you can subscribe to either magazine (the following is an excerpt from TraxWeekly): _____How to subscribe to TraxWeekly TraxWeekly subscriptions are free, and can be requested in this matter: Send mail to: listserver@unseen.aztec.co.za And put in the message body: subscribe trax-weekly [your real name] If you want to unsubscribe to the list, mail the same address and write: unsubscribe trax-weekly TraxWeekly is also available on ftp.cdrom.com: /pub/demos/incoming/news/ for the most recently uploaded version, or /pub/demos/news/traxw/ for all of the back issues. DemoNews is published approximately once a week, and can be emailed directly to you. According to each issue of DemoNews, here's how you can subscribe: _____How to subscribe to DemoNews Mail to : listserver@unseen.aztec.co.za Body : subscribe demuan-list [first_name] [last_name] The listserver will send DemoNews to your e-mail's return address. _____Back Issues Older issues of DemoNews can be located under /demos/hornet/demonews. Newly released issues of DemoNews are posted to /demos/incoming/news. _____Having Trouble? If you have difficulty with the listserver, feel free to write Snowman at r3cgm@cdrom.com for problems with the DemoNews list. Finally, someone pointed out that I didn't mention the RAW mag on-line. This is because I don't have information on it; I expect you can search the World Wide Web for it. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.4 How can I contact demo people? The easiest way to contact a demo person is to email them; it costs the both of you little money, and avoids huge time differences. If you can't find a person's email address, then you can try finding them on IRC (see FAQ 3.1), posting a message looking for them on comp.sys.ibm.pc.demos (see FAQ 3.0), or checking the "demo contact list" that is maintained by rob@span.com, although it is months old. +-+-+-+-+-+-+-+-+-+-+-+Misc. information about Demos+-+-+-+-+-+-+-+-+-+-+-+ 4.0 What are the different types of GUS sound cards? There are four currently available, and their major differences are mostly in their recording abilities: Name Record Playback ~~~~ ~~~~~~ ~~~~~~~~ Gravis Ultrasound 44.1KHz, 8-bit stereo 44.1KHz, 16-bit stereo Gravis Ultrasound MAX 48.0KHz, 16-bit stereo 48.0KHz, 16-bit stereo Gravis Ultrasound ACE Cannot record sound 44.1KHz, 16-bit stereo Gravis Ultrasound PnP 48.0KHz, 16-bit stereo 48.0KHz, 16-bit stereo The Gravis Ultrasound is not manufactured anymore; the MAX retails for about $179 US, and the ACE retails for about $99 US. Street (actual) prices are usually 20% to 40% lower than retail prices in the US. The Gravis PnP is a Plug-and-Play card mainly designed for Plug-and-Play operating systems, like Windows 95, but it will work with non Plug-and-Play operating systems as well. For programs that don't support it directly, it acts just like a normal GUS if RAM is added to it. The PnP has no RAM on it (but has the expansion capability), and the PnP Pro has 512K RAM. Also, unlike the previous GUS cards, the PnP is based on the Interwave sound chip from AMD, and has General MIDI capability built into the card. With RAM added, you can also load General MIDI instruments off of disk, just like the old GUS cards. Finally, the GUS PnP is more Sound Blaster-compatible than previous GUS cards. The PnP retails for $179. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.0.1 Why is the Gravis Ultrasound (GUS) sound card supported more than the Sound Blaster in demos? Several reasons: - The GUS sounds much better than the Sound Blaster because it can play back 32 channels of stereo digitized sound at once, while the Sound Blaster Pro/16 series can only play back 2 channels. - Because the GUS can play back multiple channels, there is no need for mixing several channels into one (like playing MODs on the Sound Blaster series), so much less CPU time is utilized for playing music. This means more CPU time is available for graphical effects, calculation, etc. - Many demo coders consider the GUS easier to program. - Many demo scene members have gotten free GUS cards in exchange for programming demos/games/utilities that specifically use the GUS. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.0.2 Why is the Gravis Ultrasound sound card supported more than General MIDI? While General MIDI has much higher sound quality instruments, the number of instruments (and the instruments themselves) are fixed in nature; that is, you cannot change any of them. (If you don't like the sound of a particular piano instrument, for example, you're stuck with it.) MODs, and MOD-like formats (see "music modules" earlier in this FAQ) allow the composer to use whatever instruments he feels like. Also, General MIDI boards differ greatly in price and sound/instrument quality, and a song on one GMIDI board might not sound the same on another. Finally, General MIDI boards usually cost over $200 for a good quality one--which is usually unattainable, given the budget of most demo scene members. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.0.2.1 Has MIDI been used in any demos? Believe it or not, it has. Superunknown by Five And Then Some (TG '94) used MIDI files and custom GUS patches for their music. And The Phony Coders only supported the Roland MT-32 in their demos. As for FM, it's used in a lot of places, but it's neiter MIDI, nor composed in a MIDI sequencer; there are custom FM trackers for that. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.0.3 Why is the Gravis Ultrasound sound card supported more than the Sound Blaster AWE32? Even though the SB Awe32 is very similar (and in some ways, superior) to the GUS, it is not being accepted well by the demo community, mainly because they fail to provide low-level information about the card for free. Also, up until recently, the SB AWE32 cost almost 50% more than the GUS (this has changed, however). But since the GUS was around over 3 years more than the SB AWE32, the GUS has much more "market saturation" and existing free source code. (Although, to be fair, Renaissance originally disabled the drivers to find out what was going happening, and Gravis took the hint and released a development kit.) Some coders have reverse-engineered the drivers and come up with C source code than can not only drive the SB AWE32, but play MODs and XMs on it, even with echo, chorus, and reverb effects. To find this info, visit ftp://ftp.cdrom.com/pub/demos/code/sound. There are also some trackers that support the AWE32: The Ultimate Tracker and RamTrack. You can find these from ftp.lysator.liu.se and other sites. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.0.4 Can I emulate the GUS with my Sound Blaster? No. The GUS performs so many functions over the Sound Blaster that writing an emulator would be extremely difficult. Couple this information with the fact that many demos take over the hardware entirely, and you realize it makes writing an emulator impossible. Well, that's not entirely true. It IS possible with DPMI and IO permission bitmaps. It shouldn't take up more than 20% CPU time on a Pentium [for 32-channels at 44kHz], but most people would consider this unacceptable. Of course, a *hardware* emulator for the GUS exists. :) It's called the GUS ACE (see FAQ 4.0.1), and was designed to co-exist with your existing sound card. They're only about $80 in the US. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.1 Which video card is best for viewing demos? The nature of demo programmers dictates that they program the coolest stuff with the crappiest hardware. In other words, most (if not all) demos require a register-compatible VGA card. For the best experience, you need as fast a video card as possible, because most video cards are the main bottleneck when displaying fast graphics (the PC's memory is much faster than the video card's memory). If your PC has a VESA Local bus (VLB) or PCI bus (PCI), then make sure you're using a VLB or PCI card, as the speed of these cards are at least twice as fast as a standard ISA card. Try not to buy a video card unless you've tested it yourself on the store's computer--preferably with a demo or action game, which update the video card's memory over 30 times a second. If you can't do that, then generally, get a video card based on either the Cirrus Logic, S3, or Tseng ET4000 chipset. These chipsets are very fast. (Many older demos use special hardware tricks that might only work on an ET4000; the ET4000 is considered the demo "standard".) The Hercules Stingray uses the ARK-xxxx series chips. The Hercules Dynamite Pro/Power use the Tseng ET4000 W32p chipset. They are probably the fastest implementation of that chipset. The Stingray w/ it's ARK chipst is a tad faster under DOS and a bit more noticeably faster under windows than the Dynamite series. Finally, several people have recommended the newer revision of the Matrox Millenium, not only because of it's fast DOS performance, but because it implements the VESA 2.0 specification in hardware, which several hi-res demos are starting to support. If the card doesn't have VESA 2.0 in BIOS, it can usually be emulated by a general-purpose VESA program, like UNIVBE by Scitech Software. For a current list of video benchmarks, you might want to inquire on the newsgroup "comp.sys.ibm.pc.hardware.video". +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.2 What CDROMs exist with demo-related material on them? For info on CDROMs with demos and demo-music files on them, email Dan Wright at dmw@gate.net to get a more-or-less complete list of them. If Dan is unreachable, you can get a copy of this list at http://www.mcs.com/~trixter/docs/scenecds.txt Walnut Creek CDROM might be publishing quarterly updates of /pub/demos on ftp.cdrom.com; email r3cgm@cdrom.com for more information. The following is a mini-review of some of Assembly Organizing's party CD's submitted by Hugo Habets: On the cover of the CD-box is a picture of a monster and a boy. The monster is crying out and the boy is crying. At the top we can read "This CD is full of the best demos, music and graphics for PC and Amiga". At the bottom we can read (in bigger letters) "an ASSEMBLY Organizing production". At the back of the cover it's the same picture as on the front of the cover, only now it's a bit red-like with some text in small font and 6 pictures from the compos covering it. Very suprizingly, the first of those 6 pictures again is the picture of the monster with the boy. I don't recognize the second picture (not much time to search for it on the CD).. the third picture is from the CD menu (the Party 4 CD menu is very much like the Asm'94 CD menu, but with some improvements). The 4th picture shows the sea (probably from the graphics compo), the 5th picture is from the Valhalla intro. The last picture shows a face, a chess-board, mountains and a tree and is probably from the graphics compo also. The publisher seems to be 'Romware' The front picture can be taken out of the CD cover and then magicly turns into a little book. Most of it is about the menu (or the GUI as it is called in the book). page@ie2.u-psud.fr reminded me of this: > I know another Audio CD : > Dr Awesome and Fleshbrain's "hoBbiTs & SpACesHipS" > by Bjorn A. Lynne and Seppo Hurme > from DENS DESIGN/CRUSADERS and Audio Visual Magic > (c) 1992 > with 12 songs and a time of 71'02". > > The ACE Demo Collection Vol. 1 & 2 costs 99 FF. > And the number 3 will arrive in december 1995, and the 4th in july 1996. Rene V. C. (Zteel of Diffusion) also had this to add: >Here are some of the ones I can remember. > >Assembly '94 >The Party '94 >ACE #1 >ACE #2 > >Btw: for info on the ACE cd's, write to yvon@sept.fr > >Anyway, the 'The Party CD' costed 120FIM at Assembly, filled with all >releases from The Party 1994, and the best from Abduction and Juhla I >think it was. The Assembly CD, well, has everything from Assembly >1994, along with a bunch of movies and animations. > >The ACE's costs aprox. 80F .. (french franc) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.2.1 I want to create my own demo or demo-music CDROM; what's involved? Usually, most demo coders don't want their productions put on a CDROM without their permission, because they feel that the person selling the CDROM's makes profit off of their work. So, the only true demo CDROMs that have been produced so far are by Dan Wright (dmw@gate.net), who manufactures and sells them -- while all the time *breaking even*. This is important: He doesn't lose money, but doesn't make any money either, so no one feels taken advantage of. What a cool guy. :) Dan Wright wrote an excellent article on creating your own CDROM; this article is part of the "demobook" on the Freedom CD. You can also email him to get a copy. As to how to create an Audio CD of mod-style music, Dan Wright offers: "We took the modules and pumped them through the Gravis Ultrasound...grounded the computer to the stereo, funneled the sound through a "DSP" that added reverb(hall), flange, and all that other stuff I got a few complaints on. From there the signal made its way through an equalizer, then the master receiver and finally to the SONY DAT player. Once the DAT was made I paid someone $175 to create a CD-R with all the time stamping and music equalization." +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.3 What's Mode X? Mode X (and its variant, Mode Y) is the slang term given by Michael Abrash to the two most common unchained 256-color VGA video modes used in demos. "Unchained" comes from the method of "unchaining" the video memory in order to access it all--normal mode 13 (320x200x256 colors) is "chained". Mode X is 320x240 and Mode Y is 320x200. Unchaining the video memory has a slight disadvantage: The memory organization is different, and is harder to program for (it is organized in "planes of bytes", which is harder to work with than the standard linear format of normal mode 13). However, the advantages are numerous; when you unchain video memory, you get: - More video modes on a standard VGA, from 320x240 (square aspect ratio) to 360x480 (high res with 256 colors on any monitor) and others - The ability to pan across all of video memory, as if it were a big virtual page - Horizontal split screen, with the lower half not affected by the panning of the upper half - 2 or more video pages (by "panning" to an area of video memory one screen length down) - The ability to write up to four pixels at once with just one write (great for polygon filling) In the "old days" of IBM PC demos, Mode X programming was the only way to get any speed out of the slow ISA bus and slow video cards of the time. Nowadays, normal mode 13 is making a comeback because of two things: - Texture mapping, "Phong" shading, and other modern effects are faster to do in normal mode 13 than in Mode X - Local-bus video cards (VLB and PCI) can move video memory much faster than before, and are becoming quite common. As mentioned in question 2.2.1, excellent Pascal and C libraries for programming ModeX are at ftp://x2ftp.oulu.fi/pub/msdos/programming under all the "xlib" directories. You can also pick up the Mode X FAQ, maintained by Zoombapup // CodeX. While it's not known if this is being maintained anymore, you can pick up a version of it at http://www.mcs.com/~trixter/docs/modex.faq +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.3.1 Why is Mode 13 sometimes faster than Mode X? People are sometimes told that blitting is faster than flipping pages in Mode X. That depends completely on how intelligent your drawing routines are. If you draw completely to an off-screen buffer, then move that buffer to display memory to display it, then yes, a simple rep movsd will be faster than copying to Mode X, because with Mode X, you have to (in a simple case) copy 16K, then write a couple of bytes to VGA to switch planes, then copy another 16K, etc. until all 64K is done. Here's some quick examples t: procedure move_repmovsd(src,dst:pointer;size:word); assembler; {best for moving off-screen buffers to Mode 13 display memory for VLB or PCI} asm push ds les di,dst lds si,src mov cx,size shr cx,2 db $66; rep movsw pop ds end; Procedure copyvscreentox(sourceseg,destseg,count:word);assembler; asm push ds mov ds,[sourceseg] mov es,[destseg] sub si,si sub di,di mov bl,1 @loop1: mov dx,3c4h mov ah,bl mov al,2 out dx,ax mov cx,[count] shr cx,3 @loop2: mov al,[ds:si] mov ah,[ds:si+4] mov [es:di],ax add si,8 add di,2 dec cx jnz @loop2 sub si,[count] inc si sub di,di shl bl,1 cmp bl,16 jne @loop1 pop ds end; So you can see how much more is involved with copying Mode X screens. Now, if your drawing routines (poly fillers, etc.) were smart enough to use Mode X's ability to write out four bytes at a time with a single write (enable all four write planes to do this), then a Mode X implementation would *easily* be faster, and in addition, be flicker-free due to the nature of flipping video pages. Like I said, it completely depends on what you're doing. If you're doing a starfield, you should use *neither* of the above methods, since a couple of port writes for each star is just a silly waste of cycles. For that, you'd wait for retrace, then erase all previous stars directly in video memory, then draw. Even better, you wouldn't have to wait for retrace if you were erasing each star as you plotted the new one, as that's almost imperceptible. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.4 What's a Demo Party? What's a Demo Compo? A Demo Party is just that--a party celebrating demos. They're usually on the small side; no more than 50 people. A Demo "compo" (Finnish slang for "competition"), on the other hand, is a competition where prizes are given to the best demos and intros. While parties are small, compos are large. Compos are usually over 400 people (the largest are The Party and Assembly, which usually host over 3500 people), and are mostly held in schools because they're easy to rent and don't cost a lot of money. Activites are held all 24 hours of the day, so it's difficult to get sleep and not miss something cool. As a result, many people simply don't sleep during a compo. :-) After a party or compo, some groups put out "party reports", where you can see pictures taken at the party/compo and read text describing the results of the compo, and see pictures of events and people at the compo. One place you can find party reports is http://ftp.cdrom.com/pub/demos/party +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.4.1 When and Where are Demo Parties held? Much to the chagrin of North American 'sceners, most demo compos are held overseas, in Europe. Only one recurring demo party, NAID, is held in North America (Montreal, Quebec, Canada). Some Demo compos are held every year at roughly the same time: Assembly: August The Party: Christmas The Gathering: Easter NAID: end of school (May/June) aschlud@autelca.ascom.ch (Denis Schluchter) was nice enough to write up this schedule for the FAQ: DEMO EVENTS '95: Bizarre 9/10 September Etten-Leur, Holland Wired 3/4/5 November Mons, Belgium The Party Winter DEMO EVENTS '96: The Partyplaces may change! (I took those from last year ...) X Spring Utrecht, Holland The Gathering NAiD Canada Abduction Somewhere in Holland Summer Roosendaal, Holland Juhla Iisalmi, Finland Bushparty The Summer Encounter Denmark Assembly Helsinki, Finland Gasp Montpellier, France Wired Fall Mons, Belgium The Party Winter Other than this list, you can find more demo-related events at http://www.cdrom.com/pub/demos/hornet/html/demo_events.html which lists many other WWW pages dedicated to demo parties and demo compos. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.4.2 How are Demo Compos judged? Good question. First, a point system has to be agreed on. There are many ways of doing this; for example, at NAID'95, each demo was given up to 5 points for graphics, programming, music, and overall design. In this case, the demo with the highest total point value won, the 2nd higest came in 2nd, etc. Second, if there are way too many entries, all entries go through a preselection process, where an informal vote disqualifies substandard entries. (This step only applys to compos with a judging panel; see below.) Now, who actually *does* the judging? Usually, there are two different methods: A public vote, and a juding panel. Public Vote: The people attending the compo vote on the demos shown. Pros: The public can't complain about the judging, since they were the ones who voted. Cons: The public is usually way off. While the crowd consists of true professional programmers, musicians, and artists, they usually vote highest for demos that have "flash" and "pizazz", ignoring the actual quality or design (or lack thereof). Judging Panel: A panel is created, usually with a cross section of programmers, musicians, and graphicians. The panel can not have anyone in it that's involved in some way with the demos being voted upon. Pros: The judging is usually fair. Cons: The public usually disagrees with some of the judge's decisions, especially during the preselection process. Please note that any of these methods is not necessarily better than any other. Sometimes they're combined in some way, like NAID'95, where there was a public vote that determined who got the "public favorite prize", and a judging panel, who determined the "offical" 1st-10th place order and top three prizes. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.5 What are some of the more interesting quotes said in the demoscene? Trixter maintains (more or less :-) a list of interesting things heard in the PC demo scene. You can get this list from http://www.mcs.com/~trixter/docs/demoquot.txt +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.6 What are some of the hidden parts in demos? Phoenix / KFMF (vossa@rpi.edu) has compiled a list of hidden parts in demos. For the most recent version of the list, request it from Phoenix directly, or view it on the WWW at http://www.rpi.edu/~vossa/secret.txt. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.7 What's a diskmag? A diskmag is an electronic magazine or newsletter that is distributed on a semi-regular basis. It usually has demoscene news, reviews, party reports, and general rambling. :-) You can find many diskmags at ftp://ftp.cdrom.com/pub/demos/mags +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.8 What's a musicdisk? A musicdisk is a collection of songs put out by a single music or demo group (or, in rare cases, multiple groups--see the multi-group musicdisks Chromatiks and Epidemic, for example) or musician whose distribution medium is a single diskette. A musicdisk has a custom player built just for the musicdisk--it plays only the songs on the disk, and usually has a nice graphical interface or specific information from the composers on their songs. Musicdisks are put out whenever the group feels it has enough music to put in them, so they're released irregularly and infrequently. You can find many musicdisks at ftp://ftp.cdrom.com/pub/demos/music/disks +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.8.1 How is a musicdisk different from a music pack? A music pack is very similar to a musicdisk, but with some important differences. Here's a list of how music packs are different than musicdisks: - Music packs are usually released from musicians or music groups only (groups who only do MOD/S3M-like music). - Music packs are usually released on a regular basis, like once a month. - Music packs have no custom player/interface (some include Future Crew's MDP player, however, which is a generic player that can have its menu customized). The point is that, traditionally, music disks fit onto a single disk, as per the Amiga or C64. So, ultimately, if it doesn't fit on a disk, it's generally not proper to call it a musicdisk. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.9 How can I create or join a demo group? Advertise. Posting a message on your local demo-oriented BBS or on comp.sys.ibm.pc.demos is probably a good way to start. You can also talk to anyone on the usual IRC channels (see FAQ 3.1), or search demogroup's WWW pages (see FAQ 3.2). You could even contact individual groups directly through email. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5.0 Why aren't there any Windows/Windows 95 demos? Probably for the simple fact that Windows does several things to restrict the typical democoder, including inhibit system performance, and restrict direct access to hardware. These limitations have workarounds, but it's so much easier to just dive in under DOS with assembly language that nobody wants to make one. Windows is generally looked down upon in the demo community, because of it's slow speed and huge size; many joke that it's one of the lamest demos ever written. :-) Windows 95, on the other hand, has some possibilities for being a demo platform, with it's DirectX API. DirectX has direct interfaces to hardware--DirectSound, DirectDraw, etc.--so it's possible to circumvent the limitations listed above. Still, the API is overhead, so by default it can't be as fast as raw DOS, and as such is still looked down upon by democoders. If you're interested in coding demos for Windows 95, you can order the Win95 Game SDK directly from Microsoft completely free-of-charge. You just need to tell them that you are "porting your games which you have under development to the Windows 95 DirectX platform". The Game SDK (GDK) includes DirectDraw, DirectSound and DirectPlay. But in order to fully develop Windows 95 apps, you might need the Win32 SDK too, which comes with the "Microsoft Developer Network (MSDN) level 2". This costs around $500US per year and it includes all MS' SDKs (about 30 CDs), and it comes with a quarterly update service too. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5.0.1 Why aren't there any Linux demos? Considering that Linux is a fast 32-bit multitasking operating system and that good optimizing compilers are free under Linux, you might think that many demos exist for it. But while some screen savers that use Linux's SVGAlib might be considered demos, no "true" demos have been written for it yet (although many claim they are porting their demos over to it). One possible reason for this is that the multitasking nature of the OS means that the CPU cannot be dedicated to any one critical task--for example, the inner loop of a texture-mapping engine. Another possible explanation is that even if dedicated CPU attention was possible, it is difficult to do so without writing a device driver, something that many democoders are not willing to do. Still, it seems a bit more likely that demos will be written for Linux before they are written for Windows, if only for the fact that Linux is free and fast. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5.0.2 Are there any demos that run on PC platforms that aren't DOS-based? Only one that I know of: An OS/2 demo has been written for OS 3.0 (OS/2 Warp, with MMPM/2 extentions installed) called Peripheral Evolution OS/2 by Ethos. It also comes with its own source code. There is a ongoing project to create an operating system exclusively for writing demos, called the DemOS project. You can find information about it at three possible places: http://www.cdrom.com/pub/demos/info/DemOS/ http://www.ifi.uio.no/~dag-erli/demos/ http://www.skolesjefen.oslo.no/skole/persbraten/hjemmesider/demos/ The first URL listed (cdrom.com) is the fastest for people in North America. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5.1 I don't own a PC. Are demos written for other computers? Several, actually. Demos didn't originate on the PC; they've been around for over a decade, having grown from the cracktros that software pirates used to tack onto their releases. Nowadays, demogroups are not related to cracking groups anymore; in fact, most PC demogroups were never related to a cracking group. Demos exist/have existed for the following platforms (listed in chronological order): Apple ][ (in a cracktro form only, to my knowledge) C64 (where the demo scene was truly born) Commodore Plus/4 Spectrum 128 Apple ][gs Atari ST Amiga (where the demo scene flourished into new territory) Atari Falcon Macintosh IBM PC Arcon Archimedes (This is a RISC PC. There have been demos for that computer at the Symposium Party held in Hamburg, Germany.) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5.2 What's the fastest PutPixel? There are two basic version: One that uses a lookup table, and one that doesn't. The lookup-table version is the fastest. Non-lookup-table version: Procedure PutPixel(X,Y:Word; c:Byte); Assembler; Asm mov AX,0A000h mov ES,AX mov AH,Byte Ptr Y mov BX,X add BX,AX ShR AX,2 add BX,AX mov AL,c mov ES:[BX],AL End; Lookup table version: Var lut : Array[0..199] Of Word; Procedure PutPixel_LUT(X, Y : Word; C : Byte); Assembler; { code from Jannie Hanekom } { optimized by Andreas Jung } Asm mov BX, Y add BX, BX mov AX, 0A000h mov ES, AX mov BX, Word Ptr lut[BX] { Note: BX not changed within 2 cycles } mov CX, X add BX, CX mov AL, C mov Byte Ptr ES:[BX], AL { Again 1 cycle before memory move } End; Just make sure you fill the lookup table before you use the procedure, with something like "for i := 0 To 199 Do lut[i] := i*320" Kneebiter has provided 386 protected-mode equivalents: ;eax - color ;edi - y ;ebx - x ; ; The fastest (?!?) non-table version shl edi, 6 ; ebx *= 64 3 clocks lea edi, [edi*4+edi] ; ebx *= 5 (64*5 = 320) 1 clock mov [edi+ebx+0a0000h], al ; memory ref ; The fastest (?!?) table version mov edi, [edi*4 + table] ; memory ref mov [edi+ebx+0a0000h], al ; memory ref What many people don't realize is that the *real* fastest putpixel is the one inside your own code, polyfiller, or whatever, because the time it takes to push the registers on the stack and call the function takes *more* time than actually plotting the pixel! So, try to incorporate these methods into your own program instead of making a function you call out for. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+Contact Information+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 10.0 Who's contributed to this FAQ? The creator was Houman Ghahremanlou, who wrote answers to questions 1.0 to 3.0, with some small help from Trixter / Hornet's PC Demos Explained page. Trixter then reformatted the FAQ, added the rest, became the maintainer, and continues to add to it. Houman maintains the HTML version. Once released, many people submitted some contributions. Trixter and Houman would like to thank the following people for submitting to the FAQ: Diogo 'Spellcaster' Andrade Heikki Ylinen (flap / Capacala) Lee Chun Kwok Luca D'Ambros a.k.a. jarno heikkinen Andréas Kühne Anssi.Saari@lmf.eua.ericsson.se (Anssi Saari) Ben Shelton Blake Kadatz Canard@ax.com (Canard) Captain Hook / THI Charles Scheffold Chris Hargrove Christopher Mann Cobra@aloha.com (cobra) Dan Wright... enough said. :) Gary D Stowasser Grave Digger / Hornet Heikki Ylinen Houman Ghahremanlou Jason Maas Jason Nunn Jordan Phillips Jyrki Saarinen Kenneth Foo Chuan Khit Kilian Hekhuis Kim Davies Lars Troen Lewis Berrie Mark Edward Hardwidge Niklas Kring Paul Hsieh Peter Kendell Phil Jones Quantum Porcupine Rene Vinding Christensen Sam Samuli Syvahuoko Sietze Dijkstra Sleeping Dog / The Natives Snowman / Hornet Stephen Takacs T H Pineapple THE ROPESTER Tero Pulkkinen Todd M Zimnoch Toni Lindroos XtaC ac@psycfrnd.interaccess.com (Andrew Carlson) adia@egnatia.ee.auth.gr (Alejandros Diamandidis) alang012 andreas.kuhne@mailbox.swipnet.se (Andréas Kühne) aschlud@autelca.ascom.ch (Denis Schluchter) azure@people-s.people.de (Tim Boescke) beren@infolink.no (Niklas Saers) blake@widomaker.com (Blake Patterson) bq689@freenet.carleton.ca (Anis Ahmad) chaos@wiloyee.shnet.org chuck@freeside.fc.net (Chuck Walbourn) dagsm@infolink.no (Finrod / Ewox) daredevi@dorsai.org (Charles Scheffold) davidm@them.com (David Mandala) dennisc@community.net (dennis courtney) devries@cam.org (Mike DeVries) dhk_fj@p10.nix.fido.teuto.de (Christian Kram) dmw@gate.net (Out There!) dominion@ripco.com (Michael Chisari) fischerj@Informatik.TU-Muenchen.DE (Juergen Fischer) fmah@morse.ecn.purdue.edu (Frederick Y Mah) fuzz@ionline.net (Arlo Gingerich) gerald@parker.EECS.Berkeley.EDU (THE Gerald) grosje_s@epita.fr (Le Fongus jaune) gruel@hondo.cyberverse.com (Nick) gt4148b@prism.gatech.edu (Stephen Carter Morgan) habets@worldaccess.nl j.fenkes@public.ndh.com (Joachim Fenkes) jarevalo@sip.es jeanmarc.leang@ping.be (marmelade) jim@kd3bj.ampr.org (Jim Paris) jisidoro@acs.bu.edu joemess@mail.utexas.edu (helpless boy) jroth@coyote.csusm.edu (Jesse Rothenberg) jsno@amigar.apana.org.au jtavn@netcom.com (Jeremy Tavan) kiwidog@mail.vt.edu (Chris Hargrove) larsen@lal.cs.utah.edu (Steve Larsen) lodder@cuci.nl matthewp@netcom.com (Matt Pritchard) millen3@alum01.its.rpi.edu (Neal W. Miller) mrp@spartan.pei.edu (Mr.P) mrytkola@tor.abo.fi (Markus Rytk|l{ INF) mystical@inet.uni-c.dk (Asbjorn Andersen) page@ie2.u-psud.fr perseus@xs1.xs4all.nl plexus@plexus.seanet.com (James B. Johnson) ppsloan@buzzworm.cs.utah.edu (Peter Sloan) prsam1@MFS02.cc.monash.edu.au (Paul Sampson) rawvibes@ix.netcom.com rbarnhar@freenet.niagara.com (Robert Barnhardt) rbeath@julian.uwo.ca (Stephen Beath) rcskb@minyos.xx.rmit.EDU.AU (Kendall Bennett) rimbo@ccwf.cc.utexas.edu rob@span.com rolando@knoware.nl (Scout/SuccesS) root rvc@vision.auc.dk ryan.mahoney@tssbbs.com (Ryan Mahoney) s106275@cs.tut.fi (Anssi Saari) sci-slb@groper.jcu.edu.au (Stephen Banhuk) slmyv@paradise.declab.usu.edu (Denys Larry) src@cray.tuug.utu.fi (Saracen / EMF) sschaem@teleport.com (Stephan Schaem) sshah@intranet.ca tedjones@voyager.co.nz (Oliver Jones) then@superpallo.cs.hut.fi (Tomi Holger Engdahl) trixter@mcs.com (Trixter / Hornet) tst@dcs.ed.ac.uk (Tristan Tarrant) tw@wile.thetech.org (Tod Weitzel) vossa@magritte.its.rpi.edu (xproject) whippet1@quiknet.com (Scott Tyson) yvon@sept.fr (christophe yvon) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 10.0.1 How can I contact you guys to submit something? We need help to make this FAQ bigger and better, so please mail us your suggestions! Houman: ghahrema@bowler.dacc.wisc.edu Trixter: trixter@mcs.com Trixter is the primary maintainer, so email him first. Houman maintains the HTML version of the FAQ, so email him with HTML FAQ questions/corrections. Some things we are looking for currently: - Info on buying either the ASM'94 or ASM'95 CDROMs. - Info on buying the TP'95 CDROM. - Info on buying ANY demo-related CDROM. ----- Note from Houman: I did this FAQ for the comp.sys.ibm.pc.demos newsgroup. I was getting tired of huge threads being created that could have been avoided most of the time if general help was available to public. I accept any help, critiques, or anything else. I would like to thank Jim Leonard (Trixter/Hornet), for without his special help and documents, I would have not been able to create this FAQ. ----- Note from Trixter: I formatted all the ftp addresses as URL's, so if you see something like "ftp://ftp.cdrom.com/pub/demos", it means you should ftp to the site "ftp.cdrom.com" and then switch to the "/pub/demos" directory. Respect goes to Dan Wright, who started the whole "demos on the Internet" thing in 1992. Of course, thanks go to Houman for starting this thing; greets also to Snowman, for being a good friend and bringing me back into the scene when I was going to quit. Finally, thanks to all past and present Hornet Core and Family members, for having me. ----- Both of us: If you have any questions, or want to help us make this FAQ bigger and better, please email us: Houman Ghahremanlou ghahrema@bowler.dacc.wisc.edu http://www.dacc.wisc.edu/~ghahrema Trixter / Hornet trixter@mcs.com http://www.mcs.com/~trixter/html/home.html Thank you!