home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / info / view0892.lha / ViewPort_1.5 < prev   
Encoding:
Text File  |  1992-08-09  |  31.6 KB  |  794 lines

  1.             *                 .                   .                     *
  2.                                                                      .
  3.             .                   *StarShip*
  4.                       .                                       .
  5.         .    ____________________________________________________
  6.             /____________________________________________________\ *
  7.            //                                                    \\
  8.           //  _       _  _                  _____              _  \\
  9.          //  ( \     / )(_)                / _   )          __/ )  \\  .
  10.         ||    \ \   / /_  ____  _  __  _  / /_) /_____  ___(_  __)  ||
  11.     .   ||     \ \_/ // )/ __ )( \/  \/ )/ ____// _   )/ __)/ /     ||
  12.          \\     \   // // ___/  \      // /    / /_) // /  / /     //
  13.           \\     \_/(_/(____)    \_/\_/(_/    (_____/(_/  (_/ tm  //     *
  14.            \\                                                    //
  15.         *   \\__________________________________________________//
  16.              \__________________________________________________/     .
  17.        .                     *                                    .
  18.               .
  19.                                           .
  20.                                                               *
  21.  
  22.     ______________________________________________________________________
  23.  
  24.     August 1992                                  Editor: Jim Meyer
  25.     Volume 1 Number Five (V1.5)                Publisher: Peggy Herrington
  26.                                                Producer: deb Christensen
  27.     ______________________________________________________________________
  28.  
  29.  
  30.  
  31.    Film at Eleven ........................................ Jim Meyer    1
  32.    I Will Remember You ............................ deb! Christensen    2
  33.    Get a Max: AMax! ............................Chris Papademetrious    3
  34.    excellence! 3.0 .................................. Gerald R. Grey    4
  35.    Monkey Island 2: LeChuck's Revenge .................. Zach Meston    5
  36.    Computer Third Reich ............................. Michael Tooher    6
  37.    A New Startup-Sequence Methodology .............. Kevin-Neil Klop    7
  38.    Amiga Programming: Linked Lists .............Chris Papademetrious    9
  39.    Library Picks .................................. *StarShip* Staff   11
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.     ______________________________________________________________________
  48.  
  49.     ViewPort is a  *StarShip*(tm) Production available  on  GEnie(R).  For
  50.     details and information about contributing, send GE Mail to JIM.MEYER.
  51.     Copyright (C) 1992 *StarShip*.  Freely distributable when kept intact.
  52.  
  53.     To join GEnie, dial 1-800-638-8369  with your modem.  Upon CONNECTion,
  54.     enter hhh.  At the U#= prompt enter SIGNUP.   Have a major credit card
  55.     or your checking account number handy.
  56.     ______________________________________________________________________
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. ViewPort August, 1992 -------------------------------------------- Page 1
  68.  
  69.                                  Film At Eleven
  70.  
  71.                                    by Jim Meyer
  72.  
  73.    ______
  74.   (__  __)his page intentionally left blank.  You know the phrase.
  75.     / /   Legend has it that it was invented at IBM, where aspiring
  76.    / /  Tech Writers are urged to memorize that mantra, chanting it
  77.   (_/  over and over until it becomes burned into their consciousness.
  78.       Recent evidence, however, indicates that the phrase is almost as
  79. old as the written word. The ancient Egyptians, or perhaps the
  80. Israelites, who were doing a bit of work for the Pharaoh, are believed to
  81. have coined the phrase.  In an excavation near Cheops, archeologists were
  82. stunned to discover instructions for building the pyramids.  As they
  83. unearthed a series of stone slabs, they were nearly incredulous when the
  84. hieroglyphics on one great piece of limestone were translated to the
  85. phrase "This tablet left intentionally blank."
  86.  
  87. But I digress.  The point of this exercise is to marvel over the sheer
  88. ingenuity of the first writer to discover this novel way to point out
  89. that there was no information to be had on this page.  I suppose that
  90. this phrase was originally intended for the printer, who was turning
  91. single-sided manuscript into a double-sided, bound manual.  It could be
  92. translated as "Hey, dummy!  Don't throw this page away!  It's the back of
  93. the previous page!"  Or, perhaps, it was intended to warn the reader that
  94. catastrophe had not struck. No page was missing; this nearly blank page
  95. served a purpose.
  96.  
  97. In my line of work - I write manuals - I've seen that phrase often.  I'll
  98. admit to having toyed with it a bit; I've sent out preliminary manuals
  99. with phrases like "This page left blank of intentions" or "This page
  100. intentionally left blank, with the exception of this sentence, which is
  101. meant to assure you that we didn't leave this page blank on purpose" or
  102. even "This page, unlike previous pages, was unintentionally left blank."
  103. None of these made it into the final manuals, though.  The Boss would not
  104. have been pleased.
  105.  
  106. So what does all of this have to do with the Amiga?  Not much, except to
  107. say "Hats off to Maxis!"  The manual for SimEarth, which is a delight to
  108. read, contains "A BLANK PAGE," "ANOTHER BLANK PAGE," "UNBLANK PAGE,"
  109. (which has some Neat Stuff) and "YET ANOTHER BLANK PAGE."  It's nice to
  110. see a company that lets its tech writers have fun!
  111.  
  112. I can't let this month go by without a word about Phil "The Amiga Is
  113. Dead" Robinson.  More than a few folks have commented that Robinson said
  114. nothing that hasn't been said in the message areas of every commercial
  115. and private bulletin board.  That's true, but it's not the point.
  116. Robinson's comments came at the one time that they shouldn't, just when
  117. Commodore - after many, many years of false starts - had started to do
  118. things right. Phil should have done his homework; he's a professional,
  119. after all.
  120.  
  121. Interestingly, one of Robinson's complaints - that the Commodore had
  122. allowed other companies to "leapfrog" the Amiga in processor technology -
  123. was answered with the announcement of the 68040 Amiga 3000T.  This puppy
  124. sports 32-bit architecture - something Apple doesn't have yet - as well
  125. as a 25 MHz 68040 processor, 200 Mb hard drive, and 5 Mb of ram.  And
  126. that's just the beginning.  We'll have more - a LOT more - to say about
  127. Commodore, and about some long-awaited developments, in the coming
  128. months.  Stay tuned!
  129.  
  130.  
  131.  
  132.  
  133. ViewPort August 1992 --------------------------------------------- Page 2
  134.  
  135.  
  136.  
  137.                              I Will Remember You
  138.  
  139.  
  140.               Paul Wayne Pace                        1950-1992
  141.  
  142.       ____
  143.      (_  _)t was the mid-80's.  The Commodore 64 had already taken the
  144.       / / consumer market with a sweeping force, and the unheard-of low
  145.      / / prices of Commodore modems were bringing consumers online in
  146.    _/ / unprecedented numbers. The original Commodore Information Network
  147.   (____) was the very center of the Commodore World, headquarters to the
  148.         new frontier of electronic exchanges between the folks who had
  149. the answers and the ones who asked the questions.
  150.  
  151. Into the midst of this swelling success, two new music composition
  152. programs came out that made music lovers all over Commodore-dom ecstatic.
  153. And with these two new programs, the heroes of the times changed.  The
  154. new heroes were not always the ones who knew how to manipulate relative
  155. files, disassemble the DOS Roms or answer esoteric questions about memory
  156. locations.  Some of the new heroes made music, charming renditions of
  157. favorite tunes, pop songs and classics.  From the same speakers where
  158. only sound effects and beeps had come, suddenly we had music.
  159.  
  160. Wayne Pace was one of these new heroes, and I "met" him on that original
  161. Commodore Information Network.  When the Amiga came to us, he moved to
  162. this magic new machine, most likely entranced by its promise of better
  163. music as much as I had been.  And on the Amiga, he practiced his own kind
  164. of magic, the gentle magic of music.
  165.  
  166. His musical arrangements have delighted Commodore and Amiga owners for
  167. years and will continue to.  My family sat around one Christmas and
  168. played Christmas Carols he had uploaded - my little girls thrilled that
  169. this box of technology knew Frosty the Snowman and Silent Night.
  170.  
  171. Wayne died on July 12th 1992, another victim of cancer.
  172.  
  173. Cliches come to mind, but I do not have the heart to type them.  I will
  174. grieve for a while every time I see the name WAYNEPACE on a music file,
  175. grieve for the gentle man who loved music and who shared his music and
  176. his love with us. I will remember the friend I made, and came to cherish
  177. these last 7 years, with only a modem as our common meeting grounds.
  178.  
  179.  
  180.     - deb
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200. ViewPort August 1992 --------------------------------------------- Page 3
  201.  
  202.  
  203.                       Need A Mac? Get A Max: AMax!
  204.  
  205.                         by Chris Papademetrious
  206.      ____
  207.     (_  _)t was the news I least wanted to hear; when I left for college
  208.      / /  this fall, I was going to need a Macintosh computer system.
  209.     / / What was to become of my beloved Amiga 3000 system, which I had
  210.   _/ / so painstakingly built up over the years? Surely I could not
  211.  (____) afford to have both platforms at the same time! Was my Amiga
  212.        doomed to be forgotten? Thanks to Readysoft and the AMax II+, the
  213. Macintosh emulation card, the answer was a resounding "No!"
  214.  
  215.  Amazingly enough, this solution was much better than buying a Macintosh!
  216. I already had a computer with ten megabytes of memory, 172 megabytes of
  217. hard drive storage, a multisync monitor, and a 24-pin printer. AMax is
  218. flexible enough to let me use all of it on the Macintosh side, adding its
  219. own MIDI/serial port and AppleTalk ports! With a minimal (compared to a
  220. new Mac) investment, AMax can turn a great Amiga setup into a terrific
  221. Macintosh setup.
  222.  
  223.  Installation and setup was a snap. The AMax II+ card allows use of the
  224. Amiga internal floppy drive as an 800K Mac drive (or 1.4MB Mac drive for
  225. those lucky owners of the rare high-density drives). To set up a hard
  226. drive for my "Max" I simply ran HDToolbox, made a partition named "AMAX0"
  227. and selected the "Custom File System" option. This hides the partition
  228. from AmigaDOS so that no annoying AMAX0:BAD icons appeared, but makes it
  229. fully available to the AMax software. After doing this, I clicked on the
  230. icon to start AMax and booted from a standard bootable Mac disk. The
  231. system found my hard drive, and asked if I wanted to format it. I told it
  232. to proceed, and proceeded to install System 7.0 on the hard drive. It
  233. couldn't have gone smoother.
  234.  
  235.  One of the neater features is the ability of AMax to emulate a 9-pin or
  236. 24-pin Imagewriter. I had an Epson-compatible Citizen GSX-130, a 24-pin
  237. printer, hooked up to my parallel port. Through the AMax Preferences
  238. software, I was able to set it up as if I had a 24-pin Imagewriter on the
  239. serial port! This is really slick stuff.
  240.  
  241.  Although I have little software yet for my Max, I hear that
  242. compatibility with AMax is very good. Keep in mind that AMax only
  243. supports the 128K Mac ROMS, which have black and white graphics only.
  244. AMax II+ promises to be a complete and solid Macintosh solution for
  245. A2000/A3000 owners.
  246.  
  247.  NOTE: AMax II is available for all Amiga, but requires an external Macintosh
  248. floppy drive and does not include MIDI/serial or AppleTalk ports.
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266. ViewPort August 1992 --------------------------------------------- Page 4
  267.  
  268.  
  269.                              excellence! 3.0
  270.  
  271.                             by  Gerald R. Gray
  272.      _  _
  273.     / \/ \icro-Systems Software (MSS) has recently released the latest
  274.    /      \ version of it's word processor: excellence! 3.0.  It requires
  275.   / /\  /\ \ AmigaDOS 1.2 or better and at least 1 meg of memory.  A hard
  276.  (_/  \/  \_) drive is strongly recommended. With 3.0, MSS provides a
  277.              hard drive installation program that is easier to understand
  278.            and use than previous versions.
  279.  
  280. The point-and-click interface and pull-down menus make excellence! easy
  281. to use, yet this ease belies the power behind the product.  To add to the
  282. power of excellence! a thesaurus, grammar checker, and spelling checker
  283. are provided.  French and German dictionaries can also be added.
  284. excellence! 3.0 also provides ARexx support.
  285.  
  286. One of the first changes you'll notice is the animated stopwatch pointer.
  287. Now, instead of thinking, "boy this is taking a long time," you can see
  288. that it IS taking a long time.  excellence! 3.0 also has the look and
  289. feel of DOS 2.0 even if you are running it under 1.3.  Gadgets have been
  290. added to the title bar to select bold, italic, and underline, and the
  291. font.  Clicking on the font gadget brings up a requester so the font and
  292. point size can be selected.  The requester has a button that lets you see
  293. a sample of your chosen font before you return to the word processor.
  294.  
  295. Printer support has been improved.  The printer requester not only allows
  296. the font, file, orientation, or density to be selected but also shows the
  297. selected printer driver.  HP DeskJet owners will be heartened to learn
  298. that a DeskJet driver has been added.  Color printing has been improved;
  299. text output is clear and sharp, even on a 24 pin printer.  Continuous
  300. spell checking has also been improved.  No longer do you have to wait for
  301. the program to catch up to you as you type, even when the system is
  302. running at 7Mhz.
  303.  
  304. Some other new features worth mentioning include "vocalize", the
  305. capability to do 8 columns, and the implementation of virtual memory.
  306. The vocalize feature allows the document to be read using the Amiga's
  307. speech synthesizer.  Virtual memory is a powerful addition.  It allows a
  308. portion of the hard drive to be used in lieu of RAM; the program swaps
  309. out sections as it needs, preventing nasty out-of-memory crashes.
  310.  
  311. MSS provides a large, easy to understand manual that covers all aspects
  312. of the word processor, as well as technical and bulletin board support.
  313. MSS has been around 14 years, a long time in the PC world, and have put
  314. together a strong product that I don't hesitate to recommend.
  315.  
  316. One major disappointment is the lack of support for color graphics.  I
  317. called MSS and asked if this was something they were working on and was
  318. told "We don't discuss things that are in R & D."  I'd also like to see
  319. the ability to switch screen modes on the fly without having to exit from
  320. the program, and the availability of a Spanish dictionary.
  321.  
  322. excellence! 3.0 $199.95 Update $29.95 + $6.00 shipping.
  323. French and German dictionaries: $39.95 for both or $24.95 for one
  324.  
  325. Micro-Systems Software
  326. 12798 Forest Hill Blvd. Suite 202
  327. West Palm Beach, Florida 33414
  328.  
  329. Tel:  (407)790-0770 Fax:  (407)790-1341
  330.  
  331.  
  332. ViewPort August 1992 --------------------------------------------- Page 5
  333.  
  334.  
  335.                   Monkey Island 2: LeChuck's Revenge
  336.  
  337.                             By Zach Meston
  338.         _
  339.        / )im Meyer, the editor of ViewPort, is a great guy (and I'm not
  340.   _   / / just saying that), but I wish he could have given me extra
  341.  ( (_/ / space in this issue. (Editor's Note:  Oh sure, blame it on ME!)
  342.   \___/ That way, I could have written another pageful of superlatives to
  343.        describe Monkey Island 2: LeChuck's Revenge, which is simply the
  344. best adventure of the year. (I know, I said that about Elvira II, but
  345. this one's better. Trust me.)
  346.  
  347. In the first game, The Secret of Monkey Island, a young man with the
  348. unlikely name of Guybrush Threepwood sails to Melee Island with the hopes
  349. of becoming a pirate. He ends up destroying the ghost of the evil LeChuck
  350. and winning the heart of the babe-a-lonian governor of the island, Elaine
  351. Marley.
  352.  
  353. Monkey 2 picks up the storyline well after the end of Monkey 1. Guybrush
  354. is older and wiser, has a decent amount of facial hair, and is searching
  355. for the legendary treasure of Big Whoop. A ridiculous number of plot
  356. twists ensue, but none of them are as bizarre as the ending sequence,
  357. where Guybrush and LeChuck fight it out for the second (and presumably
  358. the last) time.
  359.  
  360. Like all Lucasfilm games, Monkey 2 is teeming with humor, and I don't
  361. mean stupid puns; I mean truly funny one-liners. Monkey 1 was one of the
  362. few games I've ever played where I laughed out loud at the on-screen
  363. jokes; Monkey 2 had me laughing even louder. (It also had my family
  364. worrying about my sanity, what with all the cackling coming from my room.)
  365.  
  366. Monkey 2 also features Lucasfilm's no-death philosophy. It's impossible
  367. for Guybrush to die in Monkey 2, which allows you to concentrate on the
  368. puzzles instead of worrying about when you last saved the game. (I much
  369. prefer Lucasfilm adventures over Sierra adventures for this very reason.)
  370.  
  371. There are two difficulty levels to choose from: "Monkey 2," the full
  372. game, or "Monkey 2 Lite," an easier version with different puzzles and a
  373. bit of new dialogue. The puzzles in the full game are teeth-gnashingly
  374. difficult, and a few of them are very tricky indeed, but none of them are
  375. so non-sensical that you'll groan in disbelief at the solution.
  376.  
  377. Monkey 2 only has one major problem, the much-touted iMUSE music system.
  378. It's simply awful. The background music is sparse, and there are
  379. practically no sound effects, meaning that you play through the vast
  380. majority of the game in total silence. Perhaps Lucasfilm meant to name
  381. the new system iMUTE?
  382.  
  383. And then we need to discuss the eleven (!) disks that Monkey 2 comes on.
  384. While you can play Monkey 2 with floppy disk drives, you really, REALLY
  385. wouldn't want to. Unless, of course, torturous amounts of disk swapping
  386. and drive access are what you look for in a computer game.
  387.  
  388. The verdict: Monkey 2 has gorgeous graphics, bazillions of
  389. brain-throbbing puzzles, and hysterical humor from start to finish. What
  390. more could you possibly want from an adventure game? Buy it now!
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398. ViewPort August, 1992 -------------------------------------------- Page 6
  399.  
  400.  
  401.                    COMPUTER THIRD REICH by Avalon Hill
  402.  
  403.                             by Michael Tooher
  404.      ____
  405.     (_  _)t was a classic no-win scenerio. My German armies had made a
  406.      / / deep push into Russia along the Eastern Front, driving the Red
  407.     / / Army back toward Moscow. However my reinforcements had been sparse
  408.   _/ / and on the next turn my opponent saw his chance and took it.
  409.  (____) Fortified by huge reinforcements he closed the trap, leaving my
  410.       armies helpless and at the mercy of the cruel Russian winter.
  411.  
  412. Avalon Hill's COMPUTER THIRD REICH, based on their very popular board
  413. game, covers the entire European theatre of war from 1939 to 1945,
  414. including North Africa and the Far East. While CTR is very much in the
  415. tradition of the classic "hex" wargame, Avalon Hill has taken advantage
  416. of the Amiga's unique abilities to make playing easy and fun. All
  417. interaction is done by point and click and the computer will not permit
  418. illegal moves. A novel addition to the program is that it will TELL you
  419. why the move or action was illegal, a great help for the novice wargamer.
  420.  
  421. But CTR is more then a wargame. Historical and economic factors come into
  422. play, mirroring the reality of the Second World War. The economic factor
  423. is represented by the Basic Resource Points, which are expended for every
  424. action you take from declaring war to deploying reinforcements. On the
  425. historical side, CTR closely parallels reality, forcing the player(s) to
  426. confront the same political problems the Allies and Axis dealt with. In
  427. all, CTR is more of a wargame/simulation that is challanging to the
  428. veteran yet simple and elegant enough to attract and hold the newcomer.
  429.  
  430. While the game's design and scope is satisfying, there are a few
  431. problems. Movement of troops by sea is only permitted during the combat
  432. phase, and then only for invasion. The documentation is sketchy and
  433. presumes a knowledge of the boardgame's rules. The enclosed maps are too
  434. small and this reviewer had to have them enlarged at the copy shop to
  435. make them usable.
  436.  
  437. By far the biggest problem is the lackluster artifical intellegence of
  438. the computer opponent. The experienced player will have no difficulty in
  439. beating the computer. In one instance, with the computer playing the
  440. Axis, it rushed reinforcements to Libya while the Red Army was one hex
  441. from Berlin. Avalon Hill plans to correct these problems in future
  442. releases.
  443.  
  444. On the technical end, the program requires 1 meg and is not hard drive
  445. installable. However, once the program is loaded it is entirely memory
  446. resident and requires no disk access except for saves. The copy
  447. protection is of the manual-based "look up" variety.
  448.  
  449. Regardless of the small problems, if you are the type of general who
  450. enjoys engrossing gameplay at the tactical level, especially against a
  451. human opponent, then COMPUTER THIRD REICH is an excellent choice.
  452.  
  453.  
  454. COMPUTER THIRD REICH for the Amiga by Avalon Hill. 4517 Harford Road.
  455. Baltimore, MD 21214. 1-800-999-3222
  456.  
  457. Requires 1 meg and a color monitor. 1 or 2 players. "Look-up" copy
  458. protection. List price $39.95
  459.  
  460.  
  461.  
  462.  
  463.  
  464. ViewPort August 1992 --------------------------------------------- Page 7
  465.  
  466.  
  467.                     A New Startup-Sequence Methodology
  468.  
  469.                             by Kevin-Neil Klop
  470.  
  471. How many times have you gotten a new program, read the installation
  472. guidelines, seen those dreaded words, "Edit your startup-sequence..." and
  473. started to shake with fear. The startup-sequence? Every time you even
  474. LOOK at the file you know that you're in for either another trip to the
  475. local Amiga expert or hours (or days) of tracking down why your computer
  476. doesn't work correctly anymore?
  477.  
  478. I hate editing that file. I recall one when I had just gotten in my
  479. latest software toy (WShell 2.0 from Bill Hawes). I was fiddling with
  480. this file and that file and got to the point where I said, "There HAS to
  481. be a better way!". The question was, what would be involved in a better
  482. way?
  483.  
  484. I sat down and wrote a list of the things I wanted. Note that I'll be
  485. talking about User-Startup since I am running under 2.0. If you're
  486. running 1.3, then just pronounce "User-Startup" as if it said
  487. "Startup-Sequence".
  488.  
  489.     o I wanted to NEVER have to edit the User-Startup file again.
  490.     o I wanted an easy way to remove changes from the User-Startup
  491.       file and to know that I got them all.
  492.     o I wanted a way to know what changes were made for each program.
  493.  
  494. Eventually I came up with a system that works for me. The first thing I
  495. did was create a directory called "S:Startups". Then I copied my
  496. User-Startup file into S:Startups/Original-User-Startup. Lastly, I put
  497. the following file in as S:User-Startup
  498.  
  499.     .BRA {
  500.     .KET }
  501.  
  502.     relabel RAM: RAM
  503.     list    >ram:executestartups S:startups/#? LFORMAT "execute %s%s"
  504.     sort    ram:executestartups TO ram:executestartups2
  505.     execute ram:executestartups2
  506.     delete  ram:executestartups#?
  507.  
  508. Let's say that you get the brand new program GeeWhizWow, and you have
  509. to install it.  Deep in the heart of the directions are the following
  510. instructions:
  511.  
  512.     Insert the following lines into your startup-sequence, replacing
  513.     the word "directory" with the directory to which you installed
  514.     GeeWhizWow:
  515.  
  516.         ASSIGN GeeWhizWow: directory
  517.         GeeWhizWow:GeeWhizWow
  518.         ECHO "GeeWhizWow is ready and waiting"
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530. ViewPort August 1992 --------------------------------------------- Page 8
  531.  
  532.  
  533. Instead of editing your Startup-Sequence, you just create a file in
  534. S:Startups and put those lines into it.  I would probably call that file
  535. GeeWhizWow.  Before installing GeeWhizWow, your directory would look
  536. something like:
  537.  
  538.     SYS:
  539.       ^
  540.       |
  541.       +-- S
  542.           ^
  543.           |
  544.           +-- User-Startup
  545.           |
  546.           +-- Startups
  547.                  ^
  548.                  |
  549.                  +-- Original-User-Startup
  550.  
  551. Now your directory would look like:
  552.  
  553.     SYS:
  554.       ^
  555.       |
  556.       +-- S
  557.           ^
  558.           |
  559.           +-- User-Startup
  560.           |
  561.           +-- Startups
  562.                  ^
  563.                  |
  564.                  +-- Original-User-Startup
  565.                  |
  566.                  +-- GeeWhizWow-Startup
  567.  
  568. Quick Quiz: 2 years after installing GeeWhizWow, you want to see what
  569.         lines were added to your startup-sequence for it.  Where
  570.         are those lines?
  571.  
  572. Answer:        They're in the GeeWhizWow-Startup file.
  573.  
  574. Quick Quiz Question 2:
  575.         If you want to de-install GeeWhizWow, what do you have to do
  576.         to remove those lines from your startup-sequence?
  577.  
  578. Answer:        Delete the GeeWhizWow-Startup file.
  579.  
  580.  
  581. Sometimes the ORDER of things is important.  Maybe you have to start
  582. GeeWhizWow before you start GeeWhizWowWhizBangUtility.  The files in
  583. Startups are run in ALPHABETICAL order.  So, GeeWowWhiz-Startup will be
  584. run before GeeWhizWowWhizBangUtility, and both of them will be run before
  585. Original-User-Startup.
  586.  
  587. If you have any questions, you can contact me via GEnie at K.KLOP,
  588. Compu-Serv at 71151,354, or via US Mail at:
  589.  
  590.     Kevin-Neil Klop
  591.     c/o Syntactics
  592.     3188 E. Mercer St.
  593.     Philadelphia, PA, 19134
  594.  
  595.  
  596. ViewPort August 1992 --------------------------------------------- Page 9
  597.  
  598.  
  599.                        Amiga Programming: Linked Lists
  600.  
  601.                             by Chris Papademetrious
  602.  
  603. Welcome back, programming scholars! It's time to roll up our sleeves and
  604. get down and dirty with one of Exec's most useful concepts, linked lists.
  605. This month we'll look at how lists and nodes are actually used and
  606. manipulated.
  607.  
  608. To create a linked list, you need to do two things: allocate memory for
  609. the List structure (this can be optional in C), and initialize the list
  610. to ready it for use. Last month's article covered the process of
  611. initializing a list, so we won't go over it here. Destroying a linked
  612. list is as simple as freeing the memory for the structure, although keep
  613. in mind that it's not usually a good idea to free a list structure that
  614. still has nodes attached! To illustrate, AllocList() and FreeList() are
  615. provided at the end of the article for these functions.
  616.  
  617. Once your list is ready for use, you're able to add and remove nodes. The
  618. exec.library provides us with handy routines in ROM to perform functions
  619. such as AddHead(), AddTail(), AddNode(), Remove(), and Enqueue().
  620. Enqueue() will actually insert the node at the correct place in the list,
  621. based on the ln_Pri priority field of the node! As common sense would
  622. dictate, the higher priority nodes take precedence.
  623.  
  624. Although somebody out there might be thrilled with the idea of attaching
  625. ordinary Node structures to a List, there isn't much use to it. Node
  626. structures are actually designed to be a subset of any larger data
  627. structure you choose. Here's an example:
  628.  
  629. struct Person
  630. {
  631.  struct MinNode PersonNode; /* since no priority or type info is needed */
  632.  char Name[80];
  633.  int Age;
  634. };
  635.  
  636. Now that the Person structure has a Node structure in it (a MinNode in
  637. this case), we are free to attach as many of these to a List structure as
  638. we wish. We are even free to have multiple List structures, to remove and
  639. add nodes as we see fit! But the power of the linked list comes in the
  640. ability to traverse the list from beginning to end, and there are some
  641. important things to remember.
  642.  
  643. Remember how the List structure works? Then you will remember that the
  644. Head node's mln_Succ pointer and the Tail node's mln_Pred pointer are
  645. both NULL, due to the fact that they're the first and last nodes in the
  646. list, respectively. As you step through the list, you must also keep in
  647. mind that the last data node in the list is not the one with the NULL
  648. mln_Succ (the Tail node), but the one before it! Here are two identical
  649. sample loops:
  650.  
  651.  CurNode = SomeList.mlh_Head; /* now points to node after Head node */
  652.  while (NextNode = CurNode->mln_Succ) /* while there IS a next node... */
  653.  {
  654.    /* your code here */
  655.    CurNode = NextNode;
  656.  };
  657.  
  658.  
  659.                                                  (Continued on next page)
  660.  
  661.  
  662. ViewPort August 1992 -------------------------------------------- Page 10
  663.  
  664.  
  665.  for (CurNode = SomeList.mlh_Head;  /* initialize */
  666.       NextNode = CurNode->mln_Succ; /* loop condition (must be nonzero) */
  667.       CurNode = NextNode)           /* increment command */
  668.  {
  669.    /* your code here */
  670.  };
  671.  
  672. The code within the loop is only executed if the node does indeed contain
  673. data (in other words, isn't the Tail node). We don't need to worry about
  674. the Head node being used mistakenly, since we automatically skip it in
  675. the first place.
  676.  
  677. Freeing all the nodes in a list is a special case, since we can't very
  678. well reference the mln_Succ pointer once we've freed the node! In this
  679. case, ensure that you don't reference CurNode after it's been freed; that
  680. would be bad.
  681.  
  682. Here's some sample utility routines to use in your programs:
  683.  
  684. #define SuccNode(x) (((struct MinNode *) x)->mln_Succ)
  685. #define PredNode(x) (((struct MinNode *) x)->mln_Pred)
  686.  
  687. struct MinList AllocMinList() /* can be adapted to a List, too */
  688. {
  689.  struct MinList NewMinList;
  690.  
  691.  if (NewMinList = AllocMem(sizeof(struct MinList), MEMF_PUBLIC))
  692.   NewList((struct List *) NewMinList);
  693.  
  694.  return NewMinList;
  695. };
  696.  
  697. void FreeMinList(struct MinList *ThisMinList)
  698. {
  699.  if (ThisMinList)
  700.   FreeMem((APTR) ThisMinList, sizeof(struct MinList));
  701. };
  702.  
  703. struct MinNode *NextNode(struct MinNode *ThisNode)
  704. {
  705.  struct MinNode *NextNode;
  706.  
  707.  if (NextNode = ThisNode->mln_Succ) /* if this is a data node */
  708.   if (NextNode->mln_Succ) /* and the next is as well */
  709.    return NextNode;
  710.  return NULL;
  711. };
  712.  
  713. struct MinNode *PredNode(struct MinNode *ThisNode)
  714. {
  715.  struct MinNode *PredNode;
  716.  
  717.  if (PredNode = ThisNode->mln_Pred) /* if this is a data node */
  718.   if (PredNode->mln_Pred) /* and the previous is as well */
  719.    return PredNode;
  720.  return NULL;
  721. };
  722.  
  723. As always, if you're still lost or a bit confused, the Pro/Am gang would
  724. be more than happy to help! The meetings are at 10:00PM EST at the
  725. conference on page 670 (m670;2); we look forward to seeing you!
  726.  
  727.  
  728. ViewPort August 1992 -------------------------------------------- Page 11
  729.  
  730.  
  731.                               Library Picks
  732.  
  733.                           by the *StarShip* Staff
  734.  
  735.      ____
  736.     (_  _) forget who it was, but someone once mentioned that "You can
  737.      / / never have too many icons."  This is probably true, and Release
  738.     / / 2 - with its 16-color Workbench capability - has created a demand
  739.   _/ / for more, prettier icons.  Enter Roger McVey, and his collection
  740.  (____) of 16-color, hi-res icons. There are over 200 icons here, folks,
  741.        as well as a tool - SWAPICON - that lets you exchange a new icon
  742. for an old. McVey has also included his own palette.  This collection is
  743. not only vast, it's sensational!
  744.  
  745. RMDICONS3.LZH  File # 16571  194,304 Bytes
  746.  
  747.  
  748. Icons aren't the only thing we have a lot of this month.  Can you use a
  749. few more PostScript fonts?  How about a LOT more?  Check out the font
  750. sets being uploaded by C.TYRELL1.  These fonts are set up for
  751. Professional Page and come from various sources.  Most, if not all, are
  752. Shareware.  There are 20 sets as of this writing.
  753.  
  754. FONTSET1.LZH - FONTSET20.LZH  Sizes range from 100,000 bytes to
  755.                               259,000 bytes.
  756.  
  757. To find all these files, use the GEnie Library Search function (Option 3)
  758. and use FONTSET as the search string.
  759.  
  760.  
  761. It must take patience to transcribe song after song in DMCS, let alone to
  762. do so both in MIDI and Amiga-internal formats.  Patience Eiker (P.EIKER),
  763. that is. She has uploaded a veritable bundle of rags, mostly Scott
  764. Joplin, in both formats.  While Patience has been taking care of DMCS
  765. rags, Syl Lutnes (S.LUTNES) has been keeping MED fans happy.  Space
  766. doesn't permit us to list all of the files; you might want to head
  767. straight for *StarShip* Library 7 and browse through the listings.  You
  768. won't be disappointed!
  769.  
  770.     MIDI Files                           Non-MIDI Files
  771.  
  772. PALMLEAFMIDI.LHA  File # 16444       PALMLEAF.LHA  File # 16443
  773. FAVORITEMIDI.LHA  File # 16465       FAVORITE.LHA  File # 16464
  774. ORIGRAGSMIDI.LHA   File # 16463      ORIGRAGS.LHA  File # 16462
  775. REFLECTRAGMIDI.LHA File # 16468      REFLECTRAG.LHA File # 16467
  776.  
  777. SENSATION.MED.LHA (For MED and EDPlayer) File # 16379
  778.  
  779.  
  780. If you liked FracBlanker, you'll love FracBlanker22.  This must-have
  781. screen blanker has been updated to include "cosmic flame" fractals.
  782. These amazing bits of visible math almost obliterate the distinction
  783. between computer-generated images and abstract art.  Two versions are
  784. included in the archive.  One is optimized for systems without math
  785. co-processors, and the other is optimized for the 68881/82 chips.  This
  786. program, by the way, is one of the best arguments I've seen for an
  787. accelerated system. If only there was a way to SAVE the incredible images
  788. FracBlanker generates...
  789.  
  790. FRACBLANKER22.LHA  File # 16503  47,104 bytes.
  791.  
  792.  
  793.  
  794.