.Start.of.DemoNews.116..............................................Size:55,139 ______/\___________________________ __ ________________ ___ /\_______ \____ \ ________ _ _ ______ \ / \| \ ________ | \/ ______/ / | \ _) \ \_/ \ | \ / \ \ _) \ | \______ \ / | \ \ | \ | \ / \ \ /~\ \ / \ \_____ /_______/___| /________/ \____\_____/_______/_________/________/ \_____/ |____/ | Subscribers : 1935 DemoNews Issue #116 - February 20, 1996 | Last Week : 1903 ------------- | Change : +32 DemoNews is a newsletter for the demo scene. | Archive Size : 2097M It is produced by Hornet at the site ftp.cdrom.com. | Last Week : 2064M Our demo archive is located under /pub/demos. | Remaining : 836M | =-[Contents]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Line Section ------ ------------------------------------------------------------------- 31 Calendar 49 Top Downloads 72 Uploads 388 Articles 390 Introduction................................Snowman 444 Intro to 3D Graphics - Volume 02............Kiwidog 803 VGA Hardware Tricks, Part 4/6...............Trixter 1006 Subscribing 1021 Closing =-[Calendar]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Date Event Location Concact Points --------- ------------------- --------- ------------------------------------- 23 Feb 96 Pre-Awakening U.S.A. cramerc@elwha.evergreen.edu 29 Mar 96 Mekka Germany PV80090@PH80090.HH.eunet.de www.xs4all.nl/~blahh/RAW/Parties /Invitations/Mekka.html 02 Apr 96 The Gathering Norway mikaels@powertech.no www.ifi.uio.no/~uwek/Crusaders/TG 06 Apr 96 X Netherlnd cba@xs4all.nl www.xs4all.nl/~herkel 31 May 96 Naid Canada naid@autoroute.net www.autoroute.net/~naid More information is at http://hagar.arts.kuleuven.ac.be/~sdog/party.html =-[Top Downloads]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= NOTE: Statistics are sometimes slightly off due to symbolic links, mirrors, renamed files, and other things which affect the log files. Pc Times FileName.Ext Pc Times FileName.Ext Pc Times FileName.Ext -- ----- --------.--- -- ----- --------.--- -- ----- --------.--- 1 00452 ft205.zip 1 00179 animate.zip 1 00031 airwar.zip 2 00217 ice9601a.zip 2 00174 nooon_st.zip 2 00030 scarlet.zip 3 00193 cp16.zip 3 00163 ftj_ymca.zip 3 00028 veced300.zip 4 00182 ft204.zip 4 00135 cmapaim.zip 4 00028 dst_frac.zip 5 00179 ice9601b.zip 5 00129 cmapaifx.zip 5 00025 bedtime.zip 6 00179 animate.zip 7 00174 nooon_st.zip 1 00452 ft205.zip 1 00088 dn114_3d.zip 8 00163 ftj_ymca.zip 2 00192 cp16.zip 2 00073 kmagv2.zip 9 00149 scrmt321.zip 3 00182 ft204.zip 3 00068 alabv12.zip 10 00144 acdu0196.zip 4 00149 scrmt321.zip 4 00058 water.zip 5 00053 dos32v33.zip =-[Uploads]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =----------------------------------------------------------[File Information]-= All files listed below are on ftp.cdrom.com under /pub/demos. Please keep in mind that all ratings are subjective. If your file transfers are too slow, there are several alternatives: Our code mirror is ftp.co.iup.edu/code. ftpadmin@ftp.co.iup.edu for help. Try getting files from the web at http://www.cdrom.com/pub/demos See /hornet/demonews/demonews.102 for details about ftpmail. You may also wish to check out a couple of other good demo sites: ftp://ftp.arosnet.se/e:\demo maintained by Zodiak / Cascada ftp://hagar.arts.kuleuven.ac.be/demos maintained by Sleeping Dog / Natives Here are also a few good WWW links to try out (under construction): http://www.th-zwickau.de/~maz/sound.html for music and sound utils =-------------------------------------------------------------[Demos:General]-= Location /demos/alpha Size Rated Description =-------------------------------- ---- ----- ---------------------------------= /1994/t/thefirst.zip 283 *** The First by Strontium 90 /1995/f/fdg_ind.zip 352 *** Indaba by Fudge /1996/0-9/1frame.zip 7 **** 1 Frame by Dlux /1996/f/frosty.arj 20 ** Frosty by Sir Hes /1996/n/nn.arj 243 *+ NoNameIntro by Sir Hes General Probe 1996 4k Intros (GP96:in4k:) /1996/a/ame_pain.zip 5 **** 01: Pain by Amnesty Juhla 1996 Demos (JUH96A:demo:) /1996/o/onenight.zip 261 ** EE: One-Night Stand by QP Juhla 1996 64k Intros (JUH96A:in64:) /1996/e/emf_porn.zip 61 ***+ 15: Porno by EMF =-------------------------------------------------------------[Music:General]-= Location /demos/music Size Rated Description =-------------------------------- ---- ----- ---------------------------------= /disks/1995/x/xmas95.zip 1793 **+ Xmas 95 by Epinicion /songs/1994/mod/f/fantasy.zip 199 **+ Fantasy World by ?? /songs/1994/mod/m/minion.zip 137 ** Minions of Power by ? /songs/1995/s3m/2/2t2-sadw.zip 289 ***+ A Sad World We Live In by B00mer /songs/1995/s3m/a/arn_bara.zip 92 *+ Maior Abandonado by nS /songs/1995/s3m/a/arn_fine.zip 114 **+ I Feel Fine by nS and Minesota /songs/1995/s3m/a/arn_free.zip 254 *** Free as a Bird cover by Minesota /songs/1995/s3m/a/arn_iron.zip 182 *+ Iron Man cover by Minesota /songs/1995/s3m/a/arn_mk2t.zip 340 * MK 2 Techno by CJ Cyberjobe /songs/1995/s3m/a/arn_sdm.zip 214 *+ Short Dick Man by HBM /songs/1995/s3m/a/arn_strt.zip 245 *+ Funky Street Walk by CJ Cyberjobe /songs/1995/s3m/a/arn_tnk.zip 108 ** Thinking About You by HBM /songs/1995/s3m/a/ascen.zip 264 *** Ascension by Master of Darkness /songs/1995/s3m/e/ele-plan.zip 237 *** Planet on Acid by Elemental /songs/1995/s3m/f/flp-bd.zip 206 ** Bioptic Dichotomy by Asken /songs/1995/s3m/f/flp-wnds.zip 174 *** Windstorm by Mondo /songs/1995/s3m/h/highden2.zip 72 *+ High Density by Warp /songs/1995/s3m/j/js-cattl.zip 153 * Wonder Cattle by Speig /songs/1995/s3m/k/kon-no.zip 111 **+ Accept no Subs. by Flacco + Waarp /songs/1995/s3m/v/v8r-ap.zip 210 *** Acid Phreak by viol8r /songs/1995/s3m/w/wait4u.zip 3 *** Waiting for You by falcon /songs/1995/s3m/w/wings.zip 64 ** Wings by Warp /songs/1995/s3m/w/wings3.zip 101 ** Wings 3 by Warp /songs/1995/s3m/x/xmass.zip 329 + X-mass jam by BigpiE /songs/1995/s3m/y/ybbanjo.zip 156 ***+ Banjo jammin by Yannis /songs/1995/s3m/y/ybblub.zip 50 **+ Blubbiest Places by Yannis /songs/1995/s3m/y/ybecho.zip 176 ***+ Echomation by Yannis /songs/1995/s3m/y/ybmirac.zip 47 **+ Little Miracle by Yannis /songs/1995/s3m/y/ybtones.zip 67 ***+ Harmonic Tones by Yannis /songs/1995/s3m/z/znc-80kh.zip 72 ** Around the World in 80 by zinc /songs/1995/xm/f/faraway.zip 54 ** Faraway Trek by Joshua Szmajda /songs/1995/xm/f/flp-glid.zip 135 **+ Sunset Glider by Wolfgang Krauser /songs/1995/xm/f/flp-jour.zip 160 *** Journey to Sky Tower by Archon /songs/1995/xm/f/flp-slow.zip 274 *** Slow Love by Gillespie /songs/1995/xm/g/grv_jour.zip 181 *** N R Livet Leker by Zalt /songs/1995/xm/x/xmlookup.zip 4636 ** Lookup by Omega /songs/1995/xm/x/xtd_040.zip 311 ***+ Guiding Light by Virtual Rhythm /songs/1995/xm/x/xtd_045.zip 879 *+ Fallin Apart by Assex /songs/1995/xm/x/xtd_046.zip 400 **** Allegorie by Virtual Rhythm /songs/1995/xm/x/xtune.zip 111 *+ Xtunes by Darius /songs/1995/xm/z/zan-extr.zip 111 ** Extreme Overload by zanti /songs/1996/mod/g/grv_fun.zip 194 **+ Funkadelic's Jam by Omen /songs/1996/mod/h/hnz-bear.zip 140 *** Bear by Hunz /songs/1996/mod/h/hnz-evnt.zip 76 **+ Events by Hunz /songs/1996/mod/h/hnz-fary.zip 56 ** FairyFloss by Hunz /songs/1996/mod/h/hnz-free.zip 75 ***+ Freestyle by Hunz /songs/1996/mod/h/hnz-grow.zip 112 ***+ Growing to fast? by Hunz /songs/1996/mod/h/hnz-mile.zip 82 *** 24,000 miles by Hunz & Hollywood /songs/1996/mod/h/hnz-sfrn.zip 138 ** Sufferings by Hunz /songs/1996/mod/h/hnz-tech.zip 96 **+ Techno Horses by Hunz /songs/1996/mod/h/hnz-time.zip 123 *** Time Has Gone by Hunz /songs/1996/mod/h/hnz-tran.zip 117 ***+ Transfer by Hunz /songs/1996/mod/i/inspired.zip 83 *** Inspired by Strix /songs/1996/mod/k/k_sting.zip 255 ***+ Stingray by Hollywood /songs/1996/mod/l/luminous.zip 167 ** Luminous Future by Smash /songs/1996/mod/l/lw_venus.zip 97 **+ Venus Power by Michiru /songs/1996/mod/t/t_krdogg.zip 133 ** Kraq Dogg by David Weekly /songs/1996/mod/y/ybstrsrf.zip 174 **** Street surfin by Yannis /songs/1996/mtm/k/k_lodge.zip 391 ***+ Lodge of 3 Globes by Maelcum /songs/1996/mtm/k/k_opp.zip 87 *** Opposition by TheHacker /songs/1996/other/k/kx-synd.zip 435 *+ Syndicate of Death by Kxmode /songs/1996/other/m/mt-ww0.zip 217 **+ Wantonly Waiting by Mindtrip /songs/1996/other/n/no-secon.zip 107 *** Second Sight by Delta X /songs/1996/s3m/a/a_ap.zip 145 ***+ Atomic Plague by Matt Friedly /songs/1996/s3m/a/am_tpe.zip 129 ** Psychedelic Experience by Amorphis /songs/1996/s3m/a/arn_geek.zip 95 **+ Geek Stink Breath by Minesota /songs/1996/s3m/a/athought.zip 167 **** Another Night of Thought by ZaStaR /songs/1996/s3m/b/brokenw.zip 84 **** Broken Wings by Warp /songs/1996/s3m/f/foo.zip 915 ** I'll Stick Around by Stein /songs/1996/s3m/g/g_abort.zip 82 * Abortions Suck by Huggy Bear /songs/1996/s3m/h/hd-chnce.zip 88 *** No More Chances by Crus /songs/1996/s3m/i/iha-acid.zip 79 **+ Acidic Perspiration by Iha /songs/1996/s3m/j/jbmutate.zip 311 **+ Mutational Pathogen. by Schizoid /songs/1996/s3m/j/jezebel.zip 978 + Juke Joint Jezebel by Stein /songs/1996/s3m/j/judgmnt.zip 271 **+ Judgement by mJan /songs/1996/s3m/k/k_ballad.zip 380 **** The Last Ballad by Siren /songs/1996/s3m/k/k_lproof.zip 194 *+ Living Proof by GooRoo /songs/1996/s3m/k/k_softy.zip 204 + Softy by Karl /songs/1996/s3m/l/life.zip 46 ** Life is Life by ReCoder /songs/1996/s3m/n/nin_ruin.zip 727 ***+ Ruiner (remix) by Bedlamite /songs/1996/s3m/p/plasma.arj 202 **+ Plasma by Petador /songs/1996/s3m/p/pr-calln.zip 186 *** The Calling by Darkwolf /songs/1996/s3m/p/pr-stand.zip 281 ***+ Standing Close by Darkwolf /songs/1996/s3m/v/v-inner.zip 145 ***+ Inner Turmoil by Vegas /songs/1996/s3m/w/wr-ccity.zip 59 *** Century City by wraith /songs/1996/s3m/w/wr-utopi.zip 186 *** Utopia by wraith /songs/1996/s3m/y/ybfurble.zip 9 **** Invasion of Furbles by Yannis /songs/1996/s3m/y/ybtiny.zip 6 *** Tinypino by Yannis /songs/1996/s3m/y/yee-had.zip 139 **+ Yeeeeeeeehawwwwwwww! by Hadji /songs/1996/s3m/y/yyz.zip 391 *** Yyz by Ler /songs/1996/s3m/z/zn-happy.zip 195 ***+ Happy Daze by zinc /songs/1996/s3m/z/zn-jazzt.zip 90 **+ Jazzting by zinc /songs/1996/xm/e/el-defin.zip 100 *** Defining by Electric Lucidity /songs/1996/xm/e/eternity.zip 573 ***+ Eternity by Khyron /songs/1996/xm/f/fh-fperf.zip 114 ** Fake Perfection by FH /songs/1996/xm/f/fh-sf96.zip 117 ** Strange Feelings 96 by FH /songs/1996/xm/f/flp-gl01.zip 144 **+ Fallen from Grace by Gillespie /songs/1996/xm/f/fm-snoop.zip 292 ***+ Raping the Dog by Mellow-D /songs/1996/xm/f/fr-loye.zip 256 ***+ Love Opens Your Eyes by Nabo & Teo /songs/1996/xm/g/gl-dist.lzh 385 ***+ Distance by Glitch /songs/1996/xm/g/gl-lapse.lzh 226 ** Lapse by Glitch /songs/1996/xm/g/grv_wate.zip 110 ***+ Waterfall by Balrog /songs/1996/xm/h/hyperion.zip 515 **+ Hyperion by Outrage & Orc /songs/1996/xm/j/j-kgdsky.zip 282 ****+ Kingdom Skies by Jase /songs/1996/xm/k/k_mhouse.zip 581 *** My House by Vivid /songs/1996/xm/l/lok_deep.zip 241 *+ Deep Inside by Ganja Man /songs/1996/xm/l/lok_spkl.zip 155 *+ Speed Kills by Ganja Man /songs/1996/xm/m/maz-last.zip 284 **** Fifteen by Dynamic Harmony /songs/1996/xm/m/moonscpe.arj 613 *** Moonscape by Petador /songs/1996/xm/m/mr_clytn.zip 309 ****+ Claytons by Mick Rippon /songs/1996/xm/o/ophelia2.zip 350 ***+ Ophelia 2 by Xerxes /songs/1996/xm/p/ploff-01.zip 374 *** It Makes me Happy by Ploffer /songs/1996/xm/z/zan-reli.zip 185 *** Relieved by zanti The Party 1995 4-Channel Music (TP95:m4ch:) /songs/1995/mod/f/fountain.zip 454 ****+ 01: Fountain of Sighs by Unreal /songs/1995/mod/c/compact.zip 142 **** 03: Compact Caviar by Mystical /songs/1995/mod/k/kissmyas.zip 244 **** 05: Kissmyass by Jazz,Haujobb /songs/1995/mod/j/jazzin.zip 297 **** 09: Jazzin by FBY /songs/1995/mod/c/chico_d.zip 318 ***+ 11: Chico de Loros by Gandbox /songs/1995/mod/w/what_gui.zip 557 ***+ 13: What Guitar by Mindfuck /songs/1995/mod/t/trancepl.zip 579 *** 14: Trans Playground by Prophet /songs/1995/mod/p/post_ouv.zip 275 ***+ 15: Post Ouverture by Trip /songs/1995/mod/p/play_kid.zip 482 **** 16: Play Kid by Unison /songs/1995/mod/d/december.zip 164 ***+ 17: December by Pinocchio,Contraz /songs/1995/mod/s/sleeping.zip 119 **** 19: Energy by Laz /songs/1995/mod/p/party_su.zip 147 **** 20: Party Sux by Dreamer /songs/1995/mod/s/separate.zip 133 ***+ 21: Seperate Ways by Clawz /songs/1995/mod/m/magic_jo.zip 243 ***+ 22: Magic Journey by Fash /songs/1995/mod/s/spritzst.zip 215 *** 23: Spritzstunden by Slide G. /songs/1995/mod/w/world_of.zip 278 ***+ 26: World Insanity by Lizardking /songs/1995/mod/b/blacksil.zip 116 *+ XX: Black Silver by ??? /songs/1995/mod/b/bnmainia.zip 100 ** XX: Bn Mainia by Maf + Eagle /songs/1995/mod/b/bornin57.zip 108 *** XX: Born in 1957 by Dave /songs/1995/mod/c/campaign.zip 218 **+ XX: Virulent Campaign by Sonic /songs/1995/mod/c/can_pas.zip 162 *** XX: Canned Passion by Dep /songs/1995/mod/c/caphlame.zip 211 *+ XX: Caph and Lamed by Prick /songs/1995/mod/c/cascade.zip 240 ** XX: Cascade Fsol by The Fox II /songs/1995/mod/c/chaseit.zip 162 *** XX: Chaseit by Vincent /songs/1995/mod/c/china.zip 229 ** XX: China by Al Bundy /songs/1995/mod/c/chr_monk.zip 390 *** XX: Trance Monks by Chronic /songs/1995/mod/c/classic.zip 255 ** XX: Classical Interrupt by CDK /songs/1995/mod/c/cloudz.zip 361 **+ XX: Behind the Cloudz by Bier /songs/1995/mod/c/co-coco.zip 171 *** XX: Co-Cocorico by Shad + Live /songs/1995/mod/c/collecti.zip 364 **+ XX: Collective H. Compo by Wax /songs/1995/mod/c/complete.zip 153 ***+ XX: Complete Disaster by Psycho /songs/1995/mod/c/control.zip 224 *** XX: Control by Hilander /songs/1995/mod/c/cracklin.zip 230 * XX: Crackling Turd by Taste /songs/1995/mod/c/crazy_s.zip 266 ***+ XX: Crazy, Sexy, Cool by Virgill /songs/1995/mod/c/creature.zip 289 *** XX: Creature by Odie /songs/1995/mod/d/do_you_l.zip 209 *+ XX: Do You Love by VVV,MJK /songs/1995/mod/d/dragonbr.zip 406 ** XX: Dragon Breath by Black Dragon /songs/1995/mod/d/dreamvoy.zip 147 ***+ XX: Dream Voyage by Gizmo /songs/1995/mod/e/easy_lis.zip 144 **+ XX: Easy Listening by Bohdi /songs/1995/other/ecnofunx.zip 369 [n/a] XX: Ecno Funx by Gigantbox /songs/1995/mod/e/en_el_ca.zip 167 **** XX: En el Cafe by Tiny /songs/1995/mod/e/especial.zip 100 **** XX: Espcial Special by Knaekpolsen /songs/1995/mod/e/exrcompt.zip 220 ***+ XX: Exrcomptun by Elixir /songs/1995/mod/f/field-da.zip 507 **** XX: Field-Day by Scorpik /songs/1995/mod/f/forever_.zip 362 *+ XX: Forever Love by Trance /songs/1995/mod/f/ft_magic.zip 233 ** XX: FT Magic Sound by Thiesen /songs/1995/mod/g/gettings.zip 193 ** XX: Getting Started by Knox /songs/1995/mod/g/gluppobe.zip 373 ***+ XX: Gluppobert by Quazar /songs/1995/mod/g/gnaule.zip 240 **+ XX: Gnaule by Doh /songs/1995/mod/g/god_of_.zip 254 ** XX: God of Errors 2 by Raze /songs/1995/mod/g/goingtot.zip 204 **+ XX: Going to the Top by Mot,Istari /songs/1995/mod/g/greenday.zip 275 ** XX: Greenday Thing by Futuremind /songs/1995/mod/h/hei-bang.zip 55 + XX: Bim Bom Bam by HeiZahn /songs/1995/mod/h/hey_skat.zip 251 ** XX: Hey Skat by Splif /songs/1995/mod/h/higher_a.zip 193 **+ XX: Higher by Randall,Eracore /songs/1995/mod/h/hooyowyc.zip 170 ***+ XX: Hoyowy Chrzaszcz by Spiryt,Ils /songs/1995/mod/i/iconbast.zip 197 *+ XX: Iconbastic by Maytz /songs/1995/mod/i/illusion.zip 172 ***+ XX: Illusion by Trance /songs/1995/mod/i/in_addic.zip 225 **+ XX: In Addiction by TNT /songs/1995/mod/i/in_my_ba.zip 286 *** XX: In My Backyard by Fender /songs/1995/mod/i/innertra.zip 130 **+ XX: Innertrance by KTN /songs/1995/mod/j/jazztime.zip 69 ** XX: It's Jazztime by Sector /songs/1995/mod/j/jerry-sh.zip 444 **** XX: Jerry-Shop by Dan,Norby /songs/1995/mod/k/kickin_i.zip 182 **+ XX: Kickin It Playback by Mortimer /songs/1995/mod/k/kresten_.zip 161 *** XX: Buddha Medly by DTS /songs/1995/mod/l/live_for.zip 115 ** XX: Live Forever by Trapdoor /songs/1995/mod/m/m-caviar.zip 141 ***+ XX: Compact Caviar by Mystical /songs/1995/mod/m/manic_fi.zip 217 *+ XX: Manic Filters by Decybel /songs/1995/mod/m/marching.zip 102 *+ XX: Marching Elefants by X-Cess /songs/1995/mod/m/media-te.zip 231 **+ XX: Media Techno Popicus by Speedy /songs/1995/mod/m/mellow_t.zip 225 ** XX: Mellow Technology by Klorathy /songs/1995/mod/m/morning-.zip 126 ***+ XX: Morning by Dan Dryer /songs/1995/mod/m/mountain.zip 404 *** XX: Mountain High by Tricktrax /songs/1995/mod/m/mystics.zip 205 ** XX: Mystic by Speck /songs/1995/mod/n/neat_com.zip 373 ** XX: Neat by Trickster /songs/1995/mod/n/nowasyn.zip 220 *+ XX: Nowasyn by Nowawes /songs/1995/mod/o/obsessio.zip 156 *** XX: Obsession by Zoomorph /songs/1995/mod/o/omega.zip 196 ** XX: Omega by Smooth /songs/1995/mod/o/out_of_g.zip 155 **+ XX: Out of Goa by Yogi /songs/1995/mod/p/plutoniu.zip 146 *+ XX: Plutonium 239 by Tls /songs/1995/mod/r/r0undab0.zip 87 ***+ XX: Roundabout by Boon /songs/1995/mod/r/rave_tri.zip 196 * XX: Rave Trip by X-et /songs/1995/mod/r/rocks.zip 226 *** XX: On the Rocks by Necros /songs/1995/mod/s/saa_smuk.zip 227 *+ XX: Saa Smukt er Havet by Kim /songs/1995/mod/s/sassy_as.zip 210 *+ XX: Sassy Assline by Muttley /songs/1995/mod/s/screwdri.zip 148 *+ XX: Screwdriver Disaster by Coma /songs/1995/mod/s/shake_yo.zip 108 *** XX: Shake Body by C.Cool,Avocado /songs/1995/mod/s/should_t.zip 172 * XX: Should Turn to B by Tarmslyng /songs/1995/mod/s/smooth_a.zip 247 **+ XX: Smooth Attack by Pman /songs/1995/mod/s/sorry.zip 82 ** XX: Sorry to Party by Dixan /songs/1995/mod/s/space_fi.zip 115 **+ XX: Space Fish in Sig T3 by Pixie /songs/1995/mod/s/spacelab.zip 259 ** XX: Spacelab 9 by Shane /songs/1995/mod/s/spiral_m.zip 333 **+ XX: Spiral Mechanism by Shout /songs/1995/mod/s/suddenin.zip 334 ** XX: Sudden Inspiration by Hille /songs/1995/mod/s/sw-wart.zip 211 ***+ XX: Wart by Damac,Swallow /songs/1995/mod/s/syndrome.zip 226 *** XX: Syndrome by POW /songs/1995/mod/s/syntacti.zip 149 *** XX: Syntactic Sugar by Mittlag /songs/1995/mod/t/the_fire.zip 115 ** XX: The Fire Bird by Notman /songs/1995/other/the_madd.zip 65 [n/a] XX: MADDog in Acid World by Lasse /songs/1995/mod/t/the_milk.zip 205 ** XX: The Milkman by Weezer /songs/1995/mod/t/the_over.zip 268 ***+ XX: The Overture 2 by Front 6 /songs/1995/mod/t/theatric.zip 170 ** XX: Theatrical by Deck /songs/1995/other/theparty.zip 478 [n/a] XX: The Party by Gunni /songs/1995/mod/t/too_much.zip 275 *** XX: Too Much by Marc /songs/1995/mod/t/totalecl.zip 531 *** XX: Total-Eclipse by Zany (check) /songs/1995/mod/t/trans-s.zip 111 **+ XX: Trance-Sax-Ual by Ktn /songs/1995/mod/f/tvnet.zip 593 ***+ XX: TV Network by Cash /songs/1995/mod/t/tzjim-sc.zip 64 ** XX: Tzjim Schack by Swaxi /songs/1995/mod/v/vandpibe.zip 154 * XX: Vandpibe by Jeronimus /songs/1995/mod/v/vatican.zip 12 *+ XX: Vatican Rag by Hubert /songs/1995/mod/v/vermins-.zip 76 ** XX: Vermins Eat Dust by Dr.Strange /songs/1995/mod/v/visionai.zip 395 *** XX: Visionaire by Bethoven /songs/1995/mod/x/xact_ple.zip 207 *** XX: Xact Pleasure by NFC /songs/1995/mod/z/zyr.zip 124 **+ XX: Zyrian by S. Koponen =----------------------------------------------------------[Graphics:General]-= Location /demos/graphics Size Rated Description =-------------------------------- ---- ----- ---------------------------------= /disks/1996/fredpack.zip 257 ***+ VGA Pack by Fred Beltran /images/1996/b/b2p3_1.zip 16 *+ Billy Baygle by E.Megas EXE 95 Graphics (EXE95:grfx:) /images/1995/w/wrd_alie.zip 22 *** 03: Alie by Ward /images/1995/e/eye_drkf.zip 29 **+ ??: Eye by ??? /images/1995/f/farao.zip 90 ***+ ??: Farao by ??? /images/1995/l/lany.zip 56 **+ ??: Lany by ??? /images/1995/m/magic.zip 48 ** ??: Magic by ??? /images/1995/s/sarkany.zip 101 [n/a] ??: Sarkany by ??? The Party 95 Graphics (TP95:grfx:) /images/1995/s/spacetit.zip 170 ****+ 01: Space Tits by Danny /images/1995/0-9/8climber.zip 132 **** 02: Climber by Rodney /images/1995/a/animalre.zip 51 *** 06: Animal Reign by Made /images/1995/s/silicon.zip 153 **+ 09: Silicon by Louie /images/1995/s/smorrebr.zip 169 ** 13: Smorrebr by Facet /images/1995/c/cutechri.zip 84 ***+ 14: Cute Christina by Dice /images/1995/t/theevils.zip 120 **+ 18: The Evils by Spawn /images/1995/e/eldar.zip 67 ** 21: Eldar by Hook /images/1995/r/ratman.zip 76 ***+ 39: Ratman by Darkman /images/1995/j/jansson.zip 17 ** 43: Gamla by Saffron /images/1995/p/picturet.zip 79 **+ 46: Picture T by Bifrost /images/1995/b/beyond_n.zip 138 *** 47: Beyond N by JCS /images/1995/s/sn-nuke.zip 15 **+ 52: Nuclear Waste by Moebius /images/1995/s/splitter.arj 64 ** 53: Splitter by Rad Ad /images/1995/c/champagn.zip 63 ** 55: Champagne by Fiver /images/1995/t/theraid.zip 41 **+ 74: The Raid by Damac /images/1995/o/osiris.zip 68 + 89: Osiris by Balkis /images/1995/a/assassin.zip 65 *+ ??: ??? by ??? /images/1995/o/ofdeath.zip 40 **+ ??: ??? by ??? /images/1995/s/spacefis.zip 40 **+ ??: Space Fist by Pixie /images/1995/w/wildbgan.zip 202 *** ??: ??? by ??? =----------------------------------------------------[Miscellaneous:Reviewed]-= Location /demos Size Rated Description =-------------------------------- ---- ----- ---------------------------------= /mags/1996/cheese1.zip 217 **+ Cheese #1 by TKB =-[Articles]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =---------------------------------------------------[Introduction]--[Snowman]-= Hello all, and welcome to DemoNews issue 116. Our little ftp.cdrom.com server is feeling better after a bout with a bad mount. The /.11 drive (the Ada archive) went bad. Around the same time, some sort of file integrity error was detected on the mount that housed everyone's home directories. Many of us were without an outside world mail-feed for about four days. Upon restart, the clock on the server was set ahead about 2.5 years. This seemed to cause problems with the listserver but everything appears to be working correctly now. On an unrelated note, I am now the /pub/perl archive maintainer. My responsibilities exist solely of checking up on a crontab mirroring job. If only /pub/demos were that easy. :) E. Megas wrote me and said that we should have some more "demo news" (i.e. more news about the scene). I agree. Please send me some to print. Our /pub/demos/code mirror opened up this week. See "File Information" above for more details. There will be some very big changes coming up in the way we catalog files. We are totally redesigning from the ground up the way we handle file descriptions and other attributes. For those of you who are old enough to remember, we used to have an external .txt file for each .zip on the site (kind of like a file_id.diz). This made things easy to move around (didn't have to update 00index.txt files) but wasn't very friendly. We then moved on to 00index.txt files, which made for somewhat easy recursive subdirectory traversal in generating an ALLFILES.TXT. This was fine for a while but for several reasons we have decided to go to a MASTER.LST format, propagating all descriptions down through the directory tree (rather than the other way around). If this doesn't make sense or sounds boring, that's ok. You'll see benefits soon enough. :) I have recently started playing a new game. It's called "Make a Demo CD". The goals are to make the scene happy and earn money for your company. The penalties are getting sued for copyright violations and loosing respect with the scene. I'm just a newbie at this so I haven't progressed very far. I will either have beaten this game or been disqualified by May 14th, 1996. If any of you know some cheat codes, I'd love to hear them. In about three weeks I'll talk about the multi-player edition. On a final note, we are a bit behind on getting DemoNews out. The "Top Downloads" needs to be done weekly to provide any sort of stable statistics. As a result, expect to see two more issues of this newsletter before next monday. Take care. Snowman / Hornet - r3cgm@cdrom.com =-------------------------------[Intro to 3D Graphics - Volume 02]--[Kiwidog]-= _____Greetings Welcome back everyone. It's time for the second article in the 3D series, in which we cover another basic element of a 3D system... something seen in nearly ever demo for the past few years that involves vectors at all. Rotation. Whether it be that nice texture-mapped stone from Valhalla's "Solstice", or just a flat-shaded cube from a 4k intro, things rotate almost constantly. So it's time to start performing some rotations on our own. :-) Once again, there will be a supplement to this article, but this time there will be no extra article text; everything should be in here. But the supplement will have sample code, so you still should get it. DN115_3D.ZIP. Just check in the same place on ftp.cdrom.com as the last supplement... I'm going to keep this article relatively short (along with the subsequent ones)... after all, Snowman has more to put in DemoNews than my constant rambling, and I can't keep sucking up all the space like this. ;) Nonetheless, I hope you find this article useful, as we continue our drive toward learning 3D graphics. Ready? Well like it or not, here we go! :) _____Section One - 2D Rotation Before we can get more sophisticated 3D rotations going, we need to try it in two dimensions first... because 3D rotations are just based on three 2D rotations, but combined. So how do we rotate something in 2D? How do we take any 2D point, give it an angle to rotate by about the origin, and get it correctly to its new position? Well this is where that Trig knowledge from the first article comes into play. Everything about rotation involves Trig. Sine and Cosine are very much your friends here. And it's not that complicated, really... you can rotate in one plane with only 4 multiplies (other optimizations come later as well). So how do we go about this? Well, let's take it piece by piece. First, I'll assume the XY plane (the real one, where Y goes up) for this, as we try to take a point and rotate it. A lot of docs, when trying to explain rotation, will give you the simple equations for it but give you no clue as to how those equations came about. Several people have asked me, "Hey, if and when you ever do a 3D tutorial, tell me how the heck you get those rotation equations, cuz I have no idea where those came from and why they work." Well, I can't quite tell you where they came from at first (like who thought of them), but I can replicate the ideas here and show you what makes sense to me. If it makes sense to you to, then I guess it worked. :-) Here's the idea... Get out a piece of paper. No, don't worry, this isn't a quiz. ;) On the paper, draw a pair of conventional XY coordinate axes, and then lightly sketch a large circle on it. Make sure the circle is light; you don't really need it for much except placing a couple points. After you draw the circle, put a point at about, say, 30 degrees (assuming 0 degrees is to the right and the angles go counterclockwise). Then put another point at about 70 degrees, in the same fashion. We're going to pretend that the first point is our original point, and that we're trying to rotate it to the second point, our destination... a rotation of 40 degrees about the origin. The actual accuracy of the points doesn't matter; if you're a bit off, it's fine. Now with each point, draw a triangle for that point. Each triangle's three sides are the X axis, the the line from the origin to the point, and the line from the point straight down to the X axis. What you should have now are two right triangles in the upper right quadrant of your XY plane, one being pretty upright (the destination point's), and the other a bit more wide than tall. Time for some labels... okay, for each triangle, label the line going from the origin to the point as "R" (for radius). Since it's the same length for both triangles, we use the same label. Now, on the first triangle (the short, wide one), label the side along the X axis "X", for that length. Likewise, label the line from the X axis up to the point as "Y" for that height. For the second triangle (the tall one, for the 70 degree point), label the X length and Y height as "U" and "V", respectively, in a similar fashion. Finally, we need two angles. In the angle between the X axis and the first, lower R side (30 degrees), label it í (called Phi). Then label the angle between the lower R and the higher R (the one at 70 degrees) as é (called Theta). There we go... we've got our drawing. :-) If my little walkthrough in drawing this has confused you to no end, either try it again from the beginning, or look in the supplement; I'll include a PCX in there of this same diagram I'm describing. Okay, so we have this drawing. Basically, what we know in the beginning is that we have this initial point at an unknown angle (we know it's 30 degrees in this example, but normally, you won't know that for arbitrary points), yet we know it has Cartesian coordinates (X,Y). What we want to do is pump X and Y through an equation or two, along with the angle we want to rotate by (which we labeled as Theta, and in this example is 40 degrees), and find out its new coordinates, called (U,V). So what equations do we use? Let's find out... There are several convenient identities in Trigonometry that you can find in pretty much every math textbook with Trig in it.... one of those identities is called the "Law of Sines", which goes like this... Sin(à) Sin(á) Sin(â) ------ = ------ = ------ A B C Where A, B, and C are the lengths of the sides of a triangle, and à, á, and â are the angles _directly opposite_ those sides... /| /á| C / | / |A / | / | /à â| -------- B It doesn't have to be a right triangle; it works for every triangle there is. Granted, for our purposes, we _will_ be using our right triangles, and this will help us out. Now if we use our first right triangle, the short one, and pretend that R is our "C" of the triangle, by the fact that this is a right triangle, we know that â is 90 degrees. And the Sine of 90 is 1, which gives us one very nice piece of math meat. We only need to use one other side of our Law of Sines formula in this example, in this case, the A-à side. In our case, "A" is the same as Y, and à is the same as í. So we have a little mini-formula, Sin(90) Sin(í) 1 Sin(í) ------- = ------ which means --- = ------ R Y R Y Then, if you multiply each side by Y, it moves the Y to the left side, so Y --- = Sin(í) R This should all make sense so far, I hope. If you're looking at the diagram as you read this, it should clear things up a bit. Okay, so we can see the relation between the angle í, and the sides Y and R. Well since í is across from Y, shouldn't we be able to have the same kind of relation for the other triangle, with V and R? The angle across from V is just í and é added together, so shouldn't that work? Sure does. :-) V --- = Sin(í+é) R Okay, time for another nifty Trig identity (BTW, if you don't have a math book with all these identities in it, let me know... if enough people ask for a listing, I'll type up a quick reference list with identity equations that you can use. Just email to the address at the end, if you think you'd like that :) Anyway, another nice identity is that for any two angles à and á, Sin(à+á) = Sin(à)*Cos(á) + Cos(à)*Sin(á) So we sub that into our previous thing, and we have V --- = Sin(í)*Cos(é) + Cos(í)*Sin(é) R Multiply by R now, to get V (the destination point's X value that we've been trying to find), and it's V = R*Sin(í)*Cos(é) + R*Cos(í)*Sin(é) Welp, last identity.... this one, taken from Polar coordinates. If you've had algebra, you've used Polar coordinates before. Well if you remember the way to convert a polar point to Cartesian (I doubt you do, so I'll remind you... it's gonna take a while before you end up memorizing all these darn formulas, trust me :) those conversions are X = R*Cos(Theta) *** Don't confuse these with our R, X, or Y! Y = R*Sin(Theta) They're just conversion equations *** Well look at our V equation above... notice anything? We know Phi is an angle in the triangle that deals only with X and Y, which we know (since they're just your first point and all). So can we drop those R*Sin(í) and R*Cos(í) parts and just sub in X and Y like you would do with Polar? You betcha..... V = Y*Cos(é) + X*Sin(é) *** FINAL V EQUATION!!! :) *** That's all we need! Hooray! :) We know X and Y, since we started with those. And we know é, since it's the number of degrees we want to rotate by (in our example, 40 degrees). So if we use this equation, we get the V value, which is the Y coordinate of the FINAL point. :) Now we still need to get U (the final point's X coordinate). Luckily, the series of equations is the same almost, except one identity is different. I won't work out the whole thing again, you can do that if you want. But here are the differences that you'll see. One, since we're doing the horizontal element instead of vertical, U --- = Cos(í+é) R Now's Cosine's Sum of Angles formula is a little bit different than Sine's, Cos(à+á) = Cos(à)*Cos(á) - Sin(à)*Sin(á) which will end up giving us that subtraction instead of addition in the end. If you keep working the equations the same as we did before, but with this new identity, you get the U equation too! :) U = X*Cos(é) - Y*Sin(é) *** FINAL U EQUATION!!! *** Summing up those equations into nice, happy, 2D rotation form..... NewX = (OldX*Cos(Theta)) - (OldY*Sin(Theta)) NewY = (OldY*Cos(Theta)) + (OldX*Sin(Theta)) And there we have it! Note that I made it very clear as to the difference between the "Old" and "New" values. It's important that you do this, too. You don't want to just use a value "X", for example.... because if you calculate the "new" X and end up using that instead of the "old" X in the second equation (for NewY), you don't get the right rotation. IN ROTATION, USE ONLY THE OLD VALUES UNTIL ALL THE NEW ONES ARE FOUND! Once you have the final new X and Y values, _THEN_ replace the old pair with the new pair, and go on your way. Make sure to keep the values separate until that time. BTW... As you look back at how I derived these rotation formulas, don't feel bad if you feel like you couldn't have derived them yourself... especially if you're just beginning. I know I ran on these formulas blindly for over a year before I ended up losing them and was forced to recreate them again in this fashion. I couldn't have done it earlier. It takes time, so if you feel like you're still in the dark... don't. Eventually you'll get the hang of it all. :-) Any more to 2D rotation? Nope, that's the whole of it. Before you try out 3D rotation (explained in the next section), test out the above principles in some of your own code, by plotting a few pixels here and there and then rotating them about the origin. It's not hard at all to turn the above formulas (formulae?) into code. Also, if you need some help or are just plain curious, I've got some example source (in both Pascal and C, just like last time) in the supplement, demonstrating this stuff. Feel free to check it out. :) Okay, well, enough of this planar stuff.... on to 3D rotations! (And relax, there's not much more; you've done the bulk of the work already....) _____Section Two - 3D Rotation So what do we need to turn our rotations into 3D rotations? Not much, actually. There are many ways to do rotations in 3D, some simpler than others. The simplest (and most common from what I've seen) way is to do it by using three 2D rotations, one for each axis. The 2D rotations we did in the last section are on the XY plane. But as you think about the XY plane in terms of 3D, the rotation takes on another meaning... it was also a rotation ABOUT the Z axis. Meaning that we have the Z axis, and whatever Z values the points may have, they stay the same, as we are rotating around that axis itself. The only values that change in a rotation about any axis are the values of the two OTHER coordinates. So a rotation about Z will affect X and Y, a rotation about X will affect Y and Z, and a rotation about Y will affect Z and X. It's just one big cycle... So if we want to do a full all-axis 3D rotation, we just arrange three back-to-back 2D rotations, one for each axis, like this... NewY = (OldY*Cos(ThetaX)) - (OldZ*Sin(ThetaX)) ** X axis rotation ** NewZ = (OldZ*Cos(ThetaX)) + (OldY*Sin(ThetaX)) (Copy NewY and NewZ into OldY and OldZ) NewZ = (OldZ*Cos(ThetaY)) - (OldX*Sin(ThetaY)) ** Y axis rotation ** NewX = (OldX*Cos(ThetaY)) + (OldZ*Sin(ThetaY)) (Copy NewZ and NewX into OldZ and OldX) NewX = (OldX*Cos(ThetaZ)) - (OldY*Sin(ThetaZ)) ** Z axis rotation ** NewY = (OldY*Cos(ThetaZ)) + (OldX*Sin(ThetaZ)) (No copies needed, since we're done) The reasons for mid-copies are like I said; for each axis rotation you need to keep using the old values until both the new ones are done. But each axis' rotation is independent of the other two... so after each pair, you need to update all the values before going on to the next axis. You don't want to use one axis' old values when going into rotating about another axis; that would be bad. Once you've done all three axes, you should have your new point, completely rotated about each angle as you wish (ThetaX, ThetaY, and ThetaZ). One important point... the order in which you do these axes DOES make a difference. Rotating in an X-Y-Z sequence will not give you the same results as rotating in a Z-X-Y sequence, etc. Now, for your engine at this point, all you're probably concerned about is looks, i.e. that your object is rotating and you can see it rotating. Since that's the case, it really doesn't matter for the moment which order you do things in. It's the appearance that counts. But later on, when you get into more complex issues that involve more things than just a set of points, you'll want to keep your rotation order consistent. I just use X-Y-Z because it's pretty natural. :-) I'm not going to get into optimizations of this rotation material until another time, but I can give you a hint or two now... first, you'll notice that right now it's at 12 multiplies for a full rotation (4 for each axis). But it turns out you can reduce it to at least 9 multiplies, by precalculating a few values at the beginning of each frame and getting a final 3x3 matrix for the actual point rotations themselves (if you don't know what I mean by matrix, don't worry about it at the moment; we'll get into matrices later on). It's something to look into, if you're curious and feel like tinkering with the math a bit. Also, once again, this method of rotation is only one way to rotate. There are other ways, sometimes involving other coordinate systems, that can be more efficient on occasion as well. You'll discover those in time (and probably in some of the later articles :) But for now, this I think is the simplest way to begin... get these concepts down first, and drill them into your brain. You'll know when to switch gears when the time comes. Well, looks like the end of another article! I've got some sample source in the supplement, as well as a PCX of that 2D rotation diagram, if you got lost in all of this mess. :-) Take the time to look at the code, see how it relates to the math used in here, and most importantly, DO SOME EXPERIMENTATION ON YOUR OWN. This kinda stuff isn't learned by reading, it's learned by doing. Now go forth, plot some dots, get them spinning, and have fun! Keep watching, though... 'cause it's only gonna get better. :-) See you next time... Kiwidog / Hornet , Terraformer - kiwidog@vt.edu =----------------------------------[VGA Hardware Tricks, Part 4/6]--[Trixter]-= _____Preface Welcome to VGA Hardware Tricks, a six-part series written by Trixter/Hornet. In this series, I'll be exploring ways you can push VGA harder to achieve new effects. The emphasis of this series is twofold: The techniques discussed will work on any *standard* VGA card. (No SVGA or VESA video cards are necessary, but these techniques will work on those cards as well.) The techniques discussed require very little calculation, so they will work on slower computers. (Some techniques, however, requires a lot of CPU *attention*, which means that while the effects are happening, they can't be disturbed by other calculations, etc. Good Assembler programmers might be able to get around this, however.) This series is for intermediate to advanced coders, so there are a couple of prerequisites you should meet: Example code will be given in assembler and Pascal, so familiarity with those languages will be helpful when looking at the example code; also, a familiarity with Mode X (unchained VGA) is required, as procedures like changing video resolutions will be discussed. This series covers six topics: - Crossfading 16-color pictures - Crossfading 256-color pictures - More than 256 colors: 12-bit color - More than 256 colors: 18-bit color (this article) - Copper effects in text mode - Displaying graphics in text mode _____Introduction Yes, you read that title right--we're going to display 18-bit color on a piece of hardware only built for 8-bit color. Seem impossible? Technically, it is. But using our old friend, persistence of vision, we can fake it convincingly--and the best part is, it's not CPU intensive at all, just a clever arrangement of pixels. (Note: This technique has been so overused in 1995 that, initially, I thought it would need no explanation; just some example code and that would be it. However, there is inevitably someone, somewhere, that doesn't really grasp how this works. So, I feel a full explanation is necessary.) As I've written about many times before, our brain is a very lazy thing. So lazy, in fact, that it tends to fill in information that our eyes don't provide. This is called Persistence Of Vision. (If you need a more detailed explanation of what that is, look at previous VGA Hardware Tricks articles or visit your local library.) Persistence Of Vision has been used in many places before computers even existed, like the concept of film and television. It's television, in fact, that provides us with the example we'll use to coax 18-bit (262,144) color out of out 8-bit (256) color video card. If you've ever gotten curious as to how your television or computer monitor works, you might have gone right up to the screen and looked at it closely, possibly with a magnifying glass. If you'd had, you'd see a small hexagonal grid of red, green, and blue dots. They're arranged in groups of three, like this: X X X This arrangement is called a "triad". Each red, green, and blue dot in a triad glow with a different intensity, producing one solid color. (Well, it's not exactly a *solid* color, but the dots are so small and close together that POV blends them into one color for us.) The entire screen is made up of triads. To produce 18-bit color, all we have to do is emulate a series of triads--that is, put a red, green, and blue pixel next to each other and alter the intensity of all three to blend into a single color. This technique produces 18-bit color because the VGA hardware is capable of producing 6-bit (64) intensities of red, green, and blue for any given pixel. So, 6+6+6 = 18-bit color, or to look at it another way, 64 red values * 64 blue values * 64 green values = 262,144 possible colors. _____Implementing Triads To emulate a triad, we're going to need to set up the palette first. VGA is capable of 64 different intensities of red, green, and blue, so the palette needs to have 64 reds, 64 greens, and 64 blues. Pseudocode for doing that would probably look like this: for loop:=0 to 63 do begin set palette index "loop" to r=loop,g=0,b=0 <-- red entries set palette index "loop+64" to r=0,g=loop,b=0 <-- green entries set palette index "loop+128" to r=0,g=0,b=loop <-- blue entries end; This leaves 64 colors left over at the end of our palette (from 192 to 255), for anything we feel like doing. Now we get to plot the three pixels of a triad. Since VGA lays out pixels in a grid (as opposed to a "honeycomb" like an actual television screen), we have to lay them out on a grid as well. The best way is in a line, like this: Key: R = red pixel, G = green pixel, B = blue pixel 0 1 2 3 4 5 6 7 8 9 0 R R R R R R R R R R 1 G G G G G G G G G G 2 B B B B B B B B B B 3 R R R R R R R R R R 4 G G G G G G G G G G 5 B B B B B B B B B B etc. So, 18-bit color pixel "(0,0)" is really "red at (0,0)", "green at (0,1)", and "blue at (0,2)". _____Potential problems It sounds easy, doesn't it? Just put a red, green, and blue pixel next to each other and you've got one of those 262,144 colors. If you were to stop reading this article right now and jump to the compiler, you'd probably run into a problem as soon as you entered mode 13h: The pixels are big. *Way* too big. In fact, you'd have to sit about four feet away from the screen to ignore the fact that you're really looking at three pixels close together instead of a new color. Not only that, but each "pixel" is made up of three pixels arranged vertically, which is a really weird aspect ratio (the effective resolution is 320x66). In order to fix these problems, we've got to shrink the height of each pixel. But how can we make the pixels smaller? One solution that's tempting is to use a 640x480x256 VESA mode, or something similar. That defeats the whole purpose of this, because then a super-vga card would be required, and this series of articles is dedicated to achieving new effects on *standard* hardware. (Yes, not *everyone* has a super-vga card and monitor.) Besides, if you were going to limit your audience to a VESA mode, you might as well go all the way and use an actual 24-bit color mode anyway. Finally, 640x480x256 is 300K of video memory per page, which is too slow for animation (even on 486 machines). The solution, as it has been in the past, is to use Mode X. Mode X, as you recall, is a video mode created by unchaining the video RAM, so that you can (amongst many other things) alter the display resolution. It is easy to make a resolution of 320x400 (effectively 320x133) under Mode X, which helps a little, and actually gives us 2 video pages to work with. This is suitable for animation. If you need more pixels and something a little more accurate, 320x480 (effectively 320x160) comes close to the standard 320x200 1:1.3 aspect ratio that VGA users are used to. Because it's 480 lines, it will work with all monitors. Believe it or not, you can actually go higher than that, to 320x600 (effectively 320x200)! This mode was, to my knowledge, first used by Adam Bergstrom; in fact, his code is the code in the vgahard4.zip package described later in this article. Of course, this resolution is only possible on monitors that can display 800x600, because it uses 600 screen lines. It also uses 192k of the 256K of video ram we have access to, so that makes it even more unsuitable for animation. However, it's best for displaying static pictures; I used it for Hornet's NAID Party report (hrn-nrpt.zip on ftp.cdrom.com) to display "320x200" 24-bit color pictures (I shifted left (SHL) each RGB component down two bits before plotting to the screen). _____Code Code that achieves this effect is available on ftp.cdrom.com in the directory /pub/demos/hornet/demonews/vgahard in the file vgahard4.zip. This article is stored there as well. To compile the code directly, you'll need Turbo Pascal 7.0 or later. (The code can be compiled on earlier compilers as well, but some slight modification might be necessary.) _____Notes This method is extremely useful for animation, since there's no palette switching or page flipping required, unlike some other methods. It lends itself so well to this that it has become a "fad" effect for practically every demo after X14 / Orange first used it on the PC. The 18-bit color effect is sometimes called "Orange's 262144 color mode" as a result. Another demo that uses this is Just / Legend Design. (In fact, the entire demo is in that mode.) Ambience and Luminati by Tran claim 21-bit color; they achieve this by using two video pages and flipping between them rapidly, using two flipping pixels in one location to blend into a "third" pixel, similar to the 12-bit color technique covered in VGA Hardware Tricks #3. Once again, POV at work. ;) In order to achieve this, however, Tran has to reprogram the VGA registers, increasing the refresh rate of the screen so that it flips pages at nearly double it's normal rate, at 100Hz (100 times a second), giving an effect screen refresh rate of 50Hz. This mode is not completely compatible with all monitors, so I have not decided to cover it in this series. Captain Hook has written up a short article on it, however, so I expect you'll learn how to do it from him shortly. _____Next Time I'm not *quite* done with color, if you can believe that. Next time, I'll show you how to display 400 different colors at the same time--in *text mode*. :) If you're familiar with the "copper" chip inside every Amiga computer, you'll know what I'm talking about. Have fun experimenting until then! Trixter / Hornet - trixter@ftp.cdrom.com =-[Subscribing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= _____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. =-[Closing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= For questions and comments, you can contact us at r3cgm@cdrom.com Your mail will be forwarded to the appropriate individual. ...........................................................End.of.DemoNews.116.