______/\__________________________ __ ________________ ___ /\_______ \____ \ ________ _ _ ______ \ / \| \ ________ | \/ ______/ / | \ _) \ \_/ \ | \ / \ \ _) \ | \______ \ / | \ \ | \ | \/ \ \ / \ \ / \ \_____ /_______/___| /_______/\____\_____/_______/_________/________/ \_____/ |____/ Subscribers : 2517 DemoNews 142 - 05 February 1997 Archive Size : 4043M >------------------------------------------------------------------ Contents -- Introduction New Uploads Articles Review of the ATI 3D Expression+ PC2TV ........ Trixter A Graphician's Tip Book - Part 10 ............. Shaithis General Information >-------------------------------------------------------------- Introduction -- Hello all, and welcome to DemoNews 142. _____Introduction Sometimes I find the world a bit more amusing if thought of in scene terms. At night I drive home down a multi-threaded highway, stopping occasionally for cross cars to be processed while my priority queue is red. I am careful not to take up too much road (don't want to get swapped to ditch). When I arrive home, I notice that the overhead light is burned out (but the car is still in beta and no one else drives it so I don't bother to get it fixed). Sitting down to play Tekken 2, I think about how the music is just the same pattern looped over and over... I'd give it **. I pop open a bottle of Molsen, then another, then another, being careful to flush my cache at regular intervals. In my bedroom, I notice that the top sheet of my bed is misaligned and I know that with the smudge tool I could fix it in under 10 seconds. Failing that I could just rotate the bed 90 degrees clockwise and all the covers would hang down perfectly. Outside I smoke a cigar, applying more blur to the area immediately in front of me. A dog barks in my left channel and I turn to center it. I notice with interest that he's a rather old dog, only supporting one sample at any given time. I pitch bend to pet him but he just ups the BPM and starts to chase me. Finally his interrupt handler comes out and mutes him. It's getting late and I'd better power down. _____No Mo Grif This is the second and hopefully last "catch up" issue of DemoNews for a while. For one reason or another, we got a huge influx of articles and file reviews in January. Medicine? Frequent DemoNews releases. Next week we should be resuming our normal schedule. _____DemoNews Historical Record This is the first time in recorded DemoNews history where we have had a net loss in subscribers two issues in a row. And it isn't a minor loss. We've dropped 110 readers. But the fun doesn't stop there... Since 01 Jan 1997, we've gained over 150 new subscribers. Compare that with a _net_ loss of about 100 subscribers and something seems awry. It doesn't seem to me that DemoNews has been of poor quality this past month so I'll assume that's not the reason. I don't know if it's just an unusually high number of transitory email addresses bouncing or what, but something is definately funky in listserver town. _____Searching More Effectively Many of you are already familiar with my search engine on the Hornet Archive. Many of you are also familiar with the HA's "Email", "Group Links", and "Scene Links" pages. At the top of those 3 pages is a little entry area where you add your own email address, group link, or scene link. These entry areas are _not_ search engines. Don't type in "Triton" and expect it to pop up with a link to their homepage. At the top of each page, it says something like: Got a group link? (this is not a search engine) It isn't some elaborate joke on my part. These really are _no_ search capabilities present. Just for clarification, these areas contain no searching powers... they are there solely for you to input new information. _____New Format For Uploads /code/audio/docs/awe32prg.zip (36k) ***+ AWE 32 "documentation" by Judge Dred : Useful documents for AWE 32 programming - Beats the shit out of Creative Lab's released information This is what our "New Uploads" section entries will look like starting in about a week or so. When we started using descriptions more often, a lot of space was wasted because of inefficient formatting. It is hoped that the new format will be easier on the eyes, email boxes, and parsing scripts (for those inclined to write them). _____Planting the Seed I'm already preparing my "wild compo" entry for Eclipse '97. _____Conclusion Greetings go out this week to Kirk Yokomizo, who so enhanced my vocabulary by giving me the word "slam". His continuing efforts (educating me on its use) are greatly appreciated. Snowman / Hornet - r3cgm@hornet.org >--------------------------------------------------------------- New Uploads -- All ratings are subjective. Filename Size Rated Description ------------------------------- ---- ----- ---------------------------------- -- /music ------------------------------------------------------------------> /contests/cruel/cr01_res.txt 21 Cruelization 01 Results /contests/cruel/cr01_vot.zip 2560 Cruelization 01 Entries /contests/cruel/cr02_res.txt 24 Cruelization 02 Results /contests/cruel/cr02_vot.zip 1554 Cruelization 02 Entries /contests/cruel/cr03_add.zip 480 Cruelization 03 Entries | (additional) /contests/cruel/cr03_res.txt 27 Cruelization 03 Results /contests/cruel/cr03_vot.zip 2129 Cruelization 03 Entries /contests/cruel/cr04_res.txt 24 Cruelization 04 Results /contests/cruel/cr04_vot.zip 3296 Cruelization 04 Entries /contests/cruel/cr05_res.txt 39 Cruelization 05 Results /contests/cruel/cr05_vot.zip 3618 Cruelization 05 Entries /disks/1995/o/optymald.zip 1384 * Techouse Dream by Optymal D'rectx | : Old school music disk with an | MDP interface, unfortunately the | songs are not very good. /disks/1996/d/dm-xmas.zip 1303 *+ XMas Music Pack by Dream /disks/1996/l/lup-play.zip 531 *+ Playtoons by Lupin : The songs | here, in all honesty, aren't | very good. However, Lupin | certainly seems cheerful and | upbeat and one can't help but | snicker while listening. "4 | stars!", says guy who didn't | review this disk. :) /disks/1996/m/mw-waugh.zip 440 *+ Waugh by Mayweed : A new tracker? | Just give it some time. No | interface. /disks/1996/p/psycalm1.zip 1306 ** Calm by Psychad [1/2] : Some of | the songs are timed incorrectly | with extended-length samples. | He's got the right idea... just | needs to polish his skills a | bit. /disks/1996/p/psycalm2.zip 720 ** Calm by Psychad [2/2] /disks/1996/s/sky_ap13.zip 1418 * The Amoeba Is Polluted by Aphex of | Skyjump Team [1/3] : Starts out | with 3 huge .rar files inside | these three .zip files, then you | realize there are only 2 songs | (one is 1.5 megs, the other is | 4.6), so then you start to think | maybe it's a joke, right? Like | they actually put the _real_ | music disk zipped up inside one | of the samples. But then you | bring the song up and see that | there are 3 samples around 280k | and another 3 around 400k, and | you start to think to | yourself... "Is the world ready | for single songs larger than | your average MP3?" Then you | decide... no. /disks/1996/s/sky_ap23.zip 1418 * The Amoeba Is Polluted by Aphex of | Skyjump Team [2/3] /disks/1996/s/sky_ap33.zip 1056 * The Amoeba Is Polluted by Aphex of | Skyjump Team [3/3] /programs/songtext/hrn-mi10.zip 24 ModInfo v1.0 by Trixter of Hornet | : Lists and describes Amiga | Music Modules for easy | cataloging. Supports modern | formats, including S3M, XM, and | IT. Also lists tracker version | number and number of channels. /samples/s16m1ka.zip 2900 Oberheim Matrix 1000 Samples by | Soundwave [1/12] /samples/s16m1kb.zip 2905 Oberheim Matrix 1000 Samples by | Soundwave [2/12] /samples/s16m1kc.zip 2919 Oberheim Matrix 1000 Samples by | Soundwave [3/12] /samples/s16m1kd.zip 2925 Oberheim Matrix 1000 Samples by | Soundwave [4/12] /samples/s16m1ke.zip 2924 Oberheim Matrix 1000 Samples by | Soundwave [5/12] /samples/s16m1kf.zip 2919 Oberheim Matrix 1000 Samples by | Soundwave [6/12] /samples/s16m1kg.zip 2902 Oberheim Matrix 1000 Samples by | Soundwave [7/12] /samples/s16m1kh.zip 2839 Oberheim Matrix 1000 Samples by | Soundwave [8/12] /samples/s16m1ki.zip 2793 Oberheim Matrix 1000 Samples by | Soundwave [9/12] /samples/s16m1kj.zip 2889 Oberheim Matrix 1000 Samples by | Soundwave [10/12] /samples/s16m1kk.zip 1373 Oberheim Matrix 1000 Samples by | Soundwave [11/12] /samples/s16m1kl.zip 3148 Oberheim Matrix 1000 Samples by | Soundwave [12/12] /songs/1992/mod/elysium.zip 83 **** Elysium by Jester of Sanity /songs/1993/mod/brokendr.zip 160 ***+ Broken Dreams by Captain : | Released at Assembly '93. /songs/1993/mod/caqlach.zip 207 *** Cah-Caqlach by Heatbeat of CNCD : | Starts with a beautiful acoustic | guitar intro, then jumps to | modern jazz, then goes back to | acoustic guitar, then does | something else, then something | else... gotta give the guy | credit, at least it's varied. /songs/1993/mod/dawnmosa.zip 143 **** Dawn Mosaic by Groo : A classic. /songs/1993/other/corehop.zip 124 **+ Corehop by Reepicheep : 669 - Not | to bad compared to most 669's of | the day. Not too good by | today's standards though. /songs/1993/other/dream.zip 118 * DreamHouse Mix by Reepicheep : 669 | - His first song (don't upload | your first song!). :) /songs/1993/other/funkymix.zip 133 *+ Funkymix by Reepicheep : 669 - His | second song (don't upload your | second song!). :) /songs/1994/mod/a/allnite.zip 111 **** Allnite Groove by Dizzy of CNCD /songs/1994/mod/b/belewian.zip 78 ***+ Belewian by Dizzy of CNCD : Not | one of Dizzy's better tunes, | which means that it still kicks | ass. /songs/1994/mod/c/cccp-mus.zip 200 *** CCCP (main theme) by Groo of CNCD | : Normal bump-bump demo tune. /songs/1994/mod/e/eternity.zip 823 ** Eternity Remix by Ghirardo : Some | really tight sections, but the | song lacks glue. /songs/1995/mod/c/c42-mus.zip 266 *** C42 - Main by Groo of CNCD : An | odd tune, probably would sound | better if performed live. /songs/1995/mod/d/deepbfly.zip 219 *** Deep Butterfly by Yolk : Got a | good beat... not so sure about | the rest. /songs/1995/mod/d/dpsm-mus.zip 388 ***+ Psilocybin-Edit by Yolk, Legend : | Origially from the Amiga demo | "Deep Psilocybin Mix" which came | in first at Scenario '95. Very | scatch hard but good. /songs/1995/mod/e/earthglm.zip 86 ** Earthglimmer by Dizzy of CNCD : | Uhh... huh? /songs/1996/it/a/a_clouds.zip 188 *+ Above The Clouds by Panther : | Sounds like a newbie, but not | too bad. /songs/1996/it/b/b_wa.zip 308 *** Wilderness Autumn by Behemoth : | Filename and song title say | "Wilderness Autumn, song text | says "Wilderness Summer". Now | I'm confused. /songs/1996/it/b/bliz.zip 661 ** Analog Blizzard by Maverick /songs/1996/it/f/fm-diys.zip 450 **** Diamond In Your Soul by Basehead | of Five Musicians : Standard | Basehead (if you can classify | much as such). /songs/1996/it/f/fm-promi.zip 450 ***+ The Promise by Basehead of Five | Musicians : If I'm going on a | technical rating, this gets at | least 4 stars. For the human | enjoyment factor, I'm gonna have | to go 3.5. /songs/1996/it/z/zrn-owl.zip 353 ****+ the owl by Zauron /songs/1996/mod/a/abc_hard.zip 151 *** Hard Climat #3 by Grass /songs/1996/mod/a/action.zip 40 *** Action-1 by Heatbeat /songs/1996/mod/a/ad_demo.zip 255 *** Demo Music by Arcade : As the | title says... /songs/1996/mod/a/alone.zip 76 ** All Alone by Salvorite : Old style | tune... sounds 1993'ish. /songs/1996/mod/b/b_injust.zip 162 * Injustice by Bargel : I don't know | if the author was going for | industrial or what, but it | didn't really work. /songs/1996/mod/b/batu.zip 200 ** Batucada by DJ Dero : Lots of | sampled loops. /songs/1996/mod/c/closrmus.zip 348 ***+ Closer (main theme) by Groo of | CNCD : Wish I could have seen | the demo this song was ripped | from. Nice and heavy (NIN'ish) | and it comes together well. /songs/1996/mod/f/fl_horro.zip 59 ** Horror Theme by Bargle : Author | says it was written in 15 | minutes. I believe it. /songs/1996/mod/f/fl_stop.zip 186 *+ Stop That House by Bargle /songs/1996/mod/v/vanity.zip 41 ** Vanity by Lost in the Crowd : slow | repetetive sax ballad /songs/1996/other/dkhrdmix.zip 279 **+ Hardfolk Remix by Decker : MDL - | Original song by Trap Bonzai. | Song is misdated (file date of | 1987). /songs/1996/s3m/x/xrx_tou.zip 143 **+ Thinking of You by Xorax /songs/1996/xm/u/ur-stat.zip 433 **+ Static Dreaming by Uranium : | thump-thump techno /songs/1996/xm/u/urm_wur.zip 498 ** Urm / Wur by XFyL /songs/1996/xm/u/utopia.zip 196 * Utopia by ??? /songs/1996/xm/v/v-4ever.zip 777 **+ Lover (4ever On My Mind) by Dope | Groove /songs/1996/xm/v/v-get.zip 505 ** Get Yo' Self Together by Dope | Groove /songs/1996/xm/v/v-nothin.zip 277 *** Nothin I Wont Do by Crackerjack /songs/1996/xm/v/vrb-tuz.zip 115 *** Tuzie by Virtual Reality Band /songs/1996/xm/w/wolf_aml.zip 730 ***+ Animal by Wolfsong /songs/1996/xm/w/wolf_jnt.zip 424 **** Jaunt by Wolfsong /songs/1996/xm/w/wolf_wht.zip 424 *** White Hunter by Wolfsong /songs/1996/xm/x/x-mas96.zip 355 **+ Christmas ReMix '96 by CyberZip /songs/1996/xm/x/x-philes.zip 497 ** The Truth is Out There by Deft /songs/1996/xm/x/x_trance.zip 340 *+ Trancepiration by Dare-Devil /songs/1996/xm/x/x_wish.zip 87 ** One Last Wish by Dare-Devil /songs/1997/it/f/fm-image.zip 549 **** Spitting Images by Basehead of | Five Musicians : Another jazzy | piece... bordering on | "alternative jazz". /songs/1997/it/f/fm-noct.zip 414 ****+ Nocturnal Intruder by Basehead of | Five Musicians : So what's with | Five Musicians and jazz | recently? I must admit, I think | that Orchard Street is a much | better title for this sort of | thing, but I guess Nocturnal | Intruder will do. :) /songs/1997/it/f/fm-orch.zip 453 **** Orchard Street by Necros of Five | Musicians : Jazzy-style, title | chosen appropriately. /songs/1997/it/w/wf-spacl.zip 216 *+ Spacial Limits by Weirdfreak : | thump-thump-thump /songs/1997/mod/dm-under.zip 453 *** Underwater (remix) by Vox : Sounds | kinda beat-box'ish. -- /code -------------------------------------------------------------------> /effects/3d/yanns3d.zip 82 ** Yann's 3d by Yann of Iguana : | Source for some random effect - | Same effect coded in real mode | and with Tran's pmode extender. | I can't think of a use for the | source. Assembler, real-mode, | protected-mode /effects/doom/gallery.zip 579 ***+ Gallery Source by ARM of Iguana : | Source to Iguana's gallery scene | from Inconexia (a doom clone) - | Nice code, but low accuracy on | the maths. Cool pictures, but I | saw them the first time, when | they were in the Prado. :) I | always thought that there should | have been an Easter Egg for May | 3rd. Run subdirs.exe to get the | full source. Assembler, real- | mode /effects/fire/burn.zip 19 ***+ burn by Frank Paxti : A | fireroutine - Not your normal | fire routine. Looks more real. | real-mode /effects/fire/fire_win.zip 10 ) ReqFire by JARE of Iguana [C] - | ***::: : A fire routine under | windows - Crawls on my p133. :( | Don't bother looking at this | unless you've programmed for | windows before. You're likely | to have a heart attack. /effects/fire/firecode.lzh 53 ** Fire code by Kirk A. Baum : A | simple fire routine - Contains | the same fire as that of fire- | win.zip but coded in assembler | for DOS. Assembler, real-mode /effects/fire/flames2.lzh 2 ** flames by Errand : A simple fire | routine - out dated Assembler, | real-mode /effects/fractal/4ge-frac.zip 10 **+ 4ge-fractal by CuteELF of 4ge : A | fractal zoomer - Has an | explanation of how the effect is | done, but doesn't say much about | the generation of the fractal. | Good overall program design and | comments. Assembler, real-mode /effects/land/3dscape.lzh 21 **+ 3d Scape by David Hedley : A dot | landscape similar to that at the | end of unreal - few comments, | and poorly optimized. C/C++, | real-mode /effects/land/cyb3dkit.arj 31 ** Cyber Space 3d by Phantom of | Nostalgia : A landscape routine | with many aspects - No source | and a very quick explaination of | the ideas and algorithms behind | the effect. Text /effects/land/ign_land.zip 22 ** Iguana Landscape by JCAB, Jare of | Iguana : The voxel landscape | from Heartquake - No | explaination of the effect, non- | recompileable. The code is | largely dependant on code | libraries that the coders have | developed and is thus somewhat | difficult to follow. C/C++, | protected-mode /effects/land/ll_frac.lzh 32 ** ll_frac by Lord Logics : A Fractal | landscape generator - Creates a | fractal landscape to a .asc | file. Looks mostly useless to | me with so-so source, but no | comments. C/C++, real-mode /effects/land/ll_land2.lzh 145 ** ll_land by Lord Logics : A | landscape routine similar to | that at the end of unreal - the | xmode routines bug out, but | atleast there's an explanation | of the effect. Assembler, C/C++, | real-mode /effects/land/marsinfo.zip 2 *** Mars Info by Tim Clarke : Details | on the algorithm for the mars | intro - Look for mars10.zip for | the exe associated with this | description. Text /effects/land/otmvoxel.zip 183 ** OTM Voxel by Voltaire of OTM : | Tries to explain what voxels | really are - Most people will | ignore the difference anyway. | :( And this example leaves much | to be desired. C/C++, Text, | protected-mode /effects/land/rotscape.zip 126 *** rotating landscape by TTT : A | landscape routine similar to | that at the end of unreal - | Comments only on function names | and has a larger executable than | need be for this effect. (Lots | of tables, i.e. the landscape | itself) Assembler, real-mode /effects/land/voxel.zip 9 ** voxel by Jeff Bilger : A voxel | example - Doesn't recompile | easily, no useful comments nor a | description. C/C++, real-mode /effects/land/voxelg.lzh 9 ** voxel by Jeff Bilger : A voxel | example - Doesn't recompile | easily, no useful comments nor a | description. C/C++, real-mode /effects/lens/lens.lzh 10 ***+ lens by Joey : A doc on how to | create a lens - Nice graphic | file diagram for the text. It | all makes sense to me. Some | pseudo pascal code is there too. | Text /effects/lens/lenssrc.zip 39 ** lens source by Jeff Lawson : Some | source for the lens effect - | includes | /code/effect/lens/lens.lzh as | it's description of how it | works. Assembler, Basic, real- | mode /effects/lens/lensv10a.arj 39 ** lens by Nagy Daniel : Source for a | lens effect - (I suspect this is | a rip of | lenssrc.zip/lens.lzh...) The | TGA loading routines are exactly | the same aside from variable | names. Assembler, real-mode /effects/plasma/c_plasma.zip 53 call Plasma by Jan Moller, Erik Hansen | [Cr] - **::: : Simple plasma | example - Just some plasma. You | might want to take the comments | out on the WaitRast() /effects/plasma/jclplasm.zip 86 *** JCL Plasma by Jeremy Longley : A | nice plasma example - | Pregenerates the plasma maps. | Looks good. Assembler, real-mode /effects/plasma/plasexp.zip 3 ** plassm by James Johnson : Simple | plasma example - Based on code | by Jare/Iguana. Nice comments | on the setting of mode-X. | Assembler, real-mode /effects/plasma/plasma3.zip 16 * plasma3 by btf : You've got me - A | bad processor check spoils this. | Difficult to recompile and I'll | assume it needs MASM to | assemble. Assembler, real-mode /effects/plasma/tplas11.zip 136 **+ Tom's Plasma by Tom Dibble : | Decent plasma example - Has some | "fractal clouds" code too. | Needs a random number generator | of it's own so that there isn't | the huge data file of mostly | random numbers that goes along | with it. Assembler, real-mode /effects/scroll/motionrd.zip 30 *** Motion Read Me by Patch of | Avalanche : Source for a smooth | vertical text mode scroller - | That's the way to do it. :) | (Bugs on Matrox cards, but | that's the fault of the card, | not the code.) Assembler, real- | mode /effects/scroll/scroll2.zip 40 * Scroll by Jay Kramer : Source for | mode X scrolling - _NOT_ the way | to do hardware scrolling. | Abuses the mode-X library. | C/C++, real-mode /effects/shadebobs/jeffbobs.lzh 73 ** JeffreyBobs by Morbid Man : Source | for a whole lot of shadebobs - | Crappy code. real-mode /effects/shadebobs/shadebob.zip 6 ** shadebobs by Nutcracker : Source | for some shadebobs - No docs, no | comments. Looks good. (the exe, | that is) Assembler, real-mode /effects/stars/stars.lzh 10 *** Stars by Draeden of VLA : A simple | starfield effect - Good for the | beginner. Assembler, real-mode /effects/stars/stars2.lzh 10 ** Stars by Mark Mackey : A slightly | more complex starfield - So-so. | No timing code so it blazes. | Assembler, real-mode /effects/stars/stars3d.zip 14 **+ Stars by The Darkman : A nicely | done starfield - Nicely done (in | appearance) but shoddy code. | Globals abound, poor | understanding of what to make | functions. Made by a professed | beginner. real-mode /effects/text/tv10.zip 44 *+ TV by Perisoft : A text viewer | with "docs" - Not code... I'm | not sure where it should go. | Best ask Screech himself for | ideas. /effects/tunnel/syn.zip 31 **+ ND.exe by Friar Tuck : Example of | a dot tunnel - Spaghetti code | and no explanation. Also | doesn't generate the dot tunnel | real time, rather it has the | rungs of dots precalculated in | the exe. Assembler, real-mode /effects/tunnel/tubesrc.zip 21 * tube by James Johnson : Example of | a dot tunnel - Poorly done, | looks horrible, no explanation | or comments, no timing synching. | C/C++, real-mode /effects/tunnel/tunnel.zip 36 *+ tunnel by ? : Example of a dot | tunnel - That it was done in | basic is about the only plus. | Looks so-so, no comments. | Assembler, Basic, real-mode /effects/vectorball/vectbal2.zi 185 **+ Vector Ball 2 by Tumblin : Some | vector ball examples and | utilities - Not bad, but simple. | Shows some good code design | strategies. Assembler, C/C++, | real-mode /effects/vectorball/vectball.zi 37 ** Vector Ball by Tumblin : A vector | ball example - blah... C/C++, | real-mode /effects/water/water.zip 14 ** Water by De-Phassed : An example | of water - Nothing more than a | copy of Iguana's water routine | done in full assembler. | Assembler, real-mode /effects/wormhole/1luc_wrm.zip 10 **+ Wormhole by Lucifer of Lucifer : | Qbasic sources for a wormhole - | QBasic?!? Nifty! :) Basic /effects/wormhole/wormhole.lzh 128 **+ wormhole by John Cloninger of IND | : A wormhole example - Slow | generation of the wormhole | itself then it loads the | wormhole from a file for the | actual effect. You have to | figure most of the effect out | for yourself though. C/C++, | real-mode /hardware/audio/adip.zip 692 * AWE-DIP-01-ENG by Creative Labs | engineers : Examples and API for | using the AWE32 - And people | wonder why there's not much SB | support. The information in the | packet is contorted. I could go | on this for days. Comments like | /* main - here's where the fun | begins */ are misleading. The | fun actually began several | hundred lines ago (starting at | line 134). It's late. I'm not | exactly bored, but this bit of | code is frustrating. I wonder | why CL even bothered. There are | no technical docs of any sort | and the code that is here | *REEKS* of bad style. For extra | frustration, I unzipped the file | which had a self extracting .exe | in it, which gave me 4 zips | which when each extracted with | the -d option finally gives me | the SDK. Kneebiter - at 1:30 in | the morning. Need more tea... | Assembler, C/C++, real-mode /hardware/dma/dma_vla.lzh 2 ***+ DMA tut by Draeden of VLA : Some | docs for DMA programming - | Sufficient for learning how to | program the DMA. I do believe | this was part of the PCGPE 1.0. | Text /hardware/drives/drivesex.zip 9 **+ Drive detection for IBM & | compatibles by Paul Schlyter : | Source to detect drives on a | system - It didn't detect my | drives properly. :( Assembler, | C/C++, real-mode >------------------------------------------------------------------ Articles -- ----------------------------------------------------------------------------> :: "Review of the ATI 3D Expression+ PC2TV" :: Trixter / Hornet - trixter@hornet.org _____Introduction Around last October, I found myself wanting a new computer peripheral (who doesn't?), and decided on a new video card. I currently had a PCI S3 with 2 MB, but I wanted a couple of things: Video accelerator functions (2D filtered scaling, etc.), 3D acceleration (just for kicks), and most of all, a way to hook the computer up to my VCR. While I could've just bought a VGA-to-TV converter, I found what I was looking for in ATI's new 3D Expression+ PC2TV. Before this starts to sound like an advertisement or endorsement for the 3D Expression, let me point out that the card has several good and bad points, and they vary from extremely good to extremely bad. Before I list them, I'll just say right now that you should only get this card if you have specific needs in mind, like DOS games or demos, or TV output, because it's the extra stuff that they *don't* advertise that makes the card great (and, ironically, the stuff that they do advertise that isn't so hot). _____The Configuration The card I purchased was the ATI 3D Expression+ PC2TV with 4MB of video ram. It cost $189 (US dollars) at CDW, a PC mail-order shop with a local showroom. I walked right in and bought it. At home, I removed my S3 Trio 64 and replaced it with the card. My machine at home is a Pentium 120. I connected my monitor to the VGA out port and a TV to the Composite/RCA port. The card also has an S-VHS output, but I don't have any of that hardware (yet). The chipset on the card is the Rage II (a Mach 64-ish compatible chipset). So, let's get to the good and bad points: _____What's good about this card for demo freaks? Four words: VESA 2.0 in ROM. When I tried UNIVBE before running a demo, UNIVBE refused to work with the card, claiming that it had remappable I/O, which it didn't support. But I was quite pleasantly surprised when I found that the ATI had full VESA 2.0 in ROM, including low-res high-color modes (320x200x24-bit -- YES!) and full linear framebuffer support. In fact, this card has the best built-in VESA support I've ever seen; it's even better than the VESA 2.0 in the Matrox line of cards (only high-res modes are on the Matrox Millenium, for example). It worked flawlessly (with a few caveats -- see below) with my code, and with other games and demos as well. (As a democoder, I've been considering beefing up my VESA support. Low-res 8-bit VESA modes, combined with 4 MB of video ram, gives you 64 video pages. You could buffer a full second of full-framerate video! Needless to say, I'm going to rewrite my VRT code to take advantage of this. ;) Unchained video modes (like ModeX 320x240, 320x400, etc.) and SVGA modes (640x480 and up) were faster (blitting to video ram) than my older S3 by about 20%, which shocked me. I thought all PCI cards were all relatively the same when it came to speed, but I found I was wrong. :) The best part of the card is the TV-OUT ports on the card, which do a really good job of outputting to TV. Whenever a program switches into 320x200/400/whatever or a VESA mode, the card automatically makes the refresh rate 60 Hz (50 Hz for the European PAL version) and displays it on the TV. The flicker control is very good; only with stark black and white horizontal lines do you get flicker, and even then it's not so bad. Getting the card to work in Linux's X-Windows required an upgrade to the newest XFree86 3.2 binaries. Even then, the Rage II chipset isn't specifically supported, so the only mode that worked well with the Mach64 server (still has a little "snow") is 800x600x256. Other modes are distorted. _____What's good about this card for Windows freaks? If you use Windows 95, there's a lot to like about this card: DirectX support, 3D acceleration, video acceleration, good monitor utilities, etc. I'll go through them one at a time. Video Acceleration: The card supports blitting a buffer directly to screen ram, automatically interpolating (smooth rescaling) if the display window is of a different dimension than the buffer. What this means is that you can hit the "maximize" button on a window with a video clip running, and it will zoom to full screen and play with no loss in speed. For video buffers that are YUV format (like an MPEG player or Cinepak / Quicktime videos), it's smoothly scaled (not just adding or deleting pixels -- it actually resamples the image) and looks fantastic. It also comes with an MPEG player that uses the above capabilities to play MPEG videos at 30fps at full screen (although not at full sound quality on my Pentium 120 -- on a P166, I'd imagine you could do full 44.1 KHz sound quality). The MPEG player from ATI is faster than Microsoft's ActiveMovie MPEG player, and also has no errors in playback (ActiveMovie's MPEG player shows mismatched block artifacts when I play my own mastered MPEG clips, but ATI's player plays them fine). 3D Acceleration: After testing with the DirectX SDK demos and a few games, I can safely say that the accelerated 3D looks fantastic. Bi-linear texture filtering, alpha-channel transparency, etc. makes the output look great. It is, however, rediculously slow. I'll talk more about this later. DirectX support: The DirectDraw and Direct3D drivers gave me no problems and supported multiple resolutions and color depths without any trouble. The Win'95 version of Lasse Reinbong, for example, ran perfectly at full-screen; so did a game demo at 320x240x15-bit color. Monitor Utilities: The Windows 95 utilities are quite good, allowing you to correct for your monitor's gamma, refresh rate, etc. The DOS setup program also runs you through the gamut of refresh rates for certain resolutions, and stores the best refresh rate in the card's non-volatile RAM. My monitor can do 120Hz at 640x480, for example, so that's what I have set as the default rate for that mode on the card. (640x480x256 and higher only -- the normal mode 12h 640x480x16 is still 60 Hz.) _____What's bad about the card? A lot, unfortunately. Please take the following with a grain of salt: While the Mode X and SVGA modes were 20% faster than my old S3 card, the normal Mode 13h (320x200x256) was 20% SLOWER. I tested this several times to make sure I wasn't going crazy. Some demos run slow or crash when TV output is turned on. This is due to demos being hard-coded for a screen refresh rate of 70Hz, when during TV output the screen is 60Hz. This can cause the demo to crash (Catchup!) or run slowly (2nd Reality). The TV output is very good, but not perfect. It only works correctly on modes that are set via the BIOS (320x200, a vesa mode, etc.) or obtained by initially using the BIOS to set the mode and then tweak to 60Hz-acceptable values (320x400, 320x240, etc.). Older demos like Crystal Dream 2 and Cronologia set the video mode manually through the registers, or set it to something odd, like 56Hz, and don't display on the TV correctly. Tweaked text modes don't display either, so don't try to track music with ST3 or Impulse Tracker on the TV, since they don't display. (I've written a program that forces ST3 to work, though; email me if you want it.) Finally, it only outputs to TV if the resolution is 800x600 or lower. There are slight color problems. 2nd Reality had a goofy palette as soon as the intro screen stopped scrolling to the left. It resumed just fine as soon as the intro animation (explosion) started playing. Also, the colors are occasionally screwed up when initializing 320x200x24-bit color, but this only happens every 4 or 5 inits, and only with my init code. :-/ The board displays correct color on everything else, so I guess this isn't really a bad thing after all. Ignore this paragraph. :-) The 3D acceleration is slow. Rediculously slow. So slow, in fact, that I thought the card was broken. I mean, the card isn't slower than normal, but it's not faster either. For example, I ran Hellbender at 640x480, got a frame rate, then turned on 3D acceleration, and got another framerate. The rates were the same -- the 3D accelerated version looked much, much nicer, but it wasn't any faster, which was a disappointment. (Rumor has it that I got poor performance because my Pentium 120 has a 60 MHz bus instead of the more common 66MHz bus, which could cause timing errors.) There are no extended text modes in VESA. I'm sure there's at least one or two 132-column modes available by calling ATI chipset functions, but that doesn't help VESA programmers. My old S3 Trio 64 had 132x25 and 132x43 in VESA, and I used that a lot in Cubic Player, so I'm sad to see them go. Reading from video RAM was ludicrously slow -- at least twenty times slower than reading from system RAM, maybe slower. Do NOT read from video RAM on this card (or any video card for that matter -- it's always a bad idea, but it's especially bad on this particular card). _____Conclusion It's easy to see how TV output was embedded on this card for such little cost: The 2D bi-linear filtering, combined with forcing the screen to 60 Hz, makes it easy to output to TV flicker-free. Combine the TV output with the excellent VESA support and you have a great machine for viewing demos on the big screen, or for playing a game on the family TV. But if you specifically want 3D acceleration in windows, look elsewhere. Overall, I'm very happy with this card. The TV output combined with the brilliant built-in VESA 2.0 LFB support makes this a great video card at demo parties. ----------------------------------------------------------------------------> :: "A Graphician's Tip Book - Part 10" :: Shaithis / Immortal Coil - shaithis@buffnet.net _____Introduction Well, no reason for a lengthy explanation here, as this article is on time for once. :) Instead, let's just jump right into the first of what is likely to be a very large section on 32-bit apps. This article, and at very least the one following it, will deal with probably the best known and most powerful art application I have yet to hear of. The images you can produce with Photoshop are completely unlimited. There is nothing you can't do with this program, provided you're willing to work a bit to do it. I will not pretend to be the world's greatest living Photoshop expert. Far from it, there are still a variety of commands within the program that completely boggle me. Still, I've been working with it long enough to be confident that I can at least explain the basics. This article won't be going into depth on the various commands available to a user. That's for the next one. Instead, I'm simply going to talk about the very basic of photoshop. How it works, and some of the things it can do. So, without further ado: _____Adobe Photoshop v4.0 The first thing a typical user is greeted with upon double-clicking the Photoshop icon is an opening screen. This screen actually gives you a good idea of what the program's capabilities are. It is a photomontage, and I suggest you take a look at it while your filters and preferences are loading, and the program initializes. It's really a nice piece of artwork. "Wait, wait, wait!" You say, "What are filters?" Relax. I'm getting to that. For now, let's take a look around the basic Photoshop screen. It's finished loading, and now you're staring at a window containing a rather large amount of objects. These objects are your tools. In a way, photoshop is quite similar to Dpaint. Photoshop has a "Toolbox", which is the bar that runs vertically down the screen, and has all those little, confusing icons. That, at least is similar in appearance. In addition, Photoshop has a variety of menus lining the top of the screen... but more on those in a moment. Let's take a few minutes to explore Photoshop. Click on File:New, and make a new canvas. I'd suggest 640x480 at 72 pixels per inch. The pixels per inch is irrelevant if you're not going to be printing your work, otherwise you'd want to work in inches, not pixels, and DPI (dots per inch) instead of pixels per inch. But if I were to cover printing functions in this series of articles, I'd still be working on it when I was ninety. :) Assuming you clicked "Okay", you now have a blank white canvas sitting in front of you. Select the paintbrush tool (conveniently represented by a small icon that looks like a paintbrush), and just draw a line across the screen. Stop a moment and take a look at it. Notice the edges. It's not just a simple, black line is it? This is photoshop's automatic anti- aliasing at work. Remember back in the dpaint articles when we discussed anti-aliasing? Well, it's no longer necessary to do it by hand. Instead, photoshop does it for you. You can turn off anti-aliasing on certain commands, mostly the selection tools (we'll get to those shortly). Things such as the paintbrush, the airbrush, and the paint bucket will automatically anti-alias, unless you're filling in a section that was chosen with a selection tool that had its anti-aliasing feature turned off. Confusing enough for you? Good, let's move on. The Selection tools are the ones at the top of your "toolbox". They include the magic wand, the Marquee, and the Lasso. Each of these tools has a variety of options, but let's cover the basics first. Click on the marquee tool (the dotted-line rectangle icon), and select an area of your picture by clicking and dragging. It shouldn't take you too long to get the hang of the marquee tool. It's relatively simple. Now what you see in front of you is your canvas (that has one line drawn on it from earlier), with an odd- looking rectangle sitting atop it. That odd-looking rectangle looks odd, doesn't it? (Let's hear it for redundancy :) This is because it appears to be moving. The dotted line is cycling. There's a very simple explanation to this. It makes it a hell of a lot easier to see when you're selecting something more complicated then a white background. Good then, now it's sitting there. What shall we do with it? For now, let's leave the anti-aliasing on (I'll explain how to turn it off and on in my next section, which deals with the various sub- windows of photoshop). Take the airbrush, and put it over an area as far away from your rectangle as possible. Now click. Nothing happening, right? Now let go of the mouse button, move the airbrush so it's over your selection, and click. Hey...it's filling with black! But you'll notice that at the edges, it stops. Your moving selection line thingy also seems to be disappearing, but have no fear, this is simply photoshop's way of clearing up that much more processor space for the airbrush itself (or at least, I think that's why it goes away. :) You will notice that as soon as you stop clicking the airbrush, the selection line thingy comes back. Pretty cool, huh? Now click on the marquee icon, and then click on your selected space. This de-selects it. You'll notice that your black square is not anti-aliased, even though I told you we were leaving the anti-alias on. This is because the marquee tool's anti-alias functions depend on a command called feathering (again, more on that next issue). For an example of auto-anti-aliasing, click on the magic wand tool (it looks like... well... a magic wand icon. :) Now click on your square. It's selected. That's because the magic wand selects pixels of similar color surrounding the pixel you clicked on (just how touchy the wand is will be described... you guessed it). Now go to the menus along the type and click on Select:Inverse. Suddenly, everything _except_ what you had originally selected is now selected (Very useful command, trust me). Now pick a different brush color, let's say blue. You do this by clicking on the black square overlapping the white one on your toolbox. To change your background color (more on that... ah why bother ;) you would click on the square that's being overlapped. To change your foreground (which is what we're doing), click on the top one. The color picker is pretty intuitive. Slide the bar up to the approximate shade, and then pick a color from the larger box. Once in a while, you'll see a little exclamation point pop up with a replacement color you might want to choose. Disregard it. It's for printing purposes only, and we're not getting into that. Now select your color (blue for my example), and click okay. That done, select the airbrush again, and spray around the edges of your black square. Same thing's happening as before, right? You can only spray in the area you selected (which, due to the inverse command, is everything _but_ the square). So the area around the square is becoming blue. Good. Stop spraying, click on the magic wand icon, and then click anywhere within your selected field. It deselects. Now take a look at your square, or more specifically, the edges. They look like they've been run over with the dpaint smooth tool. Very subtle, but not hard to miss if you're looking. That's photoshop's auto-anti-aliasing, and it's excellent. _____Conclusion Well folks, that's all I have time/space for this time around. The next article will be a look at how you can change what your tools do, and following that, we'll get into the wonderful world of filters. Again, please do not expect this as a comprehensive guide to Photoshop, as I have read them and they are usually 300+ pages long. :) I'm just offering some basics, and a few tips. So, until next time! >------------------------------------------------------- General Information -- _____The Hornet Archive Master Site : USA (California) - (ftp|www).hornet.org/pub/demos Mirrors : Portugal - ftp.telepac.pt/pub/demos Sweden - ftp.luth.se/pub/msdos/demos USA (Wisconsin) - ftp.uwp.edu/pub/demos USA (Pennsylvania) - ftp.co.iup.edu/code (from /demos/code) _____DemoNews New issues - /incoming/info Old issues - /info/demonews Supplemental files - /info/dn_other How to subscribe: Mail - listserver@unseen.aztec.co.za Body - subscribe demuan-list FIRST_NAME LAST_NAME _or_ Body - subscribe demuan-list HANDLE DemoNews is sent to your e-mail's "Reply-To" field. How to unsubscribe: Mail - listserver@unseen.aztec.co.za Body - unsubscribe demuan-list _____Contact Address questions@hornet.org >------------------------------------------------------------------------------ EODN