home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / text / AMReport-2.04 < prev    next >
Internet Message Format  |  2014-05-19  |  43KB

  1. From comp.sys.amiga.announce Thu Jun  4 02:55:57 1992
  2. Path: cs.tu-berlin.de!zrz.tu-berlin.de!news.netmbx.de!Germany.EU.net!mcsun!uunet!cbmvax!vanth!jms
  3. From: jms@vanth.UUCP (Jim Shaffer)
  4. Newsgroups: comp.sys.amiga.announce
  5. Subject: AMReport #2.04
  6. Message-ID: <jms.07tv@vanth.UUCP>
  7. Date: 3 Jun 92 03:50:55 GMT
  8. Reply-To: 76370.3045@compuserve.com
  9. Followup-To: comp.sys.amiga.misc
  10. Distribution: world
  11. Organization: Carlos Allende cabal, Paratheo-anametamystikhood Of Eris Esoteric
  12. Lines: 947
  13. Approved: vanth!jms@cbmvax.cbm.commodore.com
  14.  
  15. Below is AMReport 2.04.  I am posting this as a service to the network
  16. community and in doing so do not necessarily endorse anything written here.
  17. Comments, questions, or contributions should be sent to the editor's
  18. address (76370.3045@compuserve.com), not to mine.
  19.  
  20. IMPORTANT NOTICE:  Starting with this issue, material which originally
  21. appeared in comp.sys.amiga.announce, or which either appeared or will
  22. appear in comp.sys.amiga.reviews, is being omitted from the Usenet posting
  23. of AM-Report.  If you desire complete copies for redistribution outside
  24. Usenet, contact 76370.3045@compuserve.com to be put on the mailing list.
  25.  
  26. ###########################################################################
  27.  
  28.             *---== AM-REPORT INTERNATIONAL ONLINE MAGAZINE ==---*
  29.                    --------------------------------------
  30.                       "The Online Magazine of Choice!"
  31.                                     from
  32.                              STR Publishing Inc.
  33.                              -------------------
  34.  
  35.  
  36.  May 31, 1992                                                  Volume 2.04
  37.  =========================================================================
  38.  
  39.  > 05/31/92: AM-Report  #2.04      The Online Magazine of Choice!
  40.  
  41.     -Amiga on TV            -Amiga in Print         -Programming Tutorials
  42.     -Northgate Sold         -Mitsubish Sells Macs   -Compaq Rating Down
  43.     -IBM Robotics           -Soft-Logik News        -IBM Micro-Transistors
  44.     -AT&T Movies            -ImageMaster & Toaster
  45.  
  46.                             -* GFA Basic Review *-
  47.                           -* Soft-Logik's HotLinks *-
  48.                                 -* ViewPort *-
  49.  
  50.                              -* Much, Much More *-
  51.  
  52.                            TODAY'S NEWS ..TODAY!
  53.  
  54.   -----------------------------------------------------------------------
  55.  
  56.  > AMReport's Staff              The regulars and this week's contributors!
  57.    ================
  58.  
  59.                             Publisher - Editor
  60.                             ------------------
  61.                              Ralph F. Mariano
  62.  
  63.  
  64.           PC DIVISION         AMIGA DIVISION           MAC DIVISION
  65.           -----------         --------------           ------------
  66.           Robert Retelle      Charles Hill             R. ALBRITTON
  67.  
  68.  
  69.                          Contributing Correspondents
  70.                          ---------------------------
  71.  
  72.      Mike Todd (CIX)                         Jim Shaffer, Jr. (UseNet)
  73.   70117,634 on CompuServe                 cbmvax.commodore.com!vanth!jms
  74.  
  75.                                Andrew Farrell
  76.                     Australian Commodore and Amiga Review
  77.                                       &
  78.                       Professional Amiga User Magazine
  79.  
  80.       Mike Ehlert, SysOp: PACIFIC COAST MICRO BBS -- FidoNet 1:102/1001
  81.  
  82.  
  83.  
  84.                              IMPORTANT NOTICE
  85.                              ================
  86.       Please, submit letters to the editor, articles, reviews, etc...
  87.                               via E-Mail to:
  88.  
  89.                  Compuserve....................  76370,3045
  90.                  Internet/Usenet...............  76370.3045@compuserve.com
  91.  
  92.  ****************************************************************************
  93.  
  94. EDITORIAL
  95. ~~~~~~~~~
  96. { This is how it came out -- the editorial apparently didn't make it. (jms) }
  97.  
  98. IMAGEMASTER - TOASTER
  99. ~~~~~~~~~~~~~~~~~~~~~
  100. [The following two messages were posted on CompuServe's Amiga Vendor forum.
  101.  They were posted by John Foust of Syndesis Corp. and Ben Williams of Black
  102.  Belt System.]
  103.  
  104.  
  105. If you saw Brent Malnack's column in this month's issue of "AV Video" and
  106. were excited to hear about a product from Syndesis Corporation that would
  107. magically link Black Belt Systems' Imagemaster to the Toaster, I've got bad
  108. news.  This product is an unfortunate victim of the time-shift of press lead
  109. times and unfavorable legal restrictions.
  110.  
  111. Yes, the product does exist, but we (Syndesis) developed it using proprietary
  112. information we gained in the process of making the TIO conversions we made
  113. for Toaster 2.0.  Because the code was based on proprietary information, we
  114. needed to ask NewTek's permission to release this product.  Before they
  115. reached a decision, I'd heard that AV Video was covering Imagemaster and
  116. I told Brent about our product. Later, NewTek decided that we should not
  117. release it.
  118.  
  119. Why?  Releasing this would force them to release these undocumented hooks
  120. to other developers who've been anxious to link to the Toaster. These links
  121. are currently undocumented, unsupported, subject to change, and otherwise
  122. impossible to hand out in their present state. In the future, things may
  123. change.
  124.  
  125. I'm just as sad about this as you are, but we had to play it clean and
  126. above-board.  From the outset we knew it was dependent on NewTek's
  127. decision.   It didn't even have a name.  This was a cool little gizmo, I
  128. wish I could have sold a million of them.  With it, you paint in Imagemaster
  129. and it automatically renders through to the Toaster's composite output *and*
  130. updates ToasterPaint's buffers with the same changes to the image, or vice
  131. versa, moving the current frame grab into ImageMaster and back again.
  132.  
  133.  
  134. John Foust
  135. President
  136. Syndesis Corporation
  137.  
  138.                             -----------------------
  139.  
  140. John,
  141.  
  142. Thanks for posting these details for those of our customers (and yours) who
  143. have been interested.
  144.  
  145. We will continue to encourage those Toaster users who wish to see this
  146. product released to contact NewTek and express their opinion(s) on the
  147. matter via voice, fax and mail.
  148.  
  149. It is extremely unfortunate that Toaster users must suffer this type
  150. of arbitrary restriction from NewTek; it's also a shame that you, and we,
  151. wasted the time completely developing a solution for a company that puts
  152. it's customers and external supporters last.
  153.  
  154. Ben Williams
  155. Black Belt Systems
  156.  
  157.  ----------------------------------------------------------------------------
  158.  
  159.  
  160. IBM BREAKTHROUGH
  161. ~~~~~~~~~~~~~~~~
  162. IBM scientists have announced that they have made the world's smallest
  163. transistor.  This transistor is 20 times smaller than the current crop
  164. and should allow memory chip fabrication in the realm of four gigabits
  165. (four billion bits), compared with the capacity of 16 megabits offered
  166. by the largest memory chip now available.
  167.  
  168. Look for commercial availability of such chips around the year 2000.
  169.  
  170.  ----------------------------------------------------------------------------
  171.  
  172.  
  173. AT&T MOVIES
  174. ~~~~~~~~~~~
  175. AT&T Paradyne, a subidiary of AT&T announced that it has developed a way
  176. to send television and movie images over ordinary copper phone wires.  The
  177. new system is called carrierless, amplitude-phase modulation and it sends
  178. information along the wires as rapidly as needed and without the need for
  179. boosters.
  180.  
  181. AT&T predicts that this will lead to the final acceptance of video telephones
  182. as well as practical video conferencing and two-way television -- all of
  183. which could operate over the telephone lines already in use.
  184.  
  185. No time table or productions costs were released.  The product was developed
  186. in conjunction with Bell Labs.
  187.  
  188.  ----------------------------------------------------------------------------
  189.  
  190.  
  191. EVEREX BUYS NORTHGATE
  192. ~~~~~~~~~~~~~~~~~~~~~
  193. PC Clone computer maker, Everex Systems, Inc. is buying the direct market
  194. computer manufacturer, Northgate Computer Corp. for $4.3 million in stock.
  195. Earlier in the month, analysts were speculating that IBM was courting
  196. Northgate for a buyout.
  197.  
  198. Everex President Hal Clark said that Northgate would be operated as a
  199. separate subsidiary, continuing to market under the Northgate name.
  200.  
  201.  ----------------------------------------------------------------------------
  202.  
  203.  
  204. MITSUBISHI TO SELL MACS
  205. ~~~~~~~~~~~~~~~~~~~~~~~
  206. It is being reported that Mitsubish Corp. has received marketing rights
  207. to sell all models of Apple Computers in Japan.
  208.  
  209.  ----------------------------------------------------------------------------
  210.  
  211.  
  212. COMPAQ RATING LOWERED
  213. ~~~~~~~~~~~~~~~~~~~~~
  214. Smith Barney investment house has lowered its rating on Compaq Computer
  215. Corp.'s stock to "avoid" from "sell".
  216.  
  217.  ----------------------------------------------------------------------------
  218.  
  219.  
  220. APPLE SHOWING NEW QUADRA SYSTEM
  221. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  222. Apple Computer Inc. is unveiling the latest in its high-end Quadra line,
  223. said to be its most powerful computer yet.  The new Quadra 950 is powered
  224. by the 33MHz Motorola Inc. 68040 microprocessor and comes with 24-bit color
  225. capabilities as well as a sound generator and microphone for multimedia
  226. applications.  The new Apple also comes with a minimum of 8MB of RAM,
  227. a hard drive with up of to 430MB of storage space and Apple's SuperDrive.
  228.  
  229.  ----------------------------------------------------------------------------
  230.  
  231.  
  232. MAGAZINE SHUFFLE
  233. ~~~~~~~~~~~~~~~~
  234. Just a .info note:
  235.  
  236. COMPUTE is happy to announce the addition of two new columnists to the Amiga
  237. Resource edition of the magazine:
  238.  
  239.     Mark Brown, former editor of .info, who'll be doing general industry
  240.        news, opinion, and product info.
  241.  
  242.     Oran J. Sands, .info video columnist, will be doing a column on the
  243.        latest and greatest Amiga video happenings.
  244.  
  245. They join Steve Worley, whose 3-D Rendering tutorials starts in the September
  246. issue, and Mike Nelson, who reports on all the new happenings from the U.K.
  247.  
  248. While we're sorry to see .info cease publication (it was the magazine we most
  249. anxiously awaited hitting COMPUTE's mailbox each month), we're pleased to be
  250. able to welcome Mark and OJ to the COMPUTE team.
  251.  
  252.  ...Denny Atkin [Compute]
  253.  
  254.  ----------------------------------------------------------------------------
  255.  
  256.  
  257. IBM ROBOTS
  258. ~~~~~~~~~~
  259. IBM scientists say they have solved the problem of making robots more
  260. flexible in the high-precision operations necessary for assembling parts
  261. of high-technology products like computer packages, electronic circuit
  262. boards and disk drives.  IBM is quoted as saying robots are limited to
  263. movements in the range of a tenth of a millimeter at best, while some
  264. applications require a thousandth of a millimeter, or less.
  265.  
  266. A new IBM micro-robot called a fine positioner "works down to two-tenths
  267. of a thousandth of a millimeter, more than 100 times greater precision
  268. than current models. The device, which is attached to a macro-robot's arm,
  269. takes 30 minutes to construct, IBM says.  The device works alongside the
  270. macro-robot, and is activated by a variable electromagnetic field, and at
  271. the same time, is forced apart by a layer of compressed air.
  272.  
  273.  ----------------------------------------------------------------------------
  274.  
  275.  
  276. SOFT-LOGIK NEWS
  277. ~~~~~~~~~~~~~~~
  278. [The following message was posted on CompuServe's AmigaVendor forum by a
  279.  representative of Soft-Logik.]
  280.  
  281. Miscellaneous News
  282.  
  283. Everyone will be happy to know our shipping department just moved into much,
  284. much larger quarters. This will put us another week behind in shipping due to
  285. the move, but will make shipping much easier as soon as the move is complete in
  286. a few days. We are still 2-3 weeks behind in orders at this time. We hope to be
  287. caught up within a few weeks.
  288.  
  289. Registered Soft-Logik dealers should call our BBS for their copy of the Dealer
  290. Handbook, which is now online for their downloading. This is only available to
  291. dealers.
  292.  
  293. We have tested a lot of the fonts from Agfa's Type library for the Amiga and
  294. every font so far has worked great with PageStream. Don't hesitate to order
  295. these fonts if you own a non-PostScript printer. We have tested a number of our
  296. fonts with the Gold Disk Type 1 -> Intellifont converter, with mixed results.
  297. Some didn't work and all of them had incorrect style settings. This is not a
  298. recommended conversion method at this time.
  299.  
  300. For those needing to call tech support, the lines have been pretty quiet the
  301. last few weeks, so it's fairly easy to get through.
  302.  
  303. Michael Soft-Logik Publishing Corporation
  304.  
  305.  ============================================================================
  306.  
  307. { Here stood a lengthy review of GFA BASIC 3.5, which presumably either
  308.   appeared or will appear in comp.sys.amiga.reviews.  (jms) }
  309.  
  310.  ============================================================================
  311.  
  312.  
  313. SOFTLOGIK'S HOTLINKS
  314. ~~~~~~~~~~~~~~~~~~~~
  315. What is HotLinks?
  316.  
  317. HotLinks is Soft-Logik's data interchange environment.  It allows any
  318. HotLinks aware program to exchange data with any other HotLinks aware
  319. program.  Although the HotLinks interface was developed by Soft-Logik,
  320. we are opening it up to the whole Amiga community in much the way ARexx
  321. or IFF is open the community.  In fact the data formats used by HotLinks
  322. all follow established IFF guidelines.  What HotLinks offers is a method
  323. for documented data interchange via a document database and live update.
  324. Having said that mouth full, what does it all mean.  To best answer that,
  325. here are some of the most asked questions about HotLinks:
  326.  
  327.  
  328. Q: Is HotLinks the same as ARexx?
  329.  
  330. A: No.  HotLinks is designed around the idea of data interchange, not
  331.    command interchange.  HotLinks is perfectly suited for exchanging
  332.    large bitmap files and word processing documents.  It does not send
  333.    commands to programs other than to let them know the HotLinks edition
  334.    they have subscribed to has been updated.  In feel and operation, it
  335.    is much more like the DOS library than ARexx.  Together though, ARexx
  336.    and HotLinks are a powerful team.
  337.  
  338.  
  339. Q: Is HotLinks proprietary?
  340.  
  341. A: No.  We want everyone to use HotLinks and help shape its future.  The
  342.    actual HotLinks library, resident code and support programs however
  343.    are copyrighted by Soft-Logik.
  344.  
  345.  
  346. Q: Do I have to license HotLinks from Soft-Logik?
  347.  
  348. A: No.  We are making information about HotLinks freely available.  The
  349.    HotLinks resident code itself is a product from Soft-Logik, much like
  350.    ARexx is a product from William Hawes.  Currently the HotLinks resident
  351.    code is sold with two HotLinks compatible programs, BME and PageLiner.
  352.  
  353.  
  354. Q: What sort of support will Soft-Logik offer, and to whom?
  355.  
  356. A: We are interested in supporting all developers who wish to include
  357.    HotLinks in their products.  In some ads, we have restricted this to
  358.    those registered with CATS.  We do not require this, but would encourage
  359.    any Amiga developer to be registered with Commodore in their native
  360.    country or region.  As for the support itself, we will be sending a
  361.    developers kit to those who request it.  This kit includes example code
  362.    in the C language for interacting with HotLinks, all associated includes,
  363.    development tools and a complete set of libs and programs that make up
  364.    the HotLinks environment.  It also includes a paper manual full of
  365.    HotLinks programming and development information.  Soft-Logik also wants
  366.    to ensure those products that claim to be Hot-Links compatible, are.  To
  367.    this end, Soft-Logik asks that those developers that integrate HotLinks
  368.    into their products provide Soft-Logik with two copies of the product.
  369.    This is so Soft-Logik may validate, demonstrate and better answer
  370.    questions about supporting products.  Furthermore Soft-Logik intends on
  371.    including lists of HotLinks compatible products in its ads and producing
  372.    a "HotLinks Compatible" sticker much like the green 2.0 sticker.  This
  373.    is necessary to assure users that a program that claims to be HotLinks
  374.    compatible, truly is.
  375.  
  376.  
  377. Q: How does HotLinks compare to similar systems on other platforms?
  378.  
  379. A: HotLinks is often compared to systems like DDE and OLE on DOS platforms,
  380.    Publish and Subscribe in Macintosh System 7 and NeXt step 3.0Us Linking.
  381.    HotLinks uses a Publish and Subscribe metaphor, not unlike the Apple
  382.    Macintosh System 7.  Also like DDE and System 7, HotLinks uses the
  383.    operating system's standard message passing system.  HotLinks functions
  384.    are accessed via a disk based library called HotLinks.library.  The
  385.    library packages up your messages and sends them to the HotLinks resident
  386.    program, and returns to your program the results.  Furthermore the library
  387.    provides a uniform interface, with the new 2.0 look, for all HotLinks
  388.    interaction.
  389.  
  390.  
  391. Q: How does the Publish and Subscribe metaphor in HotLinks work?
  392.  
  393. A: When you wish to make a block of data available to HotLink users, you
  394.    Publish it.  If you make changes to that data and want to give users
  395.    the new data, you Update it.  If at any point you no longer want users
  396.    to receive further changes from your document, you can break the link
  397.    that associates your data with the HotLinks Edition.  At this point
  398.    people could still subscribe to the old data and update it, unless you
  399.    delete the Edition.  If you wish to use the data that HotLinks has to
  400.    offer, you may Subscribe to an Edition.  When you Subscribe, you can:
  401.    (1) link the data and ask for notification, (2) link the data and not
  402.    ask for notification, or (3) receive the data and immediately break
  403.    the link.  Each case it has its own uses.  In the event that you save
  404.    a file with a HotLink in it, that file will not be updated until it
  405.    is reopened.  When a file is reopened, you can check to see if you
  406.    have the most recent version of the Edition.  If not, you can update
  407.    at that time.
  408.  
  409.  
  410. Q: How does HotLinks physically interchange the data?
  411.  
  412. A: In all cases an actual disk based file is created when data is
  413.    exchanged.  This file contains the data as well as security and audit
  414.    information.  Currently HotLinks maintains a special directory where
  415.    HotLinked files are kept.  Files in the HotLinks directory are not
  416.    meant to be accessed by the normal OS, but can be as they are normal
  417.    Amiga files.  In the future however, files may be kept in many places,
  418.    possibly across networks.  By using the calls in the HotLinks library,
  419.    the program does not need to know where the file is physically located.
  420.    The files are written by the program, via HotLinks, in much the same
  421.    manner as if using the DOS library.  Open, Read, Write, Seek and Close
  422.    calls all have HotLink equivalents.  For this reason, implementing
  423.    HotLinks is very similar to implementing traditional file I/O.
  424.  
  425.  
  426. Q: What kind of data can be exchanged?
  427.  
  428. A: Eventually, everything.  At this time, only the formats for bitmapped
  429.    graphics and formatted text have been defined.  The bitmapped format
  430.    is a simple extension of the existing IFF ILBM format, and the text
  431.    format is IFF DTXT.  It is our intention that wherever possible, any
  432.    existing approved IFF format will be used.  In this way, a minimal
  433.    amount of redevelopment will need to be done.  Of course many kinds
  434.    of data that will be exchanged do not yet have an established IFF
  435.    format.  We will work with any developer or group of developers
  436.    to establish new standards.  This will expand the IFF standard as
  437.    well as focus program data interchange in and out of HotLinks.  We
  438.    also want to include those members of the Amiga community that are
  439.    involved in the BIX amiga.dev/iff section, as they have helped shape
  440.    several standards.
  441.  
  442.  
  443. Q: Can you give me an example of how HotLinks is used?
  444.  
  445. A: Here are a few examples:
  446.  
  447.    A user scans in an image using HotLinks aware software.  The user
  448.    has the choice of saving the image as a normal file, and/or publishing
  449.    it to HotLinks.  They publishes it to HotLinks, then switches into a
  450.    page layout program.  Next, the user subscribes to the image, places,
  451.    rotates and scales the image.  After having done this they realize
  452.    that there is a minor problem with the image, not enough to require
  453.    re-scanning, just touch up.  The user then enters the touch up program
  454.    and subscribes to the file, touches it up and updates it.  Now when they
  455.    flip back to the page layout program the file has updated, but none of
  456.    the position, rotation, scaling information has been lost.  Another
  457.    example could involve text.   A user may first create a body of text in
  458.    a fast text or word processor, then publish the file to HotLinks.  From
  459.    here the file could be grammar checked, flowed into page layout,
  460.    re-edited, re-checked and re-flowed.  The document could make many trips
  461.    around the loop without losing any important information.  In each case
  462.    the subscribing program only changes the information it understands, and
  463.    passes on the rest.  Finally, HotLinks would be an excellent way to
  464.    update parts of a multi-media presentation without disturbing the whole.
  465.    Each part, text, sounds, animations, graphics, could be Hot-Linked
  466.    editions.  The user could work on these while maintaining the originals
  467.    in the presentation.  When the user feels that the updated version is now
  468.    better, then they can choose to update that portion.  In the meantime,
  469.   the integrity of the whole presentation is maintained.
  470.  
  471.  
  472. Q: What do I have to do to support HotLinks?
  473.  
  474. A: At its heart, HotLinks merely enhances the file I/O environment.  To use
  475.    a HotLinks edition, you will have to do the equivalent of reading and
  476.    writing a standard file.  For the most part this means treating HotLinks
  477.    like another format you import or export.  The major difference is that
  478.    you get HotLinks edition requesters when asking for an edition instead
  479.    of the standard ASL or ARP requester.  There is also an edition infor-
  480.    mation requester available.  Depending on what options you support, you
  481.    may want to add a HotLinks menu or sub-menu.
  482.  
  483.  
  484. Q: What is in the future for HotLinks?
  485.  
  486. A: One of the biggest things in the future of HotLinks is network support.
  487.    The real power of HotLinks can be unleashed when multiple users on a
  488.    network can be collaborating on a single venture, each providing the
  489.    other with different parts of the whole.  The current version of HotLinks
  490.    is not network compatible, but due to the multi-tasking nature of the
  491.    Amiga, it offers a powerful way for programs to interact.
  492.  
  493.  
  494. Also we foresee the integration of ARexx, for seamless computer control
  495. of the whole environment.
  496.  
  497.  
  498. [Soft-Logik]
  499.  
  500.  ============================================================================
  501.  
  502.  
  503.  
  504.                                 ** VIEWPORT **
  505.  
  506. GEnie's Amiga forum, the *Starship* Amiga has started publishing a online
  507. newsletter centered around the activities and happenings on GEnie.  The
  508. Publisher is Peggy Herrington, the Producer is Deb Christensen and the
  509. Editor is Jim Meyer.  Currently it is all ASCII, though it was written
  510. on the premise that it is physically printed before read.  (It is written
  511. in two-column style with embedded form-feeds [CTRL-L] and page numbers.)
  512.  
  513. Aside from the goings on on *Starship* Amiga, Viewport has reviews, news
  514. and tutorial articles.  It looks like they are on about their third or
  515. fourth issue, and so far it looks quite good.  The tutorial articles
  516. especially well done.
  517.  
  518. Viewport is freely redistributable as long as the archive is kept intact
  519. (text file, icon, read.me and possibly a note).  There is also a provision
  520. to reprint some of the articles in newsletters as long as credit is given.
  521. I am going to take advantage of that provision now and give you a little
  522. taste of Viewport.  If you like what you see, Viewport is available on a
  523. monthly basis on GEnie.  I do not know if GEnie mail has provisions for
  524. internet mail, so I don't know if subscriptions are available.
  525.  
  526. Contact JIM.MEYER on GEnie for more information.
  527.  
  528.  
  529.  
  530. "Reprinted from ViewPort, a *StarShip*(tm) production available on GEnie(R)."
  531.  
  532.  
  533. PRO/AM SOLUTIONS: INTEGER TO ASCII CONVERSIONS IN ASSEMBLY
  534. By Chris Papademetrious
  535.    ViewPort March 1992
  536.  
  537. Converting a 16-bit integer to ASCII sounds fairly simple, but there are
  538. some factors to be aware of. Below, we will examine the design of an
  539. integer to ASCII routine, and point out problems and solutions, in the
  540. hope that they will help you to see solutions to any similar problems
  541. you may encounter. The design of such a routine is rather standard. Take
  542. the integer N, for example. If you divide it by ten, the answer will consist
  543. of two parts: a quotient, which is basically the number without its right-
  544. most digit (integers have no fractional components); and the remainder, which
  545. is actually the digit that was just lopped off the main number.
  546.  
  547. The MC68000-series processors makes this approach very easy for us, since it
  548. has a 16-bit integer division instruction, DIVU.W, which handily provides for
  549. us both the quotient and the remainder. The routine, need only continue
  550. looping until the quotient is zero; in other words, until there is no more
  551. number to convert!
  552.  
  553. A side-effect of this method is that we obtain the digits of the number from
  554. right to left. Since we would much rather store the digits from left to right
  555. in our buffer, we must reverse the digits. The key to this is fairly simple,
  556. however; as we receive each digit, we push it on the stack. Then, we can pull
  557. them off in reverse order, when we're finished. We can even push an end-of-
  558. string character (a NULL) on the stack, which will be convenient (as a
  559. moment's study of the code should reveal).
  560.  
  561. A second consideration is negative numbers. Since the DIVU.W instruction is
  562. both faster and more convenient than the signed flavor, DIVS.W, we would do
  563. well to make the number positive. We must still remember if the number is
  564. negative or not, so that we can add the negative side when the time comes to
  565. stuff everything into the buffer.
  566.  
  567. If we wished, we could even write a 32-bit integer to ASCII routine.  There
  568. are two easy ways to approach it: we could use the DIVUL.L instruction, which
  569. only exists on MC68020 (and better) processors, or you could use 2.04's
  570. utility.library, which provides a handy little UDivMod32() routine (which
  571. will use DIVUL.L whenever possible, for speed's sake).
  572.  
  573.  
  574. The routine below consists of two entry points. First, there is UIntToASCII,
  575. which immediately assumes a positive 16-bit integer, clears the negative flag,
  576. and drops down to IntToASCII. For signed numbers, use SIntToASCII, which will
  577. set the negative flag accordingly, and ensure the number is indeed positive
  578. by the time the routine falls through to IntToASCII.
  579.  
  580.   * a0 - pointer to buffer
  581.   * d0 - number to convert (WORD or
  582.          UWORD)
  583.   * d1 - negative number flag
  584.  
  585.   UIntToASCII:
  586.       clr.w   d1
  587.       beq.s   IntToASCII
  588.  
  589.   SIntToASCII:
  590.       clr.w   d             ; clear
  591.                             ; negative flag
  592.       tst.w   d0            ; test the number
  593.       bpl.s   IntToASCII    ; branch if
  594.                             ; plus...
  595.       neg.w   d0            ; make it positive
  596.                             ; again
  597.       not.w   d1            ; and invert the
  598.                             ; negative flag
  599.                             ; fall through
  600.                             ; to main routine
  601.                             ; IntToASCII:
  602.       ext.l   d0            ; ensure that it's
  603.                             ; 32 bits for DIVU.W
  604.                             ; (it only returns
  605.                             ;a 16-bit quotient,
  606.                             ; though)
  607.       move.b  #0,-(sp)      ; store a zero
  608.                             ; marker on the
  609.                             ; stack
  610.  
  611.   1$  divu.w  #10,d0        ; divide the
  612.                             ; number by 10
  613.       swap    d0
  614.       add.b   #'0',d0       ; convert it to
  615.                             ; an ASCII digit
  616.  
  617.       move.b  d0,-(sp)      ; and push it on
  618.  
  619.       swap    d0            ; switch the
  620.                             ; quotient and
  621.                             ; remainder
  622.       ext.l   d0            ; make it a full
  623.                             ; 32-bit
  624.                             ; value again
  625.       bne.s   1$            ; and continue
  626.                             ; if there's
  627.                             ; still more
  628.  
  629.   2$  tst.w   d1
  630.  
  631.       beq.s   3$
  632.       move.b  #'-',(a0)+ 3$
  633.       move.b  (sp)+,(a0)+   ; pull
  634.                             ;character
  635.                             ; off stack
  636.                             ; and stuff it
  637.       bne.s   3$            ; branch
  638.                             ; while
  639.                             ; non-zero
  640.                             ; (non-end-
  641.                             ;  of-string)
  642.  
  643.       rts
  644.  
  645.  ----------------------------------------------------------------------------
  646.  
  647.  
  648.                 Pro/Am Solutions: Structuring Your C Programs
  649.      ______     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  650.     (__  __)              by Chris Papademetrious  (April 1992 ViewPort)
  651.       / /
  652.      / /
  653.     (_/he three steps to writing a program are design, coding, and de-
  654.       bugging.  Design is the most important stage, because a proper design
  655.   greatly eases the burden of the remaining two steps. Likewise, the coding
  656.   and debugging of a poor design will waste precious time and effort.
  657.   However, once your design is finalized, there are still some hints that
  658.   can aid in the actual coding of your project.
  659.  
  660.   The large majority of programs share two fundamental code units:
  661.   initialization and cleanup. In simple projects, the initialization is
  662.   often short and uncomplicated. In larger projects, it may be broken down
  663.   into several subsections, which may not even execute in sequential order.
  664.   A good example of this is an application that allows multiple project
  665.   windows, such as a word processor. While the application itself obviously
  666.   involves initialization, each separate project opened will require its own
  667.   initialization. Careful study of your design will help you determine the
  668.   most efficient solution.
  669.  
  670.   Cleanup is often easier than initialization, since little or no error-
  671.   checking needs to be performed; one doesn't often run into problems
  672.   closing something! Cleanup has its own set of potential problems to look
  673.   out for, however; be sure to avoid situations where you free something
  674.   that's still needed, such as a message port or a memory buffer. Again, an
  675.   analysis of your design will help a great deal in spotting such pitfalls.
  676.  
  677.    For very small applications, you can follow this format, which elegantly
  678.   unifies initialization and cleanup:
  679.  
  680.       if (OpenResource1())
  681.       {
  682.           if (OpenResource2())
  683.           {
  684.           ... /* continue this as needed */
  685.               CloseResource2();
  686.           }
  687.           else
  688.               ErrorResource2();
  689.           CloseResource1();
  690.       }
  691.       else
  692.           ErrorResource1();
  693.  
  694.    A quick study of this pseudo-code fragment shows that initialization and
  695.   cleanup complement each other very well. The main problem in this approach
  696.   lies in the ever-rightward-shifting indentation. One solution to this
  697.   problem would be to further break the program down into more functions; in
  698.   other words, modularize! This code model may also break down in more
  699.   complex situations, where an initialization failure may not require a
  700.   complete abort or exit.
  701.  
  702.   Another approach for somewhat larger applications is to use isolated
  703.   initialization and cleanup functions, removed from the main body of code.
  704.   In my own projects, I tend to use the names OpenAll() and CloseAll()
  705.   respectively. A code model for this method is shown below and on the next
  706.   page:
  707.  
  708.   OpenAll();
  709.   ...
  710.   CloseAll(0); /* normal exit */
  711.   OpenAll()
  712.   {
  713.       if (! OpenResource1()) /* if it fails */
  714.           CloseAll(20);
  715.       if (! OpenResource2())
  716.           CloseAll(20);
  717.       ...
  718.   }
  719.  
  720.   CloseAll(int ReturnCode)
  721.   {
  722.       if (Resource2)
  723.           CloseResource2();
  724.       if (Resource1)
  725.           CloseResource1();
  726.       exit(ReturnCode);
  727.   }
  728.  
  729.    Notice that an error anywhere during initialization will automatically
  730.   abort with a call to CloseAll(), with a return code of 20. This will allow
  731.   for cleanup of partial initialization in almost all cases. The CloseAll()
  732.   function can even be expanded on, as shown below:
  733.  
  734.   CloseAll(char *ErrorMessage)
  735.   {
  736.      if (ErrorMessage)
  737.          Show(ErrorMessage);
  738.      ...
  739.                                      /* Note: if you are not familiar */
  740.      exit( ErrorMessage ? 20 : 0);   /* with conditionals, you may wish */
  741.   }                                  /* to refer to a C-language reference
  742.   */
  743.  
  744.    This flavor of CloseAll() will automatically inform the user of any
  745.   appropriate errors during initialization, while returning with the proper
  746.   return code automatically! Although I have not shown an example for
  747.   calling the routine with an error message of some sort, you are welcome to
  748.   come to the Pro/Am conferences for assistance (page 670;2, every Wednesday
  749.   night at 10PM EST). Until (Conference || NextMonth), happy programming!
  750.  
  751.  ----------------------------------------------------------------------------
  752.  
  753.  
  754.                You and Your Complex Interface Adapter: Part One
  755.                      by Greg R. Guthman (a.k.a. AmigaDoc)
  756.                             May/June 1992 Viewport
  757.  
  758.  
  759.   Q: I seem to be having problems formatting disks.
  760.  
  761.   A: Hmmmm, it must be your 8520's!
  762.  
  763.   Q: My VCR is not recording as well as it used to.
  764.  
  765.   A: It must be your 8520's!
  766.  
  767.     ______
  768.    (__  __)
  769.      / / he most misunderstood and most maligned component in the Amiga
  770.     / / has got to be the 8520 Complex Interface Adapter (CIA). It has
  771.    (_/ been blamed for everything including world hunger at one point or
  772.       another.  A discussion of what a CIA does and more importantly what
  773.      it does NOT do is in order.
  774.  
  775.   There are two CIA's in every Amiga system. They are designated CIAA and
  776.   CIAB. These 8520 IC's (Integrated Circuits) are general purpose
  777.   Input/Output controllers that are used in other microcomputer systems as
  778.   well. In the Amiga, they handle keyboard, serial, parallel and other I/O
  779.   functions like portion of joystick data. The table below details the pin-
  780.   outs for each of these IC's and their corresponding function (Pin #, Signal
  781.   name, Amiga function).
  782.  
  783.    CIAA (U7 on A500/U300 on B2000)    []  CIAB(U8 on A500/U301 on B2000)
  784.                                       []
  785.   Pin # | Signal | Amiga Function     [] Pin # | Signal | Amiga Function
  786.   ---------------------------------------------------------------------------
  787.    2    | PA0    | MEM Overlay Bit    [] 2     | PA0    | Centronics Busy (1)
  788.    3    | PA1    | LED Light DIM      [] 3     | PA1    | Paper out       (1)
  789.    4    | PA2    | Disk change        [] 4     | PA2    | Centronics SEL  (1)
  790.    5    | PA3    | Write protect      [] 5     | PA3    | RS232C DSR      (2)
  791.    6    | PA4    | Disk track 00      [] 6     | PA4    | RS232C CTS      (2)
  792.    7    | PA5    | Disk ready         [] 7     | PA5    | RS232C CD       (2)
  793.    8    | PA6    | Game port 0 Fire(3)[] 8     | PA6    | RS232C RTS      (2)
  794.    9    | PA7    | Game port 1 Fire(3)[] 9     | PA7    | RS232C DTR      (2)
  795.    10   | PB0    | Data 0          (1)[] 10    | PB0    | Disk step
  796.    11   | PB1    | Data 1          (1)[] 11    | PB1    | Disk DIR
  797.    12   | PB2    | Data 2          (1)[] 12    | PB2    | Disk side select
  798.    13   | PB3    | Data 3          (1)[] 13    | PB3    | Select 1st drive
  799.    14   | PB4    | Data 4          (1)[] 14    | PB4    | Select 2nd drive
  800.    15   | PB5    | Data 5          (1)[] 15    | PB5    | Select 3rd drive
  801.    16   | PB6    | Data 6          (1)[] 16    | PB6    | Select 4th drive
  802.    17   | PB7    | Data 7          (1)[] 17    | PB7    | Motor control
  803.    18   | _PC    | Strobe(clock)   (1)[] 18    | _PC    | Not Used
  804.    24   | _F     | Ack control     (1)[] 24    | _F     | Disk index
  805.    26-33| D0-D7  | Input Data         [] 26-33 | D0-D7  | Input Data
  806.    34   | _Reset | Reset line         [] 34    | _Reset | Reset line
  807.    35-38| RS0-RS3| Register storage   [] 35-38 | RS0-RS3| Register storage
  808.    39   | SP     | Keyboard Data      [] 39    | SP     | Tied to Busy    (1)
  809.    40   | CNT    | Keyboard Clock     [] 40    | CNT    |  "  to Paper out(1)
  810.   ---------------------------------------------------------------------------
  811.  
  812.  
  813.       Legend for Pinout Chart:
  814.  
  815.   (1) Centronics compatible parallel port (printer etc.)
  816.   (2) RS232C compatible serial port (Modem etc.)
  817.   (3) This can either be a joystick fire button, a mouse left button or a
  818.       light pen beam trigger.
  819.  
  820.   The main purpose of this chart is to show you exactly what is connected to
  821.   these devices and more importantly what is not! For example, take the case
  822.   of a joystick that does not respond to up and down movements or a problem
  823.   with a mouse that seems to have a mind of it's own. Neither of these pro-
  824.   blems could have anything to do with our friendly 8520's. Many people have
  825.   stated that the best way to troubleshoot a problem with an 8520 is to
  826.   exchange them and see if the problem corrects itself for moves to another
  827.   area of the system. If you look at the CIAA and CIAB carefully, you will
  828.   notice that many I/O functions are split between them.  For instance, the
  829.   parallel port gets its data from the CIAA, but is controlled via the CIAB.
  830.  
  831.   The most common failure of an 8520 is due to ignoring the first rule of
  832.   computing: NEVER PLUG OR UNPLUG ANYTHING INTO YOUR AMIGA WITH THE POWER ON!
  833.   Many ports that are handled via the 8520 are directly connected to the IC.
  834.   When you pull off a mouse cable or a serial cable that has that nice metal
  835.   shield around it, you are asking for trouble. Just in case you decide not
  836.   to head this warning, here are the part numbers!:
  837.  
  838.   8520 Commodore part #: 318029-02 These can be obtained from Commodore dir-
  839.   ectly or by any number of mail-order dealers. In part two, we will discuss
  840.   some easy troubleshooting methods for these critters.
  841.  
  842.  
  843.   [Read the rest of this article in the next issue of ViewPort!]
  844.  
  845.  ============================================================================
  846.  
  847.  
  848.                               ** IN THE NEWS ***
  849.  
  850. Q. When is an Amiga commercial not an Amiga commercial?
  851.  
  852. A. When it is a commercial produced by The Church of Jesus Christ
  853.    of Latter Day Saints.
  854.  
  855. The middle-school classroom is full of politically correct students
  856. (neat, tidy, attentive as well as black, white, hispanic, asian, male
  857. and female).
  858.  
  859. TEACHER:  "Today's assignment is simple...make this Earth as beautiful
  860.            as possible."  [He rotates a monitor screen to show DPaint
  861.            running with an outline drawing of Earth's western hemisphere.]
  862.  
  863. The next series of shots shows students using mice and "prettying" the
  864. image.  They color it in, cycle colors, use animal clip-art, etc.  The
  865. entire classroom is a network of Amiga 2000s (about twenty to thirty in
  866. all).  *MANY* shots are shown of the computers and the screens, and
  867. the Amiga logo and nameplate is clearly visible.
  868.  
  869. [One student gets up and leaves.]
  870.  
  871. TEACHER:  "Has any one seen {student}?"
  872.  
  873. OTHER STUDENT: [standing at window] "I know where she is."
  874.  
  875. [All students and teacher rush to window.  Lost student is picking
  876.  up trash in the courtyard.]
  877.  
  878. [All students run down to help.  The teacher is left alone in a room
  879.  full of Amiga 2000s.]
  880.  
  881. All in all it is a nice commercial.  It shows off the Amiga more than
  882. anything else.  It does a good job with DPaint and showing the students
  883. doing something creative as well as entertaining.  Commodore should
  884. take notes.
  885.  
  886.  ----------------------------------------------------------------------------
  887.  
  888.  
  889.                                ** VIDEOGRAPHY **
  890.  
  891. Q. Is it another Amiga magazine?
  892.  
  893. A. No.  But from the latest issue, they sure fooled me!
  894.  
  895. Videography magazine (April 1992  Volume 17 Number 4) has enough Amiga
  896. articles and advertisements to make you think they are produced specifically
  897. for the Amiga.
  898.  
  899. Let's start at the start:  the front cover
  900.  
  901. The cover has the main shot and four insets.  The main shot is of an Amiga
  902. 3000 with 1950 monitor and a Commodore screen (not the logo alone, but one
  903. of the standard demos) showing.  There are "boing!" balls floating in from
  904. the left.  Of the four insets, one is of a camera; one of a DAT audio
  905. recorder; one of a Mac; and one is a spaseship graphic done on Lightwave
  906. from Babylon V.
  907.  
  908. The magazine spine reads:
  909.  
  910. Videography                 Video and the Amiga                   April 1992
  911.  
  912. The cover blasts AMIGA VIDEO 1992 (a Special Report).
  913.  
  914. Not enough?  There are thirteen (13) full pages of advertising directed
  915. almost exclusively at the Amiga. You want articles?
  916.  
  917. PRODUCTION [commentary on production technique]:  "Keep Your Eye on the
  918. Bouncing Amiga"  (2 full pages)
  919.  
  920. MULTIMEDIA [commentary on the user interface]:  "Getting Video Out of Your
  921. Computer"  (3 full pages - about 1/3 Amiga)
  922.  
  923. VIDEO AND THE AMIGA [feature]:  "Amiga Video Computing Gets Down to Business"
  924. (4 full pages)
  925.  
  926. CLOSING COMMENT:  Written by Leo L. Schwab
  927.  
  928. Finally, how about a 32 page special insert entitled "Amiga Video 1992" which
  929. duplicates the cover but without the inset graphics.  This includes a 9 page
  930. "Buyers Guide to Amiga Video Products" which is quite good.
  931.  
  932. Still, this isn't an Amiga rag.  The majority of the advertisements are
  933. general industry and are placed by the likes of Sony, JVC and Hitachi.  They
  934. tout the latest-and-greatest in S-VHS, 3/4", SMPTE timecoders, DAT audio,
  935. cameras, editing and recording equipment.  Articles deal with the reality
  936. of getting decent video output from a Mac or a PC as well as discuss
  937. computer-generic issues like the FCC & HDTV, set safety and other things.
  938.  
  939. However, after reading this magazine, you can only come to one conclusion --
  940. the Amiga is the king of the video hill and it is *not* resting on its
  941. laurels.
  942.  
  943.  ============================================================================
  944.  
  945.  
  946.  
  947.  --------------------------------------------------------------------------
  948.                   AMReport International Online Magazine
  949.      Available through more than 10,000 Private BBS systems WorldWide!
  950.  --------------------------------------------------------------------------
  951.  AMReport              "YOUR INDEPENDENT NEWS SOURCE"          May 31, 1992
  952.  16/32bit Magazine            copyright 1992                    Volume 2.04
  953.  --------------------------------------------------------------------------
  954.  
  955. ###########################################################################
  956.  
  957. --
  958.  *  From the disk of: | jms@vanth.uucp                 | "Some worldviews are
  959.  Jim Shaffer, Jr.     | uunet!cbmvax!vanth!jms         | spacious, but some
  960.  37 Brook Street      | jms%vanth@cbmvax.commodore.com | are merely spaced."
  961.  Montgomery, PA 17752 | 72750.2335@compuserve.com      |            (Rush)
  962.  
  963.